From d7d94f387801eca4b59a26f59788e0eb41c9d751 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Thu, 30 Aug 2007 15:02:28 +0000 Subject: [PATCH] * ReFix: forum15899. * Fix: Spaces aren't preserved. [nkf-bugs#10904] --- nkf.c | 41 +++++++++++++++++++++++++++-------------- nkf_test.pl | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 15 deletions(-) diff --git a/nkf.c b/nkf.c index 4a4f35c..c8c50b4 100644 --- a/nkf.c +++ b/nkf.c @@ -39,9 +39,9 @@ ** E-Mail: furukawa@tcp-ip.or.jp ** まで御連絡をお願いします。 ***********************************************************************/ -/* $Id: nkf.c,v 1.128 2007/08/22 21:37:35 naruse Exp $ */ +/* $Id: nkf.c,v 1.129 2007/08/30 06:02:28 naruse Exp $ */ #define NKF_VERSION "2.0.8" -#define NKF_RELEASE_DATE "2007-07-20" +#define NKF_RELEASE_DATE "2007-08-30" #include "config.h" #include "utf8tbl.h" @@ -5606,12 +5606,18 @@ void mimeout_addchar(nkf_char c) } } -nkf_char mime_lastchar2, mime_lastchar1; +/*nkf_char mime_lastchar2, mime_lastchar1;*/ void mime_prechar(nkf_char c2, nkf_char c1) { if (mimeout_mode){ - if (c2 > 0){ + if (c2 == EOF){ + if (base64_count + mimeout_buf_count/3*4> 73){ + (*o_base64conv)(EOF,0); + (*o_base64conv)(0,NL); + (*o_base64conv)(0,SPACE); + } + } else if (c2){ if (base64_count + mimeout_buf_count/3*4> 66){ (*o_base64conv)(EOF,0); (*o_base64conv)(0,NL); @@ -5628,8 +5634,8 @@ void mime_prechar(nkf_char c2, nkf_char c1) (*o_base64conv)(0,SPACE); } }*/ - mime_lastchar2 = c2; - mime_lastchar1 = c1; + /*mime_lastchar2 = c2; + mime_lastchar1 = c1;*/ } void mime_putc(nkf_char c) @@ -5669,15 +5675,22 @@ void mime_putc(nkf_char c) mimeout_buf_count = 0; i = 0; if (mimeout_mode) { - for (;i # Sun Aug 18 12:25:40 JST 1996 @@ -997,6 +997,37 @@ eofeof printf "%-40s", "test_data/bug2273"; &test("$nkf -e",$example{'test_data/bug2273'},$example{'test_data/bug2273.ans'}); +# test_data/forum15899 +$example{'test_data/forum15899'} = unpack('u',<<'eofeof'); +I6#H@XX&"XX&$XX&&XX&(XX&*XX&+XX&-XX&/XX&1XX&3XX&5(..!EPH` +eofeof + +$example{'test_data/forum15899.ans'} = unpack('u',<<'eofeof'); +M6#H@/3])4T\M,C`R,BU*4#]"/T=Y4D-*0TEK2D-1;4I#9VM+:5%R2D,P:TQY +=47A*1$UK3E)S;U%I06)*14EK3GAS;U%G/3T_/0H` +eofeof + +printf "%-40s", "test_data/forum15899"; + &test("$nkf -Mj",$example{'test_data/forum15899'},$example{'test_data/forum15899.ans'}); +# test_data/bugs10904 + +$example{'test_data/bugs10904'} = unpack('u',<<'eofeof'); +M4W5B:F5C=#H@Z*FFZ:B3YY2HXX.AXX.\XX.KZ*&HZ:&,(.BIINFHD^>4J..# +MH>.#O..#J^BAJ.FAC"#HJ:;IJ)/GE*CC@Z'C@[SC@ZOHH:CIH8P@Z*FFZ:B3 +3YY2HXX.AXX.\XX.KZ*&HZ:&,"@`` +eofeof + +$example{'test_data/bugs10904.ans'} = unpack('u',<<'eofeof'); +M4W5B:F5C=#H@/3])4T\M,C`R,BU*4#]"/T=Y4D-/,C0T33`Q4DI716A00U9R +?4U0Q0V%H5)#2E=%:%!#5G)35#%#86AS;U%I06)*14DW +?8FIG>E1616Q94T4X2E=T2E!52G%'>6A#24$]/3\]"@`` +M(#T_25-/+3(P,C(M2E`_0C]'>5)#3S(T-$TP,5)*5T5H4$-6