]> git.cameronkatri.com Git - cgit.git/blobdiff - parsing.c
md2html: use sane_lists extension
[cgit.git] / parsing.c
index e224564dc5346e74300ca35b567a6799f701ca57..72b59b3c46a6c52aadd1134f215c8ce3f274d392 100644 (file)
--- a/parsing.c
+++ b/parsing.c
@@ -77,7 +77,7 @@ static void parse_user(const char *t, char **name, char **email, unsigned long *
 
                email_len = ident.mail_end - ident.mail_begin;
                *email = xmalloc(strlen("<") + email_len + strlen(">") + 1);
-               sprintf(*email, "<%.*s>", email_len, ident.mail_begin);
+               xsnprintf(*email, email_len + 3, "<%.*s>", email_len, ident.mail_begin);
 
                if (ident.date_begin)
                        *date = strtoul(ident.date_begin, NULL, 10);
@@ -127,9 +127,8 @@ static int end_of_header(const char *p)
 
 struct commitinfo *cgit_parse_commit(struct commit *commit)
 {
-       const int sha1hex_len = 40;
        struct commitinfo *ret;
-       const char *p = get_cached_commit_buffer(commit, NULL);
+       const char *p = repo_get_commit_buffer(the_repository, commit, NULL);
        const char *t;
 
        ret = xcalloc(1, sizeof(struct commitinfo));
@@ -140,10 +139,10 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
 
        if (!skip_prefix(p, "tree ", &p))
                die("Bad commit: %s", oid_to_hex(&commit->object.oid));
-       p += sha1hex_len + 1;
+       p += the_hash_algo->hexsz + 1;
 
        while (skip_prefix(p, "parent ", &p))
-               p += sha1hex_len + 1;
+               p += the_hash_algo->hexsz + 1;
 
        if (p && skip_prefix(p, "author ", &p)) {
                parse_user(p, &ret->author, &ret->author_email,