From: Viktor Szakats Date: Mon, 13 May 2024 10:17:33 +0000 (+0200) Subject: src: tidy up types, add necessary casts X-Git-Tag: curl-8_8_0~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1a8953834786f687be5b809af77a9165e2f55273;p=thirdparty%2Fcurl.git src: tidy up types, add necessary casts Cherry-picked from #13489 Closes #13614 --- diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c index 21407aa209..dab4bb01c1 100644 --- a/src/tool_cb_hdr.c +++ b/src/tool_cb_hdr.c @@ -187,10 +187,7 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata) } p += 9; - /* this expression below typecasts 'cb' only to avoid - warning: signed and unsigned type in conditional expression - */ - len = (ssize_t)cb - (p - str); + len = cb - (size_t)(p - str); filename = parse_filename(p, len); if(filename) { if(outs->stream) { diff --git a/src/tool_cb_prg.c b/src/tool_cb_prg.c index d25109eaa8..8e50908ddd 100644 --- a/src/tool_cb_prg.c +++ b/src/tool_cb_prg.c @@ -53,7 +53,7 @@ printf "%d, ", sin($i/200 * 2 * $pi) * 500000 + 500000; } */ -static const unsigned int sinus[] = { +static const int sinus[] = { 515704, 531394, 547052, 562664, 578214, 593687, 609068, 624341, 639491, 654504, 669364, 684057, 698568, 712883, 726989, 740870, 754513, 767906, 781034, 793885, 806445, 818704, 830647, 842265, 853545, 864476, 875047, @@ -194,7 +194,7 @@ int tool_progress_cb(void *clientp, double frac; double percent; int barwidth; - int num; + size_t num; if(point > total) /* we have got more than the expected total! */ total = point; @@ -202,7 +202,7 @@ int tool_progress_cb(void *clientp, frac = (double)point / (double)total; percent = frac * 100.0; barwidth = bar->width - 7; - num = (int) (((double)barwidth) * frac); + num = (size_t) (((double)barwidth) * frac); if(num > MAX_BARLENGTH) num = MAX_BARLENGTH; memset(line, '#', num); @@ -257,7 +257,7 @@ unsigned int get_terminal_columns(void) #elif defined(TIOCGWINSZ) struct winsize ts; if(!ioctl(STDIN_FILENO, TIOCGWINSZ, &ts)) - cols = ts.ws_col; + cols = (int)ts.ws_col; #elif defined(_WIN32) { HANDLE stderr_hnd = GetStdHandle(STD_ERROR_HANDLE); @@ -274,8 +274,8 @@ unsigned int get_terminal_columns(void) } } #endif /* TIOCGSIZE */ - if(cols < 10000) - width = cols; + if(cols >= 0 && cols < 10000) + width = (unsigned int)cols; } if(!width) width = 79; @@ -285,7 +285,7 @@ unsigned int get_terminal_columns(void) void progressbarinit(struct ProgressData *bar, struct OperationConfig *config) { - int cols; + unsigned int cols; memset(bar, 0, sizeof(struct ProgressData)); /* pass the resume from value through to the progress function so it can @@ -297,7 +297,7 @@ void progressbarinit(struct ProgressData *bar, if(cols > MAX_BARLENGTH) bar->width = MAX_BARLENGTH; else if(cols > 20) - bar->width = cols; + bar->width = (int)cols; bar->out = tool_stderr; bar->tick = 150; diff --git a/src/tool_cb_wrt.c b/src/tool_cb_wrt.c index a17b1af5a9..e01658fd88 100644 --- a/src/tool_cb_wrt.c +++ b/src/tool_cb_wrt.c @@ -318,7 +318,8 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata) if(rlen) { /* calculate buffer size for wide characters */ - wc_len = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)rbuf, rlen, NULL, 0); + wc_len = (DWORD)MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)rbuf, (int)rlen, + NULL, 0); if(!wc_len) return CURL_WRITEFUNC_ERROR; @@ -326,8 +327,8 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata) if(!wc_buf) return CURL_WRITEFUNC_ERROR; - wc_len = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)rbuf, rlen, wc_buf, - wc_len); + wc_len = (DWORD)MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)rbuf, (int)rlen, + wc_buf, (int)wc_len); if(!wc_len) { free(wc_buf); return CURL_WRITEFUNC_ERROR; diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 7c265c9afe..508e56797a 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -865,7 +865,8 @@ static ParameterError data_urlencode(struct GlobalConfig *global, } else { /* neither @ nor =, so no name and it isn't a file */ - nlen = is_file = 0; + nlen = 0; + is_file = 0; p = nextarg; } if('@' == is_file) { @@ -1017,7 +1018,7 @@ static const struct LongShort *single(char letter) unsigned int j; for(j = 0; j < sizeof(aliases)/sizeof(aliases[0]); j++) { if(aliases[j].letter != ' ') { - unsigned char l = aliases[j].letter; + unsigned char l = (unsigned char)aliases[j].letter; singles[l - ' '] = &aliases[j]; } } diff --git a/src/tool_getpass.c b/src/tool_getpass.c index 8ccccdfb8a..a7d4260537 100644 --- a/src/tool_getpass.c +++ b/src/tool_getpass.c @@ -146,12 +146,12 @@ static bool ttyecho(bool enable, int fd) #ifdef HAVE_TERMIOS_H tcgetattr(fd, &withecho); noecho = withecho; - noecho.c_lflag &= ~ECHO; + noecho.c_lflag &= ~(tcflag_t)ECHO; tcsetattr(fd, TCSANOW, &noecho); #elif defined(HAVE_TERMIO_H) ioctl(fd, TCGETA, &withecho); noecho = withecho; - noecho.c_lflag &= ~ECHO; + noecho.c_lflag &= ~(tcflag_t)ECHO; ioctl(fd, TCSETA, &noecho); #else /* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H, we can't disable echo! */ diff --git a/src/tool_help.c b/src/tool_help.c index 443e6b492b..f74033d0ad 100644 --- a/src/tool_help.c +++ b/src/tool_help.c @@ -97,15 +97,15 @@ static void print_category(curlhelp_t category, unsigned int cols) for(i = 0; helptext[i].opt; ++i) if(helptext[i].categories & category) { - int opt = (int)longopt; + size_t opt = longopt; size_t desclen = strlen(helptext[i].desc); if(opt + desclen >= (cols - 2)) { if(desclen < (cols - 2)) - opt = (cols - 3) - (int)desclen; + opt = (cols - 3) - desclen; else opt = 0; } - printf(" %-*s %s\n", opt, helptext[i].opt, helptext[i].desc); + printf(" %-*s %s\n", (int)opt, helptext[i].opt, helptext[i].desc); } } diff --git a/src/tool_helpers.c b/src/tool_helpers.c index 67924a26e8..8d7a0387a3 100644 --- a/src/tool_helpers.c +++ b/src/tool_helpers.c @@ -40,9 +40,8 @@ ** Helper functions that are used from more than one source file. */ -const char *param2text(int res) +const char *param2text(ParameterError error) { - ParameterError error = (ParameterError)res; switch(error) { case PARAM_GOT_EXTRA_PARAMETER: return "had unsupported trailing garbage"; diff --git a/src/tool_helpers.h b/src/tool_helpers.h index 2cfbad21a3..dd085e2cc7 100644 --- a/src/tool_helpers.h +++ b/src/tool_helpers.h @@ -25,7 +25,7 @@ ***************************************************************************/ #include "tool_setup.h" -const char *param2text(int res); +const char *param2text(ParameterError error); int SetHTTPrequest(struct OperationConfig *config, HttpReq req, HttpReq *store); diff --git a/src/tool_main.c b/src/tool_main.c index f9a5f9baa0..d0f0333691 100644 --- a/src/tool_main.c +++ b/src/tool_main.c @@ -249,7 +249,7 @@ int main(int argc, char *argv[]) result = win32_init(); if(result) { errorf(&global, "(%d) Windows-specific init failed", result); - return result; + return (int)result; } #endif diff --git a/src/tool_operate.c b/src/tool_operate.c index 77b2dbd2f0..d81d59f280 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -975,7 +975,7 @@ static CURLcode single_transfer(struct GlobalConfig *global, *added = TRUE; per->config = config; per->curl = curl; - per->urlnum = urlnode->num; + per->urlnum = (unsigned int)urlnode->num; /* default headers output stream is stdout */ heads = &per->heads; diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c index a07d4f07b6..130a3933d2 100644 --- a/src/tool_parsecfg.c +++ b/src/tool_parsecfg.c @@ -130,7 +130,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global) DEBUGASSERT(filename); while(!rc && my_get_line(file, &buf, &fileerror)) { - int res; + ParameterError res; bool alloced_param = FALSE; lineno++; line = curlx_dyn_ptr(&buf); @@ -266,7 +266,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global) const char *reason = param2text(res); errorf(operation->global, "%s:%d: '%s' %s", filename, lineno, option, reason); - rc = res; + rc = (int)res; } } diff --git a/src/tool_sleep.c b/src/tool_sleep.c index c24f73729e..31b5f01c92 100644 --- a/src/tool_sleep.c +++ b/src/tool_sleep.c @@ -48,7 +48,7 @@ void tool_go_sleep(long ms) #if defined(MSDOS) delay(ms); #elif defined(_WIN32) - Sleep(ms); + Sleep((DWORD)ms); #elif defined(HAVE_POLL_FINE) (void)poll((void *)0, 0, (int)ms); #else diff --git a/src/tool_writeout.c b/src/tool_writeout.c index b8bb174ec7..ca8424a3c3 100644 --- a/src/tool_writeout.c +++ b/src/tool_writeout.c @@ -443,7 +443,7 @@ static int writeLong(FILE *stream, const struct writeoutvar *wovar, valid = true; break; case VAR_EXITCODE: - longinfo = per_result; + longinfo = (long)per_result; valid = true; break; case VAR_URLNUM: diff --git a/src/tool_writeout_json.c b/src/tool_writeout_json.c index 4ed6b93fb7..1a7c1bc118 100644 --- a/src/tool_writeout_json.c +++ b/src/tool_writeout_json.c @@ -72,7 +72,7 @@ int jsonquoted(const char *in, size_t len, if(*i < 32) result = curlx_dyn_addf(out, "\\u%04x", *i); else { - char o = *i; + char o = (char)*i; if(lowercase && (o >= 'A' && o <= 'Z')) /* do not use tolower() since that's locale specific */ o |= ('a' - 'A');