git_extract_argv0_path(): Move check for valid argv0 from caller to callee
This simplifies the calling code. Signed-off-by: Steffen Prohaska <prohaska@zib.de> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Steffen Prohaska committed
Jan 18, 2009 at 13:00 UTC
2cd72b0b290e40fb4d6a925ce26603503f01aa09
2 files changed
+7
-4
exec_cmd.c
+5
-1
@@ -22,7 +22,11 @@ const char *system_path(const char *path)
22
23
const char *git_extract_argv0_path(const char *argv0)
24
{
25
- const char *slash = argv0 + strlen(argv0);
25
+ const char *slash;
26
+
27
+ if (!argv0 || !*argv0)
28
+ return NULL;
29
+ slash = argv0 + strlen(argv0);
30
31
while (argv0 <= slash && !is_dir_sep(*slash))
32
slash--;
git.c
+2
-3
@@ -444,9 +444,8 @@ int main(int argc, const char **argv)
444
{
445
const char *cmd;
446
447
- if (argv[0] && *argv[0])
448
- cmd = git_extract_argv0_path(argv[0]);
449
- else
447
+ cmd = git_extract_argv0_path(argv[0]);
448
+ if (!cmd)
449
cmd = "git-help";
450
451
/*