diff options
author | Yang Tse <yangsita@gmail.com> | 2010-12-16 17:18:57 +0100 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2010-12-16 17:18:57 +0100 |
commit | f5e0858d2f5eb9a59b3b4b76bc1b11dfb1cea107 (patch) | |
tree | 7b6875b56968f9325cb0a29795e50147f16c2ba9 /ares_nowarn.c | |
parent | e03a65c3d9b2eb47f6ce6234823913638cb6c816 (diff) | |
download | c-ares-f5e0858d2f5eb9a59b3b4b76bc1b11dfb1cea107.tar.gz c-ares-f5e0858d2f5eb9a59b3b4b76bc1b11dfb1cea107.tar.bz2 c-ares-f5e0858d2f5eb9a59b3b4b76bc1b11dfb1cea107.zip |
fix compiler warning: conversion may lose significant bits
Diffstat (limited to 'ares_nowarn.c')
-rw-r--r-- | ares_nowarn.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/ares_nowarn.c b/ares_nowarn.c index ed84ade..5166222 100644 --- a/ares_nowarn.c +++ b/ares_nowarn.c @@ -34,7 +34,7 @@ #endif /* -** size_t to signed int +** unsigned size_t to signed int */ int aresx_uztosi(size_t uznum) @@ -62,9 +62,48 @@ int aresx_sltosi(long slnum) # pragma warning(disable:810) /* conversion may lose significant bits */ #endif + DEBUGASSERT(slnum >= 0); return (int)(slnum & (long) CARES_MASK_SINT); #ifdef __INTEL_COMPILER # pragma warning(pop) #endif } + +/* +** signed ssize_t to signed int +*/ + +int aresx_sztosi(ssize_t sznum) +{ +#ifdef __INTEL_COMPILER +# pragma warning(push) +# pragma warning(disable:810) /* conversion may lose significant bits */ +#endif + + DEBUGASSERT(sznum >= 0); + return (int)(sznum & (ssize_t) CARES_MASK_SINT); + +#ifdef __INTEL_COMPILER +# pragma warning(pop) +#endif +} + +/* +** signed ssize_t to unsigned int +*/ + +unsigned int aresx_sztoui(ssize_t sznum) +{ +#ifdef __INTEL_COMPILER +# pragma warning(push) +# pragma warning(disable:810) /* conversion may lose significant bits */ +#endif + + DEBUGASSERT(sznum >= 0); + return (unsigned int)(sznum & (ssize_t) CARES_MASK_UINT); + +#ifdef __INTEL_COMPILER +# pragma warning(pop) +#endif +} |