Date: Mon, 22 Oct 2001 16:19:28 +0200 (CEST) From: Stefan `Sec` Zehl <sec@ice.42.org> To: FreeBSD-gnats-submit@freebsd.org Subject: docs/31431: grep manpage is incorrect regarding _GNU_nonoption_argv_flags_ Message-ID: <20011022141928.604F9383@ice.42.org>
index | next in thread | raw e-mail
>Number: 31431
>Category: docs
>Synopsis: grep manpage is incorrect regarding _GNU_nonoption_argv_flags_
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-doc
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: doc-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Oct 22 07:20:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Stefan `Sec` Zehl
>Release: FreeBSD 4.4-STABLE i386
>Organization:
>Environment:
System: FreeBSD ice 4.4-STABLE FreeBSD 4.4-STABLE #9: Sat Sep 29 19:25:00 CEST 2001 root@ice:/usr/export/obj/usr/export/src/sys/ICE i386
>Description:
The grep manpage states under ENVIRONMENT VARIABLES:
_N_GNU_nonoption_argv_flags_
(Here N is grep's numeric process ID.) If the ith
character of this environment variable's value is
1, do not consider the ith operand of grep to be an
option, even if it appears to be one. A shell can
put this variable in the environment for each com
mand it runs, specifying which operands are the
results of file name wildcard expansion and there
fore should not be treated as options. This behav
ior is available only with the GNU C library, and
only when POSIXLY_CORRECT is not set.
As far as I can see, this is incorrect, since out getopt() does not fetch
this environment variable.
>How-To-Repeat:
(echo "foobar";echo "-G")|\
perl -e '
$ENV{"_".$$."_GNU_nonoption_argv_flags_"}="1";
exec "/usr/bin/grep","-G";
'
which should grep for "-G" but doesn't.
Further evidence is, that neither the source, nor the binary
contains the string "_GNU_nonoption_argv_flags_"
yoda:/usr/src/gnu/usr.bin/grep>grep _GNU_nonoption_argv_flags_ *.[ch]
yoda:/usr/src/gnu/usr.bin/grep>
and
yoda:~>ldd /usr/bin/grep
/usr/bin/grep:
libgnuregex.so.2 => /usr/lib/libgnuregex.so.2 (0x28070000)
libz.so.2 => /usr/lib/libz.so.2 (0x28078000)
libc.so.4 => /usr/lib/libc.so.4 (0x28086000)
yoda:~>strings -a /usr/bin/grep /usr/lib/libgnuregex.so.2 /usr/lib/libz.so.2 /usr/lib/libc.so.4|grep _GNU_nonoption_argv_flags_
yoda:~>
>Fix:
remove that section from the manpage?
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011022141928.604F9383>
