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

📄 cmp.c

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 C
字号:
int	ibuf1[259];int	ibuf2[259];int	eflg;int	lflg	1;int	line[2]	{0, 1};int	chr[2] { -1, -1};main(argc, argv)char **argv;{	register c1, c2;	char *arg;	if(argc < 3)		goto narg;	arg = argv[1];	if(arg[0] == '-' && arg[1] == 's') {		lflg--;		argv++;		argc--;	}	arg = argv[1];	if(arg[0] == '-' && arg[1] == 'l') {		lflg++;		argv++;		argc--;	}	if(argc < 3)		goto narg;	arg = argv[1];	if( arg[0]=='-' && arg[1]==0 )		ibuf1[0] = dup(0);	else if(fopen(arg, ibuf1) < 0)		goto barg;	arg = argv[2];	if(fopen(arg, ibuf2) < 0)		goto barg;loop:	if (++chr[1]==0)		chr[0]++;	c1 = getc(ibuf1);	c2 = getc(ibuf2);	if(c1 == c2) {		if (c1 == '\n')			if (++line[1]==0)				line[0]++;		if(c1 == -1) {			if(eflg)				exit(1);			exit(0);		}		goto loop;	}	if(lflg == 0)		exit(1);	if(c1 == -1) {		arg = argv[1];		goto earg;	}	if(c2 == -1)		goto earg;	if(lflg == 1) {		printf("%s %s differ: char %s, line ", argv[1], arg,			locv(chr[0], chr[1]));		printf("%s\n", locv(line[0], line[1]));		exit(1);	}	eflg = 1;	printf("%5s %3o %3o\n", locv(chr[0], chr[1]), c1, c2);	goto loop;narg:	printf("arg count\n");	exit(2);barg:	printf("cannot open %s\n", arg);	exit(2);earg:	printf("EOF on %s\n", arg);	exit(1);}putchar(c){	write(1, &c, 1);}

⌨️ 快捷键说明

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