[v1, 03/10] examples/fips_validation: fix integer parse in test case
Dooley, Brian
brian.dooley at intel.com
Mon Feb 27 10:30:30 CET 2023
> -----Original Message-----
> From: Gowrishankar Muthukrishnan <gmuthukrishn at marvell.com>
> Sent: Monday 6 February 2023 14:46
> To: dev at dpdk.org
> Cc: Anoob Joseph <anoobj at marvell.com>; jerinj at marvell.com; Akhil Goyal
> <gakhil at marvell.com>; Dooley, Brian <brian.dooley at intel.com>;
> Gowrishankar Muthukrishnan <gmuthukrishn at marvell.com>
> Subject: [v1, 03/10] examples/fips_validation: fix integer parse in test case
>
> Parsing integer value in test case vector does not store it because only string
> was expected. This patch adds handling for integer value as well.
>
> Fixes: 58cc98801eb ("examples/fips_validation: add JSON parsing")
>
> Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn at marvell.com>
> ---
> examples/fips_validation/fips_validation.c | 29 ++++++++++++++++------
> 1 file changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/examples/fips_validation/fips_validation.c
> b/examples/fips_validation/fips_validation.c
> index f7a6d821ea..d3b6099d73 100644
> --- a/examples/fips_validation/fips_validation.c
> +++ b/examples/fips_validation/fips_validation.c
> @@ -543,15 +543,28 @@ fips_test_parse_one_json_case(void)
>
> for (i = 0; info.callbacks[i].key != NULL; i++) {
> param = json_object_get(json_info.json_test_case,
> info.callbacks[i].key);
> - if (param) {
> - strcpy(info.one_line_text,
> json_string_value(param));
> - ret = info.callbacks[i].cb(
> - info.callbacks[i].key, info.one_line_text,
> - info.callbacks[i].val
> - );
> - if (ret < 0)
> - return ret;
> + if (!param)
> + continue;
> +
> + switch (json_typeof(param)) {
> + case JSON_STRING:
> + snprintf(info.one_line_text, MAX_LINE_CHAR, "%s",
> + json_string_value(param));
> + break;
> +
> + case JSON_INTEGER:
> + snprintf(info.one_line_text, MAX_LINE_CHAR,
> "%"JSON_INTEGER_FORMAT,
> + json_integer_value(param));
> + break;
> +
> + default:
> + return -EINVAL;
> }
> +
> + ret = info.callbacks[i].cb(info.callbacks[i].key,
> info.one_line_text,
> + info.callbacks[i].val);
> + if (ret < 0)
> + return ret;
> }
>
> return 0;
> --
> 2.25.1
Acked-by: Brian Dooley <brian.dooley at intel.com>
More information about the dev
mailing list