diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ftp.c | 2 | ||||
-rw-r--r-- | lib/mprintf.c | 10 | ||||
-rw-r--r-- | lib/url.c | 18 |
3 files changed, 20 insertions, 10 deletions
@@ -3208,7 +3208,7 @@ static CURLcode ftp_nb_type(struct connectdata *conn, state(conn, newstate); /* keep track of our current transfer type */ - ftpc->transfertype = want; + ftpc->transfertype = (char)want; return CURLE_OK; } diff --git a/lib/mprintf.c b/lib/mprintf.c index 610395318..3224521b0 100644 --- a/lib/mprintf.c +++ b/lib/mprintf.c @@ -694,7 +694,7 @@ static int dprintf_formatf( else prec = -1; - alt = (p->flags & FLAGS_ALT)?TRUE:FALSE; + alt = (char)((p->flags & FLAGS_ALT)?TRUE:FALSE); switch (p->type) { case FORMAT_INT: @@ -734,14 +734,14 @@ static int dprintf_formatf( #ifdef ENABLE_64BIT if(p->flags & FLAGS_LONGLONG) { /* long long */ - is_neg = p->data.lnum < 0; + is_neg = (char)(p->data.lnum < 0); num = is_neg ? (- p->data.lnum) : p->data.lnum; } else #endif { signed_num = (long) num; - is_neg = signed_num < 0; + is_neg = (char)(signed_num < 0); num = is_neg ? (- signed_num) : signed_num; } goto number; @@ -944,9 +944,9 @@ static int dprintf_formatf( *fptr++ = 'l'; if (p->flags & FLAGS_FLOATE) - *fptr++ = p->flags&FLAGS_UPPER ? 'E':'e'; + *fptr++ = (char)((p->flags & FLAGS_UPPER) ? 'E':'e'); else if (p->flags & FLAGS_FLOATG) - *fptr++ = p->flags & FLAGS_UPPER ? 'G' : 'g'; + *fptr++ = (char)((p->flags & FLAGS_UPPER) ? 'G' : 'g'); else *fptr++ = 'f'; @@ -375,19 +375,29 @@ CURLcode Curl_close(struct SessionHandle *data) /* create a connection cache of a private or multi type */ struct conncache *Curl_mk_connc(int type, - int amount) /* set -1 to use default */ + long amount) /* set -1 to use default */ { /* It is subject for debate how many default connections to have for a multi connection cache... */ - int default_amount = amount == -1? - ((type == CONNCACHE_PRIVATE)?5:10):amount; + struct conncache *c; + long default_amount; + + if (type == CONNCACHE_PRIVATE) { + default_amount = (amount < 0) ? 5 : amount; + } + else { + default_amount = (amount < 0) ? 10 : amount; + } c= calloc(sizeof(struct conncache), 1); if(!c) return NULL; - c->connects = calloc(sizeof(struct connectdata *), default_amount); + if ((size_t)(default_amount) > ((size_t)-1) / sizeof(struct connectdata *)) + default_amount = ((size_t)-1) / sizeof(struct connectdata *); + + c->connects = calloc(sizeof(struct connectdata *), (size_t)default_amount); if(!c->connects) { free(c); return NULL; |