Re: [RFC] wml->wmlc default character mangling

Aarno Syvänen <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Remember that si, sl and ota would use conversions, too. Si I think that
conversions should be into a separate module. Xml_shared.c ?

Aarno

On 21.3.2005, at 22:28, Paul P Komkoff Jr wrote:

> Replying to Stipe Tolj:
>> Hi list,
>>
>> ok, following the thread frrom Rune Saetre [Msg-Id:
>> <[email protected]>] I come up with
>> following status-quo conclusion while reviewing the code: (HEAD in 
>> CVS):
>
> I was staring at the code for hour or two. This all needs heavy
> cleanup, concentrating all conversion stuff in wap-appl and removing
> it from wml-compile entirely. Including stripping of preamble in case
> of successful recoding. But I wrote on it here at least 2 times
> already.
>
> See attachemnt for how I am doing it now (skip gwlib/ part if you
> don't like it).
>
>
>>   * entering gw/wap-appl.c:return_reply() we receive the HTTP response
>>   (headers and body)
>>   *  if status was OK (HTTP 200) we perform some character convert to 
>> utf-8
>>   for various content-types, see line 842.
>>   * in fact we check via find_charset_encoding() if there has been an
>>   encoding in the XML preamble. Hence in the body of the response. If 
>> there
>> is not, we assume utf-8 as character encoding. (BTW, no implication 
>> from
>> the content-type HTTP header yet).
>>   * if XML preamble gives a non-utf-8 encoding, but the device 
>> indicates
>>   that it supports utf-8, we do convert, line 866.
>>   * we do the same as a "backup" for iso-8859-1 in case utf-8 is not
>>   supported by the device.
>>   * then we run into the conver_content() routine that does the 
>> lookup in
>>   the converter array, bringing us up to convert_wml_to_wmlc() and 
>> hence to
>> wml_compile().
>>   * so far so good
>>   * wml_compile() seems to do the mangling "once again" ?!
>     ^^^^^ double-encoding bug is triggered by passing already
> converted xml with preamble left intact.
>>   * gw/wml_compiler.c:351: if passed charset var is not utf-8 then 
>> call
>> gw/xml_shared.c:set_charset(), which converts to utf-8.
>>   * now we obey the rules: first: pick XML preamble encoding value, 
>> second:
>> pick given HTTP header value, third: fallback to utf-8.
>>   * and we come up to the libxml2 parsing calls.
>>
>> ok, so where are the things in here to be changed (from policy site of
>> view) if any?
>
> -- 
> Paul P 'Stingray' Komkoff Jr // http://stingr.net/key <- my pgp key
>  This message represents the official view of the voices in my head
> <charset>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.