From d167cfd196c410cbab11e1c3b8cce14297e4a085 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 7 Oct 2009 07:06:32 +0000 Subject: * include/ruby/ruby.h (rb_long2int): evalates the argument only once. * struct.c (rb_struct_alloc): check array length overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/ruby.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 8fc1eb0f03..33a35ce435 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -653,7 +653,7 @@ NORETURN(void rb_out_of_int(SIGNED_VALUE num)); int i = (int)(n); \ if ((long)i != (n)) rb_out_of_int(n) #ifdef __GNUC__ -#define rb_long2int(i2l_n) __extension__ ({rb_long2int_internal(i2l_n, i2l_i); i2l_i;}) +#define rb_long2int(n) __extension__ ({long i2l_n = (n); rb_long2int_internal(i2l_n, i2l_i); i2l_i;}) #else static inline int rb_long2int(long n) {rb_long2int_internal(n, i); return i;} -- cgit v1.2.3