ruby-changes:7584
From: usa <ko1@a...>
Date: Thu, 4 Sep 2008 01:02:55 +0900 (JST)
Subject: [ruby-changes:7584] Ruby:r19105 (trunk): * transcode.c (transcode_restartable0): avoid VC++6's bug.
usa 2008-09-04 01:02:10 +0900 (Thu, 04 Sep 2008) New Revision: 19105 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19105 Log: * transcode.c (transcode_restartable0): avoid VC++6's bug. Modified files: trunk/ChangeLog trunk/transcode.c Index: ChangeLog =================================================================== --- ChangeLog (revision 19104) +++ ChangeLog (revision 19105) @@ -1,3 +1,7 @@ +Thu Sep 4 01:00:57 2008 NAKAMURA Usaku <usa@r...> + + * transcode.c (transcode_restartable0): avoid VC++6's bug. + Thu Sep 4 00:26:27 2008 NAKAMURA Usaku <usa@r...> * io.c (make_writeconv): follow akr's previous commit. Index: transcode.c =================================================================== --- transcode.c (revision 19104) +++ transcode.c (revision 19105) @@ -535,19 +535,19 @@ #define BYTE_ADDR(index) (tr->byte_array + (index)) #define WORD_ADDR(index) (tr->word_array + INFO2WORDINDEX(index)) -#define BL_BASE(bl) BYTE_ADDR(BYTE_LOOKUP_BASE(WORD_ADDR(bl))) -#define BL_INFO(bl) WORD_ADDR(BYTE_LOOKUP_INFO(WORD_ADDR(bl))) -#define BL_MIN_BYTE(bl) (BL_BASE(bl)[0]) -#define BL_MAX_BYTE(bl) (BL_BASE(bl)[1]) -#define BL_OFFSET(bl, byte) (BL_BASE(bl)[2+(byte)-BL_MIN_BYTE(bl)]) -#define BL_ACTION(bl, byte) (BL_INFO(bl)[BL_OFFSET(bl, (byte))]) +#define BL_BASE BYTE_ADDR(BYTE_LOOKUP_BASE(WORD_ADDR(next_table))) +#define BL_INFO WORD_ADDR(BYTE_LOOKUP_INFO(WORD_ADDR(next_table))) +#define BL_MIN_BYTE (BL_BASE[0]) +#define BL_MAX_BYTE (BL_BASE[1]) +#define BL_OFFSET(byte) (BL_BASE[2+(byte)-BL_MIN_BYTE]) +#define BL_ACTION(byte) (BL_INFO[BL_OFFSET((byte))]) next_byte = (unsigned char)*in_p++; follow_byte: - if (next_byte < BL_MIN_BYTE(next_table) || BL_MAX_BYTE(next_table) < next_byte) + if (next_byte < BL_MIN_BYTE || BL_MAX_BYTE < next_byte) next_info = INVALID; else { - next_info = (VALUE)BL_ACTION(next_table, next_byte); + next_info = (VALUE)BL_ACTION(next_byte); } follow_info: switch (next_info & 0x1F) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/