New API: Add aug-clear call for clearing an Augeas node.

This commit is contained in:
Richard Jones
2010-04-13 18:42:27 +01:00
parent ad752b80d7
commit 66477d07e3
3 changed files with 34 additions and 2 deletions

View File

@@ -209,6 +209,26 @@ do_aug_set (const char *path, const char *val)
#endif
}
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)
{

View File

@@ -1 +1 @@
238
239

View File

@@ -1238,7 +1238,12 @@ matches exactly one node, the C<value> is returned.");
[], (* XXX Augeas code needs tests. *)
"set Augeas path to value",
"\
Set the value associated with C<path> to C<value>.");
Set the value associated with C<path> to C<val>.
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<guestfs_aug_clear> 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<path> to C<NULL>. This
is the same as the L<augtool(1)> C<clear> command.");
]
let all_functions = non_daemon_functions @ daemon_functions