diff options
author | Max Kellermann <max@duempel.org> | 2012-03-06 22:08:54 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-03-06 22:08:54 +0100 |
commit | e9f1b53ae6819170ea06f4347a2c5c631044c1f3 (patch) | |
tree | 78bd59ae101103aed5b4ab6840fa128272cd8b44 | |
parent | 5016839b90274017696e0942f424d4f361d39ea2 (diff) | |
download | mpd-e9f1b53ae6819170ea06f4347a2c5c631044c1f3.tar.gz mpd-e9f1b53ae6819170ea06f4347a2c5c631044c1f3.tar.xz mpd-e9f1b53ae6819170ea06f4347a2c5c631044c1f3.zip |
command, ack: add ack_quark()
To pass ack values around.
-rw-r--r-- | src/ack.h | 12 | ||||
-rw-r--r-- | src/command.c | 4 |
2 files changed, 16 insertions, 0 deletions
@@ -20,6 +20,8 @@ #ifndef MPD_ACK_H #define MPD_ACK_H +#include <glib.h> + enum ack { ACK_ERROR_NOT_LIST = 1, ACK_ERROR_ARG = 2, @@ -36,4 +38,14 @@ enum ack { ACK_ERROR_EXIST = 56, }; +/** + * Quark for GError.domain; the code is an enum #ack. + */ +G_GNUC_CONST +static inline GQuark +ack_quark(void) +{ + return g_quark_from_static_string("ack"); +} + #endif diff --git a/src/command.c b/src/command.c index 4641f671b..655ed7b1a 100644 --- a/src/command.c +++ b/src/command.c @@ -183,6 +183,10 @@ print_error(struct client *client, GError *error) enum playlist_result result = error->code; g_error_free(error); return print_playlist_result(client, result); + } else if (error->domain == ack_quark()) { + command_error(client, error->code, "%s", error->message); + g_error_free(error); + return COMMAND_RETURN_ERROR; } else if (error->domain == db_quark()) { switch ((enum db_error)error->code) { case DB_DISABLED: |