* [PATCH 1/2] strbuf: export strbuf_addchars() @ 2014-09-07 7:03 René Scharfe 2014-09-07 7:06 ` [PATCH 2/2] strbuf: use strbuf_addchars() for adding a char multiple times René Scharfe 2014-09-08 18:32 ` [PATCH 1/2] strbuf: export strbuf_addchars() Junio C Hamano 0 siblings, 2 replies; 4+ messages in thread From: René Scharfe @ 2014-09-07 7:03 UTC (permalink / raw) To: Git Mailing List; +Cc: Junio C Hamano Move strbuf_addchars() to strbuf.c, where it belongs, and make it available for other callers. Signed-off-by: Rene Scharfe <l.s.r@web.de> --- Documentation/technical/api-strbuf.txt | 4 ++++ strbuf.c | 7 +++++++ strbuf.h | 1 + utf8.c | 7 ------- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Documentation/technical/api-strbuf.txt b/Documentation/technical/api-strbuf.txt index 430302c..cca6543 100644 --- a/Documentation/technical/api-strbuf.txt +++ b/Documentation/technical/api-strbuf.txt @@ -160,6 +160,10 @@ then they will free() it. Add a single character to the buffer. +`strbuf_addchars`:: + + Add a character the specified number of times to the buffer. + `strbuf_insert`:: Insert data to the given position of the buffer. The remaining contents diff --git a/strbuf.c b/strbuf.c index 4d31443..0346e74 100644 --- a/strbuf.c +++ b/strbuf.c @@ -204,6 +204,13 @@ void strbuf_adddup(struct strbuf *sb, size_t pos, size_t len) strbuf_setlen(sb, sb->len + len); } +void strbuf_addchars(struct strbuf *sb, int c, size_t n) +{ + strbuf_grow(sb, n); + memset(sb->buf + sb->len, c, n); + strbuf_setlen(sb, sb->len + n); +} + void strbuf_addf(struct strbuf *sb, const char *fmt, ...) { va_list ap; diff --git a/strbuf.h b/strbuf.h index 7bdc1da..652b6c4 100644 --- a/strbuf.h +++ b/strbuf.h @@ -138,6 +138,7 @@ static inline void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2) strbuf_add(sb, sb2->buf, sb2->len); } extern void strbuf_adddup(struct strbuf *sb, size_t pos, size_t len); +extern void strbuf_addchars(struct strbuf *sb, int c, size_t n); typedef size_t (*expand_fn_t) (struct strbuf *sb, const char *placeholder, void *context); extern void strbuf_expand(struct strbuf *sb, const char *format, expand_fn_t fn, void *context); diff --git a/utf8.c b/utf8.c index b30790d..6d4d04a 100644 --- a/utf8.c +++ b/utf8.c @@ -239,13 +239,6 @@ int is_utf8(const char *text) return 1; } -static void strbuf_addchars(struct strbuf *sb, int c, size_t n) -{ - strbuf_grow(sb, n); - memset(sb->buf + sb->len, c, n); - strbuf_setlen(sb, sb->len + n); -} - static void strbuf_add_indented_text(struct strbuf *buf, const char *text, int indent, int indent2) { -- 2.1.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] strbuf: use strbuf_addchars() for adding a char multiple times 2014-09-07 7:03 [PATCH 1/2] strbuf: export strbuf_addchars() René Scharfe @ 2014-09-07 7:06 ` René Scharfe 2014-09-08 18:32 ` [PATCH 1/2] strbuf: export strbuf_addchars() Junio C Hamano 1 sibling, 0 replies; 4+ messages in thread From: René Scharfe @ 2014-09-07 7:06 UTC (permalink / raw) To: Git Mailing List; +Cc: Junio C Hamano Signed-off-by: Rene Scharfe <l.s.r@web.de> --- graph.c | 5 ++--- merge-recursive.c | 4 +--- pretty.c | 10 +++------- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/graph.c b/graph.c index 6404331..dfb99f6 100644 --- a/graph.c +++ b/graph.c @@ -1145,7 +1145,7 @@ int graph_next_line(struct git_graph *graph, struct strbuf *sb) static void graph_padding_line(struct git_graph *graph, struct strbuf *sb) { - int i, j; + int i; if (graph->state != GRAPH_COMMIT) { graph_next_line(graph, sb); @@ -1169,8 +1169,7 @@ static void graph_padding_line(struct git_graph *graph, struct strbuf *sb) strbuf_addch(sb, ' '); else { int num_spaces = ((graph->num_parents - 2) * 2); - for (j = 0; j < num_spaces; j++) - strbuf_addch(sb, ' '); + strbuf_addchars(sb, ' ', num_spaces); } } else { strbuf_write_column(sb, col, '|'); diff --git a/merge-recursive.c b/merge-recursive.c index 1d332b8..dd657e6 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -163,9 +163,7 @@ static void output(struct merge_options *o, int v, const char *fmt, ...) if (!show(o, v)) return; - strbuf_grow(&o->obuf, o->call_depth * 2 + 2); - memset(o->obuf.buf + o->obuf.len, ' ', o->call_depth * 2); - strbuf_setlen(&o->obuf, o->obuf.len + o->call_depth * 2); + strbuf_addchars(&o->obuf, ' ', o->call_depth * 2); va_start(ap, fmt); strbuf_vaddf(&o->obuf, fmt, ap); diff --git a/pretty.c b/pretty.c index 44b9f64..5971415 100644 --- a/pretty.c +++ b/pretty.c @@ -1395,9 +1395,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */ * convert it back to chars */ padding = padding - len + local_sb.len; - strbuf_grow(sb, padding); - strbuf_setlen(sb, sb_len + padding); - memset(sb->buf + sb_len, ' ', sb->len - sb_len); + strbuf_addchars(sb, ' ', padding); memcpy(sb->buf + sb_len + offset, local_sb.buf, local_sb.len); } @@ -1672,10 +1670,8 @@ void pp_remainder(struct pretty_print_context *pp, first = 0; strbuf_grow(sb, linelen + indent + 20); - if (indent) { - memset(sb->buf + sb->len, ' ', indent); - strbuf_setlen(sb, sb->len + indent); - } + if (indent) + strbuf_addchars(sb, ' ', indent); strbuf_add(sb, line, linelen); strbuf_addch(sb, '\n'); } -- 2.1.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] strbuf: export strbuf_addchars() 2014-09-07 7:03 [PATCH 1/2] strbuf: export strbuf_addchars() René Scharfe 2014-09-07 7:06 ` [PATCH 2/2] strbuf: use strbuf_addchars() for adding a char multiple times René Scharfe @ 2014-09-08 18:32 ` Junio C Hamano 2014-09-08 21:36 ` René Scharfe 1 sibling, 1 reply; 4+ messages in thread From: Junio C Hamano @ 2014-09-08 18:32 UTC (permalink / raw) To: René Scharfe; +Cc: Git Mailing List René Scharfe <l.s.r@web.de> writes: > Move strbuf_addchars() to strbuf.c, where it belongs, and make it > available for other callers. > > Signed-off-by: Rene Scharfe <l.s.r@web.de> Wow, fixing up v1.7.0.2~9^2~2? Both patches look correct, but I have to wonder where you are drawing these clean-up opportunities from? Almost as if reading through dormant part of the codebase one of your hobbies or something ;-) Jokes aside, I very much appreciate it. Thanks. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] strbuf: export strbuf_addchars() 2014-09-08 18:32 ` [PATCH 1/2] strbuf: export strbuf_addchars() Junio C Hamano @ 2014-09-08 21:36 ` René Scharfe 0 siblings, 0 replies; 4+ messages in thread From: René Scharfe @ 2014-09-08 21:36 UTC (permalink / raw) To: Junio C Hamano; +Cc: Git Mailing List Am 08.09.2014 um 20:32 schrieb Junio C Hamano: > René Scharfe <l.s.r@web.de> writes: > >> Move strbuf_addchars() to strbuf.c, where it belongs, and make it >> available for other callers. >> >> Signed-off-by: Rene Scharfe <l.s.r@web.de> > > Wow, fixing up v1.7.0.2~9^2~2? About time, isn't it? ;) > Both patches look correct, but I have to wonder where you are > drawing these clean-up opportunities from? Almost as if reading > through dormant part of the codebase one of your hobbies or > something ;-) That, and I'm sitting on a pile of cleanup patches that grew whenever I looked at some piece of code for the first time, e.g. due to bug reports, or when I took a static analyzer for a test drive etc. I'm trying to filter out the good ones and to send them at opportune moments in order to avoid conflicts with real changes. René ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-09-08 21:36 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-09-07 7:03 [PATCH 1/2] strbuf: export strbuf_addchars() René Scharfe 2014-09-07 7:06 ` [PATCH 2/2] strbuf: use strbuf_addchars() for adding a char multiple times René Scharfe 2014-09-08 18:32 ` [PATCH 1/2] strbuf: export strbuf_addchars() Junio C Hamano 2014-09-08 21:36 ` René Scharfe
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.