X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/dc3ac3f76077c5d612d42e8beb4878e43acfc58a..426032f767763b46f462de51d1ebded34f671d79:/parsing.c diff --git a/parsing.c b/parsing.c index 4420e58..74a2484 100644 --- a/parsing.c +++ b/parsing.c @@ -200,6 +200,9 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) ret->subject = NULL; ret->msg = NULL; + if (p == NULL) + return ret; + if (strncmp(p, "tree ", 5)) die("Bad commit: %s", sha1_to_hex(commit->object.sha1)); else @@ -234,14 +237,19 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) p = strchr(p, '\n') + 1; t = strchr(p, '\n'); - if (t && *t) { - ret->subject = substr(p, t); + if (t) { + if (*t == '\0') + ret->subject = strdup("** empty **"); + else + ret->subject = substr(p, t); p = t + 1; while (*p == '\n') p = strchr(p, '\n') + 1; ret->msg = p; - } + } else + ret->subject = substr(p, p+strlen(p)); + return ret; }