From: Richard Jones Date: Tue, 13 Apr 2010 17:42:27 +0000 (+0100) Subject: New API: Add aug-clear call for clearing an Augeas node. X-Git-Tag: 1.3.4~22 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=66477d07e37ffe66cd6fea1105dd92b616d3cd27;ds=sidebyside New API: Add aug-clear call for clearing an Augeas node. --- diff --git a/daemon/augeas.c b/daemon/augeas.c index 36b36b8..a9ad91f 100644 --- a/daemon/augeas.c +++ b/daemon/augeas.c @@ -210,6 +210,26 @@ do_aug_set (const char *path, const char *val) } int +do_aug_clear (const char *path) +{ +#ifdef HAVE_AUGEAS + int r; + + NEED_AUG (-1); + + r = aug_set (aug, path, NULL); + if (r == -1) { + reply_with_error ("Augeas clear failed"); + return -1; + } + + return 0; +#else + NOT_AVAILABLE (-1); +#endif +} + +int do_aug_insert (const char *path, const char *label, int before) { #ifdef HAVE_AUGEAS diff --git a/src/MAX_PROC_NR b/src/MAX_PROC_NR index 1cf253f..b4249c4 100644 --- a/src/MAX_PROC_NR +++ b/src/MAX_PROC_NR @@ -1 +1 @@ -238 +239 diff --git a/src/generator.ml b/src/generator.ml index 532aba9..79a10dd 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -1238,7 +1238,12 @@ matches exactly one node, the C is returned."); [], (* XXX Augeas code needs tests. *) "set Augeas path to value", "\ -Set the value associated with C to C."); +Set the value associated with C to C. + +In the Augeas API, it is possible to clear a node by setting +the value to NULL. Due to an oversight in the libguestfs API +you cannot do that with this call. Instead you must use the +C call."); ("aug_insert", (RErr, [String "augpath"; String "label"; Bool "before"]), 21, [Optional "augeas"], [], (* XXX Augeas code needs tests. *) @@ -4468,6 +4473,13 @@ you would call this with pc = 100 which expands the logical volume as much as possible, using all remaining free space in the volume group."); + ("aug_clear", (RErr, [String "augpath"]), 239, [Optional "augeas"], + [], (* XXX Augeas code needs tests. *) + "clear Augeas path", + "\ +Set the value associated with C to C. This +is the same as the L C command."); + ] let all_functions = non_daemon_functions @ daemon_functions