Fix generation of po/POTFILES.in.
[hivex.git] / generator / generator.ml
index 1131f54..230b66b 100755 (executable)
@@ -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>
 
@@ -1901,7 +1923,7 @@ XSLoader::load ('Win::Hivex');
 
 =item open
 
- $h = Win::Hivex::open ($filename,";
+ $h = Win::Hivex->open ($filename,";
 
   List.iter (
     fun (_, flag, _) ->
@@ -2393,7 +2415,7 @@ DESTROY (h)
             pr "      size_t len;\n";
             pr "      hive_type type;\n";
             pr " PPCODE:\n";
-             pr "      r = hivex_%s (%s, &len, &type);\n"
+             pr "      r = hivex_%s (%s, &type, &len);\n"
               name (String.concat ", " c_params);
             free_args ();
              pr "      if (r == -1)\n";
@@ -2409,7 +2431,7 @@ DESTROY (h)
             pr "      size_t len;\n";
             pr "      hive_type type;\n";
             pr " PPCODE:\n";
-             pr "      r = hivex_%s (%s, &len, &type);\n"
+             pr "      r = hivex_%s (%s, &type, &len);\n"
               name (String.concat ", " c_params);
             free_args ();
              pr "      if (r == NULL)\n";