--- parser3/src/classes/string.C 2001/09/05 15:05:27 1.73 +++ parser3/src/classes/string.C 2001/10/08 16:42:06 1.77 @@ -2,10 +2,10 @@ Parser: @b string parser class. Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://design.ru/paf) + + $Id: string.C,v 1.77 2001/10/08 16:42:06 parser Exp $ */ -static const char *RCSId="$Id: string.C,v 1.73 2001/09/05 15:05:27 parser Exp $"; #include "classes.h" #include "pa_request.h" @@ -51,7 +51,7 @@ static void _int(Request& r, const Strin rethrow_me=e; converted=0; } else - converted=params->as_int(0, r); // (default) + converted=params->as_int(0, "default must be int", r); // (default) } PEND_CATCH if(convert_problem) @@ -76,7 +76,7 @@ static void _double(Request& r, const St rethrow_me=e; converted=0; } else - converted=params->as_double(0, r); // (default) + converted=params->as_double(0, "default must be double", r); // (default) } PEND_CATCH if(convert_problem) @@ -196,13 +196,14 @@ static void search_action(Table& table, table+=row; } -/// used by string: _match / replace_action +#ifndef DOXYGEN struct Replace_action_info { Request *request; const String *origin; const String *src; String *dest; Value *replacement_code; const String *post_match; }; +#endif static void replace_action(Table& table, Array *row, int start, int finish, void *info) { Replace_action_info& ai=*static_cast(info); @@ -253,7 +254,7 @@ static void _match(Request& r, const Str Table *table; if(params->size()<3) { // search bool was_global; - bool matched=src.match(r.pcre_tables, + bool matched=src.match(r.pcre_tables(), &method_name, regexp.as_string(), options, &table, @@ -275,7 +276,7 @@ static void _match(Request& r, const Str &replacement_code, &src }; - src.match(r.pcre_tables, + src.match(r.pcre_tables(), &method_name, r.process(regexp).as_string(), options, &table, @@ -291,7 +292,7 @@ static void change_case(Request& r, cons Pool& pool=r.pool(); const String& src=*static_cast(r.self)->get_string(); - r.write_assign_lang(*new(pool) VString(src.change_case(pool, r.pcre_tables, + r.write_assign_lang(*new(pool) VString(src.change_case(pool, r.pcre_tables(), kind))); } static void _upper(Request& r, const String& method_name, MethodParams *params) {