diff options
author | Thomas Jansen <mithi@mithi.net> | 2010-09-25 15:00:43 +0200 |
---|---|---|
committer | Thomas Jansen <mithi@mithi.net> | 2010-09-25 15:00:43 +0200 |
commit | 28bcb8bdf568875eeea1349e39b7958d77c8fcc1 (patch) | |
tree | 17397be16e8067a48fd532a581081f68a1b17700 /src/output | |
parent | 9af9fd140032138894e4781caabee8a5a96edab8 (diff) | |
download | mpd-28bcb8bdf568875eeea1349e39b7958d77c8fcc1.tar.gz mpd-28bcb8bdf568875eeea1349e39b7958d77c8fcc1.tar.xz mpd-28bcb8bdf568875eeea1349e39b7958d77c8fcc1.zip |
eliminate g_error() usage
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header
file 'mpd_error.h'. This macro uses g_critical() to print the error message
and then exits gracefully in contrast to g_error() which would internally call
abort() to produce a core dump.
The macro name is distinctive and allows to find all places with dubious error
handling. The long-term goal is to get rid of MPD_ERROR() altogether. To
facilitate the eventual removal of this macro it was added in a new header
file rather than to an existing header file.
This fixes #2995 and #3007.
Diffstat (limited to '')
-rw-r--r-- | src/output/shout_plugin.c | 5 | ||||
-rw-r--r-- | src/output_all.c | 11 | ||||
-rw-r--r-- | src/output_thread.c | 3 |
3 files changed, 11 insertions, 8 deletions
diff --git a/src/output/shout_plugin.c b/src/output/shout_plugin.c index a8b409be2..d1466eb3a 100644 --- a/src/output/shout_plugin.c +++ b/src/output/shout_plugin.c @@ -21,6 +21,7 @@ #include "output_api.h" #include "encoder_plugin.h" #include "encoder_list.h" +#include "mpd_error.h" #include <shout/shout.h> #include <glib.h> @@ -101,8 +102,8 @@ static void free_shout_data(struct shout_data *sd) #define check_block_param(name) { \ block_param = config_get_block_param(param, name); \ if (!block_param) { \ - g_error("no \"%s\" defined for shout device defined at line " \ - "%i\n", name, param->line); \ + MPD_ERROR("no \"%s\" defined for shout device defined at line " \ + "%i\n", name, param->line); \ } \ } diff --git a/src/output_all.c b/src/output_all.c index dbd5a6ce6..3f582dcb4 100644 --- a/src/output_all.c +++ b/src/output_all.c @@ -26,6 +26,7 @@ #include "pipe.h" #include "buffer.h" #include "player_control.h" +#include "mpd_error.h" #ifndef NDEBUG #include "chunk.h" @@ -122,17 +123,17 @@ audio_output_all_init(void) if (!audio_output_init(output, param, &error)) { if (param != NULL) - g_error("line %i: %s", - param->line, error->message); + MPD_ERROR("line %i: %s", + param->line, error->message) else - g_error("%s", error->message); + MPD_ERROR("%s", error->message); } /* require output names to be unique: */ for (j = 0; j < i; j++) { if (!strcmp(output->name, audio_outputs[j].name)) { - g_error("output devices with identical " - "names: %s\n", output->name); + MPD_ERROR("output devices with identical " + "names: %s\n", output->name); } } } diff --git a/src/output_thread.c b/src/output_thread.c index df9d7801b..c10a1552f 100644 --- a/src/output_thread.c +++ b/src/output_thread.c @@ -28,6 +28,7 @@ #include "filter_plugin.h" #include "filter/convert_filter_plugin.h" #include "filter/replay_gain_filter_plugin.h" +#include "mpd_error.h" #include <glib.h> @@ -629,5 +630,5 @@ void audio_output_thread_start(struct audio_output *ao) assert(ao->command == AO_COMMAND_NONE); if (!(ao->thread = g_thread_create(audio_output_task, ao, true, &e))) - g_error("Failed to spawn output task: %s\n", e->message); + MPD_ERROR("Failed to spawn output task: %s\n", e->message); } |