From a6fb6b70c7d08b9243aecff1fa059758ddf39e52 Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Sat, 20 Feb 2010 11:58:26 +0000
Subject: [PATCH] fix compiler warning

---
 lib/base64.c   | 18 ++++++++++++------
 lib/memdebug.c |  4 ++--
 lib/mprintf.c  |  2 +-
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/lib/base64.c b/lib/base64.c
index 26d89231ec..cb67e5ad72 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 6261749fbf..266480e463 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 3d65e9ff77..f5daa39fc8 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(' ');
-- 
GitLab