+STATIC const MAGIC *vmg_find(const SV *sv, const SV *wiz) {
+ const MAGIC *mg, *moremagic;
+ IV wid;
+
+ if (SvTYPE(sv) < SVt_PVMG)
+ return NULL;
+
+ wid = vmg_wizard_id(wiz);
+ for (mg = SvMAGIC(sv); mg; mg = moremagic) {
+ moremagic = mg->mg_moremagic;
+ if (mg->mg_type == PERL_MAGIC_ext && mg->mg_private == SIG_WIZ) {
+ IV zid = vmg_wizard_id(mg->mg_ptr);
+ if (zid == wid)
+ return mg;
+ }
+ }
+
+ return NULL;
+}
+