--- parser3/src/classes/hash.C 2003/11/06 11:13:24 1.59 +++ parser3/src/classes/hash.C 2004/02/11 15:33:12 1.65 @@ -1,11 +1,11 @@ /** @file Parser: @b hash parser class. - Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char* IDENT_HASH_C="$Date: 2003/11/06 11:13:24 $"; +static const char * const IDENT_HASH_C="$Date: 2004/02/11 15:33:12 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -22,7 +22,7 @@ static const char* IDENT_HASH_C="$Date: class MHash: public Methoded { public: // VStateless_class - Value* create_new_value() { return new VHash(); } + Value* create_new_value(Pool&) { return new VHash(); } public: MHash(); @@ -251,7 +251,7 @@ static void _sql(Request& r, MethodParam static void keys_collector( HashStringValue::key_type key, - HashStringValue::value_type value, + HashStringValue::value_type, Table *table) { Table::element_type row(new ArrayString); *row+=new String(key, String::L_TAINTED); @@ -307,13 +307,15 @@ static void one_foreach_cycle( info->r->write_pass_lang(sv_processed); } static void _foreach(Request& r, MethodParams& params) { - Foreach_info info={0}; - info.r=&r; - info.key_var_name=¶ms.as_string(0, "key-var name must be string"); - info.value_var_name=¶ms.as_string(1, "value-var name must be string"); - info.body_code=¶ms.as_junction(2, "body must be code"); - info.delim_maybe_code=params.count()>3?params.get(3):0; - info.vkey=new VString; + Foreach_info info={ + &r, + ¶ms.as_string(0, "key-var name must be string"), + ¶ms.as_string(1, "value-var name must be string"), + ¶ms.as_junction(2, "body must be code"), + params.count()>3?params.get(3):0, + /*vkey=*/new VString, + false + }; VHash& self=GET_SELF(r, VHash); HashStringValue& hash=self.hash();