void _24to32( SV* packed ) { IS_VARS; char *pp = SvPVX( packed ); _4BY6 up; int i; IS_RESET; for( i=0; i<24; i+=3 ) { up.packed = _byteswap_ulong( *(unsigned long*)&pp[ i ] ); IS_PUSHUV( up.u.a ); IS_PUSHUV( up.u.b ); IS_PUSHUV( up.u.c ); IS_PUSHUV( up.u.d ); } IS_DONE; return; } #### void XS_main__24to32(register PerlInterpreter* my_perl , CV* cv); void XS_main__24to32(register PerlInterpreter* my_perl , CV* cv) { extern int Perl___notused ; SV **sp = (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))); I32 ax = (*(*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context())))--); register SV **mark = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context()))) + ax++; I32 items = (I32)(sp - mark); #line 179 "_24to32.c" if (items != 1) Perl_croak_xs_usage(((PerlInterpreter *)Perl_get_context()), cv,"packed"); ((void)ax); sp -= items; { SV * packed = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context())))[ax + (0)]; #line 117 "_24to32.xs" I32* temp; #line 188 "_24to32.c" #line 119 "_24to32.xs" temp = (*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context())))++; _24to32(packed); if ((*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context()))) != temp) { (*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context()))) = temp; do { do { const IV tmpXSoff = (0); (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))) = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context()))) + ax + (tmpXSoff - 1); return; } while (0); } while (0); } return; #line 199 "_24to32.c" (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))) = sp; return; } } #### void _24to32( SV* packed ) { SV **sp = (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))); I32 ax = (*(*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context())))--); register SV **mark = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context()))) + ax++; I32 items = (I32)(sp - mark); char *pp = ((packed)->sv_u.svu_pv); _4BY6 up; int i; sp = mark; for( i=0; i<24; i+=3 ) { up.packed = _byteswap_ulong( *(unsigned long*)&pp[ i ] ); do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.a)))); } while (0); do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.b)))); } while (0); do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.c)))); } while (0); do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.d)))); } while (0); } (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))) = sp; return; }