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 <redacted>
---
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.rc3.454.g204ad51