Merge branch 'jk/system-path-cleanup' into maint

Code clean-up.

* jk/system-path-cleanup:
  git_extract_argv0_path: do nothing without RUNTIME_PREFIX
  system_path: move RUNTIME_PREFIX to a sub-function
This commit is contained in:
Junio C Hamano 2017-10-18 14:19:10 +09:00
commit 110a642801

View File

@ -5,21 +5,14 @@
#define MAX_ARGS 32 #define MAX_ARGS 32
static const char *argv_exec_path; static const char *argv_exec_path;
#ifdef RUNTIME_PREFIX
static const char *argv0_path; static const char *argv0_path;
char *system_path(const char *path) static const char *system_prefix(void)
{ {
#ifdef RUNTIME_PREFIX
static const char *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);
#ifdef RUNTIME_PREFIX
assert(argv0_path); assert(argv0_path);
assert(is_absolute_path(argv0_path)); assert(is_absolute_path(argv0_path));
@ -32,10 +25,7 @@ char *system_path(const char *path)
"but prefix computation failed. " "but prefix computation failed. "
"Using static fallback '%s'.\n", prefix); "Using static fallback '%s'.\n", prefix);
} }
#endif return prefix;
strbuf_addf(&d, "%s/%s", prefix, path);
return strbuf_detach(&d, NULL);
} }
void git_extract_argv0_path(const char *argv0) void git_extract_argv0_path(const char *argv0)
@ -51,6 +41,30 @@ void git_extract_argv0_path(const char *argv0)
argv0_path = xstrndup(argv0, slash - argv0); argv0_path = xstrndup(argv0, slash - argv0);
} }
#else
static const char *system_prefix(void)
{
return PREFIX;
}
void git_extract_argv0_path(const char *argv0)
{
}
#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", system_prefix(), path);
return strbuf_detach(&d, NULL);
}
void git_set_argv_exec_path(const char *exec_path) void git_set_argv_exec_path(const char *exec_path)
{ {
argv_exec_path = exec_path; argv_exec_path = exec_path;