Jacek Caban : vbscript: Added support for hex literals not ending with '&'.
Module: wine Branch: master Commit: 76eeca22552aa35b3c09b0c3dafb5a6d01abed14 URL: http://source.winehq.org/git/wine.git/?a=commit;h=76eeca22552aa35b3c09b0c3da... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Oct 18 12:36:03 2011 +0200 vbscript: Added support for hex literals not ending with '&'. --- dlls/vbscript/lex.c | 6 ++++-- dlls/vbscript/tests/lang.vbs | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/vbscript/lex.c b/dlls/vbscript/lex.c index 08ab375..81d4517 100644 --- a/dlls/vbscript/lex.c +++ b/dlls/vbscript/lex.c @@ -294,12 +294,14 @@ static int parse_hex_literal(parser_ctx_t *ctx, LONG *ret) while((d = hex_to_int(*++ctx->ptr)) != -1) l = l*16 + d; - if(begin + 9 /* max digits+1 */ < ctx->ptr || *ctx->ptr != '&') { + if(begin + 9 /* max digits+1 */ < ctx->ptr || (*ctx->ptr != '&' && is_identifier_char(*ctx->ptr))) { FIXME("invalid literal\n"); return 0; } - ctx->ptr++; + if(*ctx->ptr == '&') + ctx->ptr++; + *ret = l; return (short)l == l ? tShort : tLong; } diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs index de72338..ec552b1 100644 --- a/dlls/vbscript/tests/lang.vbs +++ b/dlls/vbscript/tests/lang.vbs @@ -43,6 +43,8 @@ Call ok(--1 = 1, "--1 = " & --1) Call ok(-empty = 0, "-empty = " & (-empty)) Call ok(true = -1, "! true = -1") Call ok(false = 0, "false <> 0") +Call ok(&hff = 255, "&hff <> 255") +Call ok(&Hff = 255, "&Hff <> 255") x = "xx" Call ok(x = "xx", "x = " & x & " expected ""xx""")
participants (1)
-
Alexandre Julliard