summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2016-11-06 19:09:58 +0000
committerStéphane Glondu <glondu@debian.org>2023-09-02 08:15:41 +0200
commitbcb2462a00b0f8a5373387dacd9b6d1979290eb4 (patch)
treeed2611eb25fdf9d635edef89b5b1e294982fdfb2
parentd35ee4eafa64178137f1689b966024544a8ca69c (diff)
Fix use of CAMLparam etc macros.
This was broken previously, and OCaml 4.04 revealed it. Gbp-Pq: Name 0001-Fix-use-of-CAMLparam-etc-macros.patch
-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