--- parser3/src/classes/hashfile.C 2010/10/21 15:06:27 1.52 +++ parser3/src/classes/hashfile.C 2016/09/29 18:49:42 1.58 @@ -1,12 +1,10 @@ /** @file Parser: @b hashfile parser class. - Copyright (c) 2001-2009 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2015 Art. Lebedev Studio (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT="$Id: hashfile.C,v 1.52 2010/10/21 15:06:27 moko Exp $"; - #include "classes.h" #include "pa_request.h" @@ -14,6 +12,8 @@ static const char * const IDENT="$Id: ha #include "pa_vhashfile.h" #include "pa_vhash.h" +volatile const char * IDENT_HASHFILE_C="$Id: hashfile.C,v 1.58 2016/09/29 18:49:42 moko Exp $"; + // class class MHashfile : public Methoded { @@ -25,7 +25,7 @@ public: // global variable -DECLARE_CLASS_VAR(hashfile, new MHashfile, 0); +DECLARE_CLASS_VAR(hashfile, new MHashfile); // defines for statics @@ -99,14 +99,14 @@ static bool one_foreach_cycle( Foreach_info& info=*static_cast(ainfo); if(info.key_var_name){ VString* vkey=new VString(*new String(key, String::L_TAINTED)); - info.var_context->put_element(*info.key_var_name, vkey, false); + info.r->put_element(*info.var_context, *info.key_var_name, vkey); } if(info.value_var_name){ VString* vvalue=new VString(value); - info.var_context->put_element(*info.value_var_name, vvalue, false); + info.r->put_element(*info.var_context, *info.value_var_name, vvalue); } - StringOrValue sv_processed=info.r->process(*info.body_code); + Value& sv_processed=info.r->process(*info.body_code); Request::Skip lskip=info.r->get_skip(); info.r->set_skip(Request::SKIP_NOTHING); const String* s_processed=sv_processed.get_string();