threads / patch / 15581

patchsha1_file: link() returns -1 on failure, not errno

Subject: [PATCH] sha1_file: link() returns -1 on failure, not errno

## tl;dr

One message between Sep 18, 2008 and Sep 18, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Thomas Rast· Sep 18, 2008, 22:24 UTC · lore

5723fe7 changed the call to use link() directly instead of through a custom wrapper, but forgot that it returns 0 or -1, not 0 or errno.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---
 sha1_file.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Show changes to sha1_file.c +3 −1
diff --git a/sha1_file.c b/sha1_file.c
index 9ee1ed1..aec81bb 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -2136,7 +2136,9 @@ static void write_sha1_file_prepare(const void *buf, unsigned long len,
  */
 int move_temp_to_file(const char *tmpfile, const char *filename)
 {
-	int ret = link(tmpfile, filename);
+	int ret = 0;
+	if (link(tmpfile, filename))
+		ret = errno;
 
 	/*
 	 * Coda hack - coda doesn't like cross-directory links,
-- 
tg: (97d7fee..) t/link-returns-minus1 (depends on: origin/master)

← back to recent threads