X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xs-src%2FMouseTypeConstraints.xs;h=08df0e8b0710c6dc34cd3b01a253a70a43e58335;hb=31113a4a9ce776118909d8a019af3e784d21d909;hp=fb3ab4e405f28e3ee5bc0b6d97caab6ab1808f8f;hpb=bcf612a890fffe45537748b18a0ce6f881a028ea;p=gitmo%2FMouse.git diff --git a/xs-src/MouseTypeConstraints.xs b/xs-src/MouseTypeConstraints.xs index fb3ab4e..08df0e8 100644 --- a/xs-src/MouseTypeConstraints.xs +++ b/xs-src/MouseTypeConstraints.xs @@ -44,7 +44,7 @@ mouse_tc_check(pTHX_ SV* const tc_code, SV* const sv) { call_sv(tc_code, G_SCALAR); SPAGAIN; - ok = SvTRUEx(POPs); + ok = sv_true(POPs); PUTBACK; FREETMPS; @@ -69,7 +69,7 @@ int mouse_tc_Bool(pTHX_ SV* const data PERL_UNUSED_DECL, SV* const sv) { assert(sv); - if(SvTRUE(sv)){ + if(sv_true(sv)){ if(SvIOKp(sv)){ return SvIVX(sv) == 1; } @@ -409,9 +409,7 @@ mouse_is_an_instance_of(pTHX_ HV* const stash, SV* const instance){ call_sv((SV*)instance_isa, G_SCALAR); SPAGAIN; - - retval = SvTRUEx(POPs); - + retval = sv_true(POPs); PUTBACK; FREETMPS; @@ -462,8 +460,7 @@ mouse_can_methods(pTHX_ AV* const methods, SV* const instance){ call_method("can", G_SCALAR); SPAGAIN; - ok = SvTRUE(TOPs); - (void)POPs; + ok = sv_true(POPs); PUTBACK; FREETMPS; @@ -491,7 +488,7 @@ mouse_tc_generate(pTHX_ const char* const name, check_fptr_t const fptr, SV* con param, /* mg_obj: refcnt will be increased */ PERL_MAGIC_ext, &mouse_util_type_constraints_vtbl, - (void*)fptr, /* mg_ptr */ + (char*)fptr, /* mg_ptr */ 0 /* mg_len: 0 for static data */ ); @@ -507,18 +504,18 @@ mouse_generate_isa_predicate_for(pTHX_ SV* const klass, const char* const predic STRLEN klass_len; const char* klass_pv = SvPV_const(klass, klass_len); SV* param; - void* fptr; + check_fptr_t fptr; klass_pv = mouse_canonicalize_package_name(klass_pv); if(strNE(klass_pv, "UNIVERSAL")){ param = (SV*)gv_stashpvn(klass_pv, klass_len, GV_ADD); - fptr = (void*)mouse_is_an_instance_of; + fptr = (check_fptr_t)mouse_is_an_instance_of; } else{ param = NULL; - fptr = (void*)mouse_is_an_instance_of_universal; + fptr = (check_fptr_t)mouse_is_an_instance_of_universal; } return mouse_tc_generate(aTHX_ predicate_name, fptr, param);