name-rev: use strip_suffix to avoid magic numbers
authorJeff King <peff@peff.net>
Thu, 24 Sep 2015 21:08:37 +0000 (17:08 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Oct 2015 18:08:06 +0000 (11:08 -0700)
The manual size computations here are correct, but using
strip_suffix makes that obvious, and hopefully communicates
the intent of the code more clearly.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/name-rev.c
index 8a3a0cd61ef40e4ebff872188f5938dcd700870c..0377fc11428b8148b508658547987ea8954723e6 100644 (file)
@@ -55,16 +55,15 @@ static void name_rev(struct commit *commit,
                        parents;
                        parents = parents->next, parent_number++) {
                if (parent_number > 1) {
-                       int len = strlen(tip_name);
+                       size_t len;
                        char *new_name;
 
-                       if (len > 2 && !strcmp(tip_name + len - 2, "^0"))
-                               len -= 2;
+                       strip_suffix(tip_name, "^0", &len);
                        if (generation > 0)
-                               new_name = xstrfmt("%.*s~%d^%d", len, tip_name,
+                               new_name = xstrfmt("%.*s~%d^%d", (int)len, tip_name,
                                                   generation, parent_number);
                        else
-                               new_name = xstrfmt("%.*s^%d", len, tip_name,
+                               new_name = xstrfmt("%.*s^%d", (int)len, tip_name,
                                                   parent_number);
 
                        name_rev(parents->item, new_name, 0,