## sv.c PP(pp_vec) { dVAR; dSP; dTARGET; register const IV size = POPi; // register const IV offset = POPi; register const UV offset = POPi; register SV * const src = POPs; ## doop.c UV //Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size) Perl_do_vecget(pTHX_ SV *sv, U32 offset, I32 size) ... void Perl_do_vecset(pTHX_ SV *sv) { dVAR; // register I32 offset, bitoffs = 0; register U32 offset register I32 bitoffs = 0; register I32 size; register unsigned char *s; register UV lval; I32 mask; STRLEN targlen; STRLEN len; SV * const targ = LvTARG(sv); if (!targ) return; s = (unsigned char*)SvPV_force(targ, targlen); if (SvUTF8(targ)) { /* This is handled by the SvPOK_only below... if (!Perl_sv_utf8_downgrade(aTHX_ targ, TRUE)) SvUTF8_off(targ); */ (void) Perl_sv_utf8_downgrade(aTHX_ targ, TRUE); } (void)SvPOK_only(targ); lval = SvUV(sv); offset = LvTARGOFF(sv); // if (offset < 0) // Perl_croak(aTHX_ "Negative offset to vec in lvalue context");