restore_magic(aTHXo_ (void*)mgs_ix);
restore_magic(aTHXo_ (void*)(intptr_t)mgs_ix);
Perl_mg_length(pTHX_ SV *sv){    MAGIC* mg;    char *junk;    STRLEN len;    for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {	MGVTBL* vtbl = mg->mg_virtual;	if (vtbl && vtbl->svt_len) {            I32 mgs_ix;	    mgs_ix = SSNEW(sizeof(MGS));	    save_magic(mgs_ix, sv);	    /* omit MGf_GSKIP -- not changed here */	    len = CALL_FPTR(vtbl->svt_len)(aTHX_ sv, mg);	    restore_magic(aTHXo_ (void*)mgs_ix);	    return len;	}    }    junk = SvPV(sv, len);    return len;}