[pacman-dev] [PATCH v3 2/5] pacman-conf.c: simplify usage()

iff at escondida.tk iff at escondida.tk
Sun Feb 11 04:15:10 UTC 2018


From: Ivy Foster <iff at escondida.tk>

Signed-off-by: Ivy Foster <iff at escondida.tk>
---
 src/pacman/pacman-conf.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/src/pacman/pacman-conf.c b/src/pacman/pacman-conf.c
index 3c9a80e2..9136b262 100644
--- a/src/pacman/pacman-conf.c
+++ b/src/pacman/pacman-conf.c
@@ -34,24 +34,21 @@ static void cleanup(void)
 	config_free(config);
 }
 
-static void usage(int ret)
+static void usage(FILE *stream)
 {
-	FILE *stream = (ret ? stderr : stdout);
-#define hputs(x) fputs(x"\n", stream)
-	hputs("pacman-conf - query pacman's configuration file");
-	hputs("usage:  pacman-conf [options] [<directive>...]");
-	hputs("        pacman-conf (--repo-list|--help|--version)");
-	hputs("options:");
-	hputs("  --config=<path>  set an alternate configuration file");
-	hputs("  --rootdir=<path> set an alternate installation root");
-	hputs("  --repo=<remote>  query options for a specific repo");
-	hputs("  --verbose        always show directive names");
-	hputs("  --repo-list      list configured repositories");
-	hputs("  --help           display this help information");
-	hputs("  --version        display version information");
-#undef hputs
-	cleanup();
-	exit(ret);
+	static const char help[] =
+		"pacman-conf: query pacman's configuration file\n"
+		"usage: pacman-conf [options] [directive]\n"
+		"       pacman-conf [ { -l, --repo-list } | { -h, --help } | { -V, --version } ]\n"
+		"options:\n"
+		"    -c, --config=<file>  Read configuration from <file>\n"
+		"    -h, --help           Print help\n"
+		"    -l, --repo-list      List configured repositories\n"
+		"    -r, --repo=<remote>  Query options for a specific repo\n"
+		"    -R, --rootdir=<dir>  Use <dir> as system root\n"
+		"    -v, --verbose        Always show directive names\n"
+		"    -V, --version        Print version\n";
+	fprintf(stream, "%s", help);
 }
 
 static void parse_opts(int argc, char **argv)
@@ -89,8 +86,9 @@ static void parse_opts(int argc, char **argv)
 				verbose = 1;
 				break;
 			case 'h':
-				usage(0);
-				break;
+				usage(stdout);
+				cleanup();
+				exit(0);
 			case 'V':
 				printf("%s v%s\n", myname, myver);
 				cleanup();
@@ -98,7 +96,9 @@ static void parse_opts(int argc, char **argv)
 				break;
 			case '?':
 			default:
-				usage(1);
+				usage(stderr);
+				cleanup();
+				exit(1);
 				break;
 		}
 	}
-- 
2.16.1


More information about the pacman-dev mailing list