From 78d3813c74c3dd37eb3a7d5fa2fb096566c0b290 Mon Sep 17 00:00:00 2001 From: Kenta Murata Date: Tue, 12 Jan 2021 09:19:14 +0900 Subject: [PATCH] [ruby/bigdecimal] Add rb_cstr_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/ac230a996e --- ext/bigdecimal/bigdecimal.c | 10 ++++++++-- 1 file 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) {