]> git.armaanb.net Git - stagit.git/blobdiff - stagit.c
README: advertise text-browser improvements
[stagit.git] / stagit.c
index c3693c70d769c8a428f8400d009e2f546a293864..d9f66048f2fcc99675df668746d4ef11f6e50629 100644 (file)
--- a/stagit.c
+++ b/stagit.c
@@ -114,6 +114,7 @@ commitinfo_getstats(struct commitinfo *ci)
                        err(1, "calloc");
                if (git_patch_from_diff(&patch, ci->diff, i)) {
                        git_patch_free(patch);
+                       free(di);
                        goto err;
                }
                di->patch = patch;
@@ -177,6 +178,8 @@ commitinfo_free(struct commitinfo *ci)
        git_tree_free(ci->commit_tree);
        git_tree_free(ci->parent_tree);
        git_commit_free(ci->commit);
+       git_commit_free(ci->parent);
+       free(ci);
 }
 
 struct commitinfo *
@@ -220,7 +223,6 @@ commitinfo_getbyoid(const git_oid *id)
 
 err:
        commitinfo_free(ci);
-       free(ci);
 
        return NULL;
 }
@@ -246,7 +248,7 @@ xmlencode(FILE *fp, const char *s, size_t len)
                switch(*s) {
                case '<':  fputs("&lt;",   fp); break;
                case '>':  fputs("&gt;",   fp); break;
-               case '\'': fputs("&apos;", fp); break;
+               case '\'': fputs("&#39;",  fp); break;
                case '&':  fputs("&amp;",  fp); break;
                case '"':  fputs("&quot;", fp); break;
                default:   fputc(*s, fp);
@@ -378,7 +380,7 @@ writeblobhtml(FILE *fp, const git_blob *blob)
 {
        off_t i;
        size_t n = 0;
-       char *nfmt = "<a href=\"#l%d\" id=\"l%d\">%d</a>\n";
+       const char *nfmt = "<a href=\"#l%d\" id=\"l%d\">%d</a>\n";
        const char *s = git_blob_rawcontent(blob);
        git_off_t len = git_blob_rawsize(blob);
 
@@ -695,7 +697,7 @@ writeatom(FILE *fp)
        }
        git_revwalk_free(w);
 
-       fputs("</feed>", fp);
+       fputs("</feed>\n", fp);
 
        return 0;
 }
@@ -839,6 +841,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *path)
                        else
                                fprintf(fp, "%juB", (uintmax_t)filesize);
                        fputs("</td></tr>\n", fp);
+                       git_object_free(obj);
                } else if (!git_submodule_lookup(&module, repo, entryname)) {
                        fprintf(fp, "<tr><td>m---------</td><td><a href=\"%sfile/.gitmodules.html\">",
                                relpath);