[dpdk-dev] [PATCH] testpmd: Simplify logic in error branch

Bruce Richardson bruce.richardson at intel.com
Tue Jun 17 20:41:12 CEST 2014


Simplifiy the logic in the error checking branch. Rather than having a
single error branch which checked both RX and TX conditions and made
extensive use of the ? operator, move the error checking explicitly into
the RX and TX individual branches.

The original code caused compilation issues when attempting compilation
with clang on BSD, due to type mismatches. This change fixes the issues
while making the code easier to read and maintain overall.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 app/test-pmd/parameters.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index aa0e2bf..3ff4f81 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -316,14 +316,14 @@ parse_queue_stats_mapping_config(const char *q_arg, int is_rx)
 			return -1;
 		}
 
-		if (is_rx ? (nb_rx_queue_stats_mappings >= MAX_RX_QUEUE_STATS_MAPPINGS) :
-		    (nb_tx_queue_stats_mappings >= MAX_TX_QUEUE_STATS_MAPPINGS)) {
-			printf("exceeded max number of %s queue statistics mappings: %hu\n",
-			       is_rx ? "RX" : "TX",
-			       is_rx ? nb_rx_queue_stats_mappings : nb_tx_queue_stats_mappings);
-			return -1;
-		}
 		if (!is_rx) {
+			if ((nb_tx_queue_stats_mappings >=
+						MAX_TX_QUEUE_STATS_MAPPINGS)) {
+				printf("exceeded max number of TX queue "
+						"statistics mappings: %hu\n",
+						nb_tx_queue_stats_mappings);
+				return -1;
+			}
 			tx_queue_stats_mappings_array[nb_tx_queue_stats_mappings].port_id =
 				(uint8_t)int_fld[FLD_PORT];
 			tx_queue_stats_mappings_array[nb_tx_queue_stats_mappings].queue_id =
@@ -333,6 +333,13 @@ parse_queue_stats_mapping_config(const char *q_arg, int is_rx)
 			++nb_tx_queue_stats_mappings;
 		}
 		else {
+			if ((nb_rx_queue_stats_mappings >=
+						MAX_RX_QUEUE_STATS_MAPPINGS)) {
+				printf("exceeded max number of RX queue "
+						"statistics mappings: %hu\n",
+						nb_rx_queue_stats_mappings);
+				return -1;
+			}
 			rx_queue_stats_mappings_array[nb_rx_queue_stats_mappings].port_id =
 				(uint8_t)int_fld[FLD_PORT];
 			rx_queue_stats_mappings_array[nb_rx_queue_stats_mappings].queue_id =
-- 
1.9.3



More information about the dev mailing list