summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2010-07-13 19:55:47 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2010-07-13 19:55:47 (UTC)
commit60fcf600f5010701c20b63867999a802ca0e05c0 (patch) (side-by-side diff)
treed46f660ec5c72bb3efe65ea5039386714da2e71e
parent6654d5b7bdc1d775cf09ca6690b1fc5ecea4696d (diff)
parent73ac0fb6f217addbcd7878828407392418c973de (diff)
downloadcgit-60fcf600f5010701c20b63867999a802ca0e05c0.zip
cgit-60fcf600f5010701c20b63867999a802ca0e05c0.tar.gz
cgit-60fcf600f5010701c20b63867999a802ca0e05c0.tar.bz2
Merge branch 'stable'
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--parsing.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/parsing.c b/parsing.c
index f3f3b15..f37c49d 100644
--- a/parsing.c
+++ b/parsing.c
@@ -169,48 +169,52 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
// skip empty lines between headers and message
while (p && *p == '\n')
p++;
if (!p)
return ret;
t = strchr(p, '\n');
if (t) {
ret->subject = substr(p, t);
p = t + 1;
while (p && *p == '\n') {
p = strchr(p, '\n');
if (p)
p++;
}
if (p)
ret->msg = xstrdup(p);
} else
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);
}
return ret;
}
struct taginfo *cgit_parse_tag(struct tag *tag)
{
void *data;
enum object_type type;
unsigned long size;
char *p;
struct taginfo *ret;
data = read_sha1_file(tag->object.sha1, &type, &size);
if (!data || type != OBJ_TAG) {
free(data);
return 0;
}
ret = xmalloc(sizeof(*ret));
ret->tagger = NULL;