From 058e0d3144b32d048c2a7637447881256e4c9997 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 1 Feb 2011 15:58:44 +0100 Subject: use run_state->children_count == 0 check for "event not conf'd" condition run_event_on_FOO() was returning -1 when it found that not even one program was run on the requested event. Which is not a very natural return value: in many cases this isn't an error. This change makes it return 0 in this case. It is ok since now we have run_state->children_count member which can be checked for 0 by those callers which want to detect this condition. Signed-off-by: Denys Vlasenko --- src/applet/test_report.c | 2 +- src/cli/report.cpp | 11 +++-------- src/daemon/MiddleWare.cpp | 5 +++-- src/daemon/abrt-handle-crashdump.c | 2 +- src/lib/run_event.c | 2 +- 5 files changed, 9 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/applet/test_report.c b/src/applet/test_report.c index 80cf3c73..dada106e 100644 --- a/src/applet/test_report.c +++ b/src/applet/test_report.c @@ -51,7 +51,7 @@ int main(int argc, char** argv) struct run_event_state *run_state = new_run_event_state(); run_state->logging_callback = do_log; int r = run_event_on_dir_name(run_state, dir_name, event); - if (r == -1) + if (r == 0 && run_state->children_count == 0) printf("No actions are found for event '%s'\n", event); free_run_event_state(run_state); diff --git a/src/cli/report.cpp b/src/cli/report.cpp index 56740e25..29c5e06f 100644 --- a/src/cli/report.cpp +++ b/src/cli/report.cpp @@ -637,9 +637,10 @@ static int run_events(const char *dump_dir_name, std::string event = events[i]; int r = run_event_on_dir_name(run_state, dump_dir_name, event.c_str()); - if (r == -1) + if (r == 0 && run_state->children_count == 0) { l_state.last_line = xasprintf("Error: no processing is specified for event '%s'", event.c_str()); + r = -1; } if (r == 0) { @@ -707,13 +708,7 @@ int run_analyze_event(const char *dump_dir_name) run_state->logging_callback = do_log; int res = run_event_on_dir_name(run_state, dump_dir_name, "analyze"); free_run_event_state(run_state); - - if (res != 0 && res != -1) /* -1 is "nothing was done", here it is ok */ - { - error_msg("Error while running analyze event on '%s'", dump_dir_name); - return 1; - } - return 0; + return res; } diff --git a/src/daemon/MiddleWare.cpp b/src/daemon/MiddleWare.cpp index 8b8795a2..906b1464 100644 --- a/src/daemon/MiddleWare.cpp +++ b/src/daemon/MiddleWare.cpp @@ -147,7 +147,7 @@ static mw_result_t CreateCrashReport(const char *dump_dir_name, run_state->logging_callback = do_log_and_update_client; res = run_event_on_dir_name(run_state, dump_dir_name, force ? "reanalyze" : "analyze"); free_run_event_state(run_state); - if (res != 0 && res != -1) /* -1 is "nothing was done", here it is ok */ + if (res != 0) { r = MW_PLUGIN_ERROR; goto ret; @@ -317,9 +317,10 @@ report_status_t Report(crash_data_t *client_report, l_state.last_line = NULL; int r = run_event_on_dir_name(run_state, dump_dir_name, event.c_str()); - if (r == -1) + if (r == 0 && run_state->children_count == 0) { l_state.last_line = xasprintf("Error: no processing is specified for event '%s'", event.c_str()); + r = -1; } if (r == 0) { diff --git a/src/daemon/abrt-handle-crashdump.c b/src/daemon/abrt-handle-crashdump.c index c778c792..e7847c5f 100644 --- a/src/daemon/abrt-handle-crashdump.c +++ b/src/daemon/abrt-handle-crashdump.c @@ -93,7 +93,7 @@ int main(int argc, char **argv) struct run_event_state *run_state = new_run_event_state(); run_state->logging_callback = do_log; int r = run_event_on_dir_name(run_state, dump_dir_name ? dump_dir_name : ".", event); - if (r == -1) + if (r == 0 && run_state->children_count == 0) error_msg_and_die("No actions are found for event '%s'", event); free_run_event_state(run_state); diff --git a/src/lib/run_event.c b/src/lib/run_event.c index a14b42ca..6efc51da 100644 --- a/src/lib/run_event.c +++ b/src/lib/run_event.c @@ -53,7 +53,7 @@ static int run_event_helper(struct run_event_state *state, setenv("EVENT", event, 1); /* Read, match, and execute lines from abrt_event.conf */ - int retval = -1; + int retval = 0; struct dump_dir *dd = NULL; char *next_line = xmalloc_fgetline(conffile); while (next_line) -- cgit