BSON-XS
view release on metacpan or search on metacpan
PREINIT:
char * data;
bson_t bson;
bson_iter_t iter;
size_t error_offset;
STRLEN length;
HV *opts;
uint32_t invalid_type;
const char *invalid_key;
PPCODE:
data = SvPV(msg, length);
opts = NULL;
if ( options ) {
if ( SvROK(options) && SvTYPE(SvRV(options)) == SVt_PVHV ) {
opts = (HV *) SvRV(options);
}
else {
croak("options must be a reference to a hash");
}
XPUSHs(sv_2mortal(bson_doc_to_hashref(&iter, opts, 0, TRUE)));
void
_encode_bson(doc, options)
SV *doc
SV *options
PREINIT:
bson_t * bson;
HV *opts;
PPCODE:
opts = NULL;
bson = bson_new();
if ( options ) {
if ( SvROK(options) && SvTYPE(SvRV(options)) == SVt_PVHV ) {
opts = (HV *) SvRV(options);
}
else {
croak("options must be a reference to a hash");
}
}
( run in 1.496 second using v1.01-cache-2.11-cpan-71847e10f99 )