Sereal-Encoder
view release on metacpan or search on metacpan
RETVAL = enc->flags;
OUTPUT: RETVAL
void
encode_sereal(src, opt = NULL)
SV *src;
HV *opt;
PREINIT:
srl_encoder_t *enc;
dMY_CXT;
PPCODE:
enc = srl_build_encoder_struct(aTHX_ opt, MY_CXT.options);
assert(enc != NULL);
/* Avoid copy by stealing string buffer if it is not too large.
* This makes sense in the functional interface since the string
* buffer isn't ever going to be reused. */
ST(0) = srl_dump_data_structure_mortal_sv(aTHX_ enc, src, NULL, SRL_ENC_SV_REUSE_MAYBE);
XSRETURN(1);
void
encode_sereal_with_header_data(src, hdr_user_data_src, opt = NULL)
SV *src;
SV *hdr_user_data_src;
HV *opt;
PREINIT:
srl_encoder_t *enc;
dMY_CXT;
PPCODE:
if (!SvOK(hdr_user_data_src))
hdr_user_data_src = NULL;
enc = srl_build_encoder_struct(aTHX_ opt, MY_CXT.options);
assert(enc != NULL);
/* Avoid copy by stealing string buffer if it is not too large.
* This makes sense in the functional interface since the string
* buffer isn't ever going to be reused. */
ST(0) = srl_dump_data_structure_mortal_sv(aTHX_ enc, src, hdr_user_data_src, SRL_ENC_SV_REUSE_MAYBE);
XSRETURN(1);
( run in 0.460 second using v1.01-cache-2.11-cpan-5511b514fd6 )