diff --git a/sourcepawn/compiler/sc1.cpp b/sourcepawn/compiler/sc1.cpp index 4baca471..80fdad7b 100644 --- a/sourcepawn/compiler/sc1.cpp +++ b/sourcepawn/compiler/sc1.cpp @@ -2720,8 +2720,11 @@ static cell initvector(int ident,int tag,cell size,int fillzero, } while (matchtoken(',')); /* do */ needtoken('}'); } else { - init(ident,&ctag,errorfound); - matchtag(tag,ctag,TRUE); + if (!lexpeek('}')) + { + init(ident,&ctag,errorfound); + matchtag(tag,ctag,TRUE); + } } /* if */ /* fill up the literal queue with a series */ if (ellips) { diff --git a/sourcepawn/compiler/tests/ok-trailing-comma-in-literal.sp b/sourcepawn/compiler/tests/ok-trailing-comma-in-literal.sp new file mode 100644 index 00000000..e1876f6d --- /dev/null +++ b/sourcepawn/compiler/tests/ok-trailing-comma-in-literal.sp @@ -0,0 +1,20 @@ + +new String:oldArray[][] = +{ + "string", + "string2", +}; + +char newArray[][] = +{ + "another string", + "more strings", +}; + +native Print( const String:string[] ); + +public OnPluginStart() +{ + Print( oldArray[ 0 ] ); + Print( newArray[ 0 ] ); +}