diff options
author | Kenta Murata <mrkn@mrkn.jp> | 2021-01-12 09:19:14 +0900 |
---|---|---|
committer | Kenta Murata <mrkn@mrkn.jp> | 2021-01-12 09:21:58 +0900 |
commit | 78d3813c74c3dd37eb3a7d5fa2fb096566c0b290 (patch) | |
tree | 67c6bf6913c3065b263b35721ce2dc1f11d7992d /ext | |
parent | 66a844fd07ca0fd652a20a1973ea242422d4ae6d (diff) | |
download | ruby-78d3813c74c3dd37eb3a7d5fa2fb096566c0b290.tar.gz |
[ruby/bigdecimal] Add rb_cstr_convert_to_BigDecimal
https://github.com/ruby/bigdecimal/commit/ac230a996e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/bigdecimal/bigdecimal.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index 3432aa2ecb..02879a952a 100644 --- a/ext/bigdecimal/bigdecimal.c +++ b/ext/bigdecimal/bigdecimal.c @@ -2839,18 +2839,24 @@ rb_rational_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) } static VALUE -rb_str_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) +rb_cstr_convert_to_BigDecimal(const char *c_str, size_t digs, int raise_exception) { if (digs == SIZE_MAX) digs = 0; - const char *c_str = StringValueCStr(val); Real *vp = VpCreateRbObject(digs, c_str, raise_exception); if (!vp) return Qnil; return VpCheckGetValue(vp); } +static inline VALUE +rb_str_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) +{ + const char *c_str = StringValueCStr(val); + return rb_cstr_convert_to_BigDecimal(c_str, digs, raise_exception); +} + static VALUE rb_convert_to_BigDecimal(VALUE val, size_t digs, int raise_exception) { |