From ac3c2866c74a703d5208a9001606ac4738daadbd Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 7 Jul 2009 07:54:28 +0000 Subject: * error.c (rb_typed_struct_is_kind_of): new function to see if the given typed struct. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- error.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'error.c') diff --git a/error.c b/error.c index 04ea58de11..537b1742fd 100644 --- a/error.c +++ b/error.c @@ -316,6 +316,16 @@ rb_check_type(VALUE x, int t) } } +int +rb_typed_struct_is_kind_of(VALUE obj, const rb_data_type_t *data_type) +{ + if (SPECIAL_CONST_P(obj) || BUILTIN_TYPE(obj) != T_DATA || + !RTYPEDDATA_P(obj) || RTYPEDDATA_TYPE(obj) != data_type) { + return 0; + } + return 1; +} + void * rb_check_typed_struct(VALUE obj, const rb_data_type_t *data_type) { -- cgit v1.2.3