--- parser3/src/classes/table.C 2001/05/08 08:14:48 1.74 +++ parser3/src/classes/table.C 2001/05/08 09:16:10 1.76 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: table.C,v 1.74 2001/05/08 08:14:48 paf Exp $ + $Id: table.C,v 1.76 2001/05/08 09:16:10 paf Exp $ */ #include "pa_config_includes.h" @@ -226,13 +226,11 @@ static void _menu(Request& r, const Stri table.set_current(saved_current); vtable.unlock(); } -/// @test make bool returning func static void _empty(Request& r, const String& method_name, MethodParams *params) { + Pool& pool=r.pool(); Table& table=static_cast(r.self)->table(); - if(table.size()==0) - r.write_pass_lang(r.process(params->get(0))); - else if(params->size()>1) - r.write_pass_lang(r.process(params->get(1))); + + r.write_no_lang(*new(pool) VBool(pool, table.size()==0)); } /// used by table: _record / store_column_item_to_hash @@ -275,16 +273,9 @@ static void table_row_to_hash(Array::Ite Row_info& ri=*static_cast(info); Pool& pool=ri.table->pool(); - Value *result; - if(ri.value_fields->size()==1) { // key=value [not valueS] - int value_field=ri.value_fields->get_int(0); - if(value_fieldsize(); i++) { int value_field=ri.value_fields->get_int(i); if(value_fieldput(*row.get_string(ri.key_field), result); + } } static void _hash(Request& r, const String& method_name, MethodParams *params) { Table& table=static_cast(r.self)->table(); @@ -663,9 +651,8 @@ MTable::MTable(Pool& apool) : Methoded(a // ^table.menu{code}[delim] add_native_method("menu", Method::CT_DYNAMIC, _menu, 1, 2); - // ^table.empty{code-when-empty} - // ^table.empty{code-when-empty}{code-when-not} - add_native_method("empty", Method::CT_DYNAMIC, _empty, 1, 2); + // ^table.empty[] + add_native_method("empty", Method::CT_DYNAMIC, _empty, 0, 0); // ^table.record[] add_native_method("record", Method::CT_DYNAMIC, _record, 0, 0);