--- parser3/src/classes/string.C 2010/04/05 00:57:01 1.192 +++ parser3/src/classes/string.C 2010/10/21 15:25:07 1.196 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_STRING_C="$Date: 2010/04/05 00:57:01 $"; +static const char * const IDENT_STRING_C="$Date: 2010/10/21 15:25:07 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -27,14 +27,23 @@ static const char * const IDENT_STRING_C class MString: public Methoded { public: MString(); -public: // Methoded - bool used_directly() { return true; } }; // global variable DECLARE_CLASS_VAR(string, new MString, 0); +// void class, inherited from string and thus should be inited afterwards + +class MVoid: public Methoded { +public: + MVoid(); +}; + +// void global variable should be after string global variable + +DECLARE_CLASS_VAR(void, new MVoid, 0); + // defines for statics #define MATCH_VAR_NAME "match" @@ -546,13 +555,9 @@ const String* sql_result_string(Request& valid_options++; } if(valid_options!=options->count()) - throw Exception(PARSER_RUNTIME, - 0, - "called with invalid option"); + throw Exception(PARSER_RUNTIME, 0, CALLED_WITH_INVALID_OPTION); } else - throw Exception(PARSER_RUNTIME, - 0, - "options must be hash"); + throw Exception(PARSER_RUNTIME, 0, OPTIONS_MUST_BE_HASH); } else options=0; @@ -630,9 +635,7 @@ static void _save(Request& r, MethodPara valid_options++; } if(valid_options != options->count()) - throw Exception(PARSER_RUNTIME, - 0, - INVALID_OPTION_PASSED); + throw Exception(PARSER_RUNTIME, 0, CALLED_WITH_INVALID_OPTION); } else { const String& mode=params.as_string(0, "mode must be string"); if(mode==MODE_APPEND){ @@ -732,7 +735,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/* don't unescape '+' char */)) + if(const char* result=unescape_chars(src.cstr(), src.length(), &r.charsets.source(), true)) r.write_assign_lang(*new String(result)); }