summaryrefslogtreecommitdiff
path: root/memory_view.c
diff options
context:
space:
mode:
Diffstat (limited to 'memory_view.c')
-rw-r--r--memory_view.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/memory_view.c b/memory_view.c
index e45cbeb796..6d75b9de1b 100644
--- a/memory_view.c
+++ b/memory_view.c
@@ -7,6 +7,7 @@
**********************************************************************/
#include "internal.h"
+#include "internal/variable.h"
#include "internal/util.h"
#include "ruby/memory_view.h"
@@ -31,7 +32,7 @@ static const rb_data_type_t memory_view_entry_data_type = {
bool
rb_memory_view_register(VALUE klass, const rb_memory_view_entry_t *entry) {
Check_Type(klass, T_CLASS);
- VALUE entry_obj = rb_ivar_get(klass, id_memory_view);
+ VALUE entry_obj = rb_ivar_lookup(klass, id_memory_view, Qnil);
if (! NIL_P(entry_obj)) {
rb_warning("Duplicated registration of memory view to %"PRIsVALUE, klass);
return 0;
@@ -447,14 +448,14 @@ rb_memory_view_get_item_pointer(rb_memory_view_t *view, const ssize_t *indices)
static const rb_memory_view_entry_t *
lookup_memory_view_entry(VALUE klass)
{
- VALUE entry_obj = rb_ivar_get(klass, id_memory_view);
+ VALUE entry_obj = rb_ivar_lookup(klass, id_memory_view, Qnil);
while (NIL_P(entry_obj)) {
klass = rb_class_get_superclass(klass);
if (klass == rb_cBasicObject || klass == rb_cObject)
return NULL;
- entry_obj = rb_ivar_get(klass, id_memory_view);
+ entry_obj = rb_ivar_lookup(klass, id_memory_view, Qnil);
}
if (! rb_typeddata_is_kind_of(entry_obj, &memory_view_entry_data_type))