diff options
| author | Nikola Pajkovsky <npajkovs@redhat.com> | 2010-10-05 14:04:12 +0200 |
|---|---|---|
| committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2010-10-07 17:20:59 +0200 |
| commit | 8a5511a6719441dca1152f268d9bc4f1928406a4 (patch) | |
| tree | 8529961f76bacb2f490430a8dc7760224b1a374d /src/daemon/abrt-action-save-package-data.cpp | |
| parent | 481613fd3c35c36cb4871f1a679799adb888cc86 (diff) | |
| download | abrt-8a5511a6719441dca1152f268d9bc4f1928406a4.tar.gz abrt-8a5511a6719441dca1152f268d9bc4f1928406a4.tar.xz abrt-8a5511a6719441dca1152f268d9bc4f1928406a4.zip | |
abrt-action-save-package-data uses new parser
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src/daemon/abrt-action-save-package-data.cpp')
| -rw-r--r-- | src/daemon/abrt-action-save-package-data.cpp | 59 |
1 files changed, 26 insertions, 33 deletions
diff --git a/src/daemon/abrt-action-save-package-data.cpp b/src/daemon/abrt-action-save-package-data.cpp index 9a5a1748..c4522e0f 100644 --- a/src/daemon/abrt-action-save-package-data.cpp +++ b/src/daemon/abrt-action-save-package-data.cpp @@ -21,7 +21,12 @@ #include "abrt_packages.h" #include "Settings.h" #include "rpm.h" +#include "parse_options.h" +static const char * const abrt_action_save_package_data_usage[] = { + "abrt-action-save-package-data [options] -d DIR", + NULL +}; /** * Returns the first full path argument in the command line or NULL. @@ -267,6 +272,17 @@ static int SavePackageDescriptionToDebugDump(const char *dump_dir_name) return error; } +static char *d_opt; +static int s_opt, help_opt; + +static struct options abrt_action_save_package_data_options[] = { + OPT_BOOL( 'h' , "help", &help_opt, "Show this help message"), + OPT_STRING( 'd' , 0, &d_opt, "dir", "Crash dump directory"), + OPT_BOOL( 'v' , 0, &g_verbose, "Verbose"), + OPT_BOOL( 's' , 0, &s_opt, "Log to syslog"), + OPT_END() +}; + int main(int argc, char **argv) { char *env_verbose = getenv("ABRT_VERBOSE"); @@ -274,42 +290,19 @@ int main(int argc, char **argv) g_verbose = atoi(env_verbose); const char *dump_dir_name = "."; - enum { - OPT_s = (1 << 0), - }; - int optflags = 0; - int opt; - while ((opt = getopt(argc, argv, "d:i:t:vs")) != -1) - { - switch (opt) - { - case 'd': - dump_dir_name = optarg; - break; - case 'v': - g_verbose++; - break; - case 's': - optflags |= OPT_s; - break; - default: - /* Careful: the string below contains tabs, dont replace with spaces */ - error_msg_and_die( - "Usage: abrt-action-save-package-data -d DIR [-vs]" - "\n" - "\nQuery package database and save package name, component, and description" - "\n" - "\nOptions:" - "\n -d DIR Crash dump directory" - "\n -v Verbose" - "\n -s Log to syslog" - ); - } - } + + parse_opts(argc, argv, abrt_action_save_package_data_options, + abrt_action_save_package_data_usage); + + if (help_opt || !d_opt) + parse_usage_and_die(abrt_action_save_package_data_usage, + abrt_action_save_package_data_options); + + dump_dir_name = d_opt; putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); msg_prefix = xasprintf("abrt-action-save-package-data[%u]", getpid()); - if (optflags & OPT_s) + if (s_opt) { openlog(msg_prefix, 0, LOG_DAEMON); logmode = LOGMODE_SYSLOG; |
