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>
This commit is contained in:
NRK
2022-07-15 22:46:23 +02:00
parent 5cab2fb525
commit c131b1ed83
7 changed files with 30 additions and 28 deletions

View File

@ -561,7 +561,7 @@ bool tns_zoom(tns_t *tns, int d)
oldzl = tns->zl;
tns->zl += -(d < 0) + (d > 0);
tns->zl = MAX(tns->zl, 0);
tns->zl = MIN(tns->zl, ARRLEN(thumb_sizes)-1);
tns->zl = MIN(tns->zl, (int)ARRLEN(thumb_sizes)-1);
tns->bw = ((thumb_sizes[tns->zl] - 1) >> 5) + 1;
tns->bw = MIN(tns->bw, 4);