Subject: Re: Replacement for grep(1) (part 2)
To: Jamie Howard <>
From: Dag-Erling Smorgrav <>
List: tech-userlevel
Date: 07/07/1999 21:42:31
Jamie Howard <> writes:
> On 7 Jul 1999, Dag-Erling Smorgrav wrote:
> > I see you switched to using extended regexps by default, and made -E a
> > no-op; this breaks the ports collection, so I changed it back.
> The FreeBSD, NetBSD, and OpenBSD manpage for grep says this:
> 	Grep understands two different versions of regular expression
> 	syntax: ``basic''  and  ``extended.''   In  GNU grep, there  is
> 	no  difference in available functionality using either syntax.   
> Is this inaccurate or am I reading it wrong?

One or the other. Try it out for yourself.

root@flood /tmp# cat > foo
abcd efgh ijkl
abcd (efgh) ijkl
root@flood /tmp# grep -V
GNU grep version 2.0
usage: grep [-[AB] <num>] [-CEFGLVXHPRSZabchilnqsvwxy]
       [-e <expr>] [-f file] [files ...]
root@flood /tmp# grep '(efgh)' foo
abcd (efgh) ijkl
root@flood /tmp# grep -E '(efgh)' foo 
abcd efgh ijkl
abcd (efgh) ijkl

> > Don't use err() indiscriminately after a malloc() failure; malloc()
> > doesn't set errno.
> Shouldn't malloc be fixed?  :)

Should, but probably won't in the near future. Oh well. I guess you
can just remove 'errno = ENOMEM' from grep_malloc() and grep_realloc()
and blame phk if anyone complains :)

Dag-Erling Smorgrav -