Make volscan's column delimiter option work
authorPaul Smeddle <paul.smeddle@morganstanley.com>
Mon, 12 Mar 2012 19:56:11 +0000 (19:56 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 12 Mar 2012 22:50:34 +0000 (15:50 -0700)
Currently, volscan ignores the -delim command-line option,
using the hardcoded default. This patch adds processing
for this option, allowing alternative characters.

Corrects an error in a08c3207255756c825ab69a19e04f79dd879c646

Change-Id: I750f2d998cff029fc02556ed0baaaa0ca1c95e08
Reviewed-on: http://gerrit.openafs.org/6894
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/vol/vol-info.c

index e73ac4e..83a3320 100644 (file)
@@ -185,7 +185,7 @@ static int SaveInodes = 0;          /**< Save vnode data to files */
 static int FixHeader = 0;           /**< Repair header files magic and version fields. */
 static char Hostname[64] = "";      /**< This hostname, for volscan output. */
 static int NeedDirIndex = 0;        /**< Large vnode index handle is needed for path lookups. */
-static char *ColumnDelim = " ";     /**< Column delimiter char(s) */
+static char ColumnDelim[16] = " ";  /**< Column delimiter char(s) */
 static char PrintHeading = 0;       /**< Print column heading */
 static unsigned int ModeMask[64];
 
@@ -931,6 +931,10 @@ VolScan(struct cmd_syndesc *as, void *arock)
     } else {
        PrintHeading = 1;
     }
+    if ((ti = as->parms[P_DELIM].items)) {
+       strncpy(ColumnDelim, ti->data, 15);
+       ColumnDelim[15] = '\0';
+    }
 
     /* Limit types of volumes to scan. */
     if (!as->parms[P_TYPE].items) {