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
Родитель 28a925bc51 c1bb33c99c
Коммит 110a642801
1 изменённых файлов: 28 добавлений и 14 удалений

Просмотреть файл

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