More wrapping paper.
[perl4caml.git] / perl_c.c
index f11a2b5..4241534 100644 (file)
--- a/perl_c.c
+++ b/perl_c.c
@@ -1,6 +1,6 @@
 /* Interface to Perl from OCaml.
  * Copyright (C) 2003 Merjis Ltd.
- * $Id: perl_c.c,v 1.16 2004-11-03 14:15:18 rich Exp $
+ * $Id: perl_c.c,v 1.17 2004-11-25 22:16:17 rich Exp $
  */
 
 #include <stdio.h>
@@ -158,7 +158,17 @@ CAMLprim value
 perl4caml_sv_undef (value unit)
 {
   CAMLparam1 (unit);
-  CAMLreturn (Val_sv (newSV (0)));
+  /*CAMLreturn (Val_sv (newSV (0)));*/
+  CAMLreturn (Val_sv (&PL_sv_undef));
+}
+
+CAMLprim value
+perl4caml_sv_is_undef (value svv)
+{
+  CAMLparam1 (svv);
+  SV *sv = Sv_val (svv);
+  CAMLreturn (!SvPOK (sv) && !SvIOK (sv) && SvTYPE (sv) == SVt_NULL
+             ? Val_true : Val_false);
 }
 
 CAMLprim value