diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-31 03:15:33 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-31 03:15:33 +0000 |
commit | 134ded84eac986fb0a89b34f59a851dfe08f58c9 (patch) | |
tree | 7d2c78d56467677cf1787452c3e630229c9bf4bb /random.c | |
parent | aefab444d76a0baf9205299762a054bf3c51447c (diff) | |
download | ruby-134ded84eac986fb0a89b34f59a851dfe08f58c9.tar.gz ruby-134ded84eac986fb0a89b34f59a851dfe08f58c9.tar.xz ruby-134ded84eac986fb0a89b34f59a851dfe08f58c9.zip |
* parse.y (yylex): remove EXPR_CMDARG according to the RHG book.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'random.c')
-rw-r--r-- | random.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -214,6 +214,8 @@ rb_f_rand(argc, argv, obj) } vmax = rb_dbl2big(RFLOAT(vmax)->value); /* fall through */ + case T_BIGNUM: + bignum: { long len = RBIGNUM(vmax)->len; double *buf = ALLOCA_N(double, len); @@ -227,6 +229,9 @@ rb_f_rand(argc, argv, obj) max = 0; break; default: + vmax = rb_Integer(vmax); + if (TYPE(vmax) == T_BIGNUM) goto bignum: + case T_FIXNUM: max = NUM2LONG(vmax); break; } |