fixes for minix grep
This commit is contained in:
parent
bb830fc0d3
commit
28663f45d6
|
@ -12,7 +12,7 @@ SUBDIR= aal add_route adduser advent arp ash at autil awk \
|
||||||
dhrystone diff dirname dis88 du dumpcore easypack \
|
dhrystone diff dirname dis88 du dumpcore easypack \
|
||||||
ed eject elle elvis env expand factor file \
|
ed eject elle elvis env expand factor file \
|
||||||
find finger fingerd fix fold format fortune fsck \
|
find finger fingerd fix fold format fortune fsck \
|
||||||
fsck1 ftp101 ftpd200 getty gomoku head host \
|
fsck1 ftp101 ftpd200 getty grep gomoku head host \
|
||||||
hostaddr id ifconfig ifdef indent install \
|
hostaddr id ifconfig ifdef indent install \
|
||||||
intr ipcrm ipcs irdpd isoread join kill last leave \
|
intr ipcrm ipcs irdpd isoread join kill last leave \
|
||||||
lex life loadkeys loadramdisk logger login look lp \
|
lex life loadkeys loadramdisk logger login look lp \
|
||||||
|
|
|
@ -17,11 +17,12 @@ MLINKS= grep.1 egrep.1 \
|
||||||
|
|
||||||
CFLAGS+= -Wall
|
CFLAGS+= -Wall
|
||||||
|
|
||||||
.if ${OPSYS} == "Minix"
|
|
||||||
CPPFLAGS+= -DNOZ -D_POSIX_SOURCE -D_MINIX
|
|
||||||
.include <minix.prog.mk>
|
|
||||||
.else
|
|
||||||
LDADD= -lz
|
LDADD= -lz
|
||||||
DPADD= ${LIBZ}
|
DPADD= ${LIBZ}
|
||||||
|
|
||||||
|
.if ${OPSYS} == "Minix"
|
||||||
|
CPPFLAGS+= -D_POSIX_SOURCE -D_MINIX
|
||||||
|
.include <minix.prog.mk>
|
||||||
|
.else
|
||||||
.include <bsd.prog.mk>
|
.include <bsd.prog.mk>
|
||||||
.endif
|
.endif
|
||||||
|
|
|
@ -42,7 +42,9 @@ static size_t lnbuflen;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FILE_STDIO 0
|
#define FILE_STDIO 0
|
||||||
|
#ifndef __minix
|
||||||
#define FILE_MMAP 1
|
#define FILE_MMAP 1
|
||||||
|
#endif
|
||||||
#define FILE_GZIP 2
|
#define FILE_GZIP 2
|
||||||
|
|
||||||
struct file {
|
struct file {
|
||||||
|
@ -142,11 +144,13 @@ grep_open(char *path, char *mode)
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
#ifdef FILE_MMAP
|
||||||
/* try mmap first; if it fails, try stdio */
|
/* try mmap first; if it fails, try stdio */
|
||||||
if ((f->mmf = mmopen(fname, mode)) != NULL) {
|
if ((f->mmf = mmopen(fname, mode)) != NULL) {
|
||||||
f->type = FILE_MMAP;
|
f->type = FILE_MMAP;
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
f->type = FILE_STDIO;
|
f->type = FILE_STDIO;
|
||||||
if ((f->f = fopen(path, mode)) != NULL)
|
if ((f->f = fopen(path, mode)) != NULL)
|
||||||
return f;
|
return f;
|
||||||
|
@ -165,8 +169,10 @@ grep_bin_file(file_t *f)
|
||||||
switch (f->type) {
|
switch (f->type) {
|
||||||
case FILE_STDIO:
|
case FILE_STDIO:
|
||||||
return bin_file(f->f);
|
return bin_file(f->f);
|
||||||
|
#ifdef FILE_MMAP
|
||||||
case FILE_MMAP:
|
case FILE_MMAP:
|
||||||
return mmbin_file(f->mmf);
|
return mmbin_file(f->mmf);
|
||||||
|
#endif
|
||||||
#ifndef NOZ
|
#ifndef NOZ
|
||||||
case FILE_GZIP:
|
case FILE_GZIP:
|
||||||
return gzbin_file(f->gzf);
|
return gzbin_file(f->gzf);
|
||||||
|
@ -183,8 +189,10 @@ grep_fgetln(file_t *f, size_t *l)
|
||||||
switch (f->type) {
|
switch (f->type) {
|
||||||
case FILE_STDIO:
|
case FILE_STDIO:
|
||||||
return fgetln(f->f, l);
|
return fgetln(f->f, l);
|
||||||
|
#ifdef FILE_MMAP
|
||||||
case FILE_MMAP:
|
case FILE_MMAP:
|
||||||
return mmfgetln(f->mmf, l);
|
return mmfgetln(f->mmf, l);
|
||||||
|
#endif
|
||||||
#ifndef NOZ
|
#ifndef NOZ
|
||||||
case FILE_GZIP:
|
case FILE_GZIP:
|
||||||
return gzfgetln(f->gzf, l);
|
return gzfgetln(f->gzf, l);
|
||||||
|
@ -202,9 +210,11 @@ grep_close(file_t *f)
|
||||||
case FILE_STDIO:
|
case FILE_STDIO:
|
||||||
fclose(f->f);
|
fclose(f->f);
|
||||||
break;
|
break;
|
||||||
|
#ifdef FILE_MMAP
|
||||||
case FILE_MMAP:
|
case FILE_MMAP:
|
||||||
mmclose(f->mmf);
|
mmclose(f->mmf);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
#ifndef NOZ
|
#ifndef NOZ
|
||||||
case FILE_GZIP:
|
case FILE_GZIP:
|
||||||
gzclose(f->gzf);
|
gzclose(f->gzf);
|
||||||
|
|
|
@ -102,8 +102,6 @@ struct patfile {
|
||||||
};
|
};
|
||||||
SLIST_HEAD(, patfile) patfilelh;
|
SLIST_HEAD(, patfile) patfilelh;
|
||||||
|
|
||||||
extern char *__progname;
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
|
@ -114,7 +112,7 @@ usage(void)
|
||||||
"usage: %s [-abcEFGHhIiLlnoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]\n"
|
"usage: %s [-abcEFGHhIiLlnoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]\n"
|
||||||
#endif
|
#endif
|
||||||
"\t[-e pattern] [-f file] [--binary-files=value] [--context[=num]]\n"
|
"\t[-e pattern] [-f file] [--binary-files=value] [--context[=num]]\n"
|
||||||
"\t[--line-buffered] [pattern] [file ...]\n", __progname);
|
"\t[--line-buffered] [pattern] [file ...]\n", getprogname());
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,11 +238,7 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
SLIST_INIT(&patfilelh);
|
SLIST_INIT(&patfilelh);
|
||||||
|
|
||||||
#ifdef __minix
|
switch (getprogname()[0]) {
|
||||||
setprogname(argv[0]);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (__progname[0]) {
|
|
||||||
case 'e':
|
case 'e':
|
||||||
Eflag++;
|
Eflag++;
|
||||||
break;
|
break;
|
||||||
|
@ -257,7 +251,7 @@ main(int argc, char *argv[])
|
||||||
#ifndef NOZ
|
#ifndef NOZ
|
||||||
case 'z':
|
case 'z':
|
||||||
Zflag++;
|
Zflag++;
|
||||||
switch(__progname[1]) {
|
switch(getprogname()[1]) {
|
||||||
case 'e':
|
case 'e':
|
||||||
Eflag++;
|
Eflag++;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#ifndef __minix
|
||||||
/* $OpenBSD: mmfile.c,v 1.11 2006/09/19 05:52:23 otto Exp $ */
|
/* $OpenBSD: mmfile.c,v 1.11 2006/09/19 05:52:23 otto Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
|
@ -100,3 +101,4 @@ mmfgetln(mmf_t *mmf, size_t *l)
|
||||||
++mmf->ptr;
|
++mmf->ptr;
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue