Ticket #19798

16bit版で UTF8 to UTF8 のテストが失敗

Open Date: 2009-12-05 01:51 Last Update: 2009-12-05 14:53

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

2.1.0 のソースから、OpenWatcom 1.8 で DOS と OS/2 1.x 用の 16bit バイナリを作り、(Windows2000 上で)perl test.pl にかけたところ、どちらのバイナリも UTF8 to UTF8 の部分で失敗しました。

ひとまず以下のパッチでテストはパスするようになります。

diff -u nkf-2.1.0-org/nkf.c nkf-2.1.0/nkf.c
--- nkf-2.1.0-org/nkf.c	2009-11-17 09:33:04 +0900
+++ nkf-2.1.0/nkf.c	2009-12-04 21:42:26 +0900
@@ -1028,7 +1028,7 @@
     int shift = 20;
     c &= VALUE_MASK;
     while(shift >= 0){
-	if(c >= 1<<shift){
+	if(c >= NKF_INT32_C(1)<<shift){
 	    while(shift >= 0){
 		(*f)(0, bin2hex(c>>shift));
 		shift -= 4;
@@ -3062,10 +3062,11 @@
 }
 
 static int
-h_conv(FILE *f, int c1, int c2)
+h_conv(FILE *f, nkf_char c1, nkf_char c2)
 {
-    int ret, c4, c3;
+    int ret;
     int hold_index;
+    nkf_char c3, c4;
 
 
     /** it must NOT be in the kanji shifte sequence      */

( NKF_INT32_C(1) のほうは念のため入れました。なくてもテストの結果に影響は出ませんでした)

Ticket History (2/2 Histories)

2009-12-05 01:51 Updated by: sava
  • New Ticket "16bit版で UTF8 to UTF8 のテストが失敗" created
2009-12-05 14:53 Updated by: naruse
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2009-12-05 14:53
Comment

commit 6f44175f456fcfef79552ab2982f84d5afd8d8cd で修正しました。 報告ありがとうございました。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login