aboutsummaryrefslogtreecommitdiffstats
path: root/wrapper.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-05-25 19:01:50 -0700
committerJunio C Hamano <gitster@pobox.com>2009-05-25 19:01:50 -0700
commit2c5942dbae01e5c23d2b68aced019702eb256ad9 (patch)
tree38b103a22d51dc22835a06d375bab806c513acdb /wrapper.c
parentMerge branch 'jk/maint-add-empty' into maint (diff)
parentprint unlink(2) errno in copy_or_link_directory (diff)
downloadgit-2c5942dbae01e5c23d2b68aced019702eb256ad9.tar.gz
git-2c5942dbae01e5c23d2b68aced019702eb256ad9.zip
Merge branch 'ar/unlink-err' into maint
* ar/unlink-err: print unlink(2) errno in copy_or_link_directory replace direct calls to unlink(2) with unlink_or_warn Introduce an unlink(2) wrapper which gives warning if unlink failed
Diffstat (limited to 'wrapper.c')
-rw-r--r--wrapper.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/wrapper.c b/wrapper.c
index d8efb1365a..7eb3218ee9 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -289,3 +289,19 @@ int odb_pack_keep(char *name, size_t namesz, unsigned char *sha1)
safe_create_leading_directories(name);
return open(name, O_RDWR|O_CREAT|O_EXCL, 0600);
}
+
+int unlink_or_warn(const char *file)
+{
+ int rc = unlink(file);
+
+ if (rc < 0) {
+ int err = errno;
+ if (ENOENT != err) {
+ warning("unable to unlink %s: %s",
+ file, strerror(errno));
+ errno = err;
+ }
+ }
+ return rc;
+}
+