--- parser3/src/include/pa_string.h 2001/03/13 14:28:50 1.34 +++ parser3/src/include/pa_string.h 2001/03/18 20:31:26 1.40 @@ -3,7 +3,7 @@ Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) Author: Alexander Petrosyan (http://design.ru/paf) - $Id: pa_string.h,v 1.34 2001/03/13 14:28:50 paf Exp $ + $Id: pa_string.h,v 1.40 2001/03/18 20:31:26 paf Exp $ */ /* @@ -23,7 +23,7 @@ #define PA_STRING_H #ifdef HAVE_CONFIG_H -#include "pa_config.h" +# include "pa_config.h" #endif #include @@ -66,6 +66,8 @@ public: // leave language built into string being appended // just a flag, that value not stored AS_IS, + HEADER, + URI, TABLE, SQL, JS, @@ -75,7 +77,7 @@ public: public: - String(Pool& apool); + String(Pool& apool, const char *src=0, bool tainted=false); String(const String& src); size_t size() const { return fsize; } int used_rows() const { return fused_rows; } @@ -94,12 +96,14 @@ public: bool operator != (const String& src) const { return cmp(src)!=0; } bool operator == (const char* b_ptr) const; - String& append(const String& src, Untaint_lang lang); + String& append(const String& src, Untaint_lang lang, bool forced=false); uint hash_code() const; const Origin& origin() const { return head.rows[0].item.origin; } +// void change_lang(Untaint_lang lang); + private: struct Chunk { @@ -145,7 +149,7 @@ private: return append_here == link_row; } void expand(); - void set_lang(Chunk::Row *row, Untaint_lang lang, size_t size); + void set_lang(Chunk::Row *row, Untaint_lang lang, bool forced, size_t size); private: //disabled