socket: SOCK_DEBUG type checking
authorStephen Hemminger <shemminger@vyatta.com>
Fri, 21 Mar 2008 22:54:53 +0000 (15:54 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 21 Mar 2008 22:54:53 +0000 (15:54 -0700)
Use the inline trick (same as pr_debug) to get checking of debug
statements even if no code is generated.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h

index 8358fff..b89680d 100644 (file)
 #define SOCK_DEBUG(sk, msg...) do { if ((sk) && sock_flag((sk), SOCK_DBG)) \
                                        printk(KERN_DEBUG msg); } while (0)
 #else
-#define SOCK_DEBUG(sk, msg...) do { } while (0)
+/* Validate arguments and do nothing */
+static void inline int __attribute__ ((format (printf, 2, 3)))
+SOCK_DEBUG(struct sock *sk, const char *msg, ...)
+{
+}
 #endif
 
 /* This is the per-socket lock.  The spinlock provides a synchronization