Diff for /parser3/src/main/untaint.C between versions 1.115.2.10 and 1.115.2.12

version 1.115.2.10, 2003/02/17 09:56:15 version 1.115.2.12, 2003/03/08 12:30:28
Line 140  inline bool need_quote_http_header(const Line 140  inline bool need_quote_http_header(const
         or marking ALL pieces of it with a @a lang when @a forced to,          or marking ALL pieces of it with a @a lang when @a forced to,
         and propagating OPTIMIZE language bit.          and propagating OPTIMIZE language bit.
 */  */
 String& String::append_to(String& dest, uchar lang, bool forced) const {  String& String::append_to(String& dest, String_UL lang, bool forced) const {
         if(is_empty())          if(is_empty())
                 return dest;                  return dest;
   
Line 198  size_t String::cstr_bufsize(Untaint_lang Line 198  size_t String::cstr_bufsize(Untaint_lang
                                                         const Request_charsets *charsets) const {                                                          const Request_charsets *charsets) const {
         size_t dest=1; // for terminating 0          size_t dest=1; // for terminating 0
         STRING_FOREACH_FRAGMENT(          STRING_FOREACH_FRAGMENT(
                 uchar to_lang=lang==UL_UNSPECIFIED?fragment->lang:lang;                  String_UL to_lang=lang==UL_UNSPECIFIED?fragment->lang:lang;
   
                 switch(to_lang & ~UL_OPTIMIZE_BIT) {                  switch(to_lang & ~UL_OPTIMIZE_BIT) {
                 case UL_CLEAN:                  case UL_CLEAN:
Line 326  char *String::store_to(char *dest, Untai Line 326  char *String::store_to(char *dest, Untai
 //      STRING_FOREACH_FRAGMENT(  //      STRING_FOREACH_FRAGMENT(
         element_type *last = felements+fused; element_type *fragment = felements; for(; fragment<last; fragment++) {           element_type *last = felements+fused; element_type *fragment = felements; for(; fragment<last; fragment++) { 
   
                 uchar to_lang=lang==UL_UNSPECIFIED?fragment->lang:lang;                  String_UL to_lang=lang==UL_UNSPECIFIED?fragment->lang:lang;
   
                 char *start=dest;                  char *start=dest;
   
Line 384  char *String::store_to(char *dest, Untai Line 384  char *String::store_to(char *dest, Untai
                         // tainted, untaint language: mail-header                          // tainted, untaint language: mail-header
                         // http://www.ietf.org/rfc/rfc2047.txt                          // http://www.ietf.org/rfc/rfc2047.txt
                         if(charsets) {                          if(charsets) {
                                 const void *mail_ptr;                                  const void *mail_ptr=fragment->ptr;
                                 size_t mail_size;                                  size_t mail_size=fragment->size;
                                 Charset::transcode(charsets->pool(),   
                                         charsets->source(), fragment->ptr, fragment->size,  
                                         charsets->mail(), mail_ptr, mail_size);  
                                 CharPtr charset_name=charsets->mail().name()->cstr();                                  CharPtr charset_name=charsets->mail().name()->cstr();
   
                                 // Subject: Re: parser3: =?koi8-r?Q?=D3=C5=CD=C9=CE=C1=D2?=                                  // Subject: Re: parser3: =?koi8-r?Q?=D3=C5=CD=C9=CE=C1=D2?=
Line 522  IFNDEF_NO_STRING_ORIGIN( Line 519  IFNDEF_NO_STRING_ORIGIN(
                 else                  else
                         dest+=sprintf(dest, "<unknown>");                          dest+=sprintf(dest, "<unknown>");
 );  );
                 uchar show_lang=fragment->lang & ~UL_OPTIMIZE_BIT;                  String_UL show_lang=fragment->lang & ~UL_OPTIMIZE_BIT;
                 if(show_lang>=sizeof(String_Untaint_lang_name)/sizeof(String_Untaint_lang_name[0]))                  if(show_lang>=sizeof(String_Untaint_lang_name)/sizeof(String_Untaint_lang_name[0]))
                         throw Exception(Exception::undefined_type,                           throw Exception(Exception::undefined_type, 
                                 Exception::undefined_source,                                   Exception::undefined_source, 

Removed from v.1.115.2.10  
changed lines
  Added in v.1.115.2.12


E-mail: