aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-07-25 14:13:47 -0700
committerJunio C Hamano <gitster@pobox.com>2016-07-25 14:13:47 -0700
commitb4e8a847ba4e775fb7d422b2daf18356db50eec8 (patch)
treeb7beddae0b6b9800c8a40dfc6b4be33764b6a4a6
parent7b01ab562ae14f5e5aedf0c0e769c74925a19809 (diff)
parent31471ba21ee29886ab856981e52f723c913d7f40 (diff)
downloadgit-b4e8a847ba4e775fb7d422b2daf18356db50eec8.tar.gz
git-b4e8a847ba4e775fb7d422b2daf18356db50eec8.tar.xz
Merge branch 'rs/use-strbuf-addbuf'
Code cleanup. * rs/use-strbuf-addbuf: strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf() use strbuf_addbuf() for appending a strbuf to another
-rw-r--r--dir.c2
-rw-r--r--path.c2
-rw-r--r--strbuf.c7
-rw-r--r--strbuf.h6
-rw-r--r--wt-status.c2
5 files changed, 11 insertions, 8 deletions
diff --git a/dir.c b/dir.c
index 6172b3438..0ea235f3d 100644
--- a/dir.c
+++ b/dir.c
@@ -2364,7 +2364,7 @@ void write_untracked_extension(struct strbuf *out, struct untracked_cache *untra
varint_len = encode_varint(untracked->ident.len, varbuf);
strbuf_add(out, varbuf, varint_len);
- strbuf_add(out, untracked->ident.buf, untracked->ident.len);
+ strbuf_addbuf(out, &untracked->ident);
strbuf_add(out, ouc, ouc_size(len));
free(ouc);
diff --git a/path.c b/path.c
index 259aeed84..17551c483 100644
--- a/path.c
+++ b/path.c
@@ -483,7 +483,7 @@ static void do_submodule_path(struct strbuf *buf, const char *path,
strbuf_addstr(buf, git_dir);
}
strbuf_addch(buf, '/');
- strbuf_addstr(&git_submodule_dir, buf->buf);
+ strbuf_addbuf(&git_submodule_dir, buf);
strbuf_vaddf(buf, fmt, args);
diff --git a/strbuf.c b/strbuf.c
index 1ba600bd7..f3bd5719c 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -197,6 +197,13 @@ void strbuf_add(struct strbuf *sb, const void *data, size_t len)
strbuf_setlen(sb, sb->len + len);
}
+void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2)
+{
+ strbuf_grow(sb, sb2->len);
+ memcpy(sb->buf + sb->len, sb2->buf, sb2->len);
+ strbuf_setlen(sb, sb->len + sb2->len);
+}
+
void strbuf_adddup(struct strbuf *sb, size_t pos, size_t len)
{
strbuf_grow(sb, len);
diff --git a/strbuf.h b/strbuf.h
index 83c5c9853..ba8d5f1d4 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -263,11 +263,7 @@ static inline void strbuf_addstr(struct strbuf *sb, const char *s)
/**
* Copy the contents of another buffer at the end of the current one.
*/
-static inline void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2)
-{
- strbuf_grow(sb, sb2->len);
- strbuf_add(sb, sb2->buf, sb2->len);
-}
+extern void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2);
/**
* Copy part of the buffer from a given position till a given length to the
diff --git a/wt-status.c b/wt-status.c
index de62ab214..19cbc3939 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -1063,7 +1063,7 @@ static void abbrev_sha1_in_line(struct strbuf *line)
strbuf_addf(split[1], "%s ", abbrev);
strbuf_reset(line);
for (i = 0; split[i]; i++)
- strbuf_addf(line, "%s", split[i]->buf);
+ strbuf_addbuf(line, split[i]);
}
}
strbuf_list_free(split);