fix compiler warning
authorYang Tse <yangsita@gmail.com>
Sun, 21 Feb 2010 19:59:09 +0000 (19:59 +0000)
committerYang Tse <yangsita@gmail.com>
Sun, 21 Feb 2010 19:59:09 +0000 (19:59 +0000)
ares/ares_data.c
lib/base64.c
lib/memdebug.c

index 16a5cc5..ee76018 100644 (file)
@@ -45,8 +45,18 @@ void ares_free_data(void *dataptr)
   if (!dataptr)
     return;
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(push)
+#  pragma warning(disable:1684)
+   /* 1684: conversion from pointer to same-sized integral type */
+#endif
+
   ptr = (void *)((char *)dataptr - offsetof(struct ares_data, data));
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(pop)
+#endif
+
   if (ptr->mark != ARES_DATATYPE_MARK)
     return;
 
@@ -134,8 +144,18 @@ ares_datatype ares_get_datatype(void * dataptr)
 {
   struct ares_data *ptr;
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(push)
+#  pragma warning(disable:1684)
+   /* 1684: conversion from pointer to same-sized integral type */
+#endif
+
   ptr = (void *)((char *)dataptr - offsetof(struct ares_data, data));
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(pop)
+#endif
+
   if (ptr->mark == ARES_DATATYPE_MARK)
     return ptr->type;
 
index d0f32f8..dea74de 100644 (file)
@@ -54,28 +54,27 @@ static const char table64[]=
 
 static void decodeQuantum(unsigned char *dest, const char *src)
 {
-  size_t x = 0;
-  int i;
-  char *found;
-  union {
-    ssize_t sig;
-     size_t uns;
-  } offset;
-
-  for(i = 0; i < 4; i++) {
-    if((found = strchr(table64, src[i])) != NULL) {
-      offset.sig = found - table64;
-      x = (x << 6) + offset.uns;
+  const char *s, *p;
+  unsigned long i, v, x = 0;
+
+  for(i = 0, s = src; i < 4; i++, s++) {
+    v = 0;
+    p = table64;
+    while(*p && (*p != *s)) {
+      v++;
+      p++;
     }
-    else if(src[i] == '=')
+    if(*p == *s)
+      x = (x << 6) + v;
+    else if(*s == '=')
       x = (x << 6);
   }
 
-  dest[2] = (unsigned char)(x & (size_t)0xFFUL);
+  dest[2] = (unsigned char)(x & 0xFFUL);
   x >>= 8;
-  dest[1] = (unsigned char)(x & (size_t)0xFFUL);
+  dest[1] = (unsigned char)(x & 0xFFUL);
   x >>= 8;
-  dest[0] = (unsigned char)(x & (size_t)0xFFUL);
+  dest[0] = (unsigned char)(x & 0xFFUL);
 }
 
 /*
index 266480e..b259ed3 100644 (file)
@@ -221,9 +221,19 @@ void *curl_dorealloc(void *ptr, size_t wantedsize,
   if(countcheck("realloc", line, source))
     return NULL;
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(push)
+#  pragma warning(disable:1684)
+   /* 1684: conversion from pointer to same-sized integral type */
+#endif
+
   if(ptr)
     mem = (void *)((char *)ptr - offsetof(struct memdebug, mem));
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(pop)
+#endif
+
   mem = (Curl_crealloc)(mem, size);
   if(source)
     curl_memlog("MEM %s:%d realloc(%p, %zu) = %p\n",
@@ -243,8 +253,18 @@ void curl_dofree(void *ptr, int line, const char *source)
 
   assert(ptr != NULL);
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(push)
+#  pragma warning(disable:1684)
+   /* 1684: conversion from pointer to same-sized integral type */
+#endif
+
   mem = (void *)((char *)ptr - offsetof(struct memdebug, mem));
 
+#ifdef __INTEL_COMPILER
+#  pragma warning(pop)
+#endif
+
   /* destroy  */
   memset(mem->mem, 0x13, mem->size);