From bb53175526fd8270276f4901f2edcc4995cfbbb4 Mon Sep 17 00:00:00 2001 From: Jeff Lenk Date: Fri, 29 Nov 2013 22:16:49 -0600 Subject: [PATCH] FS-6010 --resolve --- libs/apr/atomic/win32/apr_atomic.c | 18 ++++++++++++++++++ libs/esl/src/esl_event.c | 2 +- libs/ilbc/src/iLBC_decode.c | 2 ++ libs/libsndfile/src/float_cast.h | 2 ++ libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c | 2 ++ libs/sofia-sip/libsofia-sip-ua/su/strtoull.c | 7 ++++++- libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c | 2 ++ libs/spandsp/src/msvc/config.h | 2 ++ libs/spandsp/src/spandsp/fast_convert.h | 4 ++++ src/switch_time.c | 2 +- 10 files changed, 40 insertions(+), 3 deletions(-) diff --git a/libs/apr/atomic/win32/apr_atomic.c b/libs/apr/atomic/win32/apr_atomic.c index 9393fcb008..18a7bcd0ba 100644 --- a/libs/apr/atomic/win32/apr_atomic.c +++ b/libs/apr/atomic/win32/apr_atomic.c @@ -27,6 +27,7 @@ APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p) * Remapping function pointer type to accept apr_uint32_t's type-safely * as the arguments for as our apr_atomic_foo32 Functions */ +#if (_MSC_VER < 1800) typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_fn) (apr_uint32_t volatile *); typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_val_fn) @@ -38,11 +39,14 @@ typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_val_val_fn) typedef WINBASEAPI void * (WINAPI * apr_atomic_win32_ptr_ptr_ptr_fn) (volatile void **, void *, const void *); +#endif APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val) { #if (defined(_M_IA64) || defined(_M_AMD64)) return InterlockedExchangeAdd(mem, val); +#elif (_MSC_VER >= 1800) + return InterlockedExchangeAdd(mem, val); #else return ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, val); #endif @@ -55,6 +59,8 @@ APR_DECLARE(void) apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val) { #if (defined(_M_IA64) || defined(_M_AMD64)) InterlockedExchangeAdd(mem, -val); +#elif (_MSC_VER >= 1800) + InterlockedExchangeAdd(mem, -val); #else ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, -val); #endif @@ -65,6 +71,8 @@ APR_DECLARE(apr_uint32_t) apr_atomic_inc32(volatile apr_uint32_t *mem) /* we return old value, win32 returns new value :( */ #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedIncrement(mem) - 1; +#elif (_MSC_VER >= 1800) + return InterlockedIncrement(mem) - 1; #else return ((apr_atomic_win32_ptr_fn)InterlockedIncrement)(mem) - 1; #endif @@ -74,6 +82,8 @@ APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem) { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedDecrement(mem); +#elif (_MSC_VER >= 1800) + return InterlockedDecrement(mem); #else return ((apr_atomic_win32_ptr_fn)InterlockedDecrement)(mem); #endif @@ -83,6 +93,8 @@ APR_DECLARE(void) apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val) { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) InterlockedExchange(mem, val); +#elif (_MSC_VER >= 1800) + InterlockedExchange(mem, val); #else ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val); #endif @@ -98,6 +110,8 @@ APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint3 { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedCompareExchange(mem, with, cmp); +#elif (_MSC_VER >= 1800) + return InterlockedCompareExchange(mem, with, cmp); #else return ((apr_atomic_win32_ptr_val_val_fn)InterlockedCompareExchange)(mem, with, cmp); #endif @@ -107,6 +121,8 @@ APR_DECLARE(void *) apr_atomic_casptr(volatile void **mem, void *with, const voi { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedCompareExchangePointer(mem, with, cmp); +#elif (_MSC_VER >= 1800) + return InterlockedCompareExchangePointer(mem, with, cmp); #else /* Too many VC6 users have stale win32 API files, stub this */ return ((apr_atomic_win32_ptr_ptr_ptr_fn)InterlockedCompareExchange)(mem, with, cmp); @@ -117,6 +133,8 @@ APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedExchange(mem, val); +#elif (_MSC_VER >= 1800) + return InterlockedExchange(mem, val); #else return ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val); #endif diff --git a/libs/esl/src/esl_event.c b/libs/esl/src/esl_event.c index b5a6be4d58..41f4f9f0ac 100644 --- a/libs/esl/src/esl_event.c +++ b/libs/esl/src/esl_event.c @@ -308,7 +308,7 @@ ESL_DECLARE(esl_status_t) esl_event_del_header_val(esl_event_t *event, const cha esl_assert(x < 1000000); hash = esl_ci_hashfunc_default(header_name, &hlen); - if ((!hp->hash || hash == hp->hash) && (hp->name && !strcasecmp(header_name, hp->name)) && (esl_strlen_zero(val) || !strcmp(hp->value, val))) { + if ((!hp->hash || hash == hp->hash) && (hp->name && !strcasecmp(header_name, hp->name)) && (esl_strlen_zero(val) || (hp->value && !strcmp(hp->value, val)))) { if (lp) { lp->next = hp->next; } else { diff --git a/libs/ilbc/src/iLBC_decode.c b/libs/ilbc/src/iLBC_decode.c index 9fc7a24bb4..ddc164bed8 100644 --- a/libs/ilbc/src/iLBC_decode.c +++ b/libs/ilbc/src/iLBC_decode.c @@ -40,6 +40,7 @@ #include "hpOutput.h" #include "syntFilter.h" +#if (defined(WIN32) || defined(_WIN32)) && (_MSC_VER < 1800) #if (defined(WIN32) || defined(_WIN32)) && !defined(_WIN64) __inline long int rint(double dbl) { @@ -63,6 +64,7 @@ #endif } #endif +#endif /*----------------------------------------------------------------* * Initiation of decoder instance. diff --git a/libs/libsndfile/src/float_cast.h b/libs/libsndfile/src/float_cast.h index 2c06aaf233..98c7de74b1 100644 --- a/libs/libsndfile/src/float_cast.h +++ b/libs/libsndfile/src/float_cast.h @@ -158,6 +158,7 @@ } #elif defined(_WIN64) +#if (_MSC_VER < 1800) __inline long int lrint(double x) { return (long int) (x); @@ -166,6 +167,7 @@ { return (long int) (x); } +#endif #elif (defined (__MWERKS__) && defined (macintosh)) /* This MacOS 9 solution was provided by Stephane Letz */ diff --git a/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c b/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c index 7877100978..f29d7139bb 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c +++ b/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c @@ -1808,8 +1808,10 @@ static int parse_ul(sdp_parser_t *p, char **r, } #if !HAVE_STRTOULL +#if !((defined(WIN32) || defined(_WIN32)) && (_MSC_VER >= 1800)) unsigned long long strtoull(char const *string, char **return_end, int base); #endif +#endif /* * parse_ull: parse an unsigned long long diff --git a/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c b/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c index c4854aaeac..824a39df43 100644 --- a/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c +++ b/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c @@ -73,7 +73,10 @@ static char cvtIn[] = { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35}; - + + +#if !((defined(WIN32) || defined(_WIN32)) && (_MSC_VER >= 1800)) + /**Convert an ASCII string into an unsigned long long integer. * * @param[in] string String of ASCII digits, possibly preceded by white @@ -284,3 +287,5 @@ strtoull(const char *string, char **endPtr, int base) return (unsigned longlong)-1; } + +#endif diff --git a/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c b/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c index 65037c2d18..431a2dcb56 100644 --- a/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c +++ b/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c @@ -60,8 +60,10 @@ #include #ifndef HAVE_STRTOULL +#if !((defined(WIN32) || defined(_WIN32)) && (_MSC_VER >= 1800)) unsigned longlong strtoull(const char *, char **, int); #endif +#endif /**@defgroup su_tag Tag Item Lists * diff --git a/libs/spandsp/src/msvc/config.h b/libs/spandsp/src/msvc/config.h index 876f66f56a..c974d7c7c4 100644 --- a/libs/spandsp/src/msvc/config.h +++ b/libs/spandsp/src/msvc/config.h @@ -74,7 +74,9 @@ #define _MMX_H_ + #if !((defined(WIN32) || defined(_WIN32)) && (_MSC_VER >= 1800)) #define cbrtf(value) pow((float)value, (float).333) + #endif #include // To get alloca diff --git a/libs/spandsp/src/spandsp/fast_convert.h b/libs/spandsp/src/spandsp/fast_convert.h index e6da451f9c..120050646f 100644 --- a/libs/spandsp/src/spandsp/fast_convert.h +++ b/libs/spandsp/src/spandsp/fast_convert.h @@ -247,6 +247,7 @@ extern "C" * Therefore implement inline versions of these functions here. */ +#if (_MSC_VER < 1800) __inline long int lrint(double x) { long int i; @@ -288,6 +289,7 @@ extern "C" frndint } } +#endif __inline long int lfastrint(double x) { @@ -317,6 +319,7 @@ extern "C" /* x86_64 machines will do best with a simple assignment. */ #include +#if (_MSC_VER < 1800) __inline long int lrint(double x) { return (long int)_mm_cvtsd_si64x( _mm_loadu_pd ((const double*)&x) ); @@ -326,6 +329,7 @@ extern "C" { return _mm_cvt_ss2si( _mm_load_ss((const float*)&x) ); } +#endif __inline long int lfastrint(double x) { diff --git a/src/switch_time.c b/src/switch_time.c index c4b6b8b445..63152aac31 100644 --- a/src/switch_time.c +++ b/src/switch_time.c @@ -756,7 +756,7 @@ static switch_status_t timer_step(switch_timer_t *timer) } check_roll(); - samples = timer->samples * (private_info->reference - private_info->start); + samples = (uint64_t)timer->samples * (private_info->reference - private_info->start); if (samples > UINT32_MAX) { private_info->start = private_info->reference - 1; /* Must have a diff */