openwrt-routing/batctl/patches/0002-batctl-suppress-implic...

41 lines
1.8 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From: Philipp Psurek <philipp.psurek@gmail.com>
Date: Tue, 13 Jun 2017 13:08:24 +0200
Subject: batctl: suppress implicit-fallthrough compiler warning
GCC 7.1.0 complains about an intended fallthrough.
“__attribute__ ((fallthrough))” in this part of code would suppress this
warning. Because older GCC compiler dont understand this statement attribute
and because there is already a comment in the source containing
“falls?[ \t-]*thr(ough|u)” we can suppress the warning with the
“-Wimplicit-fallthrough=2” warning option. Unintended fallthroughs without a
comment would trigger this warning again.
To avoid compiler recognition in the Makefile a simply change of the comment
is sufficient to suppress the warning. For some reason only stand alone
comments mentioned in [1] are recognized so the comment has to be split up into
two parts.
[1] https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/Warning-Options.html#index-Wimplicit-fallthrough_003d
Signed-off-by: Philipp Psurek <philipp.psurek@gmail.com>
[sw: Put the second comment part into a new line to avoid clutter]
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Origin: upstream, https://git.open-mesh.org/batctl.git/commit/50ee3c45feeda6d8c04ee127097badf99f78a26e
diff --git a/tp_meter.c b/tp_meter.c
index f95b8391ff3426200697034f1087274ca9e5a9dd..ec0dc4802c638471ff3c38bd344e31c208b634a5 100644
--- a/tp_meter.c
+++ b/tp_meter.c
@@ -498,8 +498,9 @@ int tp_meter(char *mesh_iface, int argc, char **argv)
break;
case BATADV_TP_REASON_CANCEL:
printf("CANCEL received: test aborted\n");
- /* fall through and print the partial result */
+ /* fall through */
case BATADV_TP_REASON_COMPLETE:
+ /* print the partial result */
if (result.test_time > 0) {
throughput = result.total_bytes * 1000;
throughput /= result.test_time;