summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--parsing.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/parsing.c b/parsing.c
index 0412a9c..16b4db7 100644
--- a/parsing.c
+++ b/parsing.c
@@ -225,24 +225,32 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
if (!strncmp(p, "committer ", 9)) {
p += 9;
t = strchr(p, '<') - 1;
ret->committer = substr(p, t);
p = t;
t = strchr(t, '>') + 1;
ret->committer_email = substr(p, t);
ret->committer_date = atol(++t);
p = strchr(t, '\n') + 1;
}
+ if (!strncmp(p, "encoding ", 9)) {
+ p += 9;
+ t = strchr(p, '\n') + 1;
+ ret->msg_encoding = substr(p, t);
+ p = t;
+ } else
+ ret->msg_encoding = xstrdup(PAGE_ENCODING);
+
while (*p && (*p != '\n'))
p = strchr(p, '\n') + 1; // skip unknown header fields
while (*p == '\n')
p = strchr(p, '\n') + 1;
t = strchr(p, '\n');
if (t) {
if (*t == '\0')
ret->subject = "** empty **";
else
ret->subject = substr(p, t);