From c8a7361e45e3a149b970ae9cd74cbbcfbfd1d501 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 31 Jul 2001 06:24:45 +0000 Subject: * marshal.c (Init_marshal): new constant Marshal::MAJOR_VERSION and Marshal::MINOR_VERSION. * marshal.c (marshal_load): ruby_verbose test should be wrapped by RTEST(). * hash.c (rb_hash_index): should return nil (not the default value) if value is not in the hash. * numeric.c (num_div): new method added. alias to '/' which should be preserved even if '/' is redefined (e.g. by mathn). [new] * bignum.c (rb_cstr2inum): "0 ff".hex should return 0, not 255. * file.c (rb_file_s_expand_path): fixed using CharNext(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bignum.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bignum.c') diff --git a/bignum.c b/bignum.c index 4100d409c4..1bcd62c7e9 100644 --- a/bignum.c +++ b/bignum.c @@ -239,10 +239,14 @@ rb_cstr2inum(str, base) if (base == 16 && str[0] == '0' && (str[1] == 'x'||str[1] == 'X')) { str += 2; } - if (base == 2 && str[0] == '0' && (str[1] == 'b'||str[1] == 'B')) { + else if (base == 2 && str[0] == '0' && (str[1] == 'b'||str[1] == 'B')) { str += 2; } while (*str && *str == '0') str++; + if (ISSPACE(*str)) { + if (badcheck) goto bad; + return INT2FIX(0); + } if (!*str) str--; len = 4*strlen(str)*sizeof(char); } -- cgit v1.2.3