[augeas-devel] augeas: master - * src/internal.h: make various tree management functions available
David Lutterkort
lutter at fedoraproject.org
Thu Jan 7 20:40:22 UTC 2010
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=41fd642104b7e254c6ff950dc30d1dd0afcf61a9
Commit: 41fd642104b7e254c6ff950dc30d1dd0afcf61a9
Parent: d545e20ea9ca369423ea2b567998779b7bc61e1c
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Wed Jan 6 15:09:14 2010 -0800
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Thu Jan 7 11:45:04 2010 -0800
* src/internal.h: make various tree management functions available
---
src/augeas.c | 11 +++++------
src/internal.h | 12 ++++++++++++
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/augeas.c b/src/augeas.c
index 0f236fa..1fb7842 100644
--- a/src/augeas.c
+++ b/src/augeas.c
@@ -81,7 +81,7 @@ static void tree_clean(struct tree *tree) {
tree->dirty = 0;
}
-static struct tree *tree_child(struct tree *tree, const char *label) {
+struct tree *tree_child(struct tree *tree, const char *label) {
if (tree == NULL)
return NULL;
@@ -92,8 +92,7 @@ static struct tree *tree_child(struct tree *tree, const char *label) {
return NULL;
}
-/* Get first existing child or create one */
-static struct tree *tree_child_cr(struct tree *tree, const char *label) {
+struct tree *tree_child_cr(struct tree *tree, const char *label) {
static struct tree *child = NULL;
if (tree == NULL)
@@ -109,7 +108,7 @@ static struct tree *tree_child_cr(struct tree *tree, const char *label) {
return child;
}
-static struct tree *tree_path_cr(struct tree *tree, int n, ...) {
+struct tree *tree_path_cr(struct tree *tree, int n, ...) {
va_list ap;
va_start(ap, n);
@@ -121,7 +120,7 @@ static struct tree *tree_path_cr(struct tree *tree, int n, ...) {
return tree;
}
-static int tree_set_value(struct tree *tree, const char *value) {
+int tree_set_value(struct tree *tree, const char *value) {
if (tree->value != NULL) {
free(tree->value);
tree->value = NULL;
@@ -393,7 +392,7 @@ struct augeas *aug_init(const char *root, const char *loadpath,
return NULL;
}
-static void tree_unlink_children(struct augeas *aug, struct tree *tree) {
+void tree_unlink_children(struct augeas *aug, struct tree *tree) {
if (tree == NULL)
return;
diff --git a/src/internal.h b/src/internal.h
index cbdfa30..5189a83 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -376,6 +376,18 @@ int dump_tree(FILE *out, struct tree *tree);
int tree_equal(const struct tree *t1, const struct tree *t2);
char *path_expand(struct tree *tree, const char *ppath);
char *path_of_tree(struct tree *tree);
+/* Return first child with label LABEL or NULL */
+struct tree *tree_child(struct tree *tree, const char *label);
+/* Return first existing child with label LABEL or create one. Return NULL
+ * when allocation fails */
+struct tree *tree_child_cr(struct tree *tree, const char *label);
+/* Create a path in the tree; nodes along the path are looked up with
+ * tree_child_cr */
+struct tree *tree_path_cr(struct tree *tree, int n, ...);
+/* Set the value of TREE and update dirty flags */
+int tree_set_value(struct tree *tree, const char *value);
+/* Cleanly remove all children of TREE, but leave TREE itself unchanged */
+void tree_unlink_children(struct augeas *aug, struct tree *tree);
/* Struct: memstream
* Wrappers to simulate OPEN_MEMSTREAM where that's not available. The
More information about the augeas-devel
mailing list