"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/utils/js_tokenizer.l" between
snort3-3.1.36.0.tar.gz and snort3-3.1.38.0.tar.gz

About: Snort 3 is a network intrusion prevention and detection system (IDS/IPS) combining the benefits of signature, protocol and anomaly-based inspection.

js_tokenizer.l  (snort3-3.1.36.0):js_tokenizer.l  (snort3-3.1.38.0)
skipping to change at line 1078 skipping to change at line 1078
%x char_code_bcomm %x char_code_bcomm
%% %%
<INITIAL,divop,regst,char_code>{WHITESPACES} { /* skip */ } <INITIAL,divop,regst,char_code>{WHITESPACES} { /* skip */ }
<INITIAL,divop,regst,char_code>{CHAR_ESCAPE_SEQUENCES} { /* skip */ } <INITIAL,divop,regst,char_code>{CHAR_ESCAPE_SEQUENCES} { /* skip */ }
{LINE_TERMINATORS} { BEGIN(regst); newline_found = tr ue; } {LINE_TERMINATORS} { BEGIN(regst); newline_found = tr ue; }
<char_code>{LINE_TERMINATORS} { newline_found = true; } <char_code>{LINE_TERMINATORS} { newline_found = true; }
<INITIAL,regex,regst,divop,char_code>{HTML_TAG_SCRIPT_OPEN} { BEGIN(regst); RETU RN(OPENING_TAG) } <INITIAL,regst,divop,char_code>{HTML_TAG_SCRIPT_OPEN} { explicit_otag(); }
{HTML_TAG_SCRIPT_CLOSE} { EXEC(html_closing_script_tag()) } {HTML_TAG_SCRIPT_CLOSE} { EXEC(html_closing_script_tag()) }
{HTML_COMMENT_OPEN} { BEGIN(lcomm); } {HTML_COMMENT_OPEN} { BEGIN(lcomm); }
{LINE_COMMENT_START} { BEGIN(lcomm); } {LINE_COMMENT_START} { BEGIN(lcomm); }
<char_code>{HTML_COMMENT_OPEN} { BEGIN(char_code_lcomm); } <char_code>{HTML_COMMENT_OPEN} { BEGIN(char_code_lcomm); }
<char_code>{LINE_COMMENT_START} { BEGIN(char_code_lcomm); } <char_code>{LINE_COMMENT_START} { BEGIN(char_code_lcomm); }
<lcomm>{LINE_COMMENT_END1} { BEGIN(regst); newline_found = tr ue; } <lcomm>{LINE_COMMENT_END1} { BEGIN(regst); newline_found = tr ue; }
<lcomm>{LINE_COMMENT_END2} { BEGIN(regst); newline_found = tr ue; } <lcomm>{LINE_COMMENT_END2} { BEGIN(regst); newline_found = tr ue; }
<lcomm>{LINE_COMMENT_END4} { if (!ext_script) { BEGIN(regst); EXEC(html_closing_script_tag()) } } <lcomm>{LINE_COMMENT_END4} { if (!ext_script) { BEGIN(regst); EXEC(html_closing_script_tag()) } }
<char_code_lcomm>{LINE_COMMENT_END1} { BEGIN(char_code); newline_found = true; } <char_code_lcomm>{LINE_COMMENT_END1} { BEGIN(char_code); newline_found = true; }
<char_code_lcomm>{LINE_COMMENT_END2} { BEGIN(char_code); newline_found = true; } <char_code_lcomm>{LINE_COMMENT_END2} { BEGIN(char_code); newline_found = true; }
<char_code_lcomm>{LINE_COMMENT_END4} { if (!ext_script) { BEGIN(regst); RETURN(CLOSING_TAG) } } <char_code_lcomm>{LINE_COMMENT_END4} { if (!ext_script) { BEGIN(regst); RETURN(CLOSING_TAG) } }
<lcomm,char_code_lcomm>{LINE_COMMENT_END3} { if (!ext_script) { BEGIN(regst); RETURN(OPENING_TAG) } } <lcomm,char_code_lcomm>{LINE_COMMENT_END3} { if (!ext_script) { opening_tag_s een = true; } }
<lcomm,char_code_lcomm>{LINE_COMMENT_SKIP} { /* skip */ } <lcomm,char_code_lcomm>{LINE_COMMENT_SKIP} { /* skip */ }
<lcomm,char_code_lcomm><<EOF>> { RETURN(SCRIPT_CONTINUE) } <lcomm,char_code_lcomm><<EOF>> { RETURN(SCRIPT_CONTINUE) }
{BLOCK_COMMENT_START} { BEGIN(bcomm); } {BLOCK_COMMENT_START} { BEGIN(bcomm); }
<char_code>{BLOCK_COMMENT_START} { BEGIN(char_code_bcomm); } <char_code>{BLOCK_COMMENT_START} { BEGIN(char_code_bcomm); }
<bcomm>{BLOCK_COMMENT_END1} { BEGIN(regst); } <bcomm>{BLOCK_COMMENT_END1} { BEGIN(regst); }
<char_code_bcomm>{BLOCK_COMMENT_END1} { BEGIN(char_code); } <char_code_bcomm>{BLOCK_COMMENT_END1} { BEGIN(char_code); }
<bcomm,char_code_bcomm>{BLOCK_COMMENT_END2} { if (!ext_script) { BEGIN(regst); RETURN(OPENING_TAG) } } <bcomm,char_code_bcomm>{BLOCK_COMMENT_END2} { if (!ext_script) { opening_tag_s een = true; } }
<bcomm,char_code_bcomm>{BLOCK_COMMENT_END3} { if (!ext_script) { BEGIN(regst); RETURN(CLOSING_TAG) } } <bcomm,char_code_bcomm>{BLOCK_COMMENT_END3} { if (!ext_script) { BEGIN(regst); RETURN(CLOSING_TAG) } }
<bcomm,char_code_bcomm>{BLOCK_COMMENT_LINE1} | <bcomm,char_code_bcomm>{BLOCK_COMMENT_LINE1} |
<bcomm,char_code_bcomm>{BLOCK_COMMENT_LINE2} { newline_found = true; } <bcomm,char_code_bcomm>{BLOCK_COMMENT_LINE2} { newline_found = true; }
<bcomm,char_code_bcomm>{BLOCK_COMMENT_SKIP} { /* skip */ } <bcomm,char_code_bcomm>{BLOCK_COMMENT_SKIP} { /* skip */ }
<bcomm,char_code_bcomm><<EOF>> { RETURN(SCRIPT_CONTINUE) } <bcomm,char_code_bcomm><<EOF>> { RETURN(SCRIPT_CONTINUE) }
{LITERAL_DQ_STRING_START} { EXEC(literal_dq_string_start()) } {LITERAL_DQ_STRING_START} { EXEC(literal_dq_string_start()) }
<dqstr,unesc_dqstr>{LITERAL_DQ_STRING_END} { dealias_append(); ECHO; BEGIN(di vop); } <dqstr,unesc_dqstr>{LITERAL_DQ_STRING_END} { dealias_append(); ECHO; BEGIN(di vop); }
<dqstr,unesc_dqstr>{HTML_TAG_SCRIPT_OPEN} { if (ext_script) { ECHO; } else { BEGIN(regst); RETURN(OPENING_TAG) } } <dqstr,unesc_dqstr>{HTML_TAG_SCRIPT_OPEN} { if (!ext_script) { opening_tag_s een = true; } ECHO; }
<dqstr,unesc_dqstr>{HTML_TAG_SCRIPT_CLOSE} { if (ext_script) { ECHO; } else { BEGIN(regst); RETURN(CLOSING_TAG) } } <dqstr,unesc_dqstr>{HTML_TAG_SCRIPT_CLOSE} { if (ext_script) { ECHO; } else { BEGIN(regst); RETURN(CLOSING_TAG) } }
<dqstr,unesc_dqstr>\\{CR}{LF} { /* skip */ } <dqstr,unesc_dqstr>\\{CR}{LF} { /* skip */ }
<dqstr,unesc_dqstr>\\{LF} { /* skip */ } <dqstr,unesc_dqstr>\\{LF} { /* skip */ }
<dqstr,unesc_dqstr>\\{CR} { /* skip */ } <dqstr,unesc_dqstr>\\{CR} { /* skip */ }
<dqstr,unesc_dqstr>{LINE_TERMINATORS} { BEGIN(regst); RETURN(BAD_TOKEN) <dqstr,unesc_dqstr>{CR} { BEGIN(regst); RETURN(BAD_TOKEN)
} }
<dqstr,unesc_dqstr>{LF} { BEGIN(regst); RETURN(BAD_TOKEN)
}
<dqstr,unesc_dqstr><<EOF>> { RETURN(SCRIPT_CONTINUE) } <dqstr,unesc_dqstr><<EOF>> { RETURN(SCRIPT_CONTINUE) }
<dqstr>{UNICODE_ESCAPE_SEQUENCE} | <dqstr>{UNICODE_ESCAPE_SEQUENCE} |
<dqstr>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_utf_8(); } <dqstr>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_utf_8(); }
<dqstr>{ESCAPED_CODE_POINT} { escaped_code_point(); } <dqstr>{ESCAPED_CODE_POINT} { escaped_code_point(); }
<unesc_dqstr>{UNICODE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_2); e scaped_unicode_utf_8(); } <unesc_dqstr>{UNICODE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_2); e scaped_unicode_utf_8(); }
<unesc_dqstr>{HEX_ESCAPE_SEQUENCE} { set_encoding(IS_XBACKSLASH); esc aped_unicode_latin_1(); } <unesc_dqstr>{HEX_ESCAPE_SEQUENCE} { set_encoding(IS_XBACKSLASH); esc aped_unicode_latin_1(); }
<unesc_dqstr>{ESCAPED_CODE_POINT} { set_encoding(IS_UCODEPOINT); esc aped_code_point(); } <unesc_dqstr>{ESCAPED_CODE_POINT} { set_encoding(IS_UCODEPOINT); esc aped_code_point(); }
<unesc_dqstr>{BYTE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_1); e scaped_unicode_latin_1(); } <unesc_dqstr>{BYTE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_1); e scaped_unicode_latin_1(); }
<unesc_dqstr>{PERCENT_ESCAPE_SEQUENCE} { set_encoding(IS_UPERCENT); escap ed_unicode_utf_8(); } <unesc_dqstr>{PERCENT_ESCAPE_SEQUENCE} { set_encoding(IS_UPERCENT); escap ed_unicode_utf_8(); }
<unesc_dqstr>{URL_ESCAPE_SEQUENCE} { set_encoding(IS_PERCENT); escape d_url_sequence_latin_1(); } <unesc_dqstr>{URL_ESCAPE_SEQUENCE} { set_encoding(IS_PERCENT); escape d_url_sequence_latin_1(); }
<dqstr,unesc_dqstr>{LITERAL_DQ_STRING_SKIP} { dealias_append(); ECHO; } <dqstr,unesc_dqstr>{LITERAL_DQ_STRING_SKIP} { dealias_append(); ECHO; }
<dqstr,unesc_dqstr>{LITERAL_DQ_STRING_TEXT} { dealias_append(); ECHO; } <dqstr,unesc_dqstr>{LITERAL_DQ_STRING_TEXT} { dealias_append(); ECHO; }
{LITERAL_SQ_STRING_START} { EXEC(literal_sq_string_start()) } {LITERAL_SQ_STRING_START} { EXEC(literal_sq_string_start()) }
<sqstr,unesc_sqstr>{LITERAL_SQ_STRING_END} { dealias_append(); ECHO; BEGIN(di vop); } <sqstr,unesc_sqstr>{LITERAL_SQ_STRING_END} { dealias_append(); ECHO; BEGIN(di vop); }
<sqstr,unesc_sqstr>{HTML_TAG_SCRIPT_OPEN} { if (ext_script) { ECHO; } else { BEGIN(regst); RETURN(OPENING_TAG) } } <sqstr,unesc_sqstr>{HTML_TAG_SCRIPT_OPEN} { if (!ext_script) { opening_tag_s een = true; } ECHO; }
<sqstr,unesc_sqstr>{HTML_TAG_SCRIPT_CLOSE} { if (ext_script) { ECHO; } else { BEGIN(regst); RETURN(CLOSING_TAG) } } <sqstr,unesc_sqstr>{HTML_TAG_SCRIPT_CLOSE} { if (ext_script) { ECHO; } else { BEGIN(regst); RETURN(CLOSING_TAG) } }
<sqstr,unesc_sqstr>\\{CR}{LF} { /* skip */ } <sqstr,unesc_sqstr>\\{CR}{LF} { /* skip */ }
<sqstr,unesc_sqstr>\\{LF} { /* skip */ } <sqstr,unesc_sqstr>\\{LF} { /* skip */ }
<sqstr,unesc_sqstr>\\{CR} { /* skip */ } <sqstr,unesc_sqstr>\\{CR} { /* skip */ }
<sqstr,unesc_sqstr>{LINE_TERMINATORS} { BEGIN(regst); RETURN(BAD_TOKEN) <sqstr,unesc_sqstr>{CR} { BEGIN(regst); RETURN(BAD_TOKEN)
} }
<sqstr,unesc_sqstr>{LF} { BEGIN(regst); RETURN(BAD_TOKEN)
}
<sqstr,unesc_sqstr><<EOF>> { RETURN(SCRIPT_CONTINUE) } <sqstr,unesc_sqstr><<EOF>> { RETURN(SCRIPT_CONTINUE) }
<sqstr>{UNICODE_ESCAPE_SEQUENCE} | <sqstr>{UNICODE_ESCAPE_SEQUENCE} |
<sqstr>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_utf_8(); } <sqstr>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_utf_8(); }
<sqstr>{ESCAPED_CODE_POINT} { escaped_code_point(); } <sqstr>{ESCAPED_CODE_POINT} { escaped_code_point(); }
<unesc_sqstr>{UNICODE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_2); e scaped_unicode_utf_8(); } <unesc_sqstr>{UNICODE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_2); e scaped_unicode_utf_8(); }
<unesc_sqstr>{HEX_ESCAPE_SEQUENCE} { set_encoding(IS_XBACKSLASH); esc aped_unicode_latin_1(); } <unesc_sqstr>{HEX_ESCAPE_SEQUENCE} { set_encoding(IS_XBACKSLASH); esc aped_unicode_latin_1(); }
<unesc_sqstr>{ESCAPED_CODE_POINT} { set_encoding(IS_UCODEPOINT); esc aped_code_point(); } <unesc_sqstr>{ESCAPED_CODE_POINT} { set_encoding(IS_UCODEPOINT); esc aped_code_point(); }
<unesc_sqstr>{BYTE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_1); e scaped_unicode_latin_1(); } <unesc_sqstr>{BYTE_ESCAPE_SEQUENCE} { set_encoding(IS_UBACKSLASH_1); e scaped_unicode_latin_1(); }
<unesc_sqstr>{PERCENT_ESCAPE_SEQUENCE} { set_encoding(IS_UPERCENT); escap ed_unicode_utf_8(); } <unesc_sqstr>{PERCENT_ESCAPE_SEQUENCE} { set_encoding(IS_UPERCENT); escap ed_unicode_utf_8(); }
<unesc_sqstr>{URL_ESCAPE_SEQUENCE} { set_encoding(IS_PERCENT); escape d_url_sequence_latin_1(); } <unesc_sqstr>{URL_ESCAPE_SEQUENCE} { set_encoding(IS_PERCENT); escape d_url_sequence_latin_1(); }
<sqstr,unesc_sqstr>{LITERAL_SQ_STRING_SKIP} { dealias_append(); ECHO; } <sqstr,unesc_sqstr>{LITERAL_SQ_STRING_SKIP} { dealias_append(); ECHO; }
<sqstr,unesc_sqstr>{LITERAL_SQ_STRING_TEXT} { dealias_append(); ECHO; } <sqstr,unesc_sqstr>{LITERAL_SQ_STRING_TEXT} { dealias_append(); ECHO; }
{LITERAL_TEMPLATE_START} { EXEC(literal_temp late_start()) } {LITERAL_TEMPLATE_START} { EXEC(literal_temp late_start()) }
<tmpll,unesc_tmpll>(\\\\)*{LITERAL_TEMPLATE_END} { dealias_append(); ECHO; BEGIN(divop); } <tmpll,unesc_tmpll>(\\\\)*{LITERAL_TEMPLATE_END} { dealias_append(); ECHO; BEGIN(divop); }
<tmpll,unesc_tmpll>(\\\\)*{LITERAL_TEMPLATE_SUBST_START} { EXEC(process_subs t_open()) dealias_reset(); } <tmpll,unesc_tmpll>(\\\\)*{LITERAL_TEMPLATE_SUBST_START} { EXEC(process_subs t_open()) dealias_reset(); }
<tmpll,unesc_tmpll>{HTML_TAG_SCRIPT_OPEN} { if (!ext_script) { opening_tag_seen = true; } ECHO; }
<tmpll,unesc_tmpll>{HTML_TAG_SCRIPT_CLOSE} { BEGIN(regst); RET URN(CLOSING_TAG) } <tmpll,unesc_tmpll>{HTML_TAG_SCRIPT_CLOSE} { BEGIN(regst); RET URN(CLOSING_TAG) }
<tmpll,unesc_tmpll><<EOF>> { RETURN(SCRIPT_CON TINUE) } <tmpll,unesc_tmpll><<EOF>> { RETURN(SCRIPT_CON TINUE) }
<tmpll>{UNICODE_ESCAPE_SEQUENCE} | <tmpll>{UNICODE_ESCAPE_SEQUENCE} |
<tmpll>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_u tf_8(); } <tmpll>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_u tf_8(); }
<tmpll>{ESCAPED_CODE_POINT} { escaped_code_poin t(); } <tmpll>{ESCAPED_CODE_POINT} { escaped_code_poin t(); }
<unesc_tmpll>{UNICODE_ESCAPE_SEQUENCE} { set_encoding(IS_U BACKSLASH_2); escaped_unicode_utf_8(); } <unesc_tmpll>{UNICODE_ESCAPE_SEQUENCE} { set_encoding(IS_U BACKSLASH_2); escaped_unicode_utf_8(); }
<unesc_tmpll>{HEX_ESCAPE_SEQUENCE} { set_encoding(IS_X BACKSLASH); escaped_unicode_latin_1(); } <unesc_tmpll>{HEX_ESCAPE_SEQUENCE} { set_encoding(IS_X BACKSLASH); escaped_unicode_latin_1(); }
<unesc_tmpll>{ESCAPED_CODE_POINT} { set_encoding(IS_U CODEPOINT); escaped_code_point(); } <unesc_tmpll>{ESCAPED_CODE_POINT} { set_encoding(IS_U CODEPOINT); escaped_code_point(); }
<unesc_tmpll>{BYTE_ESCAPE_SEQUENCE} { set_encoding(IS_U BACKSLASH_1); escaped_unicode_latin_1(); } <unesc_tmpll>{BYTE_ESCAPE_SEQUENCE} { set_encoding(IS_U BACKSLASH_1); escaped_unicode_latin_1(); }
<unesc_tmpll>{PERCENT_ESCAPE_SEQUENCE} { set_encoding(IS_U PERCENT); escaped_unicode_utf_8(); } <unesc_tmpll>{PERCENT_ESCAPE_SEQUENCE} { set_encoding(IS_U PERCENT); escaped_unicode_utf_8(); }
<unesc_tmpll>{URL_ESCAPE_SEQUENCE} { set_encoding(IS_P ERCENT); escaped_url_sequence_latin_1(); } <unesc_tmpll>{URL_ESCAPE_SEQUENCE} { set_encoding(IS_P ERCENT); escaped_url_sequence_latin_1(); }
<tmpll,unesc_tmpll>(\\\\)*\\{LITERAL_TEMPLATE_SUBST_START} | /* escaped templa te substitution */ <tmpll,unesc_tmpll>(\\\\)*\\{LITERAL_TEMPLATE_SUBST_START} | /* escaped templa te substitution */
<tmpll,unesc_tmpll>(\\\\)*\\{LITERAL_TEMPLATE_END} | /* escaped backti ck */ <tmpll,unesc_tmpll>(\\\\)*\\{LITERAL_TEMPLATE_END} | /* escaped backti ck */
<tmpll,unesc_tmpll>{LITERAL_TEMPLATE_TEXT} { dealias_append(); ECHO; } <tmpll,unesc_tmpll>{LITERAL_TEMPLATE_TEXT} { dealias_append(); ECHO; }
<regst>{LITERAL_REGEX_START} { EXEC(literal_regex_start()) } <regst>{LITERAL_REGEX_START} { EXEC(literal_regex_start()) }
<regex>{LITERAL_REGEX_END} { EXEC(literal_regex_end()) } <regex>{LITERAL_REGEX_END} { EXEC(literal_regex_end()) }
<regex>{HTML_TAG_SCRIPT_OPEN} { if (!ext_script) { opening_tag_seen = true ; } ECHO; }
<regex>{HTML_TAG_SCRIPT_CLOSE} { BEGIN(regst); RETURN(CLOSING_TAG) } <regex>{HTML_TAG_SCRIPT_CLOSE} { BEGIN(regst); RETURN(CLOSING_TAG) }
<regex>\\{LF} | <regex>\\{CR} { BEGIN(regst); RETURN(BAD_TOKEN) }
<regex>\\{CR} | <regex>\\{LF} { BEGIN(regst); RETURN(BAD_TOKEN) }
<regex>{LINE_TERMINATORS} { BEGIN(regst); RETURN(BAD_TOKEN) } <regex>{CR} { BEGIN(regst); RETURN(BAD_TOKEN) }
<regex>{LF} { BEGIN(regst); RETURN(BAD_TOKEN) }
<regex>{LITERAL_REGEX_G_OPEN} { EXEC(literal_regex_g_open()) } <regex>{LITERAL_REGEX_G_OPEN} { EXEC(literal_regex_g_open()) }
<regex>{LITERAL_REGEX_G_CLOSE} { EXEC(literal_regex_g_close()) } <regex>{LITERAL_REGEX_G_CLOSE} { EXEC(literal_regex_g_close()) }
<regex>{UNICODE_ESCAPE_SEQUENCE} | <regex>{UNICODE_ESCAPE_SEQUENCE} |
<regex>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_utf_8(); } <regex>{HEX_ESCAPE_SEQUENCE} { escaped_unicode_utf_8(); }
<regex>{LITERAL_REGEX_SKIP} { ECHO; } <regex>{LITERAL_REGEX_SKIP} { ECHO; }
<regex>{LITERAL_REGEX_TEXT} { ECHO; } <regex>{LITERAL_REGEX_TEXT} { ECHO; }
<regex><<EOF>> { RETURN(SCRIPT_CONTINUE) } <regex><<EOF>> { RETURN(SCRIPT_CONTINUE) }
<divop>{DIV_OPERATOR} | <divop>{DIV_OPERATOR} |
<divop>{DIV_ASSIGNMENT_OPERATOR} { div_assignment_operator(); } <divop>{DIV_ASSIGNMENT_OPERATOR} { div_assignment_operator(); }
skipping to change at line 2006 skipping to change at line 2011
bool JSTokenizer::is_unescape_nesting_seen() const bool JSTokenizer::is_unescape_nesting_seen() const
{ {
return unescape_nest_seen; return unescape_nest_seen;
} }
bool JSTokenizer::is_mixed_encoding_seen() const bool JSTokenizer::is_mixed_encoding_seen() const
{ {
return mixed_encoding_seen; return mixed_encoding_seen;
} }
bool JSTokenizer::is_opening_tag_seen() const
{
return opening_tag_seen;
}
void JSTokenizer::set_block_param(bool f) void JSTokenizer::set_block_param(bool f)
{ {
scope_cur().block_param = f; scope_cur().block_param = f;
} }
bool JSTokenizer::block_param() bool JSTokenizer::block_param()
{ {
return scope_cur().block_param; return scope_cur().block_param;
} }
skipping to change at line 2935 skipping to change at line 2945
void JSTokenizer::char_code_no_match() void JSTokenizer::char_code_no_match()
{ {
BEGIN(regst); BEGIN(regst);
yyout << '\''; yyout << '\'';
set_char_code_str(false); set_char_code_str(false);
yyless(0); yyless(0);
memset((void*)(states + sp), 0, sizeof(states[0])); memset((void*)(states + sp), 0, sizeof(states[0]));
} }
void JSTokenizer::explicit_otag()
{
if (!ext_script)
opening_tag_seen = true;
// discard match of the script tag and scan again without leading '<'
states_correct(1);
yyless(1);
// process leading '<' as a comparison operator
operator_comparison();
}
JSTokenizer::JSRet JSTokenizer::process(size_t& bytes_in, bool external_script) JSTokenizer::JSRet JSTokenizer::process(size_t& bytes_in, bool external_script)
{ {
yy_flush_buffer(YY_CURRENT_BUFFER); yy_flush_buffer(YY_CURRENT_BUFFER);
unescape_nest_seen = false; unescape_nest_seen = false;
mixed_encoding_seen = false; mixed_encoding_seen = false;
ext_script = external_script; ext_script = external_script;
auto r = yylex(); auto r = yylex();
yyin.clear(); yyin.clear();
 End of changes. 12 change blocks. 
12 lines changed or deleted 37 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)