diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-06-16 12:18:35 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-06-16 12:18:36 -0700 |
commit | 2075a0c27fa5cf4f9f03964d407dc015c1749a7e (patch) | |
tree | 361c26f8579dcd888a9f4e5b54f79534a9c3b608 /strbuf.c | |
parent | c37d3269d92eedbdf405a6f196253d120e8e2721 (diff) | |
parent | c553fd1c1ef76688b6200e66a825b530b0b02140 (diff) | |
download | git-2075a0c27fa5cf4f9f03964d407dc015c1749a7e.tar.gz |
Merge branch 'jk/http-errors'
Propagate the error messages from the webserver better to the
client coming over the HTTP transport.
* jk/http-errors:
http: default text charset to iso-8859-1
remote-curl: reencode http error messages
strbuf: add strbuf_reencode helper
http: optionally extract charset parameter from content-type
http: extract type/subtype portion of content-type
t5550: test display of remote http error messages
t/lib-httpd: use write_script to copy CGI scripts
test-lib: preserve GIT_CURL_VERBOSE from the environment
Diffstat (limited to 'strbuf.c')
-rw-r--r-- | strbuf.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -1,5 +1,6 @@ #include "cache.h" #include "refs.h" +#include "utf8.h" int starts_with(const char *str, const char *prefix) { @@ -99,6 +100,22 @@ void strbuf_ltrim(struct strbuf *sb) sb->buf[sb->len] = '\0'; } +int strbuf_reencode(struct strbuf *sb, const char *from, const char *to) +{ + char *out; + int len; + + if (same_encoding(from, to)) + return 0; + + out = reencode_string_len(sb->buf, sb->len, to, from, &len); + if (!out) + return -1; + + strbuf_attach(sb, out, len, len); + return 0; +} + void strbuf_tolower(struct strbuf *sb) { char *p = sb->buf, *end = sb->buf + sb->len; |