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 <p...@peff.net>
---
 builtin/name-rev.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/builtin/name-rev.c b/builtin/name-rev.c
index 8a3a0cd..0377fc1 100644
--- a/builtin/name-rev.c
+++ b/builtin/name-rev.c
@@ -55,16 +55,15 @@ copy_data:
                        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,
-- 
2.6.0.rc2.408.ga2926b9
--
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