Implement Augeas.load API.
authorRichard W.M. Jones <rjones@redhat.com>
Tue, 6 Jun 2017 14:14:46 +0000 (15:14 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 6 Jun 2017 14:14:46 +0000 (15:14 +0100)
augeas-c.c
augeas.ml
augeas.mli

index 3f5431b..c06bf92 100644 (file)
@@ -273,3 +273,16 @@ ocaml_augeas_save (value tv)
 
   CAMLreturn (Val_unit);
 }
+
+/* val load : t -> unit */
+CAMLprim value
+ocaml_augeas_load (value tv)
+{
+  CAMLparam1 (tv);
+  augeas_t t = Augeas_t_val (tv);
+
+  if (aug_load (t) == -1)
+    raise_error ("Augeas.load");
+
+  CAMLreturn (Val_unit);
+}
index fa6c680..f556df0 100644 (file)
--- a/augeas.ml
+++ b/augeas.ml
@@ -52,6 +52,8 @@ external count_matches : t -> path -> int
   = "ocaml_augeas_count_matches"
 external save : t -> unit
   = "ocaml_augeas_save"
+external load : t -> unit
+  = "ocaml_augeas_load"
 
 let () =
   Callback.register_exception "Augeas.Error" (Error "")
index bada127..64e8240 100644 (file)
@@ -90,3 +90,6 @@ val count_matches : t -> path -> int
 
 val save : t -> unit
   (** [save t] saves all pending changes to disk. *)
+
+val load : t -> unit
+  (** [load t] loads files into the tree. *)