[augeas-devel] augeas: master - Pass symtab explicitly into pathx_symtab_remove_descendants
David Lutterkort
lutter at fedoraproject.org
Tue Aug 11 01:45:38 UTC 2009
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=93aa81f70bcc2235ed8a5dc32a5d79baa1b4c4fd
Commit: 93aa81f70bcc2235ed8a5dc32a5d79baa1b4c4fd
Parent: 2b43c30d057a0483b039b4159e5be6e97dff0e16
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Mon Aug 10 18:16:16 2009 -0700
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Mon Aug 10 18:16:16 2009 -0700
Pass symtab explicitly into pathx_symtab_remove_descendants
---
src/augeas.c | 2 +-
src/internal.h | 3 ++-
src/pathx.c | 7 +++++--
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/augeas.c b/src/augeas.c
index b440803..b38dbf7 100644
--- a/src/augeas.c
+++ b/src/augeas.c
@@ -573,7 +573,7 @@ int tree_rm(struct pathx *p) {
for (i = 0, tree = pathx_first(p); tree != NULL; tree = pathx_next(p)) {
if (TREE_HIDDEN(tree))
continue;
- pathx_symtab_remove_descendants(p, tree);
+ pathx_symtab_remove_descendants(pathx_get_symtab(p), tree);
del[i] = tree;
i += 1;
}
diff --git a/src/internal.h b/src/internal.h
index 7f266b5..5a0c64c 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -412,12 +412,13 @@ int pathx_expand_tree(struct pathx *path, struct tree **tree);
void free_pathx(struct pathx *path);
int pathx_symtab_init(struct pathx_symtab **symtab);
+struct pathx_symtab *pathx_get_symtab(struct pathx *pathx);
int pathx_symtab_define(struct pathx_symtab **symtab,
const char *name, struct pathx *px);
int pathx_symtab_assign_tree(struct pathx_symtab **symtab, const char *name,
struct tree *tree);
int pathx_symtab_undefine(struct pathx_symtab **symtab, const char *name);
-void pathx_symtab_remove_descendants(struct pathx *pathx,
+void pathx_symtab_remove_descendants(struct pathx_symtab *symtab,
const struct tree *tree);
void free_symtab(struct pathx_symtab *symtab);
#endif
diff --git a/src/pathx.c b/src/pathx.c
index 32d4aad..83ef88e 100644
--- a/src/pathx.c
+++ b/src/pathx.c
@@ -2248,6 +2248,10 @@ int pathx_symtab_init(struct pathx_symtab **symtab) {
return -1;
}
+struct pathx_symtab *pathx_get_symtab(struct pathx *pathx) {
+ return pathx->state->symtab;
+}
+
static int pathx_symtab_set(struct pathx_symtab **symtab,
const char *name, struct value *v) {
int found = 0;
@@ -2345,9 +2349,8 @@ int pathx_symtab_assign_tree(struct pathx_symtab **symtab,
return -1;
}
-void pathx_symtab_remove_descendants(struct pathx *pathx,
+void pathx_symtab_remove_descendants(struct pathx_symtab *symtab,
const struct tree *tree) {
- struct pathx_symtab *symtab = pathx->state->symtab;
list_for_each(tab, symtab) {
if (tab->value->tag != T_NODESET)
continue;
More information about the augeas-devel
mailing list