Currently, usage is an array of pointers to string.
It is meant to support this:
usage: foo --bar
or: foo --baz
or: foo -z
The patch removes this and makes usage just a string:
usage: foo --bar
Why remove this?
(1) We can achieve old format by using the usage string with many lines:
usage = "foo --bar\n"
" or: foo --baz\n"
" or: foo -z";
(2) We don't use multi-line usage anyway.
Run tested.
Please review.
--
vda
diff -x '*.po' -d -urpN abrt.1/lib/utils/parse_options.c
abrt.2/lib/utils/parse_options.c
--- abrt.1/lib/utils/parse_options.c 2010-10-08 13:58:00.822230377 +0200
+++ abrt.2/lib/utils/parse_options.c 2010-10-08 13:58:26.789480231 +0200
@@ -15,12 +15,9 @@ static int parse_opt_size(const struct o
#define USAGE_OPTS_WIDTH 24
#define USAGE_GAP 2
-void parse_usage_and_die(const char * const * usage, const struct options *opt)
+void parse_usage_and_die(const char *usage, const struct options *opt)
{
- fprintf(stderr, _("usage: %s\n"), *usage++);
-
- while (*usage && **usage)
- fprintf(stderr, _(" or: %s\n"), *usage++);
+ fprintf(stderr, _("Usage: %s\n"), usage);
if (opt->type != OPTION_GROUP)
fputc('\n', stderr);
@@ -65,7 +62,7 @@ void parse_usage_and_die(const char * co
}
void parse_opts(int argc, char **argv, const struct options *opt,
- const char * const usage[])
+ const char *usage)
{
int help = 0;
int size = parse_opt_size(opt);
@@ -128,7 +125,6 @@ void parse_opts(int argc, char **argv, c
{
if (opt[ii].short_name == c)
{
-
switch (opt[ii].type)
{
case OPTION_BOOL:
diff -x '*.po' -d -urpN abrt.1/lib/utils/parse_options.h
abrt.2/lib/utils/parse_options.h
--- abrt.1/lib/utils/parse_options.h 2010-10-08 13:30:26.604480641 +0200
+++ abrt.2/lib/utils/parse_options.h 2010-10-08 13:45:05.351480477 +0200
@@ -37,12 +37,12 @@ struct options {
#define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), "n", (h)
}
#define OPT_STRING(s, l, v, a, h) { OPTION_STRING, (s), (l), (v), (a), (h) }
-#define OPT__VERBOSE(v) OPT_BOOL('v', "verbose", (v), "be
verbose")
+#define OPT__VERBOSE(v) OPT_BOOL('v', "verbose", (v), "Be
verbose")
void parse_opts(int argc, char **argv, const struct options *opt,
- const char * const usage[]);
+ const char *usage);
-void parse_usage_and_die(const char * const * usage, const struct options *opt);
+void parse_usage_and_die(const char *usage, const struct options *opt);
#ifdef __cplusplus
}
diff -x '*.po' -d -urpN abrt.1/src/daemon/abrt-action-generate-backtrace.c
abrt.2/src/daemon/abrt-action-generate-backtrace.c
--- abrt.1/src/daemon/abrt-action-generate-backtrace.c 2010-10-08 13:30:50.959230457
+0200
+++ abrt.2/src/daemon/abrt-action-generate-backtrace.c 2010-10-08 14:06:36.810230965
+0200
@@ -243,10 +243,7 @@ static char *get_backtrace(struct dump_d
static char *d_opt, *i_opt;
static int s_opt;
-static const char * const abrt_action_generage_backtrace_usage[] = {
- "abrt-action-generate-backtrace [options] -d DIR",
- NULL
-};
+static const char abrt_action_generage_backtrace_usage[] =
"abrt-action-generate-backtrace [options] -d DIR";
static struct options abrt_action_generate_backtrace_options[] = {
OPT__VERBOSE(&g_verbose),
diff -x '*.po' -d -urpN abrt.1/src/daemon/abrt-action-save-package-data.cpp
abrt.2/src/daemon/abrt-action-save-package-data.cpp
--- abrt.1/src/daemon/abrt-action-save-package-data.cpp 2010-10-08 13:30:34.221480398
+0200
+++ abrt.2/src/daemon/abrt-action-save-package-data.cpp 2010-10-08 14:09:48.925231033
+0200
@@ -270,10 +270,7 @@ static int SavePackageDescriptionToDebug
static char *d_opt;
static int s_opt;
-static const char * const abrt_action_save_package_data_usage[] = {
- "abrt-action-save-package-data [options] -d DIR",
- NULL
-};
+static const char abrt_action_save_package_data_usage[] =
"abrt-action-save-package-data [options] -d DIR";
static struct options abrt_action_save_package_data_options[] = {
OPT__VERBOSE(&g_verbose),
diff -x '*.po' -d -urpN abrt.1/src/daemon/abrt-server.c
abrt.2/src/daemon/abrt-server.c
--- abrt.1/src/daemon/abrt-server.c 2010-10-08 13:30:20.911480328 +0200
+++ abrt.2/src/daemon/abrt-server.c 2010-10-08 13:41:39.833480840 +0200
@@ -279,10 +279,7 @@ static void dummy_handler(int sig_unused
static int s_opt;
-static const char * const abrt_server_usage[] = {
- "abrt-server [options]",
- NULL
-};
+static const char abrt_server_usage[] = "abrt-server [options]";
static struct options abrt_server_options[] = {
OPT__VERBOSE(&g_verbose),
diff -x '*.po' -d -urpN abrt.1/src/daemon/Daemon.cpp abrt.2/src/daemon/Daemon.cpp
--- abrt.1/src/daemon/Daemon.cpp 2010-10-08 13:30:08.044480622 +0200
+++ abrt.2/src/daemon/Daemon.cpp 2010-10-08 14:07:54.858480511 +0200
@@ -863,10 +863,7 @@ static void sanitize_dump_dir_rights()
static int daemonize_opt, syslog_opt;
static char *timeout_opt;
-static const char * const abrtd_usage[] = {
- _("abrtd [options]"),
- NULL
-};
+static const char* abrtd_usage = _("abrtd [options]");
static struct options abrtd_options[] = {
OPT__VERBOSE(&g_verbose),