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

📄 glue4.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
#ifndef lintstatic char *sccsid = "@(#)glue4.c	4.1 (Berkeley) 5/6/83";#endif#include <stdio.h>#include <ctype.h>grepcall (in, out, arg)char *in, *out, *arg;{	char line[200], *s, argig[100], *cv[50];	char *inp, inb[500];	extern char gfile[];	FILE *qf, *gf;	int c, oldc = 0, alph = 0, nv = 0;	int sv0, sv1;	strcpy (argig, arg); 	strcat(argig, ".ig");	strcpy (inp=inb, in);	if (gfile[0]==0)		sprintf(gfile, "/tmp/rj%dg", getpid());# if D1	fprintf(stderr, "in grepcall, gfile %s in %o out %o\n", gfile,in,out);# endif	for(cv[nv++] = "fgrep"; c = *inp; inp++)	{		if (c== ' ')			c = *inp = 0;		else if (isupper(c))			*inp = tolower(c);		alph = (c==0) ? 0 : alph+1;		if (alph == 1)			cv[nv++] = inp;		if (alph > 6)			*inp = 0;		oldc=c;	}# if D1	fprintf(stderr, "%d args set up\n", nv);# endif	{		sv0 = dup(0);		close(0);		if (open (argig, 0) != 0)			err("Can't read fgrep index %s", argig);		sv1 = dup(1);		close(1);		if (creat(gfile, 0666) != 1)			err("Can't write fgrep output %s", gfile);		fgrep(nv, cv);# if D1		fprintf(stderr, "fgrep returned, output is..\n");# endif		close (0); 		dup(sv0); 		close(sv0);		close (1); 		dup(sv1); 		close(sv1);	}# if D1	fprintf(stderr, "back from fgrep\n");# endif	gf = fopen(gfile, "r");	if (gf==NULL)		err("can't read fgrep output %s", gfile);	while (fgets(line, 100, gf) == line)	{		line[100]=0;# if D1		fprintf(stderr, "read line as //%s//\n",line);# endif		for(s=line; *s && (*s != '\t'); s++);		if (*s == '\t')		{			*s++ = '\n';			*s++ = 0;		}		if (line[0])			strcat(out, line);# if D1		fprintf(stderr, "out now /%s/\n",out);# endif		while (*s) s++;# if D1		fprintf(stderr, "line %o s %o s-1 %o\n",line,s,s[-1]);# endif		if (s[-1]!= '\n')			while (!feof(gf) && getc(gf)!= '\n') ;	}	fclose(gf);# if D1	fprintf(stderr, "back from reading %, out %s\n",out);# else	unlink (gfile);# endif	return(0);}clfgrep(){	if (gfile[0])		unlink(gfile);}

⌨️ 快捷键说明

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