X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=XS.xs;h=48f3077be972f7cb20ae84028f74780d6e74c51b;hb=273199811f204c7175186ddc9f935e764b0b8c06;hp=251f26996f858a4a64a516ee4f01bba40c83fb19;hpb=2647f74956d1c8deb4c93996fd39477fc1341fdd;p=chaz%2Fp5-File-KDBX-XS diff --git a/XS.xs b/XS.xs index 251f269..48f3077 100644 --- a/XS.xs +++ b/XS.xs @@ -6,12 +6,22 @@ #include "tomcrypt.h" -MODULE = File::KDBX::XS PACKAGE = File::KDBX::KDF::AES +MODULE = File::KDBX::XS PACKAGE = File::KDBX::XS PROTOTYPES: DISABLE SV* -_transform_half_xs(const char* key, const char* seed, unsigned int rounds) +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 + +SV* +kdf_aes_transform_half(const char* key, const char* seed, unsigned int rounds) CODE: symmetric_key skey; @@ -31,4 +41,3 @@ _transform_half_xs(const char* key, const char* seed, unsigned int rounds) RETVAL = result; OUTPUT: RETVAL -