/* Raise an Augeas.Error exception. */
static void
-raise_error (const char *msg)
+raise_error (augeas_t t, const char *msg)
{
caml_raise_with_string (*caml_named_value ("Augeas.Error"), msg);
}
} else if (r == 0) /* Return None */
optv = Val_int (0);
else if (r == -1) /* Error or multiple matches */
- raise_error ("Augeas.get");
+ raise_error (t, "Augeas.get");
else
failwith ("Augeas.get: bad return value");
else if (r == 0) /* Return false */
v = Val_int (0);
else if (r == -1) /* Error or multiple matches */
- raise_error ("Augeas.exists");
+ raise_error (t, "Augeas.exists");
else
failwith ("Augeas.exists: bad return value");
before = beforev == Val_int (0) ? 0 : Int_val (Field (beforev, 0));
if (aug_insert (t, path, label, before) == -1)
- raise_error ("Augeas.insert");
+ raise_error (t, "Augeas.insert");
CAMLreturn (Val_unit);
}
r = aug_rm (t, path);
if (r == -1)
- raise_error ("Augeas.rm");
+ raise_error (t, "Augeas.rm");
CAMLreturn (Val_int (r));
}
r = aug_match (t, path, &matches);
if (r == -1)
- raise_error ("Augeas.matches");
+ raise_error (t, "Augeas.matches");
/* Copy the paths to a list. */
rv = Val_int (0);
r = aug_match (t, path, NULL);
if (r == -1)
- raise_error ("Augeas.count_matches");
+ raise_error (t, "Augeas.count_matches");
CAMLreturn (Val_int (r));
}
augeas_t t = Augeas_t_val (tv);
if (aug_save (t) == -1)
- raise_error ("Augeas.save");
+ raise_error (t, "Augeas.save");
CAMLreturn (Val_unit);
}
augeas_t t = Augeas_t_val (tv);
if (aug_load (t) == -1)
- raise_error ("Augeas.load");
+ raise_error (t, "Augeas.load");
CAMLreturn (Val_unit);
}