summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/config_file.ml11
-rw-r--r--src/config_file.mli2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/config_file.ml b/src/config_file.ml
index 5fdf924..17d3f1b 100644
--- a/src/config_file.ml
+++ b/src/config_file.ml
@@ -31,3 +31,14 @@ let load_config file =
in Error out
end
+let save_config ct file =
+ try
+ let s = Config_tree.render_config ct in
+ let chan = open_out file in
+ let () = output_string chan s in
+ let () = close_out chan in
+ let () = Unix.chmod file 0o664 in
+ Ok ()
+ with
+ Sys_error msg -> Error msg
+
diff --git a/src/config_file.mli b/src/config_file.mli
index 607a8b5..3a87b4a 100644
--- a/src/config_file.mli
+++ b/src/config_file.mli
@@ -1,2 +1,4 @@
val load_config : string -> (Config_tree.t, string) result
+
+val save_config : Config_tree.t -> string -> (unit, string) result