system_path: move RUNTIME_PREFIX to a sub-function
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>
This commit is contained in:
parent
3d9c5b5c44
commit
39b2f6af6e
33
exec_cmd.c
33
exec_cmd.c
@ -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 *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,9 +25,25 @@ char *system_path(const char *path)
|
||||
"but prefix computation failed. "
|
||||
"Using static fallback '%s'.\n", prefix);
|
||||
}
|
||||
#endif
|
||||
return prefix;
|
||||
}
|
||||
#else
|
||||
|
||||
strbuf_addf(&d, "%s/%s", prefix, path);
|
||||
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", system_prefix(), path);
|
||||
return strbuf_detach(&d, NULL);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user