diff options
| -rw-r--r-- | cgit.h | 4 | ||||
| -rw-r--r-- | parsing.c | 12 |
2 files changed, 14 insertions, 2 deletions
| @@ -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 | }; |
| @@ -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') |
