logo

utils-std

Collection of commonly available Unix tools git clone https://anongit.hacktivis.me/git/utils-std.git/
commit: 86a271f82710fa18baac3c7050c9542c4c015ffe
parent aaa48c82fe47a0c25e1f4f5efeddd74f757c0756
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Tue, 24 Jun 2025 23:45:04 +0200

cmd/printf: silence sign-comparison warnings

Diffstat:

Mcmd/printf.c18+++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/cmd/printf.c b/cmd/printf.c @@ -210,7 +210,7 @@ main(int argc, char *argv[]) do { - unsigned int fmt_argn = 0; + int fmt_argn = 0; for(char *fmt_idx = fmt; fmt_idx < (fmt + fmtlen); fmt_idx++) { @@ -221,7 +221,7 @@ main(int argc, char *argv[]) #define FMT_FLAGS "'-+ #0" #define FMT_BUF_SIZ sizeof("%" FMT_FLAGS "*.*d") - int fmt_bufi = 0; + size_t fmt_bufi = 0; static char fmt_buf[FMT_BUF_SIZ]; fmt_buf[fmt_bufi++] = '%'; @@ -247,7 +247,7 @@ main(int argc, char *argv[]) unsigned int num = strtoul(fmt_idx, &num_end, 10); if(errno == 0 && num != 0 && num_end && *num_end == '$') { - if(num > argc) + if((int)num > argc) { fprintf(stderr, "printf: error: (format position %d) argument '%d' does not exists, only got " @@ -257,7 +257,7 @@ main(int argc, char *argv[]) argc); return 1; } - fmt_argn = MAX(fmt_argn, num); + fmt_argn = MAX(fmt_argn, (int)num); fmt_arg = fmt_argv[num - 1]; fmt_idx = num_end + 1; } @@ -326,7 +326,7 @@ main(int argc, char *argv[]) (int)(fmt_idx - fmt)); return 1; } - if(num > argc) + if((int)num > argc) { fprintf(stderr, "printf: error: (format position %d) argument '%d' does not exists, only got " @@ -337,7 +337,7 @@ main(int argc, char *argv[]) return 1; } - fmt_argn = MAX(fmt_argn, num); + fmt_argn = MAX(fmt_argn, (int)num); fwidth_arg = fmt_argv[num - 1]; fmt_idx = num_end + 1; } @@ -446,7 +446,7 @@ main(int argc, char *argv[]) (int)(fmt_idx - fmt)); return 1; } - if(num > argc) + if((int)num > argc) { fprintf(stderr, "printf: error: (format position %d) argument '%d' does not exists, only got " @@ -457,7 +457,7 @@ main(int argc, char *argv[]) return 1; } - fmt_argn = MAX(fmt_argn, num); + fmt_argn = MAX(fmt_argn, (int)num); prec_arg = fmt_argv[num - 1]; fmt_idx = num_end + 1; } @@ -547,7 +547,7 @@ main(int argc, char *argv[]) int clear = unescape(fmt_arg, &arglen, 0); - if(arglen > precision) arglen = precision; + if(precision > 0 && arglen > (size_t)precision) arglen = precision; /* left-justify if there's a '-' flag */ if(memchr(fmt_buf, '-', fmt_bufi + 1))