OSDN Git Service

UTF-16 入力の変換の一部バグ修正
authorRei FURUKAWA <rei_furukawa@users.sourceforge.jp>
Wed, 27 Aug 2003 01:31:50 +0000 (01:31 +0000)
committerRei FURUKAWA <rei_furukawa@users.sourceforge.jp>
Wed, 27 Aug 2003 01:31:50 +0000 (01:31 +0000)
nkf.c

diff --git a/nkf.c b/nkf.c
index b05670b..57534e2 100644 (file)
--- a/nkf.c
+++ b/nkf.c
@@ -2122,11 +2122,12 @@ w16e_conv(val, p2, p1)
         if (c0){
             pp = utf8_to_euc_3bytes[c2 - 0x80];
             psize = sizeof_utf8_to_euc_C2;
+            return w_iconv_common(c1, c0, pp, psize, p2, p1);
         }else{
             pp = utf8_to_euc_2bytes;
             psize = sizeof_utf8_to_euc_2bytes;
+            return w_iconv_common(c2, c1, pp, psize, p2, p1);
         }
-        return w_iconv_common(c1, c0, pp, psize, p2, p1);
     }
     return val;
 }
@@ -2148,7 +2149,7 @@ w_iconv16(c2, c1, c0)
        int tmp;
        tmp=c1; c1=c2; c2=tmp;
     }
-    if (c2==0 || c2==EOF) {
+    if ((c2==0 && c1 < 0x80) || c2==EOF) {
        (*oconv)(c2, c1);
        return 0;
     }