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:
+3
-4
@@ -26,6 +26,7 @@
|
||||
#include "decoder_plugin.h"
|
||||
#include "output_list.h"
|
||||
#include "ls.h"
|
||||
#include "mpd_error.h"
|
||||
|
||||
#ifdef ENABLE_ENCODER
|
||||
#include "encoder_list.h"
|
||||
@@ -155,10 +156,8 @@ parse_cmdline(int argc, char **argv, struct options *options,
|
||||
ret = g_option_context_parse(context, &argc, &argv, &error);
|
||||
g_option_context_free(context);
|
||||
|
||||
if (!ret) {
|
||||
g_error("option parsing failed: %s\n", error->message);
|
||||
exit(1);
|
||||
}
|
||||
if (!ret)
|
||||
MPD_ERROR("option parsing failed: %s\n", error->message);
|
||||
|
||||
if (option_version)
|
||||
version();
|
||||
|
||||
Reference in New Issue
Block a user