delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
X-Recipient: | djgpp AT delorie DOT com |
Date: | Sat, 07 Nov 2015 16:38:12 +0200 |
From: | "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
Subject: | Re: Grep 2.22 null-byte check fails. |
In-reply-to: | <563E08EC.2000303@gmx.de> |
X-012-Sender: | halo1 AT inter DOT net DOT il |
To: | djgpp AT delorie DOT com |
Message-id: | <83egg1q3hn.fsf@gnu.org> |
References: | <563E08EC DOT 2000303 AT gmx DOT de> |
Reply-To: | djgpp AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | djgpp AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
> Date: Sat, 07 Nov 2015 15:21:32 +0100 > From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> > > I am porting grep 2.22 and the null-byte check fails. > This check creates a file called "in" with the content: 00 0D 0A > and a pattern file called "pat" with the content: 00 24 0D 0A > and then runs the command: > LC_ALL=C > grep -a -f pat in > > As result I get the output: > > null-byte: failed test: -a '\0$' does not match '\0' Isn't this an EOL issue? The input file have the DOS CR-LF EOL, but the null byte will AFAIR cause Grep to consider the file as binary, and thus not strip the CR characters from the end of line. Then \0$ won't match because the character after the null byte is \r, not \n. What happens if you convert 'in' to Unix EOL format?
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |