diff options
| -rw-r--r-- | parsing.c | 19 |
1 files changed, 13 insertions, 6 deletions
| @@ -145,6 +145,12 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) | |||
| 145 | 145 | ||
| 146 | ret = xmalloc(sizeof(*ret)); | 146 | ret = xmalloc(sizeof(*ret)); |
| 147 | ret->commit = commit; | 147 | ret->commit = commit; |
| 148 | ret->author = NULL; | ||
| 149 | ret->author_email = NULL; | ||
| 150 | ret->committer = NULL; | ||
| 151 | ret->committer_email = NULL; | ||
| 152 | ret->subject = NULL; | ||
| 153 | ret->msg = NULL; | ||
| 148 | 154 | ||
| 149 | if (strncmp(p, "tree ", 5)) | 155 | if (strncmp(p, "tree ", 5)) |
| 150 | die("Bad commit: %s", sha1_to_hex(commit->object.sha1)); | 156 | die("Bad commit: %s", sha1_to_hex(commit->object.sha1)); |
| @@ -180,12 +186,13 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) | |||
| 180 | p = strchr(p, '\n') + 1; | 186 | p = strchr(p, '\n') + 1; |
| 181 | 187 | ||
| 182 | t = strchr(p, '\n'); | 188 | t = strchr(p, '\n'); |
| 183 | ret->subject = substr(p, t); | 189 | if (t && *t) { |
| 184 | p = t + 1; | 190 | ret->subject = substr(p, t); |
| 185 | 191 | p = t + 1; | |
| 186 | while (*p == '\n') | ||
| 187 | p = strchr(p, '\n') + 1; | ||
| 188 | ret->msg = p; | ||
| 189 | 192 | ||
| 193 | while (*p == '\n') | ||
| 194 | p = strchr(p, '\n') + 1; | ||
| 195 | ret->msg = p; | ||
| 196 | } | ||
| 190 | return ret; | 197 | return ret; |
| 191 | } | 198 | } |
