]> git.ipfire.org Git - thirdparty/git.git/commitdiff
system_path: move RUNTIME_PREFIX to a sub-function
authorJeff King <peff@peff.net>
Wed, 6 Sep 2017 12:30:28 +0000 (08:30 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Sep 2017 00:41:11 +0000 (09:41 +0900)
The system_path() function has an #ifdef in the middle of
it. Let's move the conditional logic into a sub-function.
This isolates it more, which will make it easier to change
and add to.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
exec_cmd.c

index fb94aeba9cef2893ea7173e5634640e596659474..61092e971511ea02ce542183a50b08b17e34f2ec 100644 (file)
@@ -7,19 +7,12 @@
 static const char *argv_exec_path;
 static const char *argv0_path;
 
-char *system_path(const char *path)
-{
 #ifdef RUNTIME_PREFIX
-       static const char *prefix;
-#else
-       static const char *prefix = PREFIX;
-#endif
-       struct strbuf d = STRBUF_INIT;
 
-       if (is_absolute_path(path))
-               return xstrdup(path);
+static const char *system_prefix(void)
+{
+       static const char *prefix;
 
-#ifdef RUNTIME_PREFIX
        assert(argv0_path);
        assert(is_absolute_path(argv0_path));
 
@@ -32,9 +25,25 @@ char *system_path(const char *path)
                                "but prefix computation failed.  "
                                "Using static fallback '%s'.\n", prefix);
        }
-#endif
+       return prefix;
+}
+#else
+
+static const char *system_prefix(void)
+{
+       return PREFIX;
+}
+
+#endif /* RUNTIME_PREFIX */
+
+char *system_path(const char *path)
+{
+       struct strbuf d = STRBUF_INIT;
+
+       if (is_absolute_path(path))
+               return xstrdup(path);
 
-       strbuf_addf(&d, "%s/%s", prefix, path);
+       strbuf_addf(&d, "%s/%s", system_prefix(), path);
        return strbuf_detach(&d, NULL);
 }