[pulseaudio-discuss] [PATCH v2 06/12] modules: Cleanup get_sinks() in module-equalizer-sink
Peter Meerwald
pmeerw at pmeerw.net
Tue Sep 15 15:01:44 PDT 2015
From: Peter Meerwald <p.meerwald at bct-electronic.com>
CID 1323588
return value of pa_idxset_iterate() should be checked,
rewrite loop to do so
could have used PA_IDXSET_FOREACH() as well
---
src/modules/module-equalizer-sink.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/modules/module-equalizer-sink.c b/src/modules/module-equalizer-sink.c
index 9c25f3f..b3c8cf2 100644
--- a/src/modules/module-equalizer-sink.c
+++ b/src/modules/module-equalizer-sink.c
@@ -1669,20 +1669,20 @@ void manager_get_revision(DBusConnection *conn, DBusMessage *msg, void *_u) {
static void get_sinks(pa_core *u, char ***names, unsigned *n_sinks) {
void *iter = NULL;
- struct userdata *sink_u = NULL;
- uint32_t dummy;
+ struct userdata *sink_u;
pa_idxset *sink_list;
+ unsigned i = 0;
+
pa_assert(u);
pa_assert(names);
pa_assert(n_sinks);
pa_assert_se(sink_list = pa_shared_get(u, SINKLIST));
*n_sinks = (unsigned) pa_idxset_size(sink_list);
- *names = *n_sinks > 0 ? pa_xnew0(char *,*n_sinks) : NULL;
- for(uint32_t i = 0; i < *n_sinks; ++i) {
- sink_u = (struct userdata *) pa_idxset_iterate(sink_list, &iter, &dummy);
- (*names)[i] = pa_xstrdup(sink_u->dbus_path);
- }
+ *names = *n_sinks > 0 ? pa_xnew0(char *, *n_sinks) : NULL;
+
+ while ((sink_u = pa_idxset_iterate(sink_list, &iter, NULL)))
+ (*names)[i++] = pa_xstrdup(sink_u->dbus_path);
}
void manager_get_sinks(DBusConnection *conn, DBusMessage *msg, void *_u) {
--
1.9.1
More information about the pulseaudio-discuss
mailing list