]> git.cameronkatri.com Git - cgit.git/blobdiff - parsing.c
Reencode author and committer
[cgit.git] / parsing.c
index c8f30482eb301ba430ec97fc42c86feb47629c53..f37c49d261765636cfef652faec3be8baf6d2894 100644 (file)
--- a/parsing.c
+++ b/parsing.c
@@ -96,6 +96,9 @@ char *parse_user(char *t, char **name, char **email, unsigned long *date)
        return p;
 }
 
+#ifdef NO_ICONV
+#define reencode(a, b, c)
+#else
 const char *reencode(char **txt, const char *src_enc, const char *dst_enc)
 {
        char *tmp;
@@ -110,6 +113,7 @@ const char *reencode(char **txt, const char *src_enc, const char *dst_enc)
        }
        return *txt;
 }
+#endif
 
 struct commitinfo *cgit_parse_commit(struct commit *commit)
 {
@@ -186,6 +190,10 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
                ret->subject = xstrdup(p);
 
        if (ret->msg_encoding) {
+               reencode(&ret->author, PAGE_ENCODING, ret->msg_encoding);
+               reencode(&ret->author_email, PAGE_ENCODING, ret->msg_encoding);
+               reencode(&ret->committer, PAGE_ENCODING, ret->msg_encoding);
+               reencode(&ret->committer_email, PAGE_ENCODING, ret->msg_encoding);
                reencode(&ret->subject, PAGE_ENCODING, ret->msg_encoding);
                reencode(&ret->msg, PAGE_ENCODING, ret->msg_encoding);
        }