itfix warning with libgit2 v0.99+, remain compatible with older versions - stagit - [fork] customized build of stagit, the static git page generator Err adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/stagit URL:git://src.adamsgaard.dk/stagit adamsgaard.dk 70 1Log /src/stagit/log.gph adamsgaard.dk 70 1Files /src/stagit/files.gph adamsgaard.dk 70 1Refs /src/stagit/refs.gph adamsgaard.dk 70 1README /src/stagit/file/README.gph adamsgaard.dk 70 1LICENSE /src/stagit/file/LICENSE.gph adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1commit 212f9201f3b87e33130313f13fb0dbae593fa0c2 /src/stagit/commit/212f9201f3b87e33130313f13fb0dbae593fa0c2.gph adamsgaard.dk 70 1parent 2262b0ac3d6ddfd692903acb555166c016721fe8 /src/stagit/commit/2262b0ac3d6ddfd692903acb555166c016721fe8.gph adamsgaard.dk 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org adamsgaard.dk 70 iDate: Sat, 28 Nov 2020 12:28:05 +0100 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 ifix warning with libgit2 v0.99+, remain compatible with older versions Err adamsgaard.dk 70 i Err adamsgaard.dk 70 igit_blob_rawsize now returns with git_object_size_t (unsigned). This was Err adamsgaard.dk 70 igit_off_t (signed). Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iIn my current version 1.1.0: Err adamsgaard.dk 70 i types.h:typedef uint64_t git_object_size_t; Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iv0.28.5: Err adamsgaard.dk 70 ihttps://libgit2.org/libgit2/#v0.28.5/group/blob/git_blob_rawsize Err adamsgaard.dk 70 i Err adamsgaard.dk 70 ichanged from v0.99 onwards: Err adamsgaard.dk 70 ihttps://libgit2.org/libgit2/#v0.99.0/group/blob/git_blob_rawsize Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iFix: use size_t to remain compatible (with a possible warning in older Err adamsgaard.dk 70 iversions), since git_object_size_t is a new defined type. Err adamsgaard.dk 70 iThis assumes size_t is atleast uint32_t / uint64_t size. Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iAdapted from a patch by Augustin Fabre , thanks! Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iDiffstat: Err adamsgaard.dk 70 i M stagit.c | 15 +++++++-------- Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i1 file changed, 7 insertions(+), 8 deletions(-) Err adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1diff --git a/stagit.c b/stagit.c /src/stagit/file/stagit.c.gph adamsgaard.dk 70 it@@ -517,15 +517,15 @@ writefooter(FILE *fp) Err adamsgaard.dk 70 i size_t Err adamsgaard.dk 70 i writeblobhtml(FILE *fp, const git_blob *blob) Err adamsgaard.dk 70 i { Err adamsgaard.dk 70 i- size_t n = 0, i, prev; Err adamsgaard.dk 70 i+ size_t n = 0, i, len, prev; Err adamsgaard.dk 70 i const char *nfmt = "%7zu "; Err adamsgaard.dk 70 i const char *s = git_blob_rawcontent(blob); Err adamsgaard.dk 70 i- git_off_t len = git_blob_rawsize(blob); Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i+ len = git_blob_rawsize(blob); Err adamsgaard.dk 70 i fputs("
\n", fp);	Err	adamsgaard.dk	70
i 	Err	adamsgaard.dk	70
i         if (len > 0) {	Err	adamsgaard.dk	70
i-                for (i = 0, prev = 0; i < (size_t)len; i++) {	Err	adamsgaard.dk	70
i+                for (i = 0, prev = 0; i < len; i++) {	Err	adamsgaard.dk	70
i                         if (s[i] != '\n')	Err	adamsgaard.dk	70
i                                 continue;	Err	adamsgaard.dk	70
i                         n++;	Err	adamsgaard.dk	70
it@@ -899,7 +899,7 @@ writeatom(FILE *fp, int all)	Err	adamsgaard.dk	70
i }	Err	adamsgaard.dk	70
i 	Err	adamsgaard.dk	70
i size_t	Err	adamsgaard.dk	70
i-writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t filesize)	Err	adamsgaard.dk	70
i+writeblob(git_object *obj, const char *fpath, const char *filename, size_t filesize)	Err	adamsgaard.dk	70
i {	Err	adamsgaard.dk	70
i         char tmp[PATH_MAX] = "", *d;	Err	adamsgaard.dk	70
i         const char *p;	Err	adamsgaard.dk	70
it@@ -923,7 +923,7 @@ writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t fi	Err	adamsgaard.dk	70
i         writeheader(fp, filename);	Err	adamsgaard.dk	70
i         fputs("

", fp); Err adamsgaard.dk 70 i xmlencode(fp, filename, strlen(filename)); Err adamsgaard.dk 70 i- fprintf(fp, " (%juB)", (uintmax_t)filesize); Err adamsgaard.dk 70 i+ fprintf(fp, " (%zuB)", filesize); Err adamsgaard.dk 70 i fputs("


", fp); Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i if (git_blob_is_binary((git_blob *)obj)) { Err adamsgaard.dk 70 it@@ -988,10 +988,9 @@ writefilestree(FILE *fp, git_tree *tree, const char *path) Err adamsgaard.dk 70 i { Err adamsgaard.dk 70 i const git_tree_entry *entry = NULL; Err adamsgaard.dk 70 i git_object *obj = NULL; Err adamsgaard.dk 70 i- git_off_t filesize; Err adamsgaard.dk 70 i const char *entryname; Err adamsgaard.dk 70 i char filepath[PATH_MAX], entrypath[PATH_MAX], oid[8]; Err adamsgaard.dk 70 i- size_t count, i, lc; Err adamsgaard.dk 70 i+ size_t count, i, lc, filesize; Err adamsgaard.dk 70 i int r, ret; Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i count = git_tree_entrycount(tree); Err adamsgaard.dk 70 it@@ -1036,7 +1035,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *path) Err adamsgaard.dk 70 i if (lc > 0) Err adamsgaard.dk 70 i fprintf(fp, "%zuL", lc); Err adamsgaard.dk 70 i else Err adamsgaard.dk 70 i- fprintf(fp, "%juB", (uintmax_t)filesize); Err adamsgaard.dk 70 i+ fprintf(fp, "%zuB", filesize); Err adamsgaard.dk 70 i fputs("\n", fp); Err adamsgaard.dk 70 i git_object_free(obj); Err adamsgaard.dk 70 i } else if (git_tree_entry_type(entry) == GIT_OBJ_COMMIT) { Err adamsgaard.dk 70 .