refspec: add back a refspec_item_init() function

Re-add the non-fatal version of refspec_item_init_or_die() renamed away in an earlier change to get a more minimal diff. This should be used by callers that have their own error handling. This new function could be marked "static" since nothing outside of refspec.c uses it, but expecting future use of it, let's make it available to other users. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Jun 5, 2018 at 19:54 UTC c495fd3d1b4b6b395346a8832edbea25f0d60ee7
2 files changed +9 -3
refspec.c
+7 -3
@@ -122,12 +122,16 @@ static int parse_refspec(struct refspec_item *item, const char *refspec, int fet
122 return 1;
123 }
124
125 -void refspec_item_init_or_die(struct refspec_item *item, const char *refspec,
126 - int fetch)
125 +int refspec_item_init(struct refspec_item *item, const char *refspec, int fetch)
126 {
127 memset(item, 0, sizeof(*item));
128 + return parse_refspec(item, refspec, fetch);
129 +}
130
130 - if (!parse_refspec(item, refspec, fetch))
131 +void refspec_item_init_or_die(struct refspec_item *item, const char *refspec,
132 + int fetch)
133 +{
134 + if (!refspec_item_init(item, refspec, fetch))
135 die("Invalid refspec '%s'", refspec);
136 }
137
refspec.h
+2
@@ -32,6 +32,8 @@ struct refspec {
32 int fetch;
33 };
34
35 +int refspec_item_init(struct refspec_item *item, const char *refspec,
36 + int fetch);
37 void refspec_item_init_or_die(struct refspec_item *item, const char *refspec,
38 int fetch);
39 void refspec_item_clear(struct refspec_item *item);