MSVC does not support VLAs, replace VLAs with standard C arrays.

Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com>
---
 lib/hash/rte_thash_gf2_poly_math.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/hash/rte_thash_gf2_poly_math.c 
b/lib/hash/rte_thash_gf2_poly_math.c
index 1c62974e71..825da4382f 100644
--- a/lib/hash/rte_thash_gf2_poly_math.c
+++ b/lib/hash/rte_thash_gf2_poly_math.c
@@ -8,6 +8,7 @@
 #include <rte_thash.h>
 #include <rte_log.h>
 
+#define MAX_POLY_DEGREE 32
 #define MAX_TOEPLITZ_KEY_LENGTH 64
 RTE_LOG_REGISTER_SUFFIX(thash_poly_logtype, thash_poly, INFO);
 #define RTE_LOGTYPE_HASH thash_poly_logtype
@@ -149,7 +150,7 @@ gf2_pow(uint32_t a, uint32_t pow, uint32_t r, int degree)
 static uint32_t
 __thash_get_rand_poly(int poly_degree)
 {
-       uint32_t roots[poly_degree];
+       uint32_t roots[MAX_POLY_DEGREE];
        uint32_t rnd;
        uint32_t ret_poly = 0;
        int i, j;
@@ -194,9 +195,7 @@ __thash_get_rand_poly(int poly_degree)
         * Get coefficients of the polynomial for
         * (x - roots[0])(x - roots[1])...(x - roots[n])
         */
-       uint32_t poly_coefficients[poly_degree + 1];
-       for (i = 0; i <= poly_degree; i++)
-               poly_coefficients[i] = 0;
+       uint32_t poly_coefficients[MAX_POLY_DEGREE + 1] = {0};
 
        poly_coefficients[0] = 1; /* highest degree term coefficient in the end 
*/
        for (i = 0; i < (int)poly_degree; i++) {
@@ -247,7 +246,7 @@ thash_get_rand_poly(uint32_t poly_degree)
 {
        uint32_t ret_poly;
 
-       if (poly_degree > 32) {
+       if (poly_degree > MAX_POLY_DEGREE) {
                HASH_LOG(ERR, "Wrong polynomial degree %d, must be in range [1, 
32]", poly_degree);
                return 0;
        }
-- 
2.47.2.vfs.0.1

Reply via email to