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

📄 mount.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 int ro;	register struct mtab *mp;	register char *np;	int n, mf;	mf = open("/etc/mtab", 0);	read(mf, mtab, NMOUNT*2*NAMSIZ);	if (argc==1) {		for (mp = mtab; mp < &mtab[NMOUNT]; mp++)			if (mp->file[0])				printf("%s on %s\n", mp->spec, mp->file);		return;	}	if(argc < 3) {		printf("arg count\n");		return;	}	ro = 0;	if(argc > 3)		ro++;	if(mount(argv[1], argv[2], ro) < 0) {		perror("mount");		return;	}	np = argv[1];	while(*np++)		;	np--;	while(*--np == '/')		*np = '\0';	while(np > argv[1] && *--np != '/')		;	if(*np == '/')		np++;	argv[1] = np;	for (mp = mtab; mp < &mtab[NMOUNT]; mp++) {		if (mp->file[0] == 0) {			for (np = mp->spec; np < &mp->spec[NAMSIZ-1];)				if ((*np++ = *argv[1]++) == 0)					argv[1]--;			for (np = mp->file; np < &mp->file[NAMSIZ-1];)				if ((*np++ = *argv[2]++) == 0)					argv[2]--;			mp = &mtab[NMOUNT];			while ((--mp)->file[0] == 0);			mf = creat("/etc/mtab", 0644);			write(mf, mtab, (mp-mtab+1)*2*NAMSIZ);			return;		}	}}

⌨️ 快捷键说明

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