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.
This commit is contained in:
Thomas Jansen
2010-09-25 15:00:43 +02:00
parent 9af9fd1400
commit 28bcb8bdf5
27 changed files with 166 additions and 103 deletions

View File

@@ -19,6 +19,7 @@
#include "config.h"
#include "decoder_api.h"
#include "mpd_error.h"
#include <glib.h>
#include <mikmod.h>
@@ -110,8 +111,8 @@ mikmod_decoder_init(const struct config_param *param)
mikmod_sample_rate = config_get_block_unsigned(param, "sample_rate",
44100);
if (!audio_valid_sample_rate(mikmod_sample_rate))
g_error("Invalid sample rate in line %d: %u",
param->line, mikmod_sample_rate);
MPD_ERROR("Invalid sample rate in line %d: %u",
param->line, mikmod_sample_rate);
md_device = 0;
md_reverb = 0;