]> git.ipfire.org Git - thirdparty/git.git/blobdiff - pretty.c
config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
[thirdparty/git.git] / pretty.c
index 2a3d46bf42fea1d375eb1b29e52ee1caaa0372a0..7a7708a0ea707ac58f1961a65b40fa89ea8631d3 100644 (file)
--- a/pretty.c
+++ b/pretty.c
@@ -839,21 +839,22 @@ static int istitlechar(char c)
                (c >= '0' && c <= '9') || c == '.' || c == '_';
 }
 
-static void format_sanitized_subject(struct strbuf *sb, const char *msg)
+void format_sanitized_subject(struct strbuf *sb, const char *msg, size_t len)
 {
        size_t trimlen;
        size_t start_len = sb->len;
        int space = 2;
+       int i;
 
-       for (; *msg && *msg != '\n'; msg++) {
-               if (istitlechar(*msg)) {
+       for (i = 0; i < len; i++) {
+               if (istitlechar(msg[i])) {
                        if (space == 1)
                                strbuf_addch(sb, '-');
                        space = 0;
-                       strbuf_addch(sb, *msg);
-                       if (*msg == '.')
-                               while (*(msg+1) == '.')
-                                       msg++;
+                       strbuf_addch(sb, msg[i]);
+                       if (msg[i] == '.')
+                               while (msg[i+1] == '.')
+                                       i++;
                } else
                        space |= 1;
        }
@@ -1155,7 +1156,7 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */
        const struct commit *commit = c->commit;
        const char *msg = c->message;
        struct commit_list *p;
-       const char *arg;
+       const char *arg, *eol;
        size_t res;
        char **slot;
 
@@ -1405,7 +1406,8 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */
                format_subject(sb, msg + c->subject_off, " ");
                return 1;
        case 'f':       /* sanitized subject */
-               format_sanitized_subject(sb, msg + c->subject_off);
+               eol = strchrnul(msg + c->subject_off, '\n');
+               format_sanitized_subject(sb, msg + c->subject_off, eol - (msg + c->subject_off));
                return 1;
        case 'b':       /* body */
                strbuf_addstr(sb, msg + c->body_off);