--- parser3/src/main/pa_string.C 2001/04/06 13:41:32 1.74 +++ parser3/src/main/pa_string.C 2001/04/23 13:38:31 1.78 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: pa_string.C,v 1.74 2001/04/06 13:41:32 paf Exp $ + $Id: pa_string.C,v 1.78 2001/04/23 13:38:31 paf Exp $ */ #include "pa_config_includes.h" @@ -26,7 +26,7 @@ // String -String::String(Pool& apool, const char *src, bool tasize_ted) : +String::String(Pool& apool, const char *src, size_t src_size, bool tainted) : Pooled(apool) { last_chunk=&head; head.count=CR_PREALLOCATED_COUNT; @@ -36,10 +36,10 @@ String::String(Pool& apool, const char * fused_rows=fsize=0; if(src) - if(tasize_ted) - APPEND_TAINTED(src, 0, 0, 0); + if(tainted) + APPEND_TAINTED(src, src_size, 0, 0); else - APPEND_CONST(src); + APPEND_CLEAN(src, src_size, 0, 0); } void String::expand() { @@ -456,7 +456,6 @@ void String::split(Array& result, } } -/// @test really @b test: s x m [tested: i & g ] static void regex_options(char *options, int *result){ struct Regex_option { char key; @@ -490,7 +489,8 @@ static void regex_options(char *options, pre-match/match/post-match/1/2/3/... @endverbatim */ -bool String::match(const String *aorigin, +bool String::match(const unsigned char *pcre_tables, + const String *aorigin, const String& regexp, const String *options, Table **table, @@ -518,7 +518,7 @@ bool String::match(const String *aorigin (*pcre_free)(code); THROW(0, 0, aorigin, - "pcre_info error #%d", + "pcre_info error (%d)", info_substrings); } @@ -558,7 +558,7 @@ bool String::match(const String *aorigin (*pcre_free)(code); THROW(0, 0, aorigin, - "regular expression execute error #%d", + "regular expression execute error (%d)", exec_substrings); }