jscript: Separate flags parsing from regexp creating.
diff --git a/dlls/jscript/lex.c b/dlls/jscript/lex.c
index cd53bd9..efb1782 100644
--- a/dlls/jscript/lex.c
+++ b/dlls/jscript/lex.c
@@ -766,10 +766,10 @@
literal_t *parse_regexp(parser_ctx_t *ctx)
{
- const WCHAR *re, *flags;
+ const WCHAR *re, *flags_ptr;
+ DWORD re_len, flags;
DispatchEx *regexp;
literal_t *ret;
- DWORD re_len;
HRESULT hres;
TRACE("\n");
@@ -790,11 +790,15 @@
re_len = ctx->ptr-re;
- flags = ++ctx->ptr;
+ flags_ptr = ++ctx->ptr;
while(ctx->ptr < ctx->end && isalnumW(*ctx->ptr))
ctx->ptr++;
- hres = create_regexp_str(ctx->script, re, re_len, flags, ctx->ptr-flags, ®exp);
+ hres = parse_regexp_flags(flags_ptr, ctx->ptr-flags_ptr, &flags);
+ if(FAILED(hres))
+ return NULL;
+
+ hres = create_regexp(ctx->script, re, re_len, flags, ®exp);
if(FAILED(hres))
return NULL;