hunt8.c

来自「unix v7是最后一个广泛发布的研究型UNIX版本」· C语言 代码 · 共 73 行

C
73
字号
# include "stdio.h"# include "assert.h"# define unopen(fil) {if (fil!=NULL) {fclose(fil); fil=NULL;}}extern long indexdate, gdate();runbib (s)	char *s;{/* make a file suitable for fgrep */char tmp[200];sprintf(tmp, "/usr/lib/refer/mkey %s >%s.ig", s,s);system(tmp);}makefgrep(indexname)	char *indexname;{	FILE *fa =NULL, *fb =NULL;	if (ckexist(indexname, ".ig"))		{		/* existing gfrep -type index */# if D1		fprintf(stderr, "found fgrep\n");# endif		fa = iopen(indexname, ".ig");		fb = iopen(indexname, "");		if (gdate(fb)>gdate(fa))			{			if (fa!=NULL)				fclose(fa);			runbib(indexname);			fa= iopen(indexname, ".ig");			}		indexdate = gdate(fa);		unopen(fa); unopen(fb);		}	else	if (ckexist(indexname, ""))		{		/* make fgrep */# if D1			fprintf(stderr, "make fgrep\n");# endif		runbib(indexname);		time(&indexdate);		unopen(fb);		}	else /* failure */		return(0);return(1); /* success */}ckexist(s, t)	char *s, *t;{char fnam[100];strcpy (fnam, s);strcat (fnam, t);return (access(fnam, 04) != -1);}iopen (s, t)	char *s, *t;{char fnam[100];FILE *f;strcpy (fnam, s);strcat (fnam, t);f = fopen (fnam, "r");if (f == NULL)	{	err("Missing expected file %s", fnam);	exit(1);	}return(f);}

⌨️ 快捷键说明

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