| tfix warning with libgit2 v0.99+, remain compatible with older versions - stagi… | |
| git clone git://src.adamsgaard.dk/stagit | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 212f9201f3b87e33130313f13fb0dbae593fa0c2 | |
| parent 2262b0ac3d6ddfd692903acb555166c016721fe8 | |
| Author: Hiltjo Posthuma <[email protected]> | |
| Date: Sat, 28 Nov 2020 12:28:05 +0100 | |
| fix warning with libgit2 v0.99+, remain compatible with older versions | |
| git_blob_rawsize now returns with git_object_size_t (unsigned). This was | |
| git_off_t (signed). | |
| In my current version 1.1.0: | |
| types.h:typedef uint64_t git_object_size_t; | |
| v0.28.5: | |
| https://libgit2.org/libgit2/#v0.28.5/group/blob/git_blob_rawsize | |
| changed from v0.99 onwards: | |
| https://libgit2.org/libgit2/#v0.99.0/group/blob/git_blob_rawsize | |
| Fix: use size_t to remain compatible (with a possible warning in older | |
| versions), since git_object_size_t is a new defined type. | |
| This assumes size_t is atleast uint32_t / uint64_t size. | |
| Adapted from a patch by Augustin Fabre <[email protected]>, thanks! | |
| Diffstat: | |
| M stagit.c | 15 +++++++-------- | |
| 1 file changed, 7 insertions(+), 8 deletions(-) | |
| --- | |
| diff --git a/stagit.c b/stagit.c | |
| t@@ -517,15 +517,15 @@ writefooter(FILE *fp) | |
| size_t | |
| writeblobhtml(FILE *fp, const git_blob *blob) | |
| { | |
| - size_t n = 0, i, prev; | |
| + size_t n = 0, i, len, prev; | |
| const char *nfmt = "<a href=\"#l%zu\" class=\"line\" id=\"l%zu\">%7zu<… | |
| const char *s = git_blob_rawcontent(blob); | |
| - git_off_t len = git_blob_rawsize(blob); | |
| + len = git_blob_rawsize(blob); | |
| fputs("<pre id=\"blob\">\n", fp); | |
| if (len > 0) { | |
| - for (i = 0, prev = 0; i < (size_t)len; i++) { | |
| + for (i = 0, prev = 0; i < len; i++) { | |
| if (s[i] != '\n') | |
| continue; | |
| n++; | |
| t@@ -899,7 +899,7 @@ writeatom(FILE *fp, int all) | |
| } | |
| size_t | |
| -writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t … | |
| +writeblob(git_object *obj, const char *fpath, const char *filename, size_t fil… | |
| { | |
| char tmp[PATH_MAX] = "", *d; | |
| const char *p; | |
| t@@ -923,7 +923,7 @@ writeblob(git_object *obj, const char *fpath, const char *… | |
| writeheader(fp, filename); | |
| fputs("<p> ", fp); | |
| xmlencode(fp, filename, strlen(filename)); | |
| - fprintf(fp, " (%juB)", (uintmax_t)filesize); | |
| + fprintf(fp, " (%zuB)", filesize); | |
| fputs("</p><hr/>", fp); | |
| if (git_blob_is_binary((git_blob *)obj)) { | |
| t@@ -988,10 +988,9 @@ writefilestree(FILE *fp, git_tree *tree, const char *path) | |
| { | |
| const git_tree_entry *entry = NULL; | |
| git_object *obj = NULL; | |
| - git_off_t filesize; | |
| const char *entryname; | |
| char filepath[PATH_MAX], entrypath[PATH_MAX], oid[8]; | |
| - size_t count, i, lc; | |
| + size_t count, i, lc, filesize; | |
| int r, ret; | |
| count = git_tree_entrycount(tree); | |
| t@@ -1036,7 +1035,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *pat… | |
| if (lc > 0) | |
| fprintf(fp, "%zuL", lc); | |
| else | |
| - fprintf(fp, "%juB", (uintmax_t)filesize); | |
| + fprintf(fp, "%zuB", filesize); | |
| fputs("</td></tr>\n", fp); | |
| git_object_free(obj); | |
| } else if (git_tree_entry_type(entry) == GIT_OBJ_COMMIT) { |