threads / patch / 41444

patchexec_cmd.c: use find_last_dir_sep() for code simplification

Subject: [PATCH] exec_cmd.c: use find_last_dir_sep() for code simplification

## tl;dr

2 messages between Feb 19, 2016 and Feb 19, 2016. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Alexander Kuleshov· Feb 19, 2016, 08:44 UTC · lore

We are trying to extract dirname from argv0 in the git_extract_argv0_path(). But in the same time, the <git-compat-util.h> provides find_last_dir_sep() to get dirname from a given path. Let's use it instead of loop for the code simplification.

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
---
 exec_cmd.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
Show changes to exec_cmd.c +2 −4
diff --git a/exec_cmd.c b/exec_cmd.c
index e85f0fd..680b257 100644
--- a/exec_cmd.c
+++ b/exec_cmd.c
@@ -43,12 +43,10 @@ const char *git_extract_argv0_path(const char *argv0)
 
 	if (!argv0 || !*argv0)
 		return NULL;
-	slash = argv0 + strlen(argv0);
 
-	while (argv0 <= slash && !is_dir_sep(*slash))
-		slash--;
+	slash = find_last_dir_sep(argv0);
 
-	if (slash >= argv0) {
+	if (slash) {
 		argv0_path = xstrndup(argv0, slash - argv0);
 		return slash + 1;
 	}
-- 
2.4.4.764.g5dbb725.dirty
Junio C Hamano· Feb 19, 2016, 21:28 UTC · re: Alexander Kuleshov · lore

Re: [PATCH] exec_cmd.c: use find_last_dir_sep() for code simplification

Alexander Kuleshov <kuleshovmail@gmail.com> writes:
Show 7 quoted lines
> We are trying to extract dirname from argv0 in the git_extract_argv0_path().
> But in the same time, the <git-compat-util.h> provides find_last_dir_sep()
> to get dirname from a given path.  Let's use it instead of loop for the code
> simplification.
>
> Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
> ---
Looks correct.  Thanks.
Show 22 quoted lines
>  exec_cmd.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/exec_cmd.c b/exec_cmd.c
> index e85f0fd..680b257 100644
> --- a/exec_cmd.c
> +++ b/exec_cmd.c
> @@ -43,12 +43,10 @@ const char *git_extract_argv0_path(const char *argv0)
>  
>  	if (!argv0 || !*argv0)
>  		return NULL;
> -	slash = argv0 + strlen(argv0);
>  
> -	while (argv0 <= slash && !is_dir_sep(*slash))
> -		slash--;
> +	slash = find_last_dir_sep(argv0);
>  
> -	if (slash >= argv0) {
> +	if (slash) {
>  		argv0_path = xstrndup(argv0, slash - argv0);
>  		return slash + 1;
>  	}

← back to recent threads