Skip to content

Commit

Permalink
Merge branch 'rs/export-strbuf-addchars'
Browse files Browse the repository at this point in the history
Code clean-up.

* rs/export-strbuf-addchars:
  strbuf: use strbuf_addchars() for adding a char multiple times
  strbuf: export strbuf_addchars()
  • Loading branch information
Junio C Hamano committed Sep 19, 2014
2 parents 9ee9c9d + 415792e commit 56feed1
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 20 deletions.
4 changes: 4 additions & 0 deletions Documentation/technical/api-strbuf.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 2 additions & 3 deletions graph.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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, '|');
Expand Down
4 changes: 1 addition & 3 deletions merge-recursive.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
10 changes: 3 additions & 7 deletions pretty.c
Original file line number Diff line number Diff line change
Expand Up @@ -1377,9 +1377,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);
}
Expand Down Expand Up @@ -1654,10 +1652,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');
}
Expand Down
7 changes: 7 additions & 0 deletions strbuf.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
1 change: 1 addition & 0 deletions strbuf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
7 changes: 0 additions & 7 deletions utf8.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down

0 comments on commit 56feed1

Please sign in to comment.