diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-01-05 04:41:21 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-01-05 04:41:21 +0000 |
commit | 56e60da9db31c4b6ec8d6433be9710470daaf34a (patch) | |
tree | ce7e90b3c16ce6246be9850c9b1ea1328992c0e7 /sprintf.c | |
parent | c3f7c758488c87d12a779345c567f1b4b5e910b0 (diff) | |
download | ruby-56e60da9db31c4b6ec8d6433be9710470daaf34a.tar.gz ruby-56e60da9db31c4b6ec8d6433be9710470daaf34a.tar.xz ruby-56e60da9db31c4b6ec8d6433be9710470daaf34a.zip |
20000105
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sprintf.c')
-rw-r--r-- | sprintf.c | 18 |
1 files changed, 8 insertions, 10 deletions
@@ -6,7 +6,7 @@ $Date$ created at: Fri Oct 15 10:39:26 JST 1993 - Copyright (C) 1993-1999 Yukihiro Matsumoto + Copyright (C) 1993-2000 Yukihiro Matsumoto ************************************************/ @@ -111,8 +111,6 @@ remove_sign_bits(str, base) return str; } -double rb_big2dbl _((VALUE)); - #define FNONE 0 #define FSHARP 1 #define FMINUS 2 @@ -178,7 +176,7 @@ rb_f_sprintf(argc, argv) fmt = GETARG(); if (OBJ_TAINTED(fmt)) tainted = 1; - p = str2cstr(fmt, &blen); + p = rb_str2cstr(fmt, &blen); end = p + blen; blen = 0; bsiz = 120; @@ -397,22 +395,22 @@ rb_f_sprintf(argc, argv) bin_retry: switch (TYPE(val)) { - case T_FIXNUM: - v = FIX2LONG(val); - break; case T_FLOAT: val = rb_dbl2big(RFLOAT(val)->value); if (FIXNUM_P(val)) goto bin_retry; bignum = 1; break; case T_STRING: - val = rb_str2inum(RSTRING(val)->ptr, 10); + val = rb_str2inum(val, 0); goto bin_retry; case T_BIGNUM: bignum = 1; break; default: - Check_Type(val, T_FIXNUM); + v = NUM2LONG(val); + break; + case T_FIXNUM: + v = FIX2LONG(val); break; } @@ -616,7 +614,7 @@ rb_f_sprintf(argc, argv) fval = strtod(RSTRING(val)->ptr, 0); break; default: - Check_Type(val, T_FLOAT); + fval = NUM2DBL(val); break; } |