From 605a58f3ba2e71eaa6bab1e67c5f4e8e421ec4df Mon Sep 17 00:00:00 2001 From: Maciej Gajdzica Date: Tue, 21 Jul 2015 16:39:00 +0200 Subject: [PATCH] examples/ip_pipeline: fix cpu cores parsing This patch fixes parsing value of core variable in pipeline config. Before not every combination of cores (c), sockets (s) and hyperthreading (h) was parsed correctly. Signed-off-by: Maciej Gajdzica Acked-by: Cristian Dumitrescu --- examples/ip_pipeline/config_parse.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/ip_pipeline/config_parse.c b/examples/ip_pipeline/config_parse.c index 361bf8a3e7..c9b78f9eb5 100644 --- a/examples/ip_pipeline/config_parse.c +++ b/examples/ip_pipeline/config_parse.c @@ -386,14 +386,14 @@ parse_pipeline_core(uint32_t *socket, switch (type) { case 's': case 'S': - if (s_parsed) + if (s_parsed || c_parsed || h_parsed) return -EINVAL; s_parsed = 1; next++; break; case 'c': case 'C': - if (c_parsed) + if (c_parsed || h_parsed) return -EINVAL; c_parsed = 1; next++; @@ -423,7 +423,10 @@ parse_pipeline_core(uint32_t *socket, num[num_len] = *next; } - if (num_len == 0 && type != 'h') + if (num_len == 0 && type != 'h' && type != 'H') + return -EINVAL; + + if (num_len != 0 && (type == 'h' || type == 'H')) return -EINVAL; num[num_len] = '\0'; @@ -438,9 +441,6 @@ parse_pipeline_core(uint32_t *socket, case 'c': case 'C': c = val; - if (type == 'C' && *next != '\0') - return -EINVAL; - break; case 'h': case 'H': -- 2.20.1