From a58761459f7485f275ecca5fd26b9a63c33f1089 Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Wed, 2 Oct 2013 23:10:49 +0200 Subject: Add support for CVS and XML output formats to repquota(8) JK: Fixup localization and handling of multiple output filesystems / types. Signed-off-by: Jonathan Overholt Signed-off-by: Jan Kara --- quotasys.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'quotasys.c') diff --git a/quotasys.c b/quotasys.c index e583437..a1ac392 100644 --- a/quotasys.c +++ b/quotasys.c @@ -37,6 +37,7 @@ #define min(x,y) (((x) < (y)) ? (x) : (y)) #define QFMT_NAMES 5 +#define QOFMT_NAMES 3 static char extensions[MAXQUOTAS + 2][20] = INITQFNAMES; static char *basenames[] = INITQFBASENAMES; @@ -46,6 +47,10 @@ static char *fmtnames[] = { "vfsold", "rpc", "xfs", }; +static char *ofmtnames[] = { "default", + "csv", + "xml" +}; /* * Check for various kinds of NFS filesystem @@ -239,6 +244,32 @@ char *fmt2name(int fmt) return fmtnames[fmt]; } +/* + * Convert output format name to number + */ +int name2ofmt(char *str) +{ + int fmt; + + for (fmt = 0; fmt < QOFMT_NAMES; fmt++) + if (!strcmp(str, ofmtnames[fmt])) + return fmt; + errstr(_("Unknown output format: %s\nSupported formats are:\n\ + default - default\n\ + csv - comma-separated values\n\ + xml - simple XML\n"), str); + return QOF_ERROR; +} + +/* + * Convert output format number to name + */ +char *ofmt2name(int fmt) +{ + return ofmtnames[fmt]; +} + + /* * Convert kernel to utility quota format number */ -- cgit v1.2.3