Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-05-15 13:23:27 +0300
committerCarlos Martín Nieto <cmn@dwim.me>2015-05-17 16:48:33 +0300
commitedef91ee25eddcda1db9af64c99d3913c45e3a18 (patch)
treeb18f3d2462cffbd93be7360b4a3474c2e541f9a6
parent54738368ec469dd9706c5c8f97d24affde9edae8 (diff)
fileops: set an error on write error for file copy
We set an error if we get an error when reading, but we don't bother setting an error message for write failing. This causes a cryptic error to be shown to the user when the target filesystem is full.
-rw-r--r--src/fileops.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/fileops.c b/src/fileops.c
index 566aed1c1..b7b55159f 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -703,6 +703,9 @@ static int cp_by_fd(int ifd, int ofd, bool close_fd_when_done)
error = (int)len;
}
+ if (error < 0)
+ giterr_set(GITERR_OS, "write error while copying file");
+
if (close_fd_when_done) {
p_close(ifd);
p_close(ofd);