rework LISTNODE2STRUCT macro, squelch inline limit compiler warnings
authorHannes Gredler <hannes@gredler.at>
Sat, 8 Mar 2008 09:04:59 +0000 (10:04 +0100)
committerHannes Gredler <hannes@gredler.at>
Sat, 8 Mar 2008 09:04:59 +0000 (10:04 +0100)
Makefile.inc
src/lq_list.h

index 4147022..5db06bd 100644 (file)
@@ -97,7 +97,7 @@ ifeq ($(DEBUG),0)
 WARNINGS +=    -fomit-frame-pointer
 endif
 # we have small inline functions in src/lq_route.h which should always be inlined
-WARNINGS +=    -finline-limit=50
+WARNINGS +=    -finline-limit=100
 # These tell gcc to put each function and global variable in a separate section.
 # The linker can than remove all unreferenced section. But in the olsrd binary
 # unused doesn't imply unused at all since the function may be used by plugins,
index fbcb129..d048eb5 100644 (file)
@@ -68,10 +68,10 @@ void list_remove(struct list_node *);
 #define LISTNODE2STRUCT(funcname, structname, listnodename) \
 static inline structname * funcname (struct list_node *ptr)\
 {\
-  if (ptr) {\
-    return((structname *) (((olsr_u8_t *) ptr) - offsetof(structname, listnodename))); \
-  } \
-  return(NULL); \
+  return( \
+    ptr ? \
+      (structname *) (((olsr_u8_t *) ptr) - offsetof(structname, listnodename)) : \
+      NULL); \
 }
 
 #endif