X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-File-KDBX-XS;a=blobdiff_plain;f=XS.xs;h=e6b7b2266137600cb60dc522486e3b9dfd0d5833;hp=251f26996f858a4a64a516ee4f01bba40c83fb19;hb=dd4b4c4ad1d021d3cba6a46291795542cd5def4a;hpb=5ff32563f4289ab5e2dc1bc1f927e0adcca937a5 diff --git a/XS.xs b/XS.xs index 251f269..e6b7b22 100644 --- a/XS.xs +++ b/XS.xs @@ -6,6 +6,20 @@ #include "tomcrypt.h" +MODULE = File::KDBX::XS PACKAGE = File::KDBX::Util + +PROTOTYPES: DISABLE + +SV* +CowREFCNT(SV* sv) + CODE: +#ifdef SV_COW_REFCNT_MAX + if (SvIsCOW(sv)) XSRETURN_IV(0 < SvLEN(sv) ? CowREFCNT(sv) : 0); +#endif + XSRETURN_UNDEF; + OUTPUT: + RETVAL + MODULE = File::KDBX::XS PACKAGE = File::KDBX::KDF::AES PROTOTYPES: DISABLE @@ -31,4 +45,3 @@ _transform_half_xs(const char* key, const char* seed, unsigned int rounds) RETVAL = result; OUTPUT: RETVAL -