From a67eff0ae908a81dfea913d51265833f039abba5 Mon Sep 17 00:00:00 2001 From: Mike Romberg Date: Mon, 3 Jul 2017 20:55:40 -0600 Subject: [PATCH] remove bool from shared_ptr as well. --- Lib/ruby/std_shared_ptr.i | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Lib/ruby/std_shared_ptr.i b/Lib/ruby/std_shared_ptr.i index f2b05ef36..9742230cc 100644 --- a/Lib/ruby/std_shared_ptr.i +++ b/Lib/ruby/std_shared_ptr.i @@ -80,35 +80,35 @@ namespace swig { template struct traits_as, pointer_category> { - static std::shared_ptr as(VALUE obj, bool throw_error) { + static std::shared_ptr as(VALUE obj) { std::shared_ptr ret; std::shared_ptr *v = &ret; int res = traits_asptr >::asptr(obj, &v); if (SWIG_IsOK(res)) { return ret; } else { - if (throw_error) throw std::invalid_argument("bad type"); + VALUE lastErr = rb_gv_get("$!"); if (lastErr == Qnil) SWIG_Error(SWIG_TypeError, swig::type_name >()); - return std::shared_ptr(); + throw std::invalid_argument("bad type"); } } }; template struct traits_as *, pointer_category> { - static std::shared_ptr * as(VALUE obj, bool throw_error) { + static std::shared_ptr * as(VALUE obj) { std::shared_ptr *p = 0; int res = traits_asptr >::asptr(obj, &p); if (SWIG_IsOK(res)) { return p; } else { - if (throw_error) throw std::invalid_argument("bad type"); + VALUE lastErr = rb_gv_get("$!"); if (lastErr == Qnil) SWIG_Error(SWIG_TypeError, swig::type_name *>()); - return 0; + throw std::invalid_argument("bad type"); } } };