hunt8.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 83 行

C
83
字号
#ifndef lintstatic char *sccsid = "@(#)hunt8.c	4.2 (Berkeley) 6/23/83";#endif#include <stdio.h>#include <assert.h>#define unopen(fil) {if (fil!=NULL) {fclose(fil); fil=NULL;}}extern long indexdate, gdate();extern FILE *iopen();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, *fb;	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);		}		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);}FILE *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 + -
显示快捷键?