Commit b6b0c908bd088a66cd6efc300e036be01e65cbef

Sylvain 2021-03-08T13:56:26

Dynapi: fix 'gendynapi.pl' script for array parameters

diff --git a/src/dynapi/gendynapi.pl b/src/dynapi/gendynapi.pl
index beb4a35..dc1d22c 100755
--- a/src/dynapi/gendynapi.pl
+++ b/src/dynapi/gendynapi.pl
@@ -107,13 +107,19 @@ while (my $d = readdir(HEADERS)) {
                     $type =~ s/\s*\*\Z/*/g;
                     $type =~ s/\s*(\*+)\Z/ $1/;
                     #print("SPLIT: ($type, $var)\n");
+                    my $var_array_suffix = "";
+                    # parse array suffix
+                    if ($var =~ /\A.*(\[.*\])\Z/) {
+                        #print("PARSED ARRAY SUFFIX: [$1] of '$var'\n");
+                        $var_array_suffix = $1;
+                    }
                     my $name = chr(ord('a') + $i);
                     if ($i > 0) {
                         $paramstr .= ', ';
                         $argstr .= ',';
                     }
                     my $spc = ($type =~ /\*\Z/) ? '' : ' ';
-                    $paramstr .= "$type$spc$name";
+                    $paramstr .= "$type$spc$name$var_array_suffix";
                     $argstr .= "$name";
                 }
                 $i++;