bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: aligned-malloc, rmdir-errno: Sanitize configuration test result


From: Bruno Haible
Subject: Re: aligned-malloc, rmdir-errno: Sanitize configuration test result
Date: Fri, 16 Jun 2023 00:40:42 +0200

Paul Eggert wrote:

> a nonempty text file must end in a newline.

Yes, the definitions of "Text File" and "Line" in
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html
say so.

> > -              fprintf (fp, "%u\n", (unsigned int) (((bits ^ (bits - 1)) + 
> > 1) >> 1));
> > +              fprintf (fp, "%u", (unsigned int) (((bits ^ (bits - 1)) + 1) 
> > >> 1));
> 
> This sort of change relies on undefined behavior in POSIX. In the POSIX 
> shell, a command like A=$(B) requires B to output text

I don't see that command substitution in general needs to output "text".
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_03
section 2.6.3 only mentions "the standard output of the command".

When I write `cat conftest.out`, does conftest.out need to be a text file?
In https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cat.html
I don't see this requirement. On the contrary:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html
says
  "The standard utilities that have such restrictions always specify
   "text files" in their STDIN or INPUT FILES sections."
and https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cat.html
says:
  "The input files can be any file type."
So, 'cat' works with any input file.

> To avoid this issue the program could use 'fopen (..., "wb")'.

But using "wb" causes problems on z/OS [1].

> We could just leave things alone, as I don't know of any POSIXish 
> systems that would mishandle files lacking trailing newlines in this 
> situation.

I remember the times, 20-30 years ago, when 'sed' would have problems with
files that did not end in a newline. But that's long long ago.

Bruno

[1] https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-05/msg00002.html






reply via email to

[Prev in Thread] Current Thread [Next in Thread]