David Aguilar <davvid@xxxxxxxxx> writes: >> Among them, the return value from run_command_v_opt() eventually >> come from wait_or_whine(), I think, so it may be generic -1 or >> it may be WEXITSTATUS() of the child process. >> >> But I am not sure if this particular caller cares. It is not > > The property I was trying to maintain is that we would forward the result > from the child process in most situations, so we should try and forward > the result from run_command_v_opt() whenever possible. Oh, if it were the case, then I agree that !!ret would not be sufficient. I just had an impression that this particular caller of the run_command_v_opt() did not care, as it did not special case -1 returned from the function as different from what came from WEXITSTATUS(). > That suggests that Ævar's sug is better... > > return (ret < 0) ? 1 : ret; Yup, that would work, as long as exit status 1 from the external diff tool is not all that special (in which case, we cannot tell it from 1 that came from ret = error()). Thanks.