Commit d7edf016 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

jscript: Store a copy of code in parser_ctx_t.

parent 911e923f
......@@ -43,9 +43,9 @@ typedef struct _func_stack {
typedef struct _parser_ctx_t {
LONG ref;
const WCHAR *ptr;
const WCHAR *begin;
WCHAR *begin;
const WCHAR *end;
const WCHAR *ptr;
script_ctx_t *script;
source_elements_t *source;
......
......@@ -1594,6 +1594,7 @@ void parser_release(parser_ctx_t *ctx)
if(--ctx->ref)
return;
heap_free(ctx->begin);
jsheap_free(&ctx->heap);
heap_free(ctx);
}
......@@ -1615,8 +1616,14 @@ HRESULT script_parse(script_ctx_t *ctx, const WCHAR *code, const WCHAR *delimite
parser_ctx->hres = JSCRIPT_ERROR|IDS_SYNTAX_ERROR;
parser_ctx->is_html = delimiter && !strcmpiW(delimiter, html_tagW);
parser_ctx->begin = parser_ctx->ptr = code;
parser_ctx->end = code + strlenW(code);
parser_ctx->begin = heap_strdupW(code);
if(!parser_ctx->begin) {
heap_free(parser_ctx);
return E_OUTOFMEMORY;
}
parser_ctx->ptr = parser_ctx->begin;
parser_ctx->end = parser_ctx->begin + strlenW(parser_ctx->begin);
script_addref(ctx);
parser_ctx->script = ctx;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment