From de7161526014b781468cea5d84411e23be945f79 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 5 Jan 2000 04:41:21 +0000 Subject: 20000105 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- sprintf.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'sprintf.c') diff --git a/sprintf.c b/sprintf.c index 5badb61f71..a428e0483e 100644 --- a/sprintf.c +++ b/sprintf.c @@ -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; } -- cgit v1.2.3