path.c: simplify adjust_shared_perm()
authorTorsten Bögershausen <tboegi@web.de>
Sat, 30 Mar 2013 09:53:32 +0000 (10:53 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 Apr 2013 19:37:55 +0000 (12:37 -0700)
All calls to set_shared_perm() use mode == 0, so simplify the
function.

Because all callers use the macro adjust_shared_perm(path) from
cache.h to call this function, convert it to a proper function,
losing set_shared_perm().

Since path.c has much more functions than just mkpath() these days,
drop the stale comment about it.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
path.c
diff --git a/cache.h b/cache.h
index c56315ccc3605654ff4a08a8b74cc8f25cfb2b41..9f3b649663a4ef4a22ca87aeb120bbedfcb0896f 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -713,8 +713,7 @@ enum sharedrepo {
        PERM_EVERYBODY      = 0664
 };
 int git_config_perm(const char *var, const char *value);
-int set_shared_perm(const char *path, int mode);
-#define adjust_shared_perm(path) set_shared_perm((path), 0)
+int adjust_shared_perm(const char *path);
 int safe_create_leading_directories(char *path);
 int safe_create_leading_directories_const(const char *path);
 int mkdir_in_gitdir(const char *path);
diff --git a/path.c b/path.c
index 2fdccc2f18367399b8247ee79ec8bf4934f596cb..e27959a12bc5031d8d660a2fb9bfe591e43e4d65 100644 (file)
--- a/path.c
+++ b/path.c
@@ -1,14 +1,5 @@
 /*
- * I'm tired of doing "vsnprintf()" etc just to open a
- * file, so here's a "return static buffer with printf"
- * interface for paths.
- *
- * It's obviously not thread-safe. Sue me. But it's quite
- * useful for doing things like
- *
- *   f = open(mkpath("%s/%s.git", base, name), O_RDONLY);
- *
- * which is what it's designed for.
+ * Utilities for paths and pathnames
  */
 #include "cache.h"
 #include "strbuf.h"
@@ -405,21 +396,17 @@ const char *enter_repo(const char *path, int strict)
        return NULL;
 }
 
-int set_shared_perm(const char *path, int mode)
+int adjust_shared_perm(const char *path)
 {
-       int tweak, shared, orig_mode;
+       int tweak, shared, orig_mode, mode;
 
        if (!shared_repository) {
-               if (mode)
-                       return chmod(path, mode & ~S_IFMT);
                return 0;
        }
-       if (!mode) {
-               if (get_st_mode_bits(path, &mode) < 0)
-                       return -1;
-               orig_mode = mode;
-       } else
-               orig_mode = 0;
+       if (get_st_mode_bits(path, &mode) < 0)
+               return -1;
+
+       orig_mode = mode;
        if (shared_repository < 0)
                shared = -shared_repository;
        else