git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/4] parse-options: add new function "usage_msg_opt"

From
Christian Couder <chriscool@tuxfamily.org>
Date
Feb 2, 2009, 05:12 UTC
Message-ID
<20090202061258.e044e2b7.chriscool@tuxfamily.org>

This function can be used instead of "usage_with_options" when you want to print an error message before the usage string.

It may be useful because:
if (condition)
	usage_msg_opt("condition is false", usage, opts);
is shorter than:
if (condition) {
	fprintf(stderr, "condition is false\n\n");
	usage_with_options(usage, opts);
}
and may be more consistent.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 parse-options.c |    8 ++++++++
 parse-options.h |    4 ++++
 2 files changed, 12 insertions(+), 0 deletions(-)
	This patch may be generaly useful.
diff --git a/parse-options.c b/parse-options.c
index 4c5d09d..7a5fde8 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -449,6 +449,14 @@ void usage_with_options(const char * const *usagestr,
 	exit(129);
 }
 
+void usage_msg_opt(const char *msg,
+		   const char * const *usagestr,
+		   const struct option *options)
+{
+	fprintf(stderr, "%s\n\n", msg);
+	usage_with_options(usagestr, options);
+}
+
 int parse_options_usage(const char * const *usagestr,
 			const struct option *opts)
 {
diff --git a/parse-options.h b/parse-options.h
index 9122905..6061a19 100644
--- a/parse-options.h
+++ b/parse-options.h
@@ -113,6 +113,10 @@ extern int parse_options(int argc, const char **argv,
 extern NORETURN void usage_with_options(const char * const *usagestr,
                                         const struct option *options);
 
+extern NORETURN void usage_msg_opt(const char *msg,
+				   const char * const *usagestr,
+				   const struct option *options);
+
 /*----- incremantal advanced APIs -----*/
 
 enum {
-- 
1.6.1.2.353.g99fdd.dirty
Message 1 of 1 in “parse-options: add new function "usage_msg_opt"”
  1. 3/4 parse-options: add new function "usage_msg_opt"Christian Couder, Feb 2, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.