Jeff King <p...@peff.net> writes:

>>   abort:
>>      strbuf_release(&note);
>>      free(url);
>> -    fclose(fp);
>> +    if (ferror(fp))
>> +            rc = -1;
>> +    if (fclose(fp))
>> +            rc = -1;
>>      return rc;
>
> Yeah, I think this works. Normally you'd want to flush before checking
> ferror(), but since you detect errors from fclose, too, it should be
> fine.
>
> We probably should write something stderr, though. Maybe:
>
>   if (ferror(fp) || fclose(fp))
>       rc = error_errno("unable to write to %s", filename);

Yes, and somehow make sure we do fclose(fp) even when we have an
error already ;-)

Reply via email to