diff --git a/lib/escape.c b/lib/escape.c index 3164f908a..e28e02099 100644 --- a/lib/escape.c +++ b/lib/escape.c @@ -35,6 +35,7 @@ /* urldata.h and easyif.h are included for Curl_convert_... prototypes */ #include "urldata.h" #include "easyif.h" +#include "warnless.h" #define _MPRINTF_REPLACE /* use our functions only */ #include @@ -152,7 +153,7 @@ char *curl_easy_unescape(CURL *handle, const char *string, int length, char *ns = malloc(alloc); unsigned char in; int strindex=0; - long hex; + unsigned long hex; #ifndef CURL_DOES_CONVERSIONS /* avoid compiler warnings */ @@ -171,9 +172,9 @@ char *curl_easy_unescape(CURL *handle, const char *string, int length, hexstr[1] = string[2]; hexstr[2] = 0; - hex = strtol(hexstr, &ptr, 16); + hex = strtoul(hexstr, &ptr, 16); - in = (unsigned char)hex; /* this long is never bigger than 255 anyway */ + in = curlx_ultouc(hex); /* this long is never bigger than 255 anyway */ #ifdef CURL_DOES_CONVERSIONS /* escape sequences are always in ASCII so convert them on non-ASCII hosts */ diff --git a/lib/ftp.c b/lib/ftp.c index 87d5cafa3..85419009e 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -91,6 +91,7 @@ #include "url.h" #include "rawstr.h" #include "speedcheck.h" +#include "warnless.h" #define _MPRINTF_REPLACE /* use our functions only */ #include @@ -759,9 +760,9 @@ static CURLcode ftp_state_use_port(struct connectdata *conn, /* parse the port */ if( ip_end != NULL ) { if((port_start = strchr(ip_end, ':')) != NULL) { - port_min = (unsigned short)strtol(port_start+1, NULL, 10); + port_min = curlx_ultous(strtoul(port_start+1, NULL, 10)); if((port_sep = strchr(port_start, '-')) != NULL) { - port_max = (unsigned short)strtol(port_sep + 1, NULL, 10); + port_max = curlx_ultous(strtoul(port_sep + 1, NULL, 10)); } else port_max = port_min; diff --git a/lib/ssh.c b/lib/ssh.c index b6fc76bfc..a45ba3c2a 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -1212,7 +1212,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) /* Now set the new attributes... */ if(curl_strnequal(sshc->quote_item->data, "chgrp", 5)) { - sshc->quote_attrs.gid = strtol(sshc->quote_path1, NULL, 10); + sshc->quote_attrs.gid = strtoul(sshc->quote_path1, NULL, 10); sshc->quote_attrs.flags = LIBSSH2_SFTP_ATTR_UIDGID; if(sshc->quote_attrs.gid == 0 && !ISDIGIT(sshc->quote_path1[0])) { Curl_safefree(sshc->quote_path1); @@ -1226,7 +1226,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) } } else if(curl_strnequal(sshc->quote_item->data, "chmod", 5)) { - sshc->quote_attrs.permissions = strtol(sshc->quote_path1, NULL, 8); + sshc->quote_attrs.permissions = strtoul(sshc->quote_path1, NULL, 8); sshc->quote_attrs.flags = LIBSSH2_SFTP_ATTR_PERMISSIONS; /* permissions are octal */ if(sshc->quote_attrs.permissions == 0 && @@ -1242,7 +1242,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) } } else if(curl_strnequal(sshc->quote_item->data, "chown", 5)) { - sshc->quote_attrs.uid = strtol(sshc->quote_path1, NULL, 10); + sshc->quote_attrs.uid = strtoul(sshc->quote_path1, NULL, 10); sshc->quote_attrs.flags = LIBSSH2_SFTP_ATTR_UIDGID; if(sshc->quote_attrs.uid == 0 && !ISDIGIT(sshc->quote_path1[0])) { Curl_safefree(sshc->quote_path1); diff --git a/lib/url.c b/lib/url.c index c67e8a6a7..887c06a84 100644 --- a/lib/url.c +++ b/lib/url.c @@ -120,6 +120,7 @@ void idn_free (void *ptr); /* prototype from idn-free.h, not provided by #include "easyif.h" #include "speedcheck.h" #include "rawstr.h" +#include "warnless.h" /* And now for the protocols */ #include "ftp.h" @@ -4267,7 +4268,7 @@ static CURLcode parse_remote_port(struct SessionHandle *data, } *portptr = '\0'; /* cut off the name there */ - conn->remote_port = (unsigned short)port; + conn->remote_port = curlx_ultous(port); } } return CURLE_OK;