From 10affed097df354f1b9db8602cd7257f76d10654 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Sun, 21 Feb 2010 19:59:09 +0000 Subject: fix compiler warning --- lib/base64.c | 31 +++++++++++++++---------------- lib/memdebug.c | 20 ++++++++++++++++++++ 2 files changed, 35 insertions(+), 16 deletions(-) (limited to 'lib') diff --git a/lib/base64.c b/lib/base64.c index d0f32f84a..dea74de9e 100644 --- a/lib/base64.c +++ b/lib/base64.c @@ -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); } /* diff --git a/lib/memdebug.c b/lib/memdebug.c index 266480e46..b259ed3e5 100644 --- a/lib/memdebug.c +++ b/lib/memdebug.c @@ -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); -- cgit v1.2.3