|
|
| 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, |