Could be a rounding issue. What happens if you try this instead:?

  eval_pv((safe_version <= 2.08 ? safe_bad : safe_ok), FALSE);

Alternatively, what happens if we make safe_version a double rather than a float?

(If nothing else works we might have to fall back on a lexical comparison)

cheers

andrew

Mark Kirkwood wrote:

It seems that the check in src/pl/plperl/plperl.c

 eval_pv((safe_version < 2.09 ? safe_bad : safe_ok), FALSE);

is not working quite as expected (CVS HEAD from today):

I have Safe.pm at version 2.09, yet any plperl function I run fails with :

ERROR: error from function: trusted perl functions disabled - please upgrade perl Safe module to at least 2.09 at (eval 4) line 1.

Just to be sure I amended the test code to :

 elog(INFO, "Safe version = %f", safe_version);
 eval_pv((safe_version < 2.09 ? safe_bad : safe_ok), FALSE);

and I see :

INFO:  Safe version = 2.090000

(Followed by the error)

I confess some puzzlement - as the code *looks* like it should work!
The platform is Linux 2.4.22 glibc 2.3.2, perl 5.8.0 (Patched Redhat 9)

regards

Mark







---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
     subscribe-nomail command to [EMAIL PROTECTED] so that your
     message can get through to the mailing list cleanly


---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to