aboutsummaryrefslogtreecommitdiff
path: root/networking/tc.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-02-10 06:28:09 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2011-02-10 06:28:09 +0100
commit77350aa93392d36dc419d3e11bda6bf9bed993ff (patch)
tree0f0a268b7ce9c520381b7cb2c4608f44452568ba /networking/tc.c
parentf13347130245f9fb86ecb3b9c217d3c558a717a9 (diff)
downloadbusybox-w32-77350aa93392d36dc419d3e11bda6bf9bed993ff.tar.gz
busybox-w32-77350aa93392d36dc419d3e11bda6bf9bed993ff.tar.bz2
busybox-w32-77350aa93392d36dc419d3e11bda6bf9bed993ff.zip
tc: less ugly check for bad sizeof(G)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/tc.c')
-rw-r--r--networking/tc.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/networking/tc.c b/networking/tc.c
index 2e2473a70..9b3245546 100644
--- a/networking/tc.c
+++ b/networking/tc.c
@@ -43,17 +43,15 @@ struct globals {
43 __u32 filter_proto; 43 __u32 filter_proto;
44} FIX_ALIASING; 44} FIX_ALIASING;
45#define G (*(struct globals*)&bb_common_bufsiz1) 45#define G (*(struct globals*)&bb_common_bufsiz1)
46struct BUG_G_too_big {
47 char BUG_G_too_big[sizeof(G) <= COMMON_BUFSIZE ? 1 : -1];
48};
46#define filter_ifindex (G.filter_ifindex) 49#define filter_ifindex (G.filter_ifindex)
47#define filter_qdisc (G.filter_qdisc) 50#define filter_qdisc (G.filter_qdisc)
48#define filter_parent (G.filter_parent) 51#define filter_parent (G.filter_parent)
49#define filter_prio (G.filter_prio) 52#define filter_prio (G.filter_prio)
50#define filter_proto (G.filter_proto) 53#define filter_proto (G.filter_proto)
51 54#define INIT_G() do { } while (0)
52void BUG_tc_globals_too_big(void);
53#define INIT_G() do { \
54 if (sizeof(G) > COMMON_BUFSIZE) \
55 BUG_tc_globals_too_big(); \
56} while (0)
57 55
58/* Allocates a buffer containing the name of a class id. 56/* Allocates a buffer containing the name of a class id.
59 * The caller must free the returned memory. */ 57 * The caller must free the returned memory. */