From 992c2fa2d4f0b3fae9bd26144c14e6a4e0ce9a75 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 12 Jun 2012 20:29:47 +0200 Subject: output_list: declare variables inside _plugins_for_each() Don't require the caller to provide them. --- src/output_init.c | 5 +---- src/output_list.c | 10 ++-------- src/output_list.h | 6 ++++-- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/output_init.c b/src/output_init.c index 96f87f51..5bf8b93c 100644 --- a/src/output_init.c +++ b/src/output_init.c @@ -49,12 +49,9 @@ static const struct audio_output_plugin * audio_output_detect(GError **error) { - const struct audio_output_plugin *plugin; - unsigned i; - g_warning("Attempt to detect audio output device"); - audio_output_plugins_for_each(plugin, i) { + audio_output_plugins_for_each(plugin) { if (plugin->test_default_device == NULL) continue; diff --git a/src/output_list.c b/src/output_list.c index 07f2fa55..bc7a6abd 100644 --- a/src/output_list.c +++ b/src/output_list.c @@ -95,10 +95,7 @@ const struct audio_output_plugin *const audio_output_plugins[] = { const struct audio_output_plugin * audio_output_plugin_get(const char *name) { - unsigned int i; - const struct audio_output_plugin *plugin; - - audio_output_plugins_for_each(plugin, i) + audio_output_plugins_for_each(plugin) if (strcmp(plugin->name, name) == 0) return plugin; @@ -107,10 +104,7 @@ audio_output_plugin_get(const char *name) void audio_output_plugin_print_all_types(FILE * fp) { - unsigned i; - const struct audio_output_plugin *plugin; - - audio_output_plugins_for_each(plugin, i) + audio_output_plugins_for_each(plugin) fprintf(fp, "%s ", plugin->name); fprintf(fp, "\n"); diff --git a/src/output_list.h b/src/output_list.h index ee510221..85497a6c 100644 --- a/src/output_list.h +++ b/src/output_list.h @@ -29,7 +29,9 @@ audio_output_plugin_get(const char *name); void audio_output_plugin_print_all_types(FILE * fp); -#define audio_output_plugins_for_each(plugin, i) \ - for (i = 0; (plugin = audio_output_plugins[i]) != NULL; ++i) +#define audio_output_plugins_for_each(plugin) \ + for (const struct audio_output_plugin *plugin, \ + *const*output_plugin_iterator = &audio_output_plugins[0]; \ + (plugin = *output_plugin_iterator) != NULL; ++output_plugin_iterator) #endif -- cgit v1.2.3