summaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-03-01 17:44:00 +0000
committerRichard Jones <rjones@redhat.com>2010-03-01 17:44:00 +0000
commited7b31aa62abd7ffa77f402f3b74cccad369d0a5 (patch)
tree740318b78c3d0a9433863866229be6bc13d26fec /generator
parent22368ef43611a1cdc8975833f21e07ed570669fc (diff)
downloadhivex-ed7b31aa62abd7ffa77f402f3b74cccad369d0a5.tar.gz
hivex-ed7b31aa62abd7ffa77f402f3b74cccad369d0a5.tar.xz
hivex-ed7b31aa62abd7ffa77f402f3b74cccad369d0a5.zip
RHEL 5: Fixes for old version of OCaml in EPEL 5.
Diffstat (limited to 'generator')
-rwxr-xr-xgenerator/generator.ml22
1 files changed, 22 insertions, 0 deletions
diff --git a/generator/generator.ml b/generator/generator.ml
index 1131f54..7728973 100755
--- a/generator/generator.ml
+++ b/generator/generator.ml
@@ -1493,7 +1493,29 @@ and generate_ocaml_c () =
#include <caml/memory.h>
#include <caml/mlvalues.h>
#include <caml/signals.h>
+
+#ifdef HAVE_CAML_UNIXSUPPORT_H
#include <caml/unixsupport.h>
+#else
+extern value unix_error_of_code (int errcode);
+#endif
+
+#ifndef HAVE_CAML_RAISE_WITH_ARGS
+static void
+caml_raise_with_args (value tag, int nargs, value args[])
+{
+ CAMLparam1 (tag);
+ CAMLxparamN (args, nargs);
+ value bucket;
+ int i;
+
+ bucket = caml_alloc_small (1 + nargs, 0);
+ Field(bucket, 0) = tag;
+ for (i = 0; i < nargs; i++) Field(bucket, 1 + i) = args[i];
+ caml_raise(bucket);
+ CAMLnoreturn;
+}
+#endif
#include <hivex.h>