⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umount.c

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 C
字号:
#define	NMOUNT	16#define	NAMSIZ	32struct mtab {	char	file[NAMSIZ];	char	spec[NAMSIZ];} mtab[NMOUNT];main(argc, argv)char **argv;{	register struct mtab *mp;	register char *p1, *p2;	int mf;	sync();	mf = open("/etc/mtab", 0);	read(mf, mtab, NMOUNT*2*NAMSIZ);	if(argc != 2) {		printf("arg count\n");		return;	}	if (umount(argv[1]) < 0) {		perror("umount");		return;	}	p1 = argv[1];	while(*p1++)		;	p1--;	while(*--p1 == '/')		*p1 = '\0';	while(p1 > argv[1] && *--p1 != '/')		;	if(*p1 == '/')		p1++;	argv[1] = p1;	for (mp = mtab; mp < &mtab[NMOUNT]; mp++) {		p1 = argv[1];		p2 = &mp->spec[0];		while (*p1++ == *p2)			if (*p2++ == 0) {				for (p1 = mp->file; p1 < &mp->file[NAMSIZ*2];)					*p1++ = 0;				mp = &mtab[NMOUNT];				while ((--mp)->file[0] == 0);				mf = creat("/etc/mtab", 0644);				write(mf, mtab, (mp-mtab+1)*2*NAMSIZ);				return;			}	}	printf("%s not in mount table\n", argv[1]);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -