diff options
-rw-r--r-- | cgit.h | 4 | ||||
-rw-r--r-- | parsing.c | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/cgit.h b/cgit.h index b6b60c6..f06a941 100644 --- a/cgit.h +++ b/cgit.h | |||
@@ -18,7 +18,11 @@ struct cacheitem { | |||
18 | struct commitinfo { | 18 | struct commitinfo { |
19 | struct commit *commit; | 19 | struct commit *commit; |
20 | char *author; | 20 | char *author; |
21 | char *author_email; | ||
22 | unsigned long author_date; | ||
21 | char *committer; | 23 | char *committer; |
24 | char *committer_email; | ||
25 | unsigned long committer_date; | ||
22 | char *subject; | 26 | char *subject; |
23 | char *msg; | 27 | char *msg; |
24 | }; | 28 | }; |
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') |