--- parser3/src/classes/string.C 2024/10/05 03:38:14 1.257 +++ parser3/src/classes/string.C 2024/12/11 02:30:24 1.262 @@ -1,7 +1,7 @@ /** @file Parser: @b string parser class. - Copyright (c) 2001-2023 Art. Lebedev Studio (http://www.artlebedev.com) + Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com) Authors: Konstantin Morshnev , Alexandr Petrosian */ @@ -22,7 +22,7 @@ #include "pa_vregex.h" #include "pa_charsets.h" -volatile const char * IDENT_STRING_C="$Id: string.C,v 1.257 2024/10/05 03:38:14 moko Exp $"; +volatile const char * IDENT_STRING_C="$Id: string.C,v 1.262 2024/12/11 02:30:24 moko Exp $"; // class @@ -209,6 +209,7 @@ static void _pos(Request& r, MethodParam struct Split_action_info { const String& src; ArrayString &result; + Split_action_info(const String& s, ArrayString& r) : src(s), result(r) {} }; static void split_action(Table& , ArrayString* row, int prestart, int prefinish, int poststart, int postfinish, void *info) { @@ -226,7 +227,7 @@ static void split_list(Value& delim_valu vregex->study(); int matches_count=0; - Split_action_info ai = { string, result }; + Split_action_info ai(string, result); string.match(vregex, split_action, &ai, matches_count); } else @@ -640,7 +641,7 @@ static void _save(Request& r, MethodPara } } - const String& file_name=params.as_string(file_name_index, FILE_NAME_MUST_BE_STRING); + const String& file_name=params.as_file_name(file_name_index); const String& src=GET_SELF(r, VString).string(); String::Body sbody=src.cstr_to_string_body_untaint(String::L_AS_IS, r.connection(false), &r.charsets); @@ -791,7 +792,7 @@ static void _js_unescape(Request& r, Met } static void _unescape(Request& r, MethodParams& params){ - const String& mode=params.as_string(0, MODE_MUST_NOT_BE_CODE); + const String& mode=params.as_string(0, MODE_MUST_BE_STRING); const String& src=params.as_string(1, PARAMETER_MUST_BE_STRING); Charset* from_charset=&r.charsets.client(); @@ -813,7 +814,7 @@ static void _unescape(Request& r, Method } else if(mode==UNESCAPE_MODE_URI){ mode_js=false; } else { - throw Exception(PARSER_RUNTIME, &mode, "is invalid mode, must be either '" UNESCAPE_MODE_JS "' or '" UNESCAPE_MODE_URI "'"); + throw Exception(PARSER_RUNTIME, &mode, "is an invalid mode, must be either '" UNESCAPE_MODE_JS "' or '" UNESCAPE_MODE_URI "'"); } const char* unescaped=unescape_chars(src.cstr(), src.length(), from_charset, mode_js);