[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