Previously, the errno could have been lost due to an intervening
close() call.
This patch also contains minor cosmetic changes.
Signed-off-by: Ariel Badichi <abadichi@bezeqint.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
if (!len)
break;
if (len < 0) {
if (!len)
break;
if (len < 0) {
- int read_error;
- read_error = errno;
+ int read_error = errno;
close(ifd);
return error("copy-fd: read returned %s",
strerror(read_error));
close(ifd);
return error("copy-fd: read returned %s",
strerror(read_error));
close(ifd);
return error("copy-fd: write returned 0");
} else {
close(ifd);
return error("copy-fd: write returned 0");
} else {
+ int write_error = errno;
close(ifd);
return error("copy-fd: write returned %s",
close(ifd);
return error("copy-fd: write returned %s",
+ strerror(write_error));
}
status = copy_fd(fdi, fdo);
if (close(fdo) != 0)
}
status = copy_fd(fdi, fdo);
if (close(fdo) != 0)
- return error("%s: write error: %s", dst, strerror(errno));
+ return error("%s: close error: %s", dst, strerror(errno));
if (!status && adjust_shared_perm(dst))
return -1;
if (!status && adjust_shared_perm(dst))
return -1;