When parsing request files check for file type. This fix will remove
dependence on command line parameter for using libjansson

Fixes: 0f42f3d6034c ("examples/fips_validation: share callback with multiple 
keys")
Cc: gmuthukri...@marvell.com
Signed-off-by: Brian Dooley <brian.doo...@intel.com>
---
 examples/fips_validation/fips_validation.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/examples/fips_validation/fips_validation.c 
b/examples/fips_validation/fips_validation.c
index 363e17a6f3..5a2a5f86e6 100644
--- a/examples/fips_validation/fips_validation.c
+++ b/examples/fips_validation/fips_validation.c
@@ -638,10 +638,11 @@ parse_uint8_hex_str(const char *key, char *src, struct 
fips_val *val)
        /*
         * Offset not applicable in case of JSON test vectors.
         */
-       RTE_SET_USED(key);
-#else
-       src += strlen(key);
+       if (info.file_type == FIPS_TYPE_JSON) {
+               RTE_SET_USED(key);
+       } else
 #endif
+               src += strlen(key);
 
        len = strlen(src) / 2;
 
@@ -669,18 +670,16 @@ parse_uint8_hex_str(const char *key, char *src, struct 
fips_val *val)
        return 0;
 }
 
-#ifdef USE_JANSSON
 int
 parser_read_uint32_val(const char *key, char *src, struct fips_val *val)
 {
-       RTE_SET_USED(key);
+#ifdef USE_JANSSON
+       if (info.file_type == FIPS_TYPE_JSON) {
+               RTE_SET_USED(key);
 
-       return parser_read_uint32(&val->len, src);
-}
-#else
-int
-parser_read_uint32_val(const char *key, char *src, struct fips_val *val)
-{
+               return parser_read_uint32(&val->len, src);
+       }
+# endif
        char *data = src + strlen(key);
        size_t data_len = strlen(data);
        int ret;
@@ -701,7 +700,6 @@ parser_read_uint32_val(const char *key, char *src, struct 
fips_val *val)
 
        return ret;
 }
-#endif
 
 int
 parser_read_uint32_bit_val(const char *key, char *src, struct fips_val *val)
-- 
2.25.1

Reply via email to