X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afh_common.c;h=0b0d84beb04b2e558c44b8985861d0734561865a;hp=cb773bd69bb2cc2706969e280685cadc160b2e01;hb=54fda72783697f2258faa95d642224c47454b11b;hpb=30e16b04db8733e17fcf887508f2c33088eef2b6 diff --git a/afh_common.c b/afh_common.c index cb773bd6..0b0d84be 100644 --- a/afh_common.c +++ b/afh_common.c @@ -80,11 +80,11 @@ static struct audio_format_handler afl[] = { .init = opus_afh_init, #endif }, - { - .name = NULL, - } }; +/** This includes audio formats not compiled in. */ +#define NUM_AUDIO_FORMATS (ARRAY_SIZE(afl)) + /** * Get the name of the given audio format. * @@ -95,7 +95,7 @@ static struct audio_format_handler afl[] = { */ const char *audio_format_name(int i) { - if (i < 0 || i >= ARRAY_SIZE(afl) - 1) + if (i < 0 || i >= NUM_AUDIO_FORMATS) return "???"; return afl[i].name; } @@ -103,16 +103,17 @@ const char *audio_format_name(int i) static inline int next_audio_format(int format) { for (;;) { - if (!afl[format].name) - return format; format++; + if (format >= NUM_AUDIO_FORMATS) + return format; if (afl[format].init) return format; } } /** Iterate over each supported audio format. */ -#define FOR_EACH_AUDIO_FORMAT(i) for (i = 0; afl[i].name; i = next_audio_format(i)) +#define FOR_EACH_AUDIO_FORMAT(i) \ + for (i = 0; i < NUM_AUDIO_FORMATS; i = next_audio_format(i)) /** * Call the init function of each supported audio format handler.