diff --git a/ChangeLog b/ChangeLog index 933ecf12b0..ab50b6c05f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ -Wed Oct 13 00:03:46 2010 Nobuyoshi Nakada +Wed Oct 13 00:18:18 2010 Nobuyoshi Nakada + + * st.c (MurmurMagic): get rid of literal overflow. * configure.in (RUBY_CHECK_PRINTF_PREFIX): check for printf format specifier if possible. diff --git a/st.c b/st.c index ec518e936a..11e3b5d71a 100644 --- a/st.c +++ b/st.c @@ -1003,13 +1003,15 @@ strhash(st_data_t arg) #define MURMUR 2 #endif +#define MurmurMagic_1 (st_index_t)0xc6a4a793 +#define MurmurMagic_2 (st_index_t)0x5bd1e995 #if MURMUR == 1 -#define MurmurMagic 0xc6a4a793 +#define MurmurMagic MurmurMagic_1 #elif MURMUR == 2 #if SIZEOF_ST_INDEX_T > 4 -#define MurmurMagic 0xc6a4a7935bd1e995 +#define MurmurMagic ((MurmurMagic_1 << 32) | MurmurMagic_2) #else -#define MurmurMagic 0x5bd1e995 +#define MurmurMagic MurmurMagic_2 #endif #endif