aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/mms_input_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-11-14 23:53:04 +0100
committerMax Kellermann <max@duempel.org>2009-12-15 23:12:11 +0100
commit228b03edf8513aa1cdaf4e4647279cc580245555 (patch)
tree7f5b03a9727fb8c371885469296eb7f49f6fa68b /src/input/mms_input_plugin.c
parentd000d31355c824a076324b647a3f056aab9ddabe (diff)
downloadmpd-228b03edf8513aa1cdaf4e4647279cc580245555.tar.gz
mpd-228b03edf8513aa1cdaf4e4647279cc580245555.tar.xz
mpd-228b03edf8513aa1cdaf4e4647279cc580245555.zip
input_stream: return errors with GError
Diffstat (limited to 'src/input/mms_input_plugin.c')
-rw-r--r--src/input/mms_input_plugin.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/input/mms_input_plugin.c b/src/input/mms_input_plugin.c
index eb2665afb..b38fb43df 100644
--- a/src/input/mms_input_plugin.c
+++ b/src/input/mms_input_plugin.c
@@ -36,8 +36,14 @@ struct input_mms {
bool eof;
};
+static inline GQuark
+mms_quark(void)
+{
+ return g_quark_from_static_string("mms");
+}
+
static bool
-input_mms_open(struct input_stream *is, const char *url)
+input_mms_open(struct input_stream *is, const char *url, GError **error_r)
{
struct input_mms *m;
@@ -50,7 +56,7 @@ input_mms_open(struct input_stream *is, const char *url)
m = g_new(struct input_mms, 1);
m->mms = mmsx_connect(NULL, NULL, url, 128 * 1024);
if (m->mms == NULL) {
- g_warning("mmsx_connect() failed");
+ g_set_error(error_r, mms_quark(), 0, "mmsx_connect() failed");
return false;
}
@@ -65,7 +71,8 @@ input_mms_open(struct input_stream *is, const char *url)
}
static size_t
-input_mms_read(struct input_stream *is, void *ptr, size_t size)
+input_mms_read(struct input_stream *is, void *ptr, size_t size,
+ GError **error_r)
{
struct input_mms *m = is->data;
int ret;
@@ -73,8 +80,9 @@ input_mms_read(struct input_stream *is, void *ptr, size_t size)
ret = mmsx_read(NULL, m->mms, ptr, size);
if (ret <= 0) {
if (ret < 0) {
- is->error = errno;
- g_warning("mmsx_read() failed: %s", g_strerror(errno));
+ g_set_error(error_r, mms_quark(), errno,
+ "mmsx_read() failed: %s",
+ g_strerror(errno));
}
m->eof = true;
@@ -104,14 +112,16 @@ input_mms_eof(struct input_stream *is)
}
static int
-input_mms_buffer(G_GNUC_UNUSED struct input_stream *is)
+input_mms_buffer(G_GNUC_UNUSED struct input_stream *is,
+ G_GNUC_UNUSED GError **error_r)
{
return 0;
}
static bool
input_mms_seek(G_GNUC_UNUSED struct input_stream *is,
- G_GNUC_UNUSED goffset offset, G_GNUC_UNUSED int whence)
+ G_GNUC_UNUSED goffset offset, G_GNUC_UNUSED int whence,
+ G_GNUC_UNUSED GError **error_r)
{
return false;
}