зеркало из https://github.com/microsoft/git.git
strbuf.c: add `strbuf_join_argv()`
Implement `strbuf_join_argv()` to join arguments into a strbuf. Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@gmail.com> Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
f5116f43f6
Коммит
e71c4a88f6
15
strbuf.c
15
strbuf.c
|
@ -268,6 +268,21 @@ void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2)
|
|||
strbuf_setlen(sb, sb->len + sb2->len);
|
||||
}
|
||||
|
||||
const char *strbuf_join_argv(struct strbuf *buf,
|
||||
int argc, const char **argv, char delim)
|
||||
{
|
||||
if (!argc)
|
||||
return buf->buf;
|
||||
|
||||
strbuf_addstr(buf, *argv);
|
||||
while (--argc) {
|
||||
strbuf_addch(buf, delim);
|
||||
strbuf_addstr(buf, *(++argv));
|
||||
}
|
||||
|
||||
return buf->buf;
|
||||
}
|
||||
|
||||
void strbuf_addchars(struct strbuf *sb, int c, size_t n)
|
||||
{
|
||||
strbuf_grow(sb, n);
|
||||
|
|
7
strbuf.h
7
strbuf.h
|
@ -288,6 +288,13 @@ static inline void strbuf_addstr(struct strbuf *sb, const char *s)
|
|||
*/
|
||||
void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2);
|
||||
|
||||
/**
|
||||
* Join the arguments into a buffer. `delim` is put between every
|
||||
* two arguments.
|
||||
*/
|
||||
const char *strbuf_join_argv(struct strbuf *buf, int argc,
|
||||
const char **argv, char delim);
|
||||
|
||||
/**
|
||||
* This function can be used to expand a format string containing
|
||||
* placeholders. To that end, it parses the string and calls the specified
|
||||
|
|
Загрузка…
Ссылка в новой задаче