Make the parsing of the --sort parameter more readable by having
skip_prefix keep our pointer up to date.

Authored-by: Jeff King <p...@peff.net>
Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com>
---
 builtin/tag.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/builtin/tag.c b/builtin/tag.c
index ef765563388c..7ccb6f3c581b 100644
--- a/builtin/tag.c
+++ b/builtin/tag.c
@@ -524,18 +524,12 @@ static int parse_opt_sort(const struct option *opt, const 
char *arg, int unset)
        int *sort = opt->value;
        int flags = 0;
 
-       if (*arg == '-') {
+       if (skip_prefix(arg, "-", &arg))
                flags |= REVERSE_SORT;
-               arg++;
-       }
-       if (starts_with(arg, "version:")) {
+
+       if (skip_prefix(arg, "version:", &arg) || skip_prefix(arg, "v:", &arg))
                *sort = VERCMP_SORT;
-               arg += 8;
-       } else if (starts_with(arg, "v:")) {
-               *sort = VERCMP_SORT;
-               arg += 2;
-       } else
-               *sort = STRCMP_SORT;
+
        if (strcmp(arg, "refname"))
                die(_("unsupported sort specification %s"), arg);
        *sort |= flags;
-- 
2.0.1.475.g9b8d714

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to