2.9BSD/usr/src/ucb/vsh/showopen.c
#include "hd.h"
/* Open a showfile */
/* Open with rwmode of "r" or "w" just like fopen */
/* Smode GREPMODE opens for grep; Smode MAKEMODE opens for Make; */
FILE *showopen (rwmode, smode) char *rwmode; int smode; {
extern char *envhome;
char buf[STRMAX + 20];
FILE *tfile;
char *fname;
fname = smode == GREPMODE ? GREPOUT : MAKERROR;
tfile = fopen (fname, rwmode);
if (tfile == NULL && smode == GREPMODE) {
if (access (fname, 0) == 0) {
myperror (fname);
return NULL;
}
strcpy (buf, envhome);
strcat (buf, "/");
strcat (buf, fname);
tfile = fopen (buf, rwmode);
}
if (tfile == NULL) {
myperror (fname);
}
return tfile;
}