** E-Mail: furukawa@tcp-ip.or.jp
** \e$B$^$G8fO"Mm$r$*4j$$$7$^$9!#\e(B
***********************************************************************/
-/* $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"
}
}
-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);
(*o_base64conv)(0,SPACE);
}
}*/
- mime_lastchar2 = c2;
- mime_lastchar1 = c1;
+ /*mime_lastchar2 = c2;
+ mime_lastchar1 = c1;*/
}
void mime_putc(nkf_char c)
mimeout_buf_count = 0;
i = 0;
if (mimeout_mode) {
- for (;i<j;i++) {
- if (nkf_isspace(mimeout_buf[i]) && base64_count < 71){
- break;
+ if (!nkf_isblank(mimeout_buf[j-1])) {
+ for (;i<j;i++) {
+ if (nkf_isspace(mimeout_buf[i]) && base64_count < 71){
+ break;
+ }
+ mimeout_addchar(mimeout_buf[i]);
}
- mimeout_addchar(mimeout_buf[i]);
- }
- eof_mime();
- for (;i<j;i++) {
- mimeout_addchar(mimeout_buf[i]);
+ eof_mime();
+ for (;i<j;i++) {
+ mimeout_addchar(mimeout_buf[i]);
+ }
+ } else {
+ for (;i<j;i++) {
+ mimeout_addchar(mimeout_buf[i]);
+ }
+ eof_mime();
}
} else {
for (;i<j;i++) {
#
# nkf test program for nkf-2
#
-# $Id: nkf_test.pl,v 1.17 2006/05/01 19:51:31 naruse Exp $
+# $Id: nkf_test.pl,v 1.18 2007/08/30 06:02:28 naruse Exp $
#
# Shinji KONO <kono@ie.u-ryukyu.ac.jp>
# Sun Aug 18 12:25:40 JST 1996
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%H<V]1:4%B2D5)-V)J9WI45D5B2T5)/3\]"@``
+M(#T_25-/+3(P,C(M2E`_0C]'>5)#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<E-4,4-A:'-O
+'46<]/3\]"@``
+eofeof
+
+printf "%-40s", "test_data/bugs10904";
+ &test("$nkf -Mj",$example{'test_data/bugs10904'},$example{'test_data/bugs10904.ans'});
# end