git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ariel Badichi <abadichi@bezeqint.net>
To: git@vger.kernel.org
Cc: gitster@pobox.com
Subject: [PATCH] copy.c: copy_fd - correctly report write errors
Date: Wed, 23 Apr 2008 04:05:29 +0300	[thread overview]
Message-ID: <877ieppehy.fsf@sneeze.site> (raw)


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>
---
 copy.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/copy.c b/copy.c
index afc4fbf..e54d15a 100644
--- a/copy.c
+++ b/copy.c
@@ -9,8 +9,7 @@ int copy_fd(int ifd, int ofd)
 		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));
@@ -25,9 +24,10 @@ int copy_fd(int ifd, int ofd)
 				close(ifd);
 				return error("copy-fd: write returned 0");
 			} else {
+				int write_error = errno;
 				close(ifd);
 				return error("copy-fd: write returned %s",
-					     strerror(errno));
+					     strerror(write_error));
 			}
 		}
 	}
@@ -48,7 +48,7 @@ int copy_file(const char *dst, const char *src, int mode)
 	}
 	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;
-- 
1.5.5.1.57.g5909c

             reply	other threads:[~2008-04-23  1:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-23  1:05 Ariel Badichi [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-04-23  0:22 [PATCH] copy.c: copy_fd - correctly report write errors Ariel Badichi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877ieppehy.fsf@sneeze.site \
    --to=abadichi@bezeqint.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).