wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success
[gitweb.git] / wrapper.c
index 5b77d2a1aecd494ea4bb5eb1e6f31afc9c96f82e..8d4be66e6678816f5a92c639c40d090c18252c8e 100644 (file)
--- a/wrapper.c
+++ b/wrapper.c
@@ -466,14 +466,12 @@ int xmkstemp_mode(char *template, int mode)
 
 static int warn_if_unremovable(const char *op, const char *file, int rc)
 {
-       if (rc < 0) {
-               int err = errno;
-               if (ENOENT != err) {
-                       warning("unable to %s %s: %s",
-                               op, file, strerror(errno));
-                       errno = err;
-               }
-       }
+       int err;
+       if (!rc || errno == ENOENT)
+               return 0;
+       err = errno;
+       warning("unable to %s %s: %s", op, file, strerror(errno));
+       errno = err;
        return rc;
 }