Subject: RE: bug#9064: coreutils-8.12 compiler warning

From: "Voelker, Bernhard" <[email-masked]>
Date: Wed, 13 Jul 2011 12:12:49 +0200

Pádraig Brady wrote:

> On 13/07/11 10:13, Joachim Schmitz wrote:
>> Double backet does not fix this warning. It is the HP NonStop c89 and c99
>> compiler without having disabled warnings (all warnings are on by default)
>> If it isn't a bug, forget about it, or maybe add a comment next to that line
>> about this.
>> 
>> -----Original Message-----
>> From: Pádraig Brady [mailto:[email-masked]] 
>> Sent: Wednesday, July 13, 2011 11:05 AM
>> To: Joachim Schmitz
>> Cc: [email-masked]
>> Subject: Re: bug#9064: coreutils-8.12 compiler warning
>> 
>> On 13/07/11 08:55, Joachim Schmitz wrote:
>>> I found this in mktemp.c, line344 (well, my compiler found it for me 
>>> and warned about 'possible use of "=" where "==" was intended'):
>>>
>>>       if (!dry_run && (stdout_closed = true) && close_stream (stdout) 
>>> != 0)
>>>
>>> Not sure whether this is bug or feature ;-)
>> 
>> Well it's a feature.
>> We could reorganize but it would add a few more lines.
>> What compiler (option) is this?
>> Is the warning avoided by using double brackets like ((stdout_closed =
>> true))
>
> I also notice SGI's compiler has similar issues
> http://archive.apache.org/gnats/2528
> 
> closing this.

I remember I've seen something like (0 != (stdout_closed = true))
to make the compiler happy.

This is like the often used
  if (0 == (fp = fopen("file", "r"))
    ... error

Have a nice day,
Berny