--- parser3/src/classes/string.C 2013/10/10 22:12:48 1.210 +++ parser3/src/classes/string.C 2013/12/29 18:39:50 1.212 @@ -20,7 +20,7 @@ #include "pa_vregex.h" #include "pa_charsets.h" -volatile const char * IDENT_STRING_C="$Id: string.C,v 1.210 2013/10/10 22:12:48 moko Exp $"; +volatile const char * IDENT_STRING_C="$Id: string.C,v 1.212 2013/12/29 18:39:50 moko Exp $"; // class @@ -454,7 +454,7 @@ static void _match(Request& r, MethodPar }; if(is_junction){ - Temp_value_element temp( *replacement_code->get_junction()->method_frame, match_var_name, vtable); + Temp_value_element temp(r, *replacement_code->get_junction()->method_frame, match_var_name, vtable); src.match(vregex, replace_action, &info, matches_count); } else { src.match(vregex, replace_action, &info, matches_count); @@ -748,7 +748,7 @@ static void _escape(Request& r, MethodPa static void _unescape(Request& r, MethodParams& params){ const String& src=params.as_string(0, PARAMETER_MUST_BE_STRING); if(const char* result=unescape_chars(src.cstr(), src.length(), &r.charsets.source(), true)) - r.write_assign_lang(*new String(result)); + r.write_assign_lang(*new String(result, String::L_TAINTED)); } // constructor