We want to chomp newlines off the end of the "value" string. But because it's const, we must track its length rather than writing a NUL. This leads to us having to tweak that length later, to account for moving the pointer forward. Since we are about to create a copy of it anyway, let's just wait and chomp at the end. Signed-off-by: Jeff King <peff@xxxxxxxx> --- builtin/log.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/builtin/log.c b/builtin/log.c index e00cea7..76823e6 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -675,21 +675,18 @@ static struct string_list extra_cc; static void add_header(const char *value) { struct string_list_item *item; - int len = strlen(value); - while (len && value[len - 1] == '\n') - len--; + size_t len; - if (!strncasecmp(value, "to: ", 4)) { + if (!strncasecmp(value, "to: ", 4)) item = string_list_append(&extra_to, value + 4); - len -= 4; - } else if (!strncasecmp(value, "cc: ", 4)) { + else if (!strncasecmp(value, "cc: ", 4)) item = string_list_append(&extra_cc, value + 4); - len -= 4; - } else { + else item = string_list_append(&extra_hdr, value); - } - item->string[len] = '\0'; + len = strlen(item->string); + while (len && item->string[len - 1] == '\n') + item->string[--len] = '\0'; } #define THREAD_SHALLOW 1 -- 2.7.0.rc3.367.g09631da -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html