aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/base64.c18
-rw-r--r--lib/memdebug.c4
-rw-r--r--lib/mprintf.c2
3 files changed, 15 insertions, 9 deletions
diff --git a/lib/base64.c b/lib/base64.c
index 26d89231e..cb67e5ad7 100644
--- a/lib/base64.c
+++ b/lib/base64.c
@@ -54,22 +54,28 @@ static const char table64[]=
static void decodeQuantum(unsigned char *dest, const char *src)
{
- unsigned int x = 0;
+ unsigned long x = 0;
int i;
char *found;
+ union {
+ unsigned long uns;
+ long sig;
+ } offset;
for(i = 0; i < 4; i++) {
- if((found = strchr(table64, src[i])) != NULL)
- x = (x << 6) + (unsigned int)(found - table64);
+ if((found = strchr(table64, src[i])) != NULL) {
+ offset.sig = found - table64;
+ x = (x << 6) + offset.uns;
+ }
else if(src[i] == '=')
x = (x << 6);
}
- dest[2] = (unsigned char)(x & 255);
+ dest[2] = (unsigned char)(x & 0xFFUL);
x >>= 8;
- dest[1] = (unsigned char)(x & 255);
+ dest[1] = (unsigned char)(x & 0xFFUL);
x >>= 8;
- dest[0] = (unsigned char)(x & 255);
+ dest[0] = (unsigned char)(x & 0xFFUL);
}
/*
diff --git a/lib/memdebug.c b/lib/memdebug.c
index 6261749fb..266480e46 100644
--- a/lib/memdebug.c
+++ b/lib/memdebug.c
@@ -222,7 +222,7 @@ void *curl_dorealloc(void *ptr, size_t wantedsize,
return NULL;
if(ptr)
- mem = (struct memdebug *)((char *)ptr - offsetof(struct memdebug, mem));
+ mem = (void *)((char *)ptr - offsetof(struct memdebug, mem));
mem = (Curl_crealloc)(mem, size);
if(source)
@@ -243,7 +243,7 @@ void curl_dofree(void *ptr, int line, const char *source)
assert(ptr != NULL);
- mem = (struct memdebug *)((char *)ptr - offsetof(struct memdebug, mem));
+ mem = (void *)((char *)ptr - offsetof(struct memdebug, mem));
/* destroy */
memset(mem->mem, 0x13, mem->size);
diff --git a/lib/mprintf.c b/lib/mprintf.c
index 3d65e9ff7..f5daa39fc 100644
--- a/lib/mprintf.c
+++ b/lib/mprintf.c
@@ -911,7 +911,7 @@ static int dprintf_formatf(
static const char strnil[] = "(nil)";
const char *point;
- width -= sizeof(strnil) - 1;
+ width -= (long)(sizeof(strnil) - 1);
if(p->flags & FLAGS_LEFT)
while(width-- > 0)
OUTCHAR(' ');