Thread (1 message) 1 message, 1 author, 2016-06-15

Re: What happen if show_http_message fails to reencode?

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:04:29

"Yi, EungJun" [off-list ref] writes:
I'm trying to make my git server sends http messages in non-ASCII
encoding. And I have a question.

At 206-218 in remote-curl.c:
quoted
static int show_http_message(struct strbuf *type, struct strbuf *charset,
                 struct strbuf *msg)
{
    const char *p, *eol;

    /*
     * We only show text/plain parts, as other types are likely
     * to be ugly to look at on the user's terminal.
     */
    if (strcmp(type->buf, "text/plain"))
        return -1;
    if (charset->len)
        strbuf_reencode(msg, charset->buf, get_log_output_encoding());
What happen if the message has a character which cannot be encoded by
the encoding defined by i18n.logoutputencoding? Drops only the
character or brakes the whole message?
I think the implementation of strbuf_reencode() should tell you
quickly, but otherwise it may warrant a sentence or two of
commenting there.  It leaves the msg intact when underlying iconv()
reports that it couldn't reencode, so you should get the original
message literally.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help