Ronnie Sahlberg <sahlberg@xxxxxxxxxx> writes: > commit 306805ccd147bfdf160b288a8d51fdf9b77ae0fa upstream. > > Update copy_fd to return a meaningful errno on failure. These two are good changes, but makes me wonder if more places benefit from having error_errno() that does the "save away errno, use strerror(errno) to give an error message and restore errno" for us. Not meant as a suggestion for further changes in this series, but as a future discussion item. > > Change-Id: I771f9703acc816902affcf35ff2a56d9426315ac > Signed-off-by: Ronnie Sahlberg <sahlberg@xxxxxxxxxx> > Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> > --- > copy.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/copy.c b/copy.c > index f2970ec..a8d366e 100644 > --- a/copy.c > +++ b/copy.c > @@ -8,12 +8,17 @@ int copy_fd(int ifd, int ofd) > if (!len) > break; > if (len < 0) { > - return error("copy-fd: read returned %s", > - strerror(errno)); > + int save_errno = errno; > + error("copy-fd: read returned %s", strerror(errno)); > + errno = save_errno; > + return -1; > + } > + if (write_in_full(ofd, buffer, len) < 0) { > + int save_errno = errno; > + error("copy-fd: write returned %s", strerror(errno)); > + errno = save_errno; > + return -1; > } > - if (write_in_full(ofd, buffer, len) < 0) > - return error("copy-fd: write returned %s", > - strerror(errno)); > } > return 0; > } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html