--- parser3/src/main/pa_string.C 2009/07/08 10:07:45 1.231 +++ parser3/src/main/pa_string.C 2009/07/16 09:20:01 1.233 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_STRING_C="$Date: 2009/07/08 10:07:45 $"; +static const char * const IDENT_STRING_C="$Date: 2009/07/16 09:20:01 $"; #include "pa_string.h" #include "pa_exception.h" @@ -543,7 +543,7 @@ Table* String::match(VRegex* vregex, int prefinish=ovector[0]; poststart=ovector[1]; - ArrayString* row=new ArrayString; + ArrayString* row=new ArrayString(3); if(need_pre_post_match) { *row+=&mid(0, prefinish); // .prematch column value *row+=&mid(prefinish, poststart); // .match @@ -556,7 +556,7 @@ Table* String::match(VRegex* vregex, for(int i=1; i=0 && ovector[i*2+1]>0)?&mid(ovector[i*2+0], ovector[i*2+1]):new String; // .i column value } matches_count++; @@ -788,7 +788,7 @@ bool String::deserialize(size_t prolog_s } const char* String::Body::v() const { - return CORD_to_const_char_star(body); + return CORD_to_const_char_star(body, length()); } void String::Body::dump() const { CORD_dump(body); @@ -796,7 +796,7 @@ void String::Body::dump() const { const char* String::Languages::v() const { if(opt.is_not_just_lang) - return CORD_to_const_char_star(langs); + return CORD_to_const_char_star(langs, 0); else return (const char*)&langs; }