--- parser3/src/classes/table.C 2001/04/15 13:12:18 1.61 +++ parser3/src/classes/table.C 2001/04/26 14:55:13 1.65 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: table.C,v 1.61 2001/04/15 13:12:18 paf Exp $ + $Id: table.C,v 1.65 2001/04/26 14:55:13 paf Exp $ */ #include "pa_config_includes.h" @@ -186,15 +186,15 @@ static void _offset(Request& r, const St } } -/// @test $a.menu{ $a[123] } static void _menu(Request& r, const String& method_name, MethodParams *params) { Value& body_code=params->get_junction(0, "body must be code"); Value *delim_code=params->size()==2?¶ms->get(1):0; - Table& table=static_cast(r.self)->table(); + VTable& vtable=*static_cast(r.self); + Table& table=vtable.table(); bool need_delim=false; - int saved_current=table.current(); + vtable.lock(); int saved_current=table.current(); for(int row=0; row(r.self)->table(); if(table.size()==0) - r.write_pass_lang(params->get(0)); - else if(params->size()==2) - r.write_pass_lang(params->get(1)); + r.write_pass_lang(r.process(params->get(0))); + else if(params->size()>1) + r.write_pass_lang(r.process(params->get(1))); } +/// used by table: _record / store_column_item_to_hash struct Record_info { Pool *pool; Table *table; @@ -487,7 +488,7 @@ static void _dir(Request& r, const Strin int erroffset; regexp_code=pcre_compile(pattern, PCRE_EXTRA | PCRE_DOTALL, &errptr, &erroffset, - pcre_tables); + r.pcre_tables); if(!regexp_code) PTHROW(0, 0,