From 2d0dc376c426a8ea01d36ef2832355b6198e1465 Mon Sep 17 00:00:00 2001 From: S-H-GAMELINKS Date: Sat, 11 Mar 2023 10:38:42 +0900 Subject: [PATCH] Reuse CVAR_LOOKUP macro --- variable.c | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/variable.c b/variable.c index c0b4625e2e..30b786335e 100644 --- a/variable.c +++ b/variable.c @@ -3624,30 +3624,6 @@ cvar_overtaken(VALUE front, VALUE target, ID id) } } -static VALUE -find_cvar(VALUE klass, VALUE * front, VALUE * target, ID id) -{ - VALUE v = Qundef; - CVAR_ACCESSOR_SHOULD_BE_MAIN_RACTOR(); - if (cvar_lookup_at(klass, id, (&v))) { - if (!*front) { - *front = klass; - } - *target = klass; - } - - for (klass = cvar_front_klass(klass); klass; klass = RCLASS_SUPER(klass)) { - if (cvar_lookup_at(klass, id, (&v))) { - if (!*front) { - *front = klass; - } - *target = klass; - } - } - - return v; -} - #define CVAR_FOREACH_ANCESTORS(klass, v, r) \ for (klass = cvar_front_klass(klass); klass; klass = RCLASS_SUPER(klass)) { \ if (cvar_lookup_at(klass, id, (v))) { \ @@ -3661,6 +3637,20 @@ find_cvar(VALUE klass, VALUE * front, VALUE * target, ID id) CVAR_FOREACH_ANCESTORS(klass, v, r);\ } while(0) +static VALUE +find_cvar(VALUE klass, VALUE * front, VALUE * target, ID id) +{ + VALUE v = Qundef; + CVAR_LOOKUP(&v, { + if (!*front) { + *front = klass; + } + *target = klass; + }); + + return v; +} + static void check_for_cvar_table(VALUE subclass, VALUE key) {