Refactor fragile msg macro W and W2 to not burry return control flow.

Instead, have them accept and assign a return paramter leaving
the return control flow up to the caller.  Clean up otherwise
misleading returns present even after "NOT REACHED" comments.

Change-Id: I0861921f73ab65d55b95eabd27514f0129152723
Signed-off-by: Jon Loeliger <jdl@netgate.com>
diff --git a/src/examples/sample-plugin/sample/sample_test.c b/src/examples/sample-plugin/sample/sample_test.c
index bf7a059..6dd3a3e 100644
--- a/src/examples/sample-plugin/sample/sample_test.c
+++ b/src/examples/sample-plugin/sample/sample_test.c
@@ -98,6 +98,7 @@
     int enable_disable = 1;
     u32 sw_if_index = ~0;
     vl_api_sample_macswap_enable_disable_t * mp;
+    int ret;
 
     /* Parse args required to build the message */
     while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT) {
@@ -125,7 +126,8 @@
     S(mp);
 
     /* Wait for a reply... */
-    W;
+    W (ret);
+    return ret;
 }
 
 /*