From 58e7efce3d5ac71e308e7e44176473cd66e8ad26 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 4 May 2011 14:39:37 +0200 Subject: move $ABRT_foo checking and setting into helper routines. I'm sick of fixing incorrect PROGNAME defines. Now g_progname is a variable and it is set from argv[0]. Signed-off-by: Denys Vlasenko --- src/daemon/abrt-action-save-package-data.c | 14 ++------ src/daemon/abrt-handle-crashdump.c | 16 +++------ src/daemon/abrt-server.c | 15 +++----- src/daemon/abrtd.c | 19 ++++------- src/gui-gtk/main.c | 21 +++--------- src/gui-wizard-gtk/main.c | 22 +++--------- src/lib/parse_options.c | 51 +++++++++++++++++++++++++--- src/lib/parse_options.h | 7 ++++ src/plugins/abrt-action-analyze-backtrace.c | 14 ++------ src/plugins/abrt-action-analyze-c.c | 14 ++------ src/plugins/abrt-action-analyze-oops.c | 14 ++------ src/plugins/abrt-action-analyze-python.c | 14 ++------ src/plugins/abrt-action-bugzilla.cpp | 14 ++------ src/plugins/abrt-action-generate-backtrace.c | 14 ++------ src/plugins/abrt-action-kerneloops.c | 14 ++------ src/plugins/abrt-action-mailx.c | 14 ++------ src/plugins/abrt-action-print.c | 14 ++------ src/plugins/abrt-action-rhtsupport.c | 14 ++------ src/plugins/abrt-action-trim-files.c | 15 ++------ src/plugins/abrt-action-upload.c | 14 ++------ src/plugins/abrt-dump-oops.c | 18 ++++------ src/plugins/abrt-retrace-client.c | 5 ++- 22 files changed, 128 insertions(+), 229 deletions(-) diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c index 93350994..df8de7b9 100644 --- a/src/daemon/abrt-action-save-package-data.c +++ b/src/daemon/abrt-action-save-package-data.c @@ -21,8 +21,6 @@ #include "rpm.h" #include "parse_options.h" -#define PROGNAME "abrt-action-save-package-data" - // TODO: convert g_settings_foo usage to command-line switches /** @@ -243,15 +241,13 @@ static int SavePackageDescriptionToDebugDump(const char *dump_dir_name) int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); const char *dump_dir_name = "."; /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -d DIR\n" + "\b [-v] -d DIR\n" "\n" "Query package database and save package name, component, and description" ); @@ -267,11 +263,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); VERB1 log("Loading settings"); if (load_abrt_conf() != 0) diff --git a/src/daemon/abrt-handle-crashdump.c b/src/daemon/abrt-handle-crashdump.c index 3c3e433f..d04e4fef 100644 --- a/src/daemon/abrt-handle-crashdump.c +++ b/src/daemon/abrt-handle-crashdump.c @@ -19,8 +19,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-handle-crashdump" - static const char *dump_dir_name = NULL; //static const char *conf_filename = CONF_DIR"/abrt_event.conf"; static const char *event; @@ -34,14 +32,12 @@ static char *do_log(char *log_line, void *param) int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-vs]" /*" [-c CONFFILE]"*/ " -d DIR -e EVENT\n" - " or: "PROGNAME" [-vs]" /*" [-c CONFFILE]"*/ " [-d DIR] -l[PFX]\n" + "\b [-vs]" /*" [-c CONFFILE]"*/ " -d DIR -e EVENT\n" + " or: \b [-vs]" /*" [-c CONFFILE]"*/ " [-d DIR] -l[PFX]\n" "\n" "Handles dump directory DIR according to rules in abrt_event.conf" ); @@ -69,10 +65,8 @@ int main(int argc, char **argv) if (!(opts & (OPT_e|OPT_l))) show_usage_and_die(program_usage_string, program_options); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - msg_prefix = PROGNAME; - if (opts & OPT_p) - putenv((char*)"ABRT_PROG_PREFIX=1"); + export_abrt_envvars(opts & OPT_p); + if (opts & OPT_s) { openlog(msg_prefix, 0, LOG_DAEMON); diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c index 53bb5fba..49b7e0ce 100644 --- a/src/daemon/abrt-server.c +++ b/src/daemon/abrt-server.c @@ -18,8 +18,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-server" - /* Maximal length of backtrace. */ #define MAX_BACKTRACE_SIZE (1024*1024) /* Amount of data received from one client for a message before reporting error. */ @@ -280,13 +278,11 @@ static void dummy_handler(int sig_unused) {} int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [options]" + "\b [options]" ); enum { OPT_v = 1 << 0, @@ -304,10 +300,9 @@ int main(int argc, char **argv) }; unsigned opts = parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - msg_prefix = xasprintf(PROGNAME"[%u]", getpid()); - if (opts & OPT_p) - putenv((char*)"ABRT_PROG_PREFIX=1"); + export_abrt_envvars(opts & OPT_p); + + msg_prefix = xasprintf("%s[%u]", g_progname, getpid()); if (opts & OPT_s) { openlog(msg_prefix, 0, LOG_DAEMON); diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c index ca0e0d2e..7a1ab318 100644 --- a/src/daemon/abrtd.c +++ b/src/daemon/abrtd.c @@ -30,8 +30,6 @@ #include "MiddleWare.h" #include "parse_options.h" -#define PROGNAME "abrtd" - #define VAR_RUN_PIDFILE VAR_RUN"/abrtd.pid" #define SOCKET_FILE VAR_RUN"/abrt/abrt.socket" @@ -451,7 +449,7 @@ static void start_syslog_logging() * Otherwise fprintf(stderr) dumps messages into random fds, etc. */ xdup2(STDIN_FILENO, STDOUT_FILENO); xdup2(STDIN_FILENO, STDERR_FILENO); - openlog(PROGNAME, 0, LOG_DAEMON); + openlog(g_progname, 0, LOG_DAEMON); logmode = LOGMODE_SYSLOG; putenv((char*)"ABRT_SYSLOG=1"); } @@ -490,6 +488,8 @@ static void sanitize_dump_dir_rights() int main(int argc, char** argv) { + abrt_init(argv); + int parent_pid = getpid(); setlocale(LC_ALL, ""); @@ -502,12 +502,8 @@ int main(int argc, char** argv) if (getuid() != 0) error_msg_and_die("ABRT daemon must be run as root"); - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); - const char *program_usage_string = _( - PROGNAME" [options]" + "\b [options]" ); enum { OPT_v = 1 << 0, @@ -527,6 +523,8 @@ int main(int argc, char** argv) }; unsigned opts = parse_opts(argc, argv, program_options, program_usage_string); + export_abrt_envvars(opts & OPT_p); + /* When dbus daemon starts us, it doesn't set PATH * (I saw it set only DBUS_STARTER_ADDRESS and DBUS_STARTER_BUS_TYPE). * In this case, set something sane: @@ -536,10 +534,7 @@ int main(int argc, char** argv) putenv((char*)"PATH=/usr/sbin:/usr/bin:/sbin:/bin"); unsetenv("ABRT_SYSLOG"); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - msg_prefix = PROGNAME; /* for log(), error_msg() and such */ - if (opts & OPT_p) - putenv((char*)"ABRT_PROG_PREFIX=1"); + msg_prefix = g_progname; /* for log(), error_msg() and such */ if (opts & OPT_s) start_syslog_logging(); diff --git a/src/gui-gtk/main.c b/src/gui-gtk/main.c index ee19ac8c..e9b175aa 100644 --- a/src/gui-gtk/main.c +++ b/src/gui-gtk/main.c @@ -25,8 +25,6 @@ # include #endif -#define PROGNAME "abrt-gui" - static int inotify_fd = -1; static GIOChannel *channel_inotify; static int channel_inotify_event_id = -1; @@ -193,6 +191,8 @@ void scan_dirs_and_add_to_dirlist(void) int main(int argc, char **argv) { + abrt_init(argv); + /* I18n */ setlocale(LC_ALL, ""); #if ENABLE_NLS @@ -204,16 +204,11 @@ int main(int argc, char **argv) * desktops which uses the name to find the corresponding .desktop file * trac#180 */ - g_set_prgname("abrt"); gtk_init(&argc, &argv); - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); - /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-vp] [DIR]...\n" + "\b [-vp] [DIR]...\n" "\n" "Shows list of ABRT dump directories in specified DIR(s)\n" "(default DIRs: "DEBUG_DUMPS_DIR" $HOME/.abrt/spool)" @@ -230,15 +225,7 @@ int main(int argc, char **argv) }; unsigned opts = parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; - if (opts & OPT_p) - { - msg_prefix = PROGNAME; - putenv((char*)"ABRT_PROG_PREFIX=1"); - } + export_abrt_envvars(opts & OPT_p); GtkWidget *main_window = create_main_window(); diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c index 2d036085..d1341b4b 100644 --- a/src/gui-wizard-gtk/main.c +++ b/src/gui-wizard-gtk/main.c @@ -25,8 +25,6 @@ # include #endif -#define PROGNAME "bug-reporting-wizard" - char *g_glade_file = NULL; char *g_dump_dir_name = NULL; char *g_analyze_events = NULL; @@ -62,6 +60,8 @@ void reload_problem_data_from_dump_dir(void) int main(int argc, char **argv) { + abrt_init(argv); + /* I18n */ setlocale(LC_ALL, ""); #if ENABLE_NLS @@ -69,16 +69,11 @@ int main(int argc, char **argv) textdomain(PACKAGE); #endif - g_set_prgname("abrt"); gtk_init(&argc, &argv); - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); - /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-vp] [-g GUI_FILE] DIR\n" + "\b [-vp] [-g GUI_FILE] DIR\n" "\n" "GUI tool to analyze and report problem saved in specified DIR" ); @@ -94,20 +89,13 @@ int main(int argc, char **argv) OPT_BOOL( 'p', NULL, NULL , _("Add program names to log")), OPT_END() }; - unsigned opts = parse_opts(argc, argv, program_options, program_usage_string); - - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - if (opts & OPT_p) - { - msg_prefix = PROGNAME; - putenv((char*)"ABRT_PROG_PREFIX=1"); - } - argv += optind; if (!argv[0] || argv[1]) /* zero or >1 arguments */ show_usage_and_die(program_usage_string, program_options); + export_abrt_envvars(opts & OPT_p); + g_dump_dir_name = xstrdup(argv[0]); /* load /etc/abrt/events/foo.{conf,xml} stuff diff --git a/src/lib/parse_options.c b/src/lib/parse_options.c index d9ce8a2f..4e4a3e08 100644 --- a/src/lib/parse_options.c +++ b/src/lib/parse_options.c @@ -24,12 +24,55 @@ #define USAGE_OPTS_WIDTH 24 #define USAGE_GAP 2 -void show_usage_and_die(const char *usage, const struct options *opt) +const char *g_progname; + +const char *abrt_init(char **argv) { - fprintf(stderr, _("Usage: %s\n"), usage); + char *env_verbose = getenv("ABRT_VERBOSE"); + if (env_verbose) + g_verbose = atoi(env_verbose); + + g_progname = strrchr(argv[0], '/'); + if (g_progname) + g_progname++; + else + g_progname = argv[0]; + + char *pfx = getenv("ABRT_PROG_PREFIX"); + if (pfx && string_to_bool(pfx)) + msg_prefix = g_progname; + + return g_progname; +} - if (opt->type != OPTION_GROUP) - fputc('\n', stderr); +void export_abrt_envvars(int pfx) +{ + putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); + if (pfx) + { + putenv((char*)"ABRT_PROG_PREFIX=1"); + msg_prefix = g_progname; + } +} + +void show_usage_and_die(const char *usage, const struct options *opt) +{ + fputs(_("Usage: "), stderr); + while (*usage) + { + int len = strchrnul(usage, '\b') - usage; + if (len > 0) + { + fprintf(stderr, "%.*s", len, usage); + usage += len; + } + if (*usage == '\b') + { + fputs(g_progname, stderr); + usage++; + } + } + fputs("\n\n", stderr); for (; opt->type != OPTION_END; opt++) { diff --git a/src/lib/parse_options.h b/src/lib/parse_options.h index 8c784b96..285d97a0 100644 --- a/src/lib/parse_options.h +++ b/src/lib/parse_options.h @@ -23,6 +23,13 @@ extern "C" { #endif +const char *abrt_init(char **argv); +#define export_abrt_envvars abrt_export_abrt_envvars +void export_abrt_envvars(int pfx); +#define g_progname abrt_g_progname +extern const char *g_progname; + + enum parse_opt_type { OPTION_BOOL, OPTION_GROUP, diff --git a/src/plugins/abrt-action-analyze-backtrace.c b/src/plugins/abrt-action-analyze-backtrace.c index 0e41b6eb..5d8c77f6 100644 --- a/src/plugins/abrt-action-analyze-backtrace.c +++ b/src/plugins/abrt-action-analyze-backtrace.c @@ -21,8 +21,6 @@ #include "../btparser/location.h" #include "parse_options.h" -#define PROGNAME "abrt-action-analyze-backtrace" - static const char *dump_dir_name = "."; @@ -50,13 +48,11 @@ static void create_hash(char hash_str[SHA1_RESULT_LEN*2 + 1], const char *pInput int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [options] -d DIR\n" + "\b [options] -d DIR\n" "\n" "Analyzes C/C++ backtrace, generates duplication hash, backtrace rating, and identifies crash function in dump directory DIR" ); @@ -72,11 +68,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0); if (!dd) diff --git a/src/plugins/abrt-action-analyze-c.c b/src/plugins/abrt-action-analyze-c.c index e3fe71d3..487fb8f7 100644 --- a/src/plugins/abrt-action-analyze-c.c +++ b/src/plugins/abrt-action-analyze-c.c @@ -19,8 +19,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-analyze-c" - static void create_hash(char hash_str[SHA1_RESULT_LEN*2 + 1], const char *pInput) { unsigned char hash_bytes[SHA1_RESULT_LEN]; @@ -155,15 +153,13 @@ static void trim_unstrip_output(char *result, const char *unstrip_n_output) int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); const char *dump_dir_name = "."; /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -d DIR\n" + "\b [-v] -d DIR\n" "\n" "Calculates and saves UUID of coredump in dump directory DIR" ); @@ -179,11 +175,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); /* Run unstrip -n and trim its output, leaving only sizes and build ids */ diff --git a/src/plugins/abrt-action-analyze-oops.c b/src/plugins/abrt-action-analyze-oops.c index 8fca109d..9485d3c8 100644 --- a/src/plugins/abrt-action-analyze-oops.c +++ b/src/plugins/abrt-action-analyze-oops.c @@ -19,8 +19,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-analyze-oops" - static void hash_oops_str(char hash_str[SHA1_RESULT_LEN*2 + 1], char *oops_buf, const char *oops_ptr) { unsigned char old_c; @@ -137,15 +135,13 @@ static void hash_oops_str(char hash_str[SHA1_RESULT_LEN*2 + 1], char *oops_buf, int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); const char *dump_dir_name = "."; /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-vs] -d DIR\n" + "\b [-vs] -d DIR\n" "\n" "Calculates and saves UUID and DUPHASH for oops dump directory DIR" ); @@ -161,11 +157,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0); if (!dd) diff --git a/src/plugins/abrt-action-analyze-python.c b/src/plugins/abrt-action-analyze-python.c index 07f14a32..5a33fb8d 100644 --- a/src/plugins/abrt-action-analyze-python.c +++ b/src/plugins/abrt-action-analyze-python.c @@ -19,19 +19,15 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-analyze-python" - int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); const char *dump_dir_name = "."; /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -d DIR\n" + "\b [-v] -d DIR\n" "\n" "Calculates and saves UUID and DUPHASH of python crash dumps" ); @@ -47,11 +43,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); struct dump_dir *dd = dd_opendir(dump_dir_name, /*flags:*/ 0); if (!dd) diff --git a/src/plugins/abrt-action-bugzilla.cpp b/src/plugins/abrt-action-bugzilla.cpp index 995b73c1..e8a605f1 100644 --- a/src/plugins/abrt-action-bugzilla.cpp +++ b/src/plugins/abrt-action-bugzilla.cpp @@ -21,8 +21,6 @@ #include "abrt_problem_data.h" #include "parse_options.h" -#define PROGNAME "abrt-action-bugzilla" - #define XML_RPC_SUFFIX "/xmlrpc.cgi" #define MAX_HOPS 5 @@ -908,9 +906,7 @@ static void report_to_bugzilla( int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); map_string_h *settings = new_map_string(); const char *dump_dir_name = "."; @@ -918,7 +914,7 @@ int main(int argc, char **argv) /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -c CONFFILE -d DIR\n" + "\b [-v] -c CONFFILE -d DIR\n" "\n" "Reports problem to Bugzilla" ); @@ -936,11 +932,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); while (conf_file) { diff --git a/src/plugins/abrt-action-generate-backtrace.c b/src/plugins/abrt-action-generate-backtrace.c index 44ec752c..1d06871a 100644 --- a/src/plugins/abrt-action-generate-backtrace.c +++ b/src/plugins/abrt-action-generate-backtrace.c @@ -23,8 +23,6 @@ #include "parse_options.h" -#define PROGNAME "abrt-action-generate-backtrace" - #define DEBUGINFO_CACHE_DIR LOCALSTATEDIR"/cache/abrt-di" static const char *dump_dir_name = "."; @@ -232,15 +230,13 @@ static char *get_backtrace(struct dump_dir *dd) int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); char *i_opt = NULL; /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [options] -d DIR\n" + "\b [options] -d DIR\n" "\n" "Analyzes coredump in dump directory DIR, generates and saves backtrace" ); @@ -260,11 +256,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); if (i_opt) { diff --git a/src/plugins/abrt-action-kerneloops.c b/src/plugins/abrt-action-kerneloops.c index 7b054a2e..99b2fea9 100644 --- a/src/plugins/abrt-action-kerneloops.c +++ b/src/plugins/abrt-action-kerneloops.c @@ -21,8 +21,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-kerneloops" - /* helpers */ static size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream) { @@ -129,9 +127,7 @@ static void report_to_kerneloops( int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); map_string_h *settings = new_map_string(); const char *dump_dir_name = "."; @@ -139,7 +135,7 @@ int main(int argc, char **argv) /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] [-c CONFFILE]... -d DIR\n" + "\b [-v] [-c CONFFILE]... -d DIR\n" "\n" "Reports kernel oops to kerneloops.org (or similar) site" ); @@ -157,11 +153,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); while (conf_file) { diff --git a/src/plugins/abrt-action-mailx.c b/src/plugins/abrt-action-mailx.c index d1b35564..21180854 100644 --- a/src/plugins/abrt-action-mailx.c +++ b/src/plugins/abrt-action-mailx.c @@ -20,8 +20,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-mailx" - static void exec_and_feed_input(const char* text, char **args) { int pipein[2]; @@ -131,16 +129,14 @@ static void create_and_send_email( int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); const char *dump_dir_name = "."; const char *conf_file = NULL; /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -d DIR [-c CONFFILE]\n" + "\b [-v] -d DIR [-c CONFFILE]\n" "\n" "Sends contents of a dump directory DIR via email" ); @@ -158,11 +154,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); map_string_h *settings = new_map_string(); if (conf_file) diff --git a/src/plugins/abrt-action-print.c b/src/plugins/abrt-action-print.c index aa61563c..d433fa52 100644 --- a/src/plugins/abrt-action-print.c +++ b/src/plugins/abrt-action-print.c @@ -21,8 +21,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-print" - static const char *dump_dir_name = "."; static const char *output_file = NULL; static const char *append = "no"; @@ -30,13 +28,11 @@ static const char *open_mode = "w"; int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -d DIR [-o FILE] [-a yes/no] [-r]\n" + "\b [-v] -d DIR [-o FILE] [-a yes/no] [-r]\n" "\n" "Prints problem information to standard output or FILE" ); @@ -58,11 +54,7 @@ int main(int argc, char **argv) }; unsigned opts = parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); if (output_file) { diff --git a/src/plugins/abrt-action-rhtsupport.c b/src/plugins/abrt-action-rhtsupport.c index fbdc7f7e..4616be3f 100644 --- a/src/plugins/abrt-action-rhtsupport.c +++ b/src/plugins/abrt-action-rhtsupport.c @@ -24,8 +24,6 @@ #include "abrt_rh_support.h" #include "parse_options.h" -#define PROGNAME "abrt-action-rhtsupport" - static void report_to_rhtsupport( const char *dump_dir_name, map_string_h *settings) @@ -266,9 +264,7 @@ static void report_to_rhtsupport( int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); map_string_h *settings = new_map_string(); const char *dump_dir_name = "."; @@ -276,7 +272,7 @@ int main(int argc, char **argv) /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -c CONFFILE -d DIR\n" + "\b [-v] -c CONFFILE -d DIR\n" "\n" "Reports a problem to RHTSupport" ); @@ -294,11 +290,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); while (conf_file) { diff --git a/src/plugins/abrt-action-trim-files.c b/src/plugins/abrt-action-trim-files.c index dd7366ed..9f15038c 100644 --- a/src/plugins/abrt-action-trim-files.c +++ b/src/plugins/abrt-action-trim-files.c @@ -19,8 +19,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-trim-files" - static double get_dir_size(const char *dirname, char **worst_file, double *worst_file_size) @@ -141,9 +139,7 @@ static void delete_files(gpointer data, gpointer user_data_unused) int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); GList *dir_list = NULL; GList *file_list = NULL; @@ -151,7 +147,7 @@ int main(int argc, char **argv) /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] [-d SIZE:DIR]... [-f SIZE:DIR]... [-p DIR]\n" + "\b [-v] [-d SIZE:DIR]... [-f SIZE:DIR]... [-p DIR]\n" "\n" "Deletes dump dirs (-d) or files (-f) in DIRs until they are smaller than SIZE" ); @@ -169,17 +165,12 @@ int main(int argc, char **argv) OPT_STRING('p', NULL, &preserve , "DIR" , _("Preserve this dump dir")), OPT_END() }; - /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); argv += optind; if (argv[0] || !(dir_list || file_list)) show_usage_and_die(program_usage_string, program_options); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); g_list_foreach(dir_list, delete_dirs, preserve); g_list_foreach(file_list, delete_files, NULL); diff --git a/src/plugins/abrt-action-upload.c b/src/plugins/abrt-action-upload.c index 79347a18..06ae8b20 100644 --- a/src/plugins/abrt-action-upload.c +++ b/src/plugins/abrt-action-upload.c @@ -22,8 +22,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-action-upload" - //TODO: use this for better logging #if 0 /* "read local data from a file" callback */ @@ -232,9 +230,7 @@ static int create_and_upload_archive( int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); const char *dump_dir_name = "."; const char *conf_file = NULL; @@ -242,7 +238,7 @@ int main(int argc, char **argv) /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-v] -d DIR [-c CONFFILE] [-u URL]\n" + "\b [-v] -d DIR [-c CONFFILE] [-u URL]\n" "\n" "Uploads compressed tarball of dump directory DIR" ); @@ -262,11 +258,7 @@ int main(int argc, char **argv) }; /*unsigned opts =*/ parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - - char *pfx = getenv("ABRT_PROG_PREFIX"); - if (pfx && string_to_bool(pfx)) - msg_prefix = PROGNAME; + export_abrt_envvars(0); map_string_h *settings = new_map_string(); if (url) diff --git a/src/plugins/abrt-dump-oops.c b/src/plugins/abrt-dump-oops.c index f716c3db..c2879caa 100644 --- a/src/plugins/abrt-dump-oops.c +++ b/src/plugins/abrt-dump-oops.c @@ -23,8 +23,6 @@ #include "abrtlib.h" #include "parse_options.h" -#define PROGNAME "abrt-dump-oops" - static bool world_readable_dump = false; static const char *debug_dumps_dir = "."; @@ -560,13 +558,11 @@ static unsigned save_oops_to_dump_dir(GList *oops_list, unsigned oops_cnt) int main(int argc, char **argv) { - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); + abrt_init(argv); /* Can't keep these strings/structs static: _() doesn't support that */ const char *program_usage_string = _( - PROGNAME" [-vsrowx] [-d DIR] FILE\n" + "\b [-vsrowx] [-d DIR] FILE\n" "\n" "Extract oops from syslog/dmesg file" ); @@ -595,11 +591,11 @@ int main(int argc, char **argv) }; unsigned opts = parse_opts(argc, argv, program_options, program_usage_string); - putenv(xasprintf("ABRT_VERBOSE=%u", g_verbose)); - msg_prefix = PROGNAME; - if ((opts & OPT_s) - || getenv("ABRT_SYSLOG") - ) { + export_abrt_envvars(0); + + msg_prefix = g_progname; + if ((opts & OPT_s) || getenv("ABRT_SYSLOG")) + { openlog(msg_prefix, 0, LOG_DAEMON); logmode = LOGMODE_SYSLOG; } diff --git a/src/plugins/abrt-retrace-client.c b/src/plugins/abrt-retrace-client.c index 7587943d..003c0d73 100644 --- a/src/plugins/abrt-retrace-client.c +++ b/src/plugins/abrt-retrace-client.c @@ -866,6 +866,8 @@ static int run_batch(bool delete_temp_archive) int main(int argc, char **argv) { + abrt_init(argv); + const char *task_id = NULL; const char *task_password = NULL; @@ -913,9 +915,6 @@ int main(int argc, char **argv) const char usage[] = "abrt-retrace-client [options]\n" "Operations: create/status/backtrace/log/batch"; - char *env_verbose = getenv("ABRT_VERBOSE"); - if (env_verbose) - g_verbose = atoi(env_verbose); char *env_url = getenv("RETRACE_SERVER_URL"); if (env_url) url = env_url; -- cgit