diff options
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_text.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 688c5bc9d8d..4c5ae4f03ae 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -1129,8 +1129,13 @@ static boolean parse_declaration( struct translate_ctx *ctx ) cur2 = cur; cur2++; eat_opt_white( &cur2 ); - if (str_match_nocase_whole( &cur2, "ARRAY(" )) { + if (str_match_nocase_whole( &cur2, "ARRAY" )) { int arrayid; + if (*cur2 != '(') { + report_error( ctx, "Expected `('" ); + return FALSE; + } + cur2++; eat_opt_white( &cur2 ); if (!parse_int( &cur2, &arrayid )) { report_error( ctx, "Expected `,'" ); @@ -1138,12 +1143,13 @@ static boolean parse_declaration( struct translate_ctx *ctx ) } eat_opt_white( &cur2 ); if (*cur2 != ')') { - report_error( ctx, "Expected `,'" ); + report_error( ctx, "Expected `)'" ); return FALSE; } + cur2++; decl.Declaration.Array = 1; decl.Array.ArrayID = arrayid; - cur = cur2; + ctx->cur = cur = cur2; } } |