xfs
[Top] [All Lists]

[PATCH 1/6] xfsprogs: libxcmd: rearrange some routines

To: xfs@xxxxxxxxxxx
Subject: [PATCH 1/6] xfsprogs: libxcmd: rearrange some routines
From: Alex Elder <aelder@xxxxxxx>
Date: Mon, 3 Oct 2011 07:49:15 -0500
Cc: Alex Elder <aelder@xxxxxxx>
In-reply-to: <1317646160-5437-1-git-send-email-aelder@xxxxxxx>
References: <1317646160-5437-1-git-send-email-aelder@xxxxxxx>
Move the definition of a few routines around in the file to avoid
forward references in upcoming patches.

Signed-off-by: Alex Elder <aelder@xxxxxxx>
---
 libxcmd/paths.c |  162 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 82 insertions(+), 80 deletions(-)

diff --git a/libxcmd/paths.c b/libxcmd/paths.c
index 1e78099..ae9db32 100644
--- a/libxcmd/paths.c
+++ b/libxcmd/paths.c
@@ -143,6 +143,59 @@ fs_table_destroy(void)
        fs_count = 0;
 }
 
+/*
+ * Table iteration (cursor-based) interfaces
+ */
+
+/*
+ * Initialize an fs_table cursor.  If a directory path is supplied,
+ * the cursor is set up to appear as though the table contains only
+ * a single entry which represents the directory specified.
+ * Otherwise it is set up to prepare for visiting all entries in the
+ * global table, starting with the first.  "flags" can be either
+ * FS_MOUNT_POINT or FS_PROJECT_PATH to limit what type of entries
+ * will be selected by fs_cursor_next_entry().  0 can be used as a
+ * wild card (selecting either type).
+ */
+void
+fs_cursor_initialise(
+       char            *dir,
+       uint            flags,
+       fs_cursor_t     *cur)
+{
+       fs_path_t       *path;
+
+       memset(cur, 0, sizeof(*cur));
+       if (dir) {
+               if ((path = fs_table_lookup(dir, flags)) == NULL)
+                       return;
+               cur->local = *path;
+               cur->count = 1;
+               cur->table = &cur->local;
+       } else {
+               cur->count = fs_count;
+               cur->table = fs_table;
+       }
+       cur->flags = flags;
+}
+
+/*
+ * Use the cursor to find the next entry in the table having the
+ * type specified by the cursor's "flags" field.
+ */
+struct fs_path *
+fs_cursor_next_entry(
+       fs_cursor_t     *cur)
+{
+       while (cur->index < cur->count) {
+               fs_path_t       *next = &cur->table[cur->index++];
+
+               if (!cur->flags || (cur->flags & next->fs_flags))
+                       return next;
+       }
+       return NULL;
+}
+
 
 #if defined(HAVE_GETMNTENT)
 #include <mntent.h>
@@ -303,6 +356,21 @@ fs_mount_point_from_path(
        return fs;
 }
 
+void
+fs_table_insert_mount(
+       char            *mount)
+{
+       int             error;
+
+       error = fs_table_initialise_mounts(mount);
+       if (error) {
+               fs_table_destroy();
+               fprintf(stderr, _("%s: cannot setup path for mount %s: %s\n"),
+                       progname, mount, strerror(error));
+               exit(1);
+       }
+}
+
 static int
 fs_table_initialise_projects(
        char            *project)
@@ -348,52 +416,37 @@ fs_table_initialise_projects(
 }
 
 void
-fs_table_initialise(void)
+fs_table_insert_project(
+       char            *project)
 {
        int             error;
 
-       error = fs_table_initialise_mounts(NULL);
-       if (!error)
-               error = fs_table_initialise_projects(NULL);
-       if (error) {
-               fs_table_destroy();
-               fprintf(stderr, _("%s: cannot initialise path table: %s\n"),
-                       progname, strerror(error));
+       if (!fs_count) {
+               fprintf(stderr, _("%s: no mount table yet, so no projects\n"),
+                       progname);
                exit(1);
        }
-}
-
-void
-fs_table_insert_mount(
-       char            *mount)
-{
-       int             error;
-
-       error = fs_table_initialise_mounts(mount);
+       error = fs_table_initialise_projects(project);
        if (error) {
                fs_table_destroy();
-               fprintf(stderr, _("%s: cannot setup path for mount %s: %s\n"),
-                       progname, mount, strerror(error));
+               fprintf(stderr, _("%s: cannot setup path for project %s: %s\n"),
+                       progname, project, strerror(error));
                exit(1);
        }
 }
 
 void
-fs_table_insert_project(
-       char            *project)
+fs_table_initialise(void)
 {
        int             error;
 
-       if (!fs_count) {
-               fprintf(stderr, _("%s: no mount table yet, so no projects\n"),
-                       progname);
-               exit(1);
-       }
-       error = fs_table_initialise_projects(project);
+       error = fs_table_initialise_mounts(NULL);
+       if (!error)
+               error = fs_table_initialise_projects(NULL);
        if (error) {
                fs_table_destroy();
-               fprintf(stderr, _("%s: cannot setup path for project %s: %s\n"),
-                       progname, project, strerror(error));
+               fprintf(stderr, _("%s: cannot initialise path table: %s\n"),
+                       progname, strerror(error));
                exit(1);
        }
 }
@@ -428,55 +481,4 @@ fs_table_insert_project_path(
                exit(1);
        }
 }
-/*
- * Table iteration (cursor-based) interfaces
- */
 
-/*
- * Initialize an fs_table cursor.  If a directory path is supplied,
- * the cursor is set up to appear as though the table contains only
- * a single entry which represents the directory specified.
- * Otherwise it is set up to prepare for visiting all entries in the
- * global table, starting with the first.  "flags" can be either
- * FS_MOUNT_POINT or FS_PROJECT_PATH to limit what type of entries
- * will be selected by fs_cursor_next_entry().  0 can be used as a
- * wild card (selecting either type).
- */
-void
-fs_cursor_initialise(
-       char            *dir,
-       uint            flags,
-       fs_cursor_t     *cur)
-{
-       fs_path_t       *path;
-
-       memset(cur, 0, sizeof(*cur));
-       if (dir) {
-               if ((path = fs_table_lookup(dir, flags)) == NULL)
-                       return;
-               cur->local = *path;
-               cur->count = 1;
-               cur->table = &cur->local;
-       } else {
-               cur->count = fs_count;
-               cur->table = fs_table;
-       }
-       cur->flags = flags;
-}
-
-/*
- * Use the cursor to find the next entry in the table having the
- * type specified by the cursor's "flags" field.
- */
-struct fs_path *
-fs_cursor_next_entry(
-       fs_cursor_t     *cur)
-{
-       while (cur->index < cur->count) {
-               fs_path_t       *next = &cur->table[cur->index++];
-
-               if (!cur->flags || (cur->flags & next->fs_flags))
-                       return next;
-       }
-       return NULL;
-}
-- 
1.7.6.2

<Prev in Thread] Current Thread [Next in Thread>