summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--perl_c.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/perl_c.c b/perl_c.c
index 66f2959..ce53667 100644
--- a/perl_c.c
+++ b/perl_c.c
@@ -719,11 +719,13 @@ perl4caml_get_hv (value optcreate, value name)
static inline void
check_perl_failure ()
{
+ CAMLparam0 ();
+ CAMLlocal1 (errv);
+
SV *errsv = get_sv ("@", TRUE);
if (SvTRUE (errsv)) /* Equivalent of $@ in Perl. */
{
- CAMLlocal1 (errv);
STRLEN n_a;
const char *err = SvPV (errsv, n_a);
@@ -731,6 +733,8 @@ check_perl_failure ()
caml_raise_with_arg (*caml_named_value ("perl4caml_perl_failure"), errv);
}
+
+ CAMLreturn0;
}
CAMLprim value