Subject: Re: [PATCH] run-command.c: Fix unused variables warning with gcc 4.6

From: Andreas Ericsson <[email-masked]>
Date: Tue, 26 Apr 2011 15:45:17 +0200

On 04/26/2011 03:27 PM, Michael Schubert wrote:
> On 04/26/2011 03:13 PM, Michael J Gruber wrote:
>> Michael Schubert venit, vidit, dixit 26.04.2011 14:28:
>>> As of gcc 4.6 -Wall includes -Wunused-but-set-variable. Remove all
>>> unused variables to prevent those warnings.
>>>
>>> Signed-off-by: Michael Schubert<[email-masked]>
>>> ---
>>>   run-command.c |   10 ++++------
>>>   1 files changed, 4 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/run-command.c b/run-command.c
>>> index f91e446..6e0be54 100644
>>> --- a/run-command.c
>>> +++ b/run-command.c
>>> @@ -67,21 +67,19 @@ static int child_notifier = -1;
>>>
>>>   static void notify_parent(void)
>>>   {
>>> -	ssize_t unused;
>>> -	unused = write(child_notifier, "", 1);
>>> +	write(child_notifier, "", 1);
>>>   }
>>>
>>>   static NORETURN void die_child(const char *err, va_list params)
>>>   {
>>>   	char msg[4096];
>>> -	ssize_t unused;
>>>   	int len = vsnprintf(msg, sizeof(msg), err, params);
>>>   	if (len>  sizeof(msg))
>>>   		len = sizeof(msg);
>>>
>>> -	unused = write(child_err, "fatal: ", 7);
>>> -	unused = write(child_err, msg, len);
>>> -	unused = write(child_err, "\n", 1);
>>> +	write(child_err, "fatal: ", 7);
>>> +	write(child_err, msg, len);
>>> +	write(child_err, "\n", 1);
>>>   	exit(128);
>>>   }
>>>   #endif
>>
>> git log -S"unused" origin/master run-command.c
>>
>> shows that these dummies were introduced for a reason. How do you
>> invalidate that?
> 
> Sorry, just missed that.
> 

A better solution than reverting the prettifying commit
ebec842773932e6f853acac70c80f84209b5f83e would be to rework it to use
logical AND instead of logical OR, as the AND-chain won't short-circuit
the statement chain early and prevent output from being printed when
write() returns non-zero. When it *does* return zero, it's likely due
to problems on the receiving ends, making further writing totally
pointless anyway.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.