]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Implement MEMLOCK and UNLOCK as functions
authorTravis Cross <tc@traviscross.com>
Mon, 25 Jun 2012 05:33:24 +0000 (05:33 +0000)
committerTravis Cross <tc@traviscross.com>
Mon, 25 Jun 2012 06:38:29 +0000 (06:38 +0000)
Converting these macros to functions declared static inline allow the
C type-checker to work and avoid warnings about unused expression
values.  These warnings break the build with clang.

libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c

index cc0b9603f5fcceefe6ffcddec3dfcecc8fad912e..0369e08b5ca929643efc54b57bae97f6225cfd74 100644 (file)
@@ -209,9 +209,14 @@ void (*_su_home_destroy_mutexes)(void *mutex);
 su_inline void safefree(void *b) { b ? free(b) : (void)0; }
 #endif
 
-#define MEMLOCK(h)   \
-  ((void)((h) && (h)->suh_lock ? _su_home_locker((h)->suh_lock) : 0), (h)->suh_blocks)
-#define UNLOCK(h) ((void)((h) && (h)->suh_lock ? _su_home_unlocker((h)->suh_lock) : 0), NULL)
+static inline su_block_t* MEMLOCK(const su_home_t *h) {
+  if (h && h->suh_lock) _su_home_locker(h->suh_lock);
+  return h->suh_blocks;
+}
+static inline void* UNLOCK(const su_home_t *h) {
+  if (h && h->suh_lock) _su_home_unlocker(h->suh_lock);
+  return NULL;
+}
 
 #ifdef NDEBUG
 #define MEMCHECK 0