From: Johannes Sixt Date: Tue, 04 Aug 2009 18:51:56 GMT Subject: Re: [PATCH] Fix compiler warning by properly initialize failed_errno Message-ID: <4A78834C.20002@kdbg.org> In-Reply-To: <7vmy6g6rj1.fsf@alter.siamese.dyndns.org> Junio C Hamano schrieb: > David Soria Parra writes: > >> From: David Soria Parra >> >> Initilize failed_error in start_command to avoid compiler warnings >> >> Signed-off-by: David Soria Parra >> --- >> run-command.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/run-command.c b/run-command.c >> index dc09433..510349b 100644 >> --- a/run-command.c >> +++ b/run-command.c >> @@ -19,7 +19,7 @@ int start_command(struct child_process *cmd) >> { >> int need_in, need_out, need_err; >> int fdin[2], fdout[2], fderr[2]; >> - int failed_errno; >> + int failed_errno = 0; >> >> /* >> * In case of errors we must keep the promise to close FDs > > We would want to be able to distinguish between a workaround for a > compiler that is not clever/careful enough, and a necessary > initialization. In this particular case, it is the former, and we should > say > > int failed_errno = failed_errno; > > instead. Frankly, I prefer the initialization with 0; this is not a performance critical place and micro-optimization is not appropriate here. (If this were C++ then I *know* that int x = x; is undefined behavior, strictly speaking; I don't know whether it is the same with C.) Nevertheless, for both versions: Acked-by: Johannes Sixt -- Hannes