diff options
author | NRK <nrk@disroot.org> | 2022-07-15 22:46:23 +0200 |
---|---|---|
committer | NRK <nrk@disroot.org> | 2022-07-15 22:46:23 +0200 |
commit | c131b1ed83da70fd739aff90ea3e8e829549ff43 (patch) | |
tree | f844587cc09b209c0edee2d3649589d62bc07215 /main.c | |
parent | 5cab2fb52520e6a24012351b936ebb9162494666 (diff) | |
download | nsxiv-c131b1ed83da70fd739aff90ea3e8e829549ff43.tar.zst |
fix: -Wsign-compare warnings (#336)
mixing signed and unsigned types in comparison can end up having
unintended results. for example:
if (-1 < 1U)
printf("true\n");
else
printf("false\n");
previously we silenced these warnings, instead just fix them properly
via necessary casting, and in cases where the value cannot be negative
(e.g width/height members) make them unsigned.
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/336
Reviewed-by: explosion-mental <explosion-mental@noreply.codeberg.org>
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -224,7 +224,7 @@ static bool check_timeouts(int *t) int i = 0, tdiff, tmin = -1; struct timeval now; - while (i < ARRLEN(timeouts)) { + while (i < (int)ARRLEN(timeouts)) { if (timeouts[i].active) { gettimeofday(&now, 0); tdiff = TV_DIFF(&timeouts[i].when, &now); @@ -434,11 +434,11 @@ int nav_button(void) win_cursor_pos(&win, &x, &y); nw = NAV_IS_REL ? win.w * NAV_WIDTH / 100 : NAV_WIDTH; - nw = MIN(nw, (win.w + 1) / 2); + nw = MIN(nw, ((int)win.w + 1) / 2); if (x < nw) return 0; - else if (x < win.w-nw) + else if (x < (int)win.w - nw) return 1; else return 2; @@ -917,7 +917,7 @@ int main(int argc, char *argv[]) const char *name[] = { "image-info", "thumb-info", "key-handler", "win-title" }; const char *s = "/nsxiv/exec/"; - for (i = 0; i < ARRLEN(cmd); i++) { + for (i = 0; i < (int)ARRLEN(cmd); i++) { n = strlen(homedir) + strlen(dsuffix) + strlen(s) + strlen(name[i]) + 1; cmd[i]->cmd = emalloc(n); snprintf(cmd[i]->cmd, n, "%s%s%s%s", homedir, dsuffix, s, name[i]); |