diff options
author | John Estabrook <jestabro@vyos.io> | 2025-04-04 22:48:07 -0500 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2025-04-11 13:36:10 -0500 |
commit | 992c5a2e8941f27843f112020383115bde076d21 (patch) | |
tree | b9c63c2550e71b2675f67a5fad3f28a05135815c | |
parent | 603549e32030ed94bb95095a50c896c178e6a252 (diff) | |
download | vyos1x-config-992c5a2e8941f27843f112020383115bde076d21.tar.gz vyos1x-config-992c5a2e8941f27843f112020383115bde076d21.zip |
T7321: add save config utility
-rw-r--r-- | src/config_file.ml | 11 | ||||
-rw-r--r-- | src/config_file.mli | 2 |
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 |