Wireshark mailing list archives

Re: Replacing g_iconv and different codesets


From: Michael Lum <michael.lum () starsolutions com>
Date: Fri, 20 Dec 2013 11:59:20 -0800

Okay, thanks for the responses.

I started to make some changes but its probably more than I have time for.

But in case I pick it up I had a question about the ENC_ values from proto.h.

This is what I have from SVN:

#define ENC_CHARENCODING_MASK   0x7FFFFFFE      /* mask out byte-order bits */
#define ENC_ASCII               0x00000000
#define ENC_UTF_8               0x00000002
#define ENC_UTF_16              0x00000004
#define ENC_UCS_2               0x00000006
#define ENC_EBCDIC              0x00000008
#define ENC_WINDOWS_1250        0x0000000A
#define ENC_ISO_8859_1          0x0000000C
#define ENC_ISO_8859_2          0x0000000E
#define ENC_ISO_8859_5          0x00000014
#define ENC_ISO_8859_9          0x0000001C

I can't detect a pattern aside from not using the least significant bit.

I was thrown off at the gaps between 0x0000000E and 0x00000014 and 0x0000001C.

Michael Lum (michael.lum () starsolutions com) | STAR SOLUTIONS | Principal Software Engineer
4600 Jacombs Road, Richmond BC, Canada V6V 3B1 | +1.604.303.2315
 

-----Original Message-----
From: wireshark-dev-bounces () wireshark org 
[mailto:wireshark-dev-bounces () wireshark org] On Behalf Of Guy Harris
Sent: December 20, 2013 11:35 AM
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] Replacing g_iconv and different codesets


On Dec 20, 2013, at 11:24 AM, Jakub Zawadzki 
<darkjames-ws () darkjames pl> wrote:

In euc-kr [1] you can see that it's using ksc5601_to_ucs4() 
which can be find in ksc5601.h [2].
ksc5601_to_ucs4() is using convertation tables: 
__ksc5601_hangul_to_ucs, __ksc5601_hanja_to_ucs, 
__ksc5601_sym_to_ucs from ksc5601.c [3].

These tables are quite big (about 1K lines) and 
__ksc5601_sym_to_ucs 
is using C99 array index initialization (which you would 
need to expand (covert to switch?) before commiting).

So I'd rather suggest still using g_iconv() for EUC-KR, but 
feel free to introduce new ENC_EUC_KR and move it to core.

...and even if we do use g_iconv() for EUC-KR (or anything 
else), it should ideally be buried in tvb_get_string_enc() 
and so on, rather than directly used in dissectors.
______________________________________________________________
_____________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             
mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: