about summary refs log tree commit diff stats
path: root/parsing.c
diff options
context:
space:
mode:
authorLars Hjemli2006-12-16 14:25:41 +0100
committerLars Hjemli2006-12-16 14:25:41 +0100
commit77078ba716ccdfdc954741355dd6a17632db961b (patch)
treeef66d7a2690c90981ab0f446a19111a04d121c7a /parsing.c
parentAllow relative paths for cgit_cache_root (diff)
downloadcgit-77078ba716ccdfdc954741355dd6a17632db961b.tar.gz
cgit-77078ba716ccdfdc954741355dd6a17632db961b.zip
Teach commit parser about author/committer email + timestamp
We want all four of these when showing a commit, so save them in the
commitinfo struct.

Btw: There's probably no good reason to save committer timestamp since
it's already available in commit->date. But it doesn't hurt us either,
and it makes the parser look more complete, so we just do it.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'parsing.c')
-rw-r--r--parsing.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/parsing.c b/parsing.c index be471b5..4d5cc74 100644 --- a/parsing.c +++ b/parsing.c
@@ -135,14 +135,22 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
135 p += 7; 135 p += 7;
136 t = strchr(p, '<') - 1; 136 t = strchr(p, '<') - 1;
137 ret->author = substr(p, t); 137 ret->author = substr(p, t);
138 p = strchr(p, '\n') + 1; 138 p = t;
139 t = strchr(t, '>') + 1;
140 ret->author_email = substr(p, t);
141 ret->author_date = atol(++t);
142 p = strchr(t, '\n') + 1;
139 } 143 }
140 144
141 if (!strncmp(p, "committer ", 9)) { 145 if (!strncmp(p, "committer ", 9)) {
142 p += 9; 146 p += 9;
143 t = strchr(p, '<') - 1; 147 t = strchr(p, '<') - 1;
144 ret->committer = substr(p, t); 148 ret->committer = substr(p, t);
145 p = strchr(p, '\n') + 1; 149 p = t;
150 t = strchr(t, '>') + 1;
151 ret->committer_email = substr(p, t);
152 ret->committer_date = atol(++t);
153 p = strchr(t, '\n') + 1;
146 } 154 }
147 155
148 while (*p == '\n') 156 while (*p == '\n')