--- parser3/src/classes/string.C 2013/08/27 11:27:45 1.209 +++ 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.209 2013/08/27 11:27:45 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); @@ -507,7 +507,7 @@ public: } bool before_rows(SQL_Error& /*error*/ ) { /* ignore */ return false; } bool add_row(SQL_Error& /*error*/) { /* ignore */ return false; } - bool add_row_cell(SQL_Error& error, const char* str, size_t length) { + bool add_row_cell(SQL_Error& error, const char* str, size_t) { if(got_cell) { error=SQL_Error(PARSER_RUNTIME, //statement_string, @@ -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