There are two callers of this function, which ensures that a dispatched call to refspec_item_init() does not fail. In the following commit, we're going to add fetch/push-specific variants of refspec_item_init(), which will turn one function into two. To avoid introducing yet another pair of new functions (such as refspec_item_init_push_or_die() and refspec_item_init_fetch_or_die()), let's remove the thin wrapper entirely. This duplicates a single line of code among two callers, but thins the refspec.h API by one function, and prevents introducing two more in the following commit. Note that we still have a trailing Boolean argument in the function `refspec_item_init()`. The following commit will address this. Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> --- builtin/pull.c | 3 ++- refspec.c | 10 ++-------- refspec.h | 2 -- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/builtin/pull.c b/builtin/pull.c index 8bbfcce729..a68a9955de 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -738,7 +738,8 @@ static const char *get_tracking_branch(const char *remote, const char *refspec) const char *spec_src; const char *merge_branch; - refspec_item_init_or_die(&spec, refspec, 1); + if (!refspec_item_init(&spec, refspec, 1)) + die(_("invalid refspec '%s'"), refspec); spec_src = spec.src; if (!*spec_src || !strcmp(spec_src, "HEAD")) spec_src = "HEAD"; diff --git a/refspec.c b/refspec.c index f6be0c54d7..3aeb697505 100644 --- a/refspec.c +++ b/refspec.c @@ -160,13 +160,6 @@ int refspec_item_init(struct refspec_item *item, const char *refspec, int fetch) return parse_refspec(item, refspec, fetch); } -void refspec_item_init_or_die(struct refspec_item *item, const char *refspec, - int fetch) -{ - if (!refspec_item_init(item, refspec, fetch)) - die(_("invalid refspec '%s'"), refspec); -} - void refspec_item_clear(struct refspec_item *item) { FREE_AND_NULL(item->src); @@ -194,7 +187,8 @@ void refspec_append(struct refspec *rs, const char *refspec) { struct refspec_item item; - refspec_item_init_or_die(&item, refspec, rs->fetch); + if (!refspec_item_init(&item, refspec, rs->fetch)) + die(_("invalid refspec '%s'"), refspec); ALLOC_GROW(rs->items, rs->nr + 1, rs->alloc); rs->items[rs->nr] = item; diff --git a/refspec.h b/refspec.h index 7db68e56c8..614f34554e 100644 --- a/refspec.h +++ b/refspec.h @@ -49,8 +49,6 @@ struct refspec { int refspec_item_init(struct refspec_item *item, const char *refspec, int fetch); -void refspec_item_init_or_die(struct refspec_item *item, const char *refspec, - int fetch); void refspec_item_clear(struct refspec_item *item); void refspec_init_fetch(struct refspec *rs); void refspec_init_push(struct refspec *rs); -- 2.49.0.rc2.13.g95783265fd