--- parser3/src/classes/hash.C 2009/05/04 09:26:19 1.90 +++ parser3/src/classes/hash.C 2009/06/14 00:33:36 1.94 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_HASH_C="$Date: 2009/05/04 09:26:19 $"; +static const char * const IDENT_HASH_C="$Date: 2009/06/14 00:33:36 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -22,7 +22,7 @@ static const char * const IDENT_HASH_C=" class MHash: public Methoded { public: // VStateless_class - Value* create_new_value(Pool&, HashStringValue&) { return new VHash(); } + Value* create_new_value(Pool&, HashStringValue*) { return new VHash(); } public: MHash(); @@ -74,9 +74,9 @@ public: empty(0) { } - bool add_column(SQL_Error& error, const char* str, size_t length) { + bool add_column(SQL_Error& error, const char* str, size_t) { try { - columns+=new String(str, length, true); + columns+=new String(str, String::L_TAINTED); return false; } catch(...) { error=SQL_Error("exception occured in Hash_sql_event_handlers::add_column"); @@ -113,11 +113,9 @@ public: return false; } - bool add_row_cell(SQL_Error& error, const char *ptr, size_t length) { + bool add_row_cell(SQL_Error& error, const char *ptr, size_t) { try { - String& cell=*new String; - if(length) - cell.append_know_length(ptr, length, String::L_TAINTED); + String& cell=*new String(ptr, String::L_TAINTED); bool duplicate=false; if(one_bool_column) { @@ -440,12 +438,12 @@ static bool one_foreach_cycle( if(info->value_var_name) var_context.put_element(var_context, *info->value_var_name, avalue, false); - if(info->delim_maybe_code){ + if(info->delim_maybe_code){ // delimiter set StringOrValue 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(); - if(s_processed && s_processed->length()) { // delimiter set and we have body + if(s_processed && !s_processed->is_empty()) { // we have body if(info->need_delim) // need delim & iteration produced string? info->r->write_pass_lang(info->r->process(*info->delim_maybe_code)); else