From: Jeff King Date: Thu, 25 Oct 2012 10:43:03 +0000 (-0400) Subject: Merge branch 'jk/strbuf-detach-always-non-null' X-Git-Tag: v1.8.1-rc0~101 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/2cfceefaca16d64baecf0ba9bcd4e05229d9c31b?ds=inline;hp=-c Merge branch 'jk/strbuf-detach-always-non-null' * jk/strbuf-detach-always-non-null: strbuf: always return a non-NULL value from strbuf_detach --- 2cfceefaca16d64baecf0ba9bcd4e05229d9c31b diff --combined strbuf.c index 0510f76c24,5427cfdc65..4b9e30cadc --- a/strbuf.c +++ b/strbuf.c @@@ -44,7 -44,9 +44,9 @@@ void strbuf_release(struct strbuf *sb char *strbuf_detach(struct strbuf *sb, size_t *sz) { - char *res = sb->alloc ? sb->buf : NULL; + char *res; + strbuf_grow(sb, 0); + res = sb->buf; if (sz) *sz = sb->len; strbuf_init(sb, 0); @@@ -445,8 -447,8 +447,8 @@@ static int is_rfc3986_unreserved(char c ch == '-' || ch == '_' || ch == '.' || ch == '~'; } -void strbuf_add_urlencode(struct strbuf *sb, const char *s, size_t len, - int reserved) +static void strbuf_add_urlencode(struct strbuf *sb, const char *s, size_t len, + int reserved) { strbuf_grow(sb, len); while (len--) { @@@ -464,27 -466,3 +466,27 @@@ void strbuf_addstr_urlencode(struct str { strbuf_add_urlencode(sb, s, strlen(s), reserved); } + +int printf_ln(const char *fmt, ...) +{ + int ret; + va_list ap; + va_start(ap, fmt); + ret = vprintf(fmt, ap); + va_end(ap); + if (ret < 0 || putchar('\n') == EOF) + return -1; + return ret + 1; +} + +int fprintf_ln(FILE *fp, const char *fmt, ...) +{ + int ret; + va_list ap; + va_start(ap, fmt); + ret = vfprintf(fp, fmt, ap); + va_end(ap); + if (ret < 0 || putc('\n', fp) == EOF) + return -1; + return ret + 1; +}