--- parser3/src/classes/table.C 2013/10/17 21:52:32 1.299 +++ parser3/src/classes/table.C 2015/04/06 22:27:25 1.302 @@ -21,7 +21,7 @@ #include "pa_vbool.h" #include "pa_array.h" -volatile const char * IDENT_TABLE_C="$Id: table.C,v 1.299 2013/10/17 21:52:32 moko Exp $"; +volatile const char * IDENT_TABLE_C="$Id: table.C,v 1.302 2015/04/06 22:27:25 moko Exp $"; // class @@ -185,7 +185,7 @@ static void _create(Request& r, MethodPa // data Temp_lang temp_lang(r, String::L_PASS_APPENDED); const String& data= - r.process_to_string(params.as_junction(data_param_index, "body must be code")); + r.process_to_string(params.as_junction(data_param_index, "body must be table or code")); // parse columns size_t raw_pos_after=0; @@ -1138,9 +1138,9 @@ static void _foreach(Request& r, MethodP table.set_current(row); if(rownum_var_name) - var_context->put_element(*rownum_var_name, new VString(*new String(String::Body::Format(row), String::L_CLEAN))); + r.put_element(*var_context, *rownum_var_name, new VString(*new String(String::Body::Format(row), String::L_CLEAN))); if(value_var_name) - var_context->put_element(*value_var_name, new VTable(&table)); + r.put_element(*var_context, *value_var_name, new VTable(&table)); r.process_write(body_code); Request::Skip lskip=r.get_skip(); r.set_skip(Request::SKIP_NOTHING); @@ -1264,7 +1264,7 @@ static void marshal_bind( // not static, used elsewhere int marshal_binds(HashStringValue& hash, SQL_Driver::Placeholder*& placeholders) { int hash_count=hash.count(); - placeholders=new(UseGC) SQL_Driver::Placeholder[hash_count]; + placeholders=new SQL_Driver::Placeholder[hash_count]; SQL_Driver::Placeholder* ptr=placeholders; hash.for_each(marshal_bind, &ptr); return hash_count;