Koji Arai
jca02****@nifty*****
2005年 10月 15日 (土) 00:04:56 JST
新井です。 In message "[Lha-users] Re: [BUG] UPDATE_CRC in lha_macro.h" on 14 Oct 2005 09:05:59 +0900, Koji Arai <jca02****@nifty*****> wrote: > 新井です。 > > In message "[Lha-users] [BUG] UPDATE_CRC in lha_macro.h" > on 14 Oct 2005 03:48:58 +0900, > "OKUMURA N. Shin-ya" <oku.n****@dream*****> wrote: > > おくむら@練馬です。 > > > > lha_macro.h の UPDATE_CRC がマズいように思います。 > > 取り急ぎ、ご報告まで。 > > これは問題ないのではないかと思ってたのですが、実際不具合があ > りました? > 勘違いがありました。gcc-4.0 warning 回避のときにキャストする 変数を間違えてました。 パッチは以下です。 しかし、このようなバグの場合 make check が通ってしまうのは困 りものです。回避するすべがない。crc 計算処理の単体テストを追 加するしかないなあ。 Index: src/lha_macro.h =================================================================== RCS file: /cvsroot/lha/lha/src/lha_macro.h,v retrieving revision 1.47 diff -u -u -r1.47 lha_macro.h --- src/lha_macro.h 25 Sep 2005 14:46:45 -0000 1.47 +++ src/lha_macro.h 14 Oct 2005 15:02:23 -0000 @@ -197,7 +197,7 @@ #define CRCPOLY 0xA001 /* CRC-16 (x^16+x^15+x^2+1) */ #define INITIALIZE_CRC(crc) ((crc) = 0) #define UPDATE_CRC(crc, c) \ - (crctable[((unsigned char)(crc) ^ (c)) & 0xFF] ^ ((unsigned char)(crc) >> CHAR_BIT)) + (crctable[((crc) ^ (unsigned char)(c)) & 0xFF] ^ ((crc) >> CHAR_BIT)) /* dhuf.c */ #define N_CHAR (256 + 60 - THRESHOLD + 1) -- 新井康司 (Koji Arai)