X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=XS.xs;h=48f3077be972f7cb20ae84028f74780d6e74c51b;hb=refs%2Fheads%2Fmaster;hp=4d0e6e64d193bce2e0410488796b77a219b3a7e8;hpb=8ad7b1d2198ad3bb973655d3626fd56cb5db3072;p=chaz%2Fp5-File-KDBX-XS diff --git a/XS.xs b/XS.xs index 4d0e6e6..48f3077 100644 --- a/XS.xs +++ b/XS.xs @@ -6,10 +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; @@ -29,4 +41,3 @@ _transform_half_xs(const char* key, const char* seed, unsigned int rounds) RETVAL = result; OUTPUT: RETVAL -