[git commit master 1/1] tc: less ugly check for bad sizeof(G)

Denys Vlasenko vda.linux at googlemail.com
Thu Feb 10 05:28:09 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=77350aa93392d36dc419d3e11bda6bf9bed993ff
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/tc.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/networking/tc.c b/networking/tc.c
index 2e2473a..9b32455 100644
--- a/networking/tc.c
+++ b/networking/tc.c
@@ -43,17 +43,15 @@ struct globals {
 	__u32 filter_proto;
 } FIX_ALIASING;
 #define G (*(struct globals*)&bb_common_bufsiz1)
+struct BUG_G_too_big {
+        char BUG_G_too_big[sizeof(G) <= COMMON_BUFSIZE ? 1 : -1];
+};
 #define filter_ifindex (G.filter_ifindex)
 #define filter_qdisc (G.filter_qdisc)
 #define filter_parent (G.filter_parent)
 #define filter_prio (G.filter_prio)
 #define filter_proto (G.filter_proto)
-
-void BUG_tc_globals_too_big(void);
-#define INIT_G() do { \
-	if (sizeof(G) > COMMON_BUFSIZE) \
-		BUG_tc_globals_too_big(); \
-} while (0)
+#define INIT_G() do { } while (0)
 
 /* Allocates a buffer containing the name of a class id.
  * The caller must free the returned memory.  */
-- 
1.7.3.4



More information about the busybox-cvs mailing list