Code

utf8.c: remove print_wrapped_text()
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Fri, 19 Feb 2010 22:15:01 +0000 (23:15 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sat, 20 Feb 2010 17:18:04 +0000 (09:18 -0800)
strbuf_add_wrapped_text() is called only from print_wrapped_text()
without a strbuf (in which case it writes its results to stdout).

At its only callsite, supply a strbuf, call strbuf_add_wrapped_text()
directly and remove the wrapper function.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-shortlog.c
utf8.c
utf8.h

index 8aa63c7857fb3a704826bf223ddefb3e40f0eaf7..d96858f9adcf185e65d6028634bd981430a0f193 100644 (file)
@@ -301,9 +301,19 @@ parse_done:
        return 0;
 }
 
+static void add_wrapped_shortlog_msg(struct strbuf *sb, const char *s,
+                                    const struct shortlog *log)
+{
+       int col = strbuf_add_wrapped_text(sb, s, log->in1, log->in2, log->wrap);
+       if (col != log->wrap)
+               strbuf_addch(sb, '\n');
+}
+
 void shortlog_output(struct shortlog *log)
 {
        int i, j;
+       struct strbuf sb = STRBUF_INIT;
+
        if (log->sort_by_number)
                qsort(log->list.items, log->list.nr, sizeof(struct string_list_item),
                        compare_by_number);
@@ -318,9 +328,9 @@ void shortlog_output(struct shortlog *log)
                                const char *msg = onelines->items[j].string;
 
                                if (log->wrap_lines) {
-                                       int col = print_wrapped_text(msg, log->in1, log->in2, log->wrap);
-                                       if (col != log->wrap)
-                                               putchar('\n');
+                                       strbuf_reset(&sb);
+                                       add_wrapped_shortlog_msg(&sb, msg, log);
+                                       fwrite(sb.buf, sb.len, 1, stdout);
                                }
                                else
                                        printf("      %s\n", msg);
@@ -334,6 +344,7 @@ void shortlog_output(struct shortlog *log)
                log->list.items[i].util = NULL;
        }
 
+       strbuf_release(&sb);
        log->list.strdup_strings = 1;
        string_list_clear(&log->list, 1);
        clear_mailmap(&log->mailmap);
diff --git a/utf8.c b/utf8.c
index 7ddff23fa77fbadf7723bca03d24ad5b8f2baca2..5c8a2697f3cceacaa3dff2ea1c7ff9379e280285 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -405,11 +405,6 @@ new_line:
        }
 }
 
-int print_wrapped_text(const char *text, int indent, int indent2, int width)
-{
-       return strbuf_add_wrapped_text(NULL, text, indent, indent2, width);
-}
-
 int is_encoding_utf8(const char *name)
 {
        if (!name)
diff --git a/utf8.h b/utf8.h
index ae30ae4c6e501e4766db93c94253fd404cd29357..b09687d500b89d4f3a0644fea8b1eff420e0748a 100644 (file)
--- a/utf8.h
+++ b/utf8.h
@@ -9,7 +9,6 @@ int utf8_strwidth(const char *string);
 int is_utf8(const char *text);
 int is_encoding_utf8(const char *name);
 
-int print_wrapped_text(const char *text, int indent, int indent2, int len);
 int strbuf_add_wrapped_text(struct strbuf *buf,
                const char *text, int indent, int indent2, int width);