itpedantic snprintf() improvement - stagit - 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/log.gph adamsgaard.dk 70 1Files /src/files.gph adamsgaard.dk 70 1Refs /src/refs.gph adamsgaard.dk 70 1README /src/file/README.gph adamsgaard.dk 70 1LICENSE /src/file/LICENSE.gph adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1commit bb1d06eb204b1d1135fcddccd14f6306abcd7f72 /src/commit/bb1d06eb204b1d1135fcddccd14f6306abcd7f72.gph adamsgaard.dk 70 1parent 587b01428d6ec2be1ab6b468198663118d483990 /src/commit/587b01428d6ec2be1ab6b468198663118d483990.gph adamsgaard.dk 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org adamsgaard.dk 70 iDate: Sat, 9 Mar 2019 12:39:10 +0100 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 ipedantic snprintf() improvement Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iPOSIX says: Err adamsgaard.dk 70 i"If an output error was encountered, these functions shall return a negative Err adamsgaard.dk 70 ivalue and set errno to indicate the error." Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iDiffstat: Err adamsgaard.dk 70 i M stagit-index.c | 2 +- Err adamsgaard.dk 70 i M stagit.c | 6 +++--- Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i2 files changed, 4 insertions(+), 4 deletions(-) Err adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1diff --git a/stagit-index.c b/stagit-index.c /src/file/stagit-index.c.gph adamsgaard.dk 70 it@@ -28,7 +28,7 @@ joinpath(char *buf, size_t bufsiz, const char *path, const char *path2) Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i r = snprintf(buf, bufsiz, "%s%s%s", Err adamsgaard.dk 70 i path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); Err adamsgaard.dk 70 i- if (r == -1 || (size_t)r >= bufsiz) Err adamsgaard.dk 70 i+ if (r < 0 || (size_t)r >= bufsiz) Err adamsgaard.dk 70 i errx(1, "path truncated: '%s%s%s'", Err adamsgaard.dk 70 i path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 1diff --git a/stagit.c b/stagit.c /src/file/stagit.c.gph adamsgaard.dk 70 it@@ -76,7 +76,7 @@ joinpath(char *buf, size_t bufsiz, const char *path, const char *path2) Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i r = snprintf(buf, bufsiz, "%s%s%s", Err adamsgaard.dk 70 i path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); Err adamsgaard.dk 70 i- if (r == -1 || (size_t)r >= bufsiz) Err adamsgaard.dk 70 i+ if (r < 0 || (size_t)r >= bufsiz) Err adamsgaard.dk 70 i errx(1, "path truncated: '%s%s%s'", Err adamsgaard.dk 70 i path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 it@@ -616,7 +616,7 @@ writelog(FILE *fp, const git_oid *oid) Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i git_oid_tostr(oidstr, sizeof(oidstr), &id); Err adamsgaard.dk 70 i r = snprintf(path, sizeof(path), "commit/%s.html", oidstr); Err adamsgaard.dk 70 i- if (r == -1 || (size_t)r >= sizeof(path)) Err adamsgaard.dk 70 i+ if (r < 0 || (size_t)r >= sizeof(path)) Err adamsgaard.dk 70 i errx(1, "path truncated: 'commit/%s.html'", oidstr); Err adamsgaard.dk 70 i r = access(path, F_OK); Err adamsgaard.dk 70 i Err adamsgaard.dk 70 it@@ -856,7 +856,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *path) Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i r = snprintf(filepath, sizeof(filepath), "file/%s.html", Err adamsgaard.dk 70 i entrypath); Err adamsgaard.dk 70 i- if (r == -1 || (size_t)r >= sizeof(filepath)) Err adamsgaard.dk 70 i+ if (r < 0 || (size_t)r >= sizeof(filepath)) Err adamsgaard.dk 70 i errx(1, "path truncated: 'file/%s.html'", entrypath); Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i if (!git_tree_entry_to_object(&obj, repo, entry)) { Err adamsgaard.dk 70 .