ports/133738: fix some bugs in japanese/nkf
Tsurutani Naoki
turutani at scphys.kyoto-u.ac.jp
Wed Apr 15 03:10:02 UTC 2009
>Number: 133738
>Category: ports
>Synopsis: fix some bugs in japanese/nkf
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Apr 15 03:10:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Tsurutani Naoki
>Release: FreeBSD 7.1-STABLE i386
>Organization:
>Environment:
System: FreeBSD h120.65.226.10.32118.vlan.kuins.net 7.1-STABLE FreeBSD 7.1-STABLE #17: Wed Jan 7 11:14:01 JST 2009 turutani at h120.65.226.10.32118.vlan.kuins.net:/usr/local/work/usr/obj/usr/src/sys/POLYMER i386
>Description:
japanese/nkf and japanese/p5-nkf contains some bugs arround UTF-16 etc.
>How-To-Repeat:
>Fix:
some fixes are already incorporated into original git tree.
here is a patch, which should be saved as japanese/nkf/files/patch-209fix:
diff -urBbN nkf-2.0.9/nkf.c nkf.cur/nkf.c
--- ./nkf.c.orig 2009-01-20 18:49:31.000000000 +0900
+++ ./nkf.c 2009-02-21 15:51:20.000000000 +0900
@@ -21,7 +21,7 @@
* 3. This notice may not be removed or altered from any source distribution.
*/
#define NKF_VERSION "2.0.9"
-#define NKF_RELEASE_DATE "2009-01-20"
+#define NKF_RELEASE_DATE "2009-02-21"
#define COPY_RIGHT \
"Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).\n" \
"Copyright (C) 1996-2009, The nkf Project."
@@ -468,6 +468,8 @@
{"Shift_JIS", 0, 0, 0, {0, 0, 0}, s_status, s_iconv, 0},
#ifdef UTF8_INPUT_ENABLE
{"UTF-8", 0, 0, 0, {0, 0, 0}, w_status, w_iconv, 0},
+ {"UTF-16", 0, 0, 0, {0, 0, 0}, NULL, w_iconv16, 0},
+ {"UTF-32", 0, 0, 0, {0, 0, 0}, NULL, w_iconv32, 0},
#endif
{0}
};
@@ -1426,6 +1428,7 @@
output_endian = ENDIAN_LITTLE;
output_bom_f = TRUE;
break;
+ case UTF_32:
case UTF_32BE_BOM:
output_bom_f = TRUE;
break;
@@ -6159,9 +6162,6 @@
output_endian = ENDIAN_LITTLE;
} else if (cp[0] == 'B') {
cp++;
- } else {
- output_encoding = nkf_enc_from_index(enc_idx);
- continue;
}
if (cp[0] == '0'){
cp++;
@@ -6232,6 +6232,7 @@
while ('0'<= *cp && *cp <='9') {
alpha_f |= 1 << (*cp++ - '0');
}
+ if (alpha_f & ((1 << 2) | (1 << 3))) alpha_f |= 1;
if (!alpha_f) alpha_f = 1;
continue;
case 'x': /* Convert X0201 kana to X0208 or X0201 Conversion */
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list