I tried following charset conversion test.
EUC-KR -> UTF-8 ( by utf8_text() ) -> EUC-KR ( by utf8_cstext() )
But, this test failed. ( The result string is different from input string. )
The attached patch fix this problem.
Thanks
---------------------------------------------------------
Choi, Sung-hoon
DreamWiz Inc. - Development Team/Senior Manager
Major : Mail/Web/Network/System/Security
Phone : +82-2-3434-3541
MSN : [EMAIL PROTECTED]
WWW : http://my.dreamwiz.com/shoon/
E-mail: [EMAIL PROTECTED]
--- imap-2004d/src/c-client/utf8.c.orig 2005-04-08 09:44:41.000000000 +0900
+++ imap-2004d/src/c-client/utf8.c 2005-05-10 10:22:28.000000000 +0900
@@ -433,25 +433,25 @@
case CT_DBYTE: /* 2 byte ASCII + utf8_eucparam */
for (param = (struct utf8_eucparam *) cs->tab,
tab = (unsigned short *) param->tab,
- ku = 0; ku <= param->max_ku; ku++)
- for (ten = 0; ten <= param->max_ten; ten++)
+ ku = 0; ku < param->max_ku; ku++)
+ for (ten = 0; ten < param->max_ten; ten++)
if ((u = tab[(ku * param->max_ten) + ten]) != UBOGON)
- rmap[u] = ((ku + param->base_ku) << 8) + (ten + param->base_ten) +
+ rmap[u] = ((ku + param->base_ku) << 8) + (ten + param->base_ten) |
0x8080;
break;
case CT_DBYTE2: /* 2 byte ASCII + utf8_eucparam plane1/2 */
for (param = (struct utf8_eucparam *) cs->tab,
tab = (unsigned short *) param->tab,
- ku = 0; ku <= param->max_ku; ku++)
- for (ten = 0; ten <= param->max_ten; ten++)
+ ku = 0; ku < param->max_ku; ku++)
+ for (ten = 0; ten < param->max_ten; ten++)
if ((u = tab[(ku * param->max_ten) + ten]) != UBOGON)
- rmap[u] = ((ku + param->base_ku) << 8) + (ten + param->base_ten) +
+ rmap[u] = ((ku + param->base_ku) << 8) + (ten + param->base_ten) |
0x8080;
param++;
- for (ku = 0; ku <= param->max_ku; ku++)
- for (ten = 0; ten <= param->max_ten; ten++)
+ for (ku = 0; ku < param->max_ku; ku++)
+ for (ten = 0; ten < param->max_ten; ten++)
if ((u = tab[(ku * param->max_ten) + ten]) != UBOGON)
- rmap[u] = ((ku + param->base_ku) << 8) + (ten + param->base_ten) +
+ rmap[u] = ((ku + param->base_ku) << 8) + (ten + param->base_ten) |
0x8080;
break;
case CT_SJIS: /* 2 byte Shift-JIS */
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw