/* Interface to Perl from OCaml.
* Copyright (C) 2003 Merjis Ltd.
- * $Id: perl_c.c,v 1.9 2003-10-26 11:22:38 rich Exp $
+ * $Id: perl_c.c,v 1.12 2003-11-19 16:28:22 rich Exp $
*/
#include <stdio.h>
*/
#define off64_t __off64_t
+/* XXX This is required by Perl >= 5.8.2. */
+#define __USE_GNU
+#include <crypt.h>
+
#include <EXTERN.h>
#include <perl.h>
}
CAMLprim value
-perl4caml_sv_is_undef (value svv)
-{
- CAMLparam1 (svv);
- SV *sv = Sv_val (svv);
- CAMLreturn (SvLEN (sv) == 0 ? Val_true : Val_false);
-}
-
-CAMLprim value
perl4caml_sv_undef (value unit)
{
CAMLparam1 (unit);
else if (optfnname != Val_int (0))
{
fnname = unoption (optfnname, Val_false);
- count = call_pv (String_val (fnname), G_EVAL|G_VOID);
+ count = call_pv (String_val (fnname), G_EVAL|G_VOID|G_DISCARD);
}
else
{
SPAGAIN;
- assert (count == 0); /* Pretty sure it should never be anything else. */
+ assert (count == 0);
/* Restore the stack. */
PUTBACK;
PUTBACK;
- count = call_method (String_val (name), G_EVAL|G_VOID);
+ count = call_method (String_val (name), G_EVAL|G_VOID|G_DISCARD);
SPAGAIN;
- assert (count == 0); /* Pretty sure it should never be anything else. */
+ assert (count == 0);
/* Restore the stack. */
PUTBACK;
PUTBACK;
- count = call_method (String_val (name), G_EVAL|G_VOID);
+ count = call_method (String_val (name), G_EVAL|G_VOID|G_DISCARD);
SPAGAIN;
- assert (count == 0); /* Pretty sure it should never be anything else. */
+ assert (count == 0);
/* Restore the stack. */
PUTBACK;