[Lha-users] Re: [BUG] UPDATE_CRC in lha_macro.h

Back to archive index

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)



Lha-users メーリングリストの案内
Back to archive index