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