threads / patch / 52345

patchpush: use skip_prefix() instead of starts_with()

Subject: [PATCH] push: use skip_prefix() instead of starts_with()

## tl;dr

2 messages between Nov 26, 2019 and Nov 26, 2019. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

René Scharfe· Nov 26, 2019, 15:18 UTC · lore
Get rid of a magic number by using skip_prefix().
Signed-off-by: René Scharfe <l.s.r@web.de>
---
 builtin/push.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Show changes to builtin/push.c +3 −3
diff --git a/builtin/push.c b/builtin/push.c
index 843f5b22a2..6dbf0f0bb7 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -64,6 +64,7 @@ static struct string_list push_options_config = STRING_LIST_INIT_DUP;
 static const char *map_refspec(const char *ref,
 			       struct remote *remote, struct ref *local_refs)
 {
+	const char *branch_name;
 	struct ref *matched = NULL;

 	/* Does "ref" uniquely name our ref? */
@@ -84,8 +85,8 @@ static const char *map_refspec(const char *ref,
 	}

 	if (push_default == PUSH_DEFAULT_UPSTREAM &&
-	    starts_with(matched->name, "refs/heads/")) {
-		struct branch *branch = branch_get(matched->name + 11);
+	    skip_prefix(matched->name, "refs/heads/", &branch_name)) {
+		struct branch *branch = branch_get(branch_name);
 		if (branch->merge_nr == 1 && branch->merge[0]->src) {
 			struct strbuf buf = STRBUF_INIT;
 			strbuf_addf(&buf, "%s:%s",
--
2.24.0
Jeff King· Nov 26, 2019, 15:57 UTC · re: René Scharfe · lore

Re: [PATCH] push: use skip_prefix() instead of starts_with()

On Tue, Nov 26, 2019 at 04:18:28PM +0100, René Scharfe wrote:
Show 20 quoted lines
> diff --git a/builtin/push.c b/builtin/push.c
> index 843f5b22a2..6dbf0f0bb7 100644
> --- a/builtin/push.c
> +++ b/builtin/push.c
> @@ -64,6 +64,7 @@ static struct string_list push_options_config = STRING_LIST_INIT_DUP;
>  static const char *map_refspec(const char *ref,
>  			       struct remote *remote, struct ref *local_refs)
>  {
> +	const char *branch_name;
>  	struct ref *matched = NULL;
> 
>  	/* Does "ref" uniquely name our ref? */
> @@ -84,8 +85,8 @@ static const char *map_refspec(const char *ref,
>  	}
> 
>  	if (push_default == PUSH_DEFAULT_UPSTREAM &&
> -	    starts_with(matched->name, "refs/heads/")) {
> -		struct branch *branch = branch_get(matched->name + 11);
> +	    skip_prefix(matched->name, "refs/heads/", &branch_name)) {
> +		struct branch *branch = branch_get(branch_name);

Yep, obviously correct because you introduce a new variable instead of mutating an existing one. Looks good.

-Peff

← back to recent threads