From: Bernhard Rosenkränzer Subject: [PATCH] Fix compiler warnings with gcc 4.9 and clang 3.4 Current compilers (gcc 4.9 and clang 3.4) issue warnings when doing an incomplete struct initialization (e.g. "struct tc_sizespec s = {0};"). Initialize the structs completely so we can build with -Werror. Signed-off-by: Bernhard Rosenkränzer --- diff --git a/tc/tc_stab.c b/tc/tc_stab.c index 47b4e5e..7407ce5 100644 --- a/tc/tc_stab.c +++ b/tc/tc_stab.c @@ -124,7 +124,7 @@ parse_rtattr_nested(tb, TCA_STAB_MAX, rta); if (tb[TCA_STAB_BASE]) { - struct tc_sizespec s = {0}; + struct tc_sizespec s = {0, 0, 0, 0, 0, 0, 0, 0}; memcpy(&s, RTA_DATA(tb[TCA_STAB_BASE]), MIN(RTA_PAYLOAD(tb[TCA_STAB_BASE]), sizeof(s))); diff --git a/tc/tc_util.c b/tc/tc_util.c index 926ed08..548b728 100644 --- a/tc/tc_util.c +++ b/tc/tc_util.c @@ -139,7 +139,7 @@ { "GBps", 8000000000. }, { "TiBps", 8.*1024.*1024.*1024.*1024. }, { "TBps", 8000000000000. }, - { NULL } + { NULL, .0 } }; @@ -472,28 +472,28 @@ parse_rtattr_nested(tbs, TCA_STATS_MAX, rta); if (tbs[TCA_STATS_BASIC]) { - struct gnet_stats_basic bs = {0}; + struct gnet_stats_basic bs = {0, 0}; memcpy(&bs, RTA_DATA(tbs[TCA_STATS_BASIC]), MIN(RTA_PAYLOAD(tbs[TCA_STATS_BASIC]), sizeof(bs))); fprintf(fp, "%sSent %llu bytes %u pkt", prefix, (unsigned long long) bs.bytes, bs.packets); } if (tbs[TCA_STATS_QUEUE]) { - struct gnet_stats_queue q = {0}; + struct gnet_stats_queue q = {0, 0, 0, 0, 0}; memcpy(&q, RTA_DATA(tbs[TCA_STATS_QUEUE]), MIN(RTA_PAYLOAD(tbs[TCA_STATS_QUEUE]), sizeof(q))); fprintf(fp, " (dropped %u, overlimits %u requeues %u) ", q.drops, q.overlimits, q.requeues); } if (tbs[TCA_STATS_RATE_EST]) { - struct gnet_stats_rate_est re = {0}; + struct gnet_stats_rate_est re = {0, 0}; memcpy(&re, RTA_DATA(tbs[TCA_STATS_RATE_EST]), MIN(RTA_PAYLOAD(tbs[TCA_STATS_RATE_EST]), sizeof(re))); fprintf(fp, "\n%srate %s %upps ", prefix, sprint_rate(re.bps, b1), re.pps); } if (tbs[TCA_STATS_QUEUE]) { - struct gnet_stats_queue q = {0}; + struct gnet_stats_queue q = {0, 0, 0, 0, 0}; memcpy(&q, RTA_DATA(tbs[TCA_STATS_QUEUE]), MIN(RTA_PAYLOAD(tbs[TCA_STATS_QUEUE]), sizeof(q))); if (!tbs[TCA_STATS_RATE_EST]) fprintf(fp, "\n%s", prefix);