Wao <w...@mail.ru> writes: > +Datum > +bool_to_plperl(PG_FUNCTION_ARGS) > +{ > + dTHX; > + bool in = PG_GETARG_BOOL(0); > + SV *sv = newSVnv(SvNV(in ? &PL_sv_yes : &PL_sv_no)); > + return PointerGetDatum(sv); > +}
Why is this only copying the floating point part of the built-in booleans before returning them? I think this should just return &PL_sv_yes or &PL_sv_no directly, like boolean expressions in Perl do, and like what happens for NULL (&PL_sv_undef). - ilmari -- "A disappointingly low fraction of the human race is, at any given time, on fire." - Stig Sandbeck Mathisen