Merge branch 'jk/skip-prefix'
authorJunio C Hamano <gitster@pobox.com>
Wed, 16 Jul 2014 18:33:06 +0000 (11:33 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Jul 2014 18:33:06 +0000 (11:33 -0700)
One more to an already graduated topic.

* jk/skip-prefix:
tag: use skip_prefix instead of magic numbers

builtin/tag.c
index ef765563388c384a127d27eaf7ee6fd1badfe84f..9d7643f127e7c0ea965ebf599574749c950d769f 100644 (file)
@@ -524,18 +524,14 @@ 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:")) {
-               *sort = VERCMP_SORT;
-               arg += 8;
-       } else if (starts_with(arg, "v:")) {
+
+       if (skip_prefix(arg, "version:", &arg) || skip_prefix(arg, "v:", &arg))
                *sort = VERCMP_SORT;
-               arg += 2;
-       } else
+       else
                *sort = STRCMP_SORT;
+
        if (strcmp(arg, "refname"))
                die(_("unsupported sort specification %s"), arg);
        *sort |= flags;