From f057bc84403db2f4283a50cfa44da5da679ea08c Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Sun, 15 Nov 2020 11:54:07 +0900 Subject: [PATCH] seq: add checks for method arguments In Rules for use of GError, it's just used for recoverable runtime error, not for programming error. The invalid arguments are a kind of programming error. This commit adds the check for method arguments. Signed-off-by: Takashi Sakamoto --- src/seq/client-info.c | 11 +- src/seq/event-cntr.c | 238 +++++++++++++--------------------------- src/seq/query.c | 16 +++ src/seq/queue-status.c | 4 + src/seq/queue-tempo.c | 4 + src/seq/queue-timer.c | 4 + src/seq/remove-filter.c | 42 ++----- src/seq/user-client.c | 51 ++++----- 8 files changed, 140 insertions(+), 230 deletions(-) diff --git a/src/seq/client-info.c b/src/seq/client-info.c index 40f3fbf..73f05c4 100644 --- a/src/seq/client-info.c +++ b/src/seq/client-info.c @@ -224,13 +224,11 @@ void alsaseq_client_info_set_event_filter(ALSASeqClientInfo *self, g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(self)); priv = alsaseq_client_info_get_instance_private(self); + g_return_if_fail(event_types != NULL); g_return_if_fail(error == NULL || *error == NULL); memset(priv->info.event_filter, 0, sizeof(priv->info.event_filter)); - if (event_types == NULL) - return; - for (i = 0; i < event_type_count; ++i) { ALSASeqEventType event_type = (int)event_types[i]; unsigned int order = event_type / (sizeof(priv->info.event_filter[0]) * 8); @@ -264,13 +262,10 @@ void alsaseq_client_info_get_event_filter(ALSASeqClientInfo *self, g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(self)); priv = alsaseq_client_info_get_instance_private(self); + g_return_if_fail(event_types != NULL); + g_return_if_fail(event_type_count != NULL); g_return_if_fail(error == NULL || *error == NULL); - if (event_types == NULL || event_type_count == NULL) { - generate_error(error, EINVAL); - return; - } - count = 0; for (i = 0; i < SNDRV_SEQ_EVENT_NONE + 1; ++i) { unsigned int order = i / (sizeof(priv->info.event_filter[0]) * 8); diff --git a/src/seq/event-cntr.c b/src/seq/event-cntr.c index ea55040..e466454 100644 --- a/src/seq/event-cntr.c +++ b/src/seq/event-cntr.c @@ -203,6 +203,8 @@ void alsaseq_event_cntr_count_events(ALSASeqEventCntr *self, gsize *count) g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(count != NULL); + event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); *count = 0; @@ -231,6 +233,7 @@ void alsaseq_event_cntr_calculate_pool_consumption(ALSASeqEventCntr *self, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(cells != NULL); g_return_if_fail(error == NULL || *error == NULL); *cells = 0; @@ -265,15 +268,13 @@ void alsaseq_event_cntr_get_event_type(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(ev_type != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *ev_type = (ALSASeqEventType)ev->type; } @@ -303,10 +304,7 @@ void alsaseq_event_cntr_set_event_type(ALSASeqEventCntr *self, event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->type = (snd_seq_event_type_t)ev_type; } @@ -331,15 +329,13 @@ void alsaseq_event_cntr_get_tstamp_mode(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(mode != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *mode = (ALSASeqEventTimestampMode)(ev->flags & SNDRV_SEQ_TIME_STAMP_MASK); } @@ -369,10 +365,7 @@ void alsaseq_event_cntr_set_tstamp_mode(ALSASeqEventCntr *self, gsize index, event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->flags &= ~SNDRV_SEQ_TIME_STAMP_MASK; ev->flags |= (unsigned char)mode; @@ -398,15 +391,13 @@ void alsaseq_event_cntr_get_time_mode(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(mode != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *mode = (ALSASeqEventTimeMode)(ev->flags & SNDRV_SEQ_TIME_MODE_MASK); } @@ -436,10 +427,7 @@ void alsaseq_event_cntr_set_time_mode(ALSASeqEventCntr *self, gsize index, event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->flags &= ~SNDRV_SEQ_TIME_MODE_MASK; ev->flags |= (unsigned char)mode; @@ -465,15 +453,13 @@ void alsaseq_event_cntr_get_length_mode(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(mode != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *mode = (ALSASeqEventLengthMode)(ev->flags & SNDRV_SEQ_EVENT_LENGTH_MASK); } @@ -498,15 +484,13 @@ void alsaseq_event_cntr_get_priority_mode( g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(mode != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *mode = (ALSASeqEventPriorityMode)(ev->flags & SNDRV_SEQ_PRIORITY_MASK); } @@ -536,10 +520,7 @@ void alsaseq_event_cntr_set_priority_mode( event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->flags &= ~SNDRV_SEQ_PRIORITY_MASK; ev->flags |= (unsigned char)mode; @@ -564,15 +545,13 @@ void alsaseq_event_cntr_get_tag(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(tag != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *tag = ev->tag; } @@ -601,10 +580,7 @@ void alsaseq_event_cntr_set_tag(ALSASeqEventCntr *self, gsize index, event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->tag = tag; } @@ -629,15 +605,13 @@ void alsaseq_event_cntr_get_queue_id(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(queue_id != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *queue_id = ev->queue; } @@ -667,10 +641,7 @@ void alsaseq_event_cntr_set_queue_id(ALSASeqEventCntr *self, gsize index, event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->queue = queue_id; } @@ -695,15 +666,13 @@ void alsaseq_event_cntr_get_tstamp(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(tstamp != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *tstamp = (const ALSASeqTstamp *)&ev->time; } @@ -728,15 +697,13 @@ void alsaseq_event_cntr_set_tstamp(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(tstamp != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->time = *tstamp; } @@ -760,15 +727,13 @@ void alsaseq_event_cntr_get_dst(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(dst != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *dst = (const ALSASeqAddr *)&ev->dest; } @@ -792,15 +757,13 @@ void alsaseq_event_cntr_set_dst(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(dst != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->dest = *dst; } @@ -824,15 +787,13 @@ void alsaseq_event_cntr_get_src(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(src != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *src = (const ALSASeqAddr *)&ev->source; } @@ -856,15 +817,13 @@ void alsaseq_event_cntr_set_src(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(src != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ev->source = *src; } @@ -873,7 +832,7 @@ static void ensure_fixed_length_event(ALSASeqEventCntrPrivate *priv, struct snd_seq_event *ev, GError **error) { if (!priv->allocated) { - generate_error(error, ENOBUFS); + g_return_if_fail(priv->allocated); return; } @@ -912,7 +871,7 @@ static void ensure_variable_length_event(ALSASeqEventCntrPrivate *priv, guint8 *new; if (!priv->allocated) { - generate_error(error, ENOBUFS); + g_return_if_fail(priv->allocated); return; } @@ -967,14 +926,12 @@ void alsaseq_event_cntr_get_note_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqEventDataNote *)&ev->data.note; } @@ -998,14 +955,12 @@ void alsaseq_event_cntr_set_note_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1033,14 +988,12 @@ void alsaseq_event_cntr_get_ctl_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqEventDataCtl *)&ev->data.control; } @@ -1064,14 +1017,12 @@ void alsaseq_event_cntr_set_ctl_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1099,14 +1050,12 @@ void alsaseq_event_cntr_get_byte_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = ev->data.raw8.d; } @@ -1130,14 +1079,12 @@ void alsaseq_event_cntr_set_byte_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1165,15 +1112,13 @@ void alsaseq_event_cntr_get_quadlet_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = ev->data.raw32.d; } @@ -1197,15 +1142,13 @@ void alsaseq_event_cntr_set_quadlet_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1235,14 +1178,13 @@ void alsaseq_event_cntr_get_blob_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); + g_return_if_fail(size != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); switch (ev->flags & SNDRV_SEQ_EVENT_LENGTH_MASK) { case SNDRV_SEQ_EVENT_LENGTH_VARIABLE: @@ -1256,7 +1198,7 @@ void alsaseq_event_cntr_get_blob_data(ALSASeqEventCntr *self, gsize index, break; } default: - generate_error(error, ENODATA); + g_return_if_reached(); break; } } @@ -1282,14 +1224,12 @@ void alsaseq_event_cntr_set_blob_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_variable_length_event(priv, ev, data, size, error); } @@ -1313,14 +1253,12 @@ void alsaseq_event_cntr_get_queue_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqEventDataQueue *)&ev->data.queue; } @@ -1344,14 +1282,12 @@ void alsaseq_event_cntr_set_queue_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1379,14 +1315,12 @@ void alsaseq_event_cntr_get_tstamp_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqTstamp *)&ev->data.time; } @@ -1410,14 +1344,12 @@ void alsaseq_event_cntr_set_tstamp_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1445,14 +1377,12 @@ void alsaseq_event_cntr_get_addr_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqAddr *)&ev->data.time; } @@ -1476,14 +1406,12 @@ void alsaseq_event_cntr_set_addr_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1511,14 +1439,12 @@ void alsaseq_event_cntr_get_connect_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqEventDataConnect *)&ev->data.connect; } @@ -1542,14 +1468,12 @@ void alsaseq_event_cntr_set_connect_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, EINVAL); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) @@ -1577,14 +1501,12 @@ void alsaseq_event_cntr_get_result_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); *data = (const ALSASeqEventDataResult *)&ev->data.result; } @@ -1608,14 +1530,12 @@ void alsaseq_event_cntr_set_result_data(ALSASeqEventCntr *self, gsize index, g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(self)); priv = alsaseq_event_cntr_get_instance_private(self); + g_return_if_fail(data != NULL); g_return_if_fail(error == NULL || *error == NULL); event_iterator_init(&iter, priv->buf, priv->length, priv->allocated); ev = event_iterator_find(&iter, index); - if (ev == NULL) { - generate_error(error, ENOENT); - return; - } + g_return_if_fail(ev != NULL); ensure_fixed_length_event(priv, ev, error); if (*error != NULL) diff --git a/src/seq/query.c b/src/seq/query.c index 851fc4b..f2dfb78 100644 --- a/src/seq/query.c +++ b/src/seq/query.c @@ -39,6 +39,7 @@ void alsaseq_get_seq_sysname(gchar **sysname, GError **error) struct udev_device *dev; const char *name; + g_return_if_fail(sysname != NULL); g_return_if_fail(error == NULL || *error == NULL); ctx = udev_new(); @@ -83,6 +84,7 @@ void alsaseq_get_seq_devnode(gchar **devnode, GError **error) struct udev_device *dev; const char *node; + g_return_if_fail(devnode != NULL); g_return_if_fail(error == NULL || *error == NULL); ctx = udev_new(); @@ -128,6 +130,7 @@ void alsaseq_get_system_info(ALSASeqSystemInfo **system_info, GError **error) struct snd_seq_system_info *info; int fd; + g_return_if_fail(system_info != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -186,6 +189,8 @@ void alsaseq_get_client_id_list(guint8 **entries, gsize *entry_count, struct snd_seq_client_info client_info = {0}; int fd; + g_return_if_fail(entries != NULL); + g_return_if_fail(entry_count != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -266,6 +271,7 @@ void alsaseq_get_client_info(guint8 client_id, ALSASeqClientInfo **client_info, struct snd_seq_client_info *info; int fd; + g_return_if_fail(client_info != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -322,6 +328,8 @@ void alsaseq_get_port_id_list(guint8 client_id, guint8 **entries, struct snd_seq_port_info port_info = {0}; int fd; + g_return_if_fail(entries != NULL); + g_return_if_fail(entry_count != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -392,6 +400,7 @@ void alsaseq_get_port_info(guint8 client_id, guint8 port_id, struct snd_seq_port_info *info; int fd; + g_return_if_fail(port_info != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -442,6 +451,7 @@ void alsaseq_get_client_pool(guint8 client_id, ALSASeqClientPool **client_pool, int fd; struct snd_seq_client_pool *pool; + g_return_if_fail(client_pool != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -506,6 +516,7 @@ void alsaseq_get_subscription_list(const ALSASeqAddr *addr, unsigned int count; unsigned int index; + g_return_if_fail(entries != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -585,6 +596,8 @@ void alsaseq_get_queue_id_list(guint8 **entries, gsize *entry_count, unsigned int index; int i; + g_return_if_fail(entries != NULL); + g_return_if_fail(entry_count != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -656,6 +669,7 @@ void alsaseq_get_queue_info_by_id(guint8 queue_id, ALSASeqQueueInfo **queue_info char *devnode; int fd; + g_return_if_fail(queue_info != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -703,6 +717,7 @@ void alsaseq_get_queue_info_by_name(const gchar *name, char *devnode; int fd; + g_return_if_fail(queue_info != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); @@ -751,6 +766,7 @@ void alsaseq_get_queue_status(guint8 queue_id, char *devnode; int fd; + g_return_if_fail(queue_status != NULL); g_return_if_fail(error == NULL || *error == NULL); alsaseq_get_seq_devnode(&devnode, error); diff --git a/src/seq/queue-status.c b/src/seq/queue-status.c index 92222a2..c331770 100644 --- a/src/seq/queue-status.c +++ b/src/seq/queue-status.c @@ -112,6 +112,8 @@ void alsaseq_queue_status_get_tick_time(ALSASeqQueueStatus *self, g_return_if_fail(ALSASEQ_IS_QUEUE_STATUS(self)); priv = alsaseq_queue_status_get_instance_private(self); + g_return_if_fail(tick_time != NULL); + *tick_time = priv->status.tick; } @@ -131,6 +133,8 @@ void alsaseq_queue_status_get_real_time(ALSASeqQueueStatus *self, g_return_if_fail(ALSASEQ_IS_QUEUE_STATUS(self)); priv = alsaseq_queue_status_get_instance_private(self); + g_return_if_fail(real_time != NULL); + // MEMO: I wish 32-bit storage size is aligned to 32 bit offset in all of // supported ABIs. *real_time = (const guint32 *)&priv->status.time; diff --git a/src/seq/queue-tempo.c b/src/seq/queue-tempo.c index 58c70b5..38a79c6 100644 --- a/src/seq/queue-tempo.c +++ b/src/seq/queue-tempo.c @@ -136,6 +136,8 @@ void alsaseq_queue_tempo_get_skew(ALSASeqQueueTempo *self, const guint32 *skew[2 g_return_if_fail(ALSASEQ_IS_QUEUE_TEMPO(self)); priv = alsaseq_queue_tempo_get_instance_private(self); + g_return_if_fail(skew != NULL); + // MEMO: I wish 32-bit storage size is aligned to 32 bit offset in all of // supported ABIs. *skew = (guint32 *)&priv->tempo.skew_value; @@ -157,6 +159,8 @@ void alsaseq_queue_tempo_set_skew(ALSASeqQueueTempo *self, const guint32 skew[2] g_return_if_fail(ALSASEQ_IS_QUEUE_TEMPO(self)); priv = alsaseq_queue_tempo_get_instance_private(self); + g_return_if_fail(skew != NULL); + priv->tempo.skew_value = skew[0]; priv->tempo.skew_base = skew[1]; } diff --git a/src/seq/queue-timer.c b/src/seq/queue-timer.c index 7a9b883..b8ef1ea 100644 --- a/src/seq/queue-timer.c +++ b/src/seq/queue-timer.c @@ -105,6 +105,8 @@ void alsaseq_queue_timer_get_alsa_data(ALSASeqQueueTimer *self, g_return_if_fail(ALSASEQ_IS_QUEUE_TIMER(self)); priv = alsaseq_queue_timer_get_instance_private(self); + g_return_if_fail(data != NULL); + *data = (const ALSASeqQueueTimerDataAlsa *)&priv->timer.u.alsa; } @@ -124,6 +126,8 @@ void alsaseq_queue_timer_set_alsa_data(ALSASeqQueueTimer *self, g_return_if_fail(ALSASEQ_IS_QUEUE_TIMER(self)); priv = alsaseq_queue_timer_get_instance_private(self); + g_return_if_fail(data != NULL); + priv->timer.type = SNDRV_SEQ_TIMER_ALSA; priv->timer.u.alsa.id = data->device_id; priv->timer.u.alsa.resolution = data->resolution; diff --git a/src/seq/remove-filter.c b/src/seq/remove-filter.c index 4991dd9..9172639 100644 --- a/src/seq/remove-filter.c +++ b/src/seq/remove-filter.c @@ -43,11 +43,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_dest_addr( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout | SNDRV_SEQ_REMOVE_DEST; filter.queue = queue_id; @@ -74,11 +70,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_note_channel( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout | SNDRV_SEQ_REMOVE_DEST_CHANNEL; filter.queue = queue_id; @@ -105,11 +97,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_event_type( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout | SNDRV_SEQ_REMOVE_EVENT_TYPE; filter.queue = queue_id; @@ -135,11 +123,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_note( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout | SNDRV_SEQ_REMOVE_IGNORE_OFF; filter.queue = queue_id; @@ -165,11 +149,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_tag( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout | SNDRV_SEQ_REMOVE_TAG_MATCH; filter.queue = queue_id; @@ -199,11 +179,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_tick_time( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout | SNDRV_SEQ_REMOVE_TIME_TICK; if (after) @@ -238,11 +214,7 @@ ALSASeqRemoveFilter *alsaseq_remove_filter_new_with_real_time( struct snd_seq_remove_events filter; g_return_val_if_fail(error == NULL || *error == NULL, NULL); - - if (inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)) { - generate_error(error, EINVAL); - return NULL; - } + g_return_val_if_fail(!(inout & ~(SNDRV_SEQ_REMOVE_INPUT | SNDRV_SEQ_REMOVE_OUTPUT)), NULL); filter.remove_mode = inout; if (after) diff --git a/src/seq/user-client.c b/src/seq/user-client.c index 07aedb8..8cffe27 100644 --- a/src/seq/user-client.c +++ b/src/seq/user-client.c @@ -215,6 +215,7 @@ void alsaseq_user_client_get_protocol_version(ALSASeqUserClient *self, g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(proto_ver_triplet != NULL); g_return_if_fail(error == NULL || *error == NULL); if (priv->fd < 0) { @@ -244,9 +245,9 @@ void alsaseq_user_client_set_info(ALSASeqUserClient *self, struct snd_seq_client_info *info; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(client_info)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(client_info)); g_return_if_fail(error == NULL || *error == NULL); seq_client_info_refer_private(client_info, &info); @@ -275,10 +276,10 @@ void alsaseq_user_client_get_info(ALSASeqUserClient *self, struct snd_seq_client_info *info; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(client_info != NULL); - g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(*client_info)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(client_info != NULL); + g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(*client_info)); g_return_if_fail(error == NULL || *error == NULL); seq_client_info_refer_private(*client_info, &info); @@ -306,9 +307,9 @@ void alsaseq_user_client_create_port(ALSASeqUserClient *self, struct snd_seq_port_info *info; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_PORT_INFO(*port_info)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_PORT_INFO(*port_info)); g_return_if_fail(error == NULL || *error == NULL); seq_port_info_refer_private(*port_info, &info); @@ -368,9 +369,9 @@ void alsaseq_user_client_update_port(ALSASeqUserClient *self, struct snd_seq_port_info *info; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_PORT_INFO(port_info)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_PORT_INFO(port_info)); g_return_if_fail(error == NULL || *error == NULL); seq_port_info_refer_private(port_info, &info); @@ -429,9 +430,9 @@ void alsaseq_user_client_set_pool(ALSASeqUserClient *self, struct snd_seq_client_pool *pool; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_CLIENT_POOL(client_pool)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_CLIENT_POOL(client_pool)); g_return_if_fail(error == NULL || *error == NULL); seq_client_pool_refer_private(client_pool, &pool); @@ -459,10 +460,9 @@ void alsaseq_user_client_get_pool(ALSASeqUserClient *self, struct snd_seq_client_pool *pool; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(*client_pool != NULL); - g_return_if_fail(ALSASEQ_IS_CLIENT_POOL(*client_pool)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_CLIENT_POOL(*client_pool)); g_return_if_fail(error == NULL || *error == NULL); seq_client_pool_refer_private(*client_pool, &pool); @@ -494,22 +494,16 @@ void alsaseq_user_client_schedule_event(ALSASeqUserClient *self, ssize_t len; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(ev_cntr)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_EVENT_CNTR(ev_cntr)); g_return_if_fail(error == NULL || *error == NULL); alsaseq_event_cntr_count_events(ev_cntr, &total); - if (count > total) { - generate_error(error, ENOBUFS); - return; - } + g_return_if_fail(count <= total); seq_event_cntr_get_buf(ev_cntr, count, &buf, &length); - if (buf == NULL || length == 0) { - generate_error(error, ENODATA); - return; - } + g_return_if_fail(buf != NULL && length > 0); len = write(priv->fd, buf, length); if (len < 0) @@ -599,6 +593,7 @@ void alsaseq_user_client_create_source(ALSASeqUserClient *self, g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(gsrc != NULL); g_return_if_fail(error == NULL || *error == NULL); if (priv->fd < 0) { @@ -646,9 +641,9 @@ void alsaseq_user_client_operate_subscription(ALSASeqUserClient *self, long request; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_SUBSCRIBE_DATA(subs_data)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_SUBSCRIBE_DATA(subs_data)); g_return_if_fail(error == NULL || *error == NULL); seq_subscribe_data_refer_private(subs_data, &data); @@ -682,9 +677,9 @@ void alsaseq_user_client_create_queue(ALSASeqUserClient *self, struct snd_seq_queue_info *info; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_QUEUE_INFO(*queue_info)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_QUEUE_INFO(*queue_info)); g_return_if_fail(error == NULL || *error == NULL); seq_queue_info_refer_private(*queue_info, &info); @@ -740,9 +735,9 @@ void alsaseq_user_client_update_queue(ALSASeqUserClient *self, struct snd_seq_queue_info *info; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_QUEUE_INFO(queue_info)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_QUEUE_INFO(queue_info)); g_return_if_fail(error == NULL || *error == NULL); seq_queue_info_refer_private(queue_info, &info); @@ -774,6 +769,7 @@ void alsaseq_user_client_get_queue_usage(ALSASeqUserClient *self, g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(use != NULL); g_return_if_fail(error == NULL || *error == NULL); data.queue = (int)queue_id; @@ -839,9 +835,9 @@ void alsaseq_user_client_set_queue_tempo(ALSASeqUserClient *self, struct snd_seq_queue_tempo *tempo; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_QUEUE_TEMPO(queue_tempo)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_QUEUE_TEMPO(queue_tempo)); g_return_if_fail(error == NULL || *error == NULL); seq_queue_tempo_refer_private(queue_tempo, &tempo); @@ -871,9 +867,9 @@ void alsaseq_user_client_get_queue_tempo(ALSASeqUserClient *self, struct snd_seq_queue_tempo *tempo; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(queue_tempo != NULL); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(queue_tempo != NULL); g_return_if_fail(error == NULL || *error == NULL); *queue_tempo = g_object_new(ALSASEQ_TYPE_QUEUE_TEMPO, NULL); @@ -908,9 +904,9 @@ void alsaseq_user_client_set_queue_timer(ALSASeqUserClient *self, struct snd_seq_queue_timer *timer; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(ALSASEQ_IS_QUEUE_TIMER(queue_timer)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(ALSASEQ_IS_QUEUE_TIMER(queue_timer)); g_return_if_fail(error == NULL || *error == NULL); seq_queue_timer_refer_private(queue_timer, &timer); @@ -921,8 +917,7 @@ void alsaseq_user_client_set_queue_timer(ALSASeqUserClient *self, case SNDRV_SEQ_TIMER_MIDI_CLOCK: case SNDRV_SEQ_TIMER_MIDI_TICK: default: - generate_error(error, EINVAL); - return; + g_return_if_reached(); } timer->queue = queue_id; @@ -952,9 +947,9 @@ void alsaseq_user_client_get_queue_timer(ALSASeqUserClient *self, struct snd_seq_queue_timer *timer; g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); - g_return_if_fail(queue_timer != NULL); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(queue_timer != NULL); g_return_if_fail(error == NULL || *error == NULL); *queue_timer = g_object_new(ALSASEQ_TYPE_QUEUE_TIMER, NULL); @@ -975,8 +970,7 @@ void alsaseq_user_client_get_queue_timer(ALSASeqUserClient *self, // Not available. g_object_unref(*queue_timer); *queue_timer = NULL; - generate_error(error, ENXIO); - return; + g_return_if_reached(); } } @@ -1000,6 +994,7 @@ void alsaseq_user_client_remove_events(ALSASeqUserClient *self, g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); priv = alsaseq_user_client_get_instance_private(self); + g_return_if_fail(filter != NULL); g_return_if_fail(error == NULL || *error == NULL); if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_REMOVE_EVENTS, filter) < 0) { -- 2.47.3