[augeas-devel] augeas: master - Pull computing a path underneath /files from a filename into a function

David Lutterkort lutter at fedoraproject.org
Thu Jan 7 20:40:38 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=a393b972501abb7fcb17d761eef1d71f19b5a0d5
Commit:        a393b972501abb7fcb17d761eef1d71f19b5a0d5
Parent:        bc899802b65b9b429d726ed01ee5bbacd130cc80
Author:        David Lutterkort <lutter at redhat.com>
AuthorDate:    Thu Jan 7 11:27:06 2010 -0800
Committer:     David Lutterkort <lutter at redhat.com>
CommitterDate: Thu Jan 7 11:45:04 2010 -0800

Pull computing a path underneath /files from a filename into a function

  * src/transform.c (file_name_path): new function; (load_file): use
    file_name_path
---
 src/transform.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/transform.c b/src/transform.c
index e9adfc2..a73218c 100644
--- a/src/transform.c
+++ b/src/transform.c
@@ -382,6 +382,15 @@ static char *append_newline(char *text, size_t len) {
     return text;
 }
 
+/* Turn the file name FNAME, which starts with aug->root, into
+ * a path in the tree underneath /files */
+static char *file_name_path(struct augeas *aug, const char *fname) {
+    char *path = NULL;
+
+    pathjoin(&path, 2, AUGEAS_FILES_TREE, fname + strlen(aug->root) - 1);
+    return path;
+}
+
 static int load_file(struct augeas *aug, struct lens *lens,
                      const char *lens_name, char *filename) {
     char *text = NULL;
@@ -392,7 +401,8 @@ static int load_file(struct augeas *aug, struct lens *lens,
     struct lns_error *err = NULL;
     int result = -1, r;
 
-    pathjoin(&path, 2, AUGEAS_FILES_TREE, filename + strlen(aug->root) - 1);
+    path = file_name_path(aug, filename);
+    ERR_NOMEM(path == NULL, aug);
 
     r = add_file_info(aug, path, lens, lens_name);
     if (r < 0)
@@ -429,6 +439,7 @@ static int load_file(struct augeas *aug, struct lens *lens,
  done:
     store_error(aug, filename + strlen(aug->root) - 1, path, err_status,
                 errno, err, text);
+ error:
     free_lns_error(err);
     free(path);
     free_tree(tree);




More information about the augeas-devel mailing list