Add a COUNTOF macro to get the number of entries in a static array

This commit is contained in:
Chris Robinson 2012-02-19 12:07:40 -08:00
parent 6dc194ed1d
commit 4a65747a4b
5 changed files with 13 additions and 12 deletions

View File

@ -970,7 +970,7 @@ static ALboolean DecomposeDevFormat(ALenum format, enum DevFmtChannels *chans,
};
ALuint i;
for(i = 0;i < sizeof(list)/sizeof(list[0]);i++)
for(i = 0;i < COUNTOF(list);i++)
{
if(list[i].format == format)
{
@ -2474,7 +2474,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName)
};
size_t i;
for(i = 0;i < sizeof(chanlist)/sizeof(chanlist[0]);i++)
for(i = 0;i < COUNTOF(chanlist);i++)
{
if(strcasecmp(chanlist[i].name, fmt) == 0)
{
@ -2483,7 +2483,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName)
break;
}
}
if(i == sizeof(chanlist)/sizeof(chanlist[0]))
if(i == COUNTOF(chanlist))
ERR("Unsupported channels: %s\n", fmt);
}
if(ConfigValueStr(NULL, "sample-type", &fmt))
@ -2502,7 +2502,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName)
};
size_t i;
for(i = 0;i < sizeof(typelist)/sizeof(typelist[0]);i++)
for(i = 0;i < COUNTOF(typelist);i++)
{
if(strcasecmp(typelist[i].name, fmt) == 0)
{
@ -2511,7 +2511,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName)
break;
}
}
if(i == sizeof(typelist)/sizeof(typelist[0]))
if(i == COUNTOF(typelist))
ERR("Unsupported sample-type: %s\n", fmt);
}
#define DEVICE_FORMAT_REQUEST (DEVICE_CHANNELS_REQUEST|DEVICE_SAMPLE_TYPE_REQUEST)
@ -2547,7 +2547,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName)
size_t i;
ERR("Option 'format' is deprecated, please use 'channels' and 'sample-type'\n");
for(i = 0;i < sizeof(formats)/sizeof(formats[0]);i++)
for(i = 0;i < COUNTOF(formats);i++)
{
if(strcasecmp(fmt, formats[i].name) == 0)
{
@ -2559,7 +2559,7 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *deviceName)
break;
}
}
if(i == sizeof(formats)/sizeof(formats[0]))
if(i == COUNTOF(formats))
ERR("Unsupported format: %s\n", fmt);
}
#undef DEVICE_FORMAT_REQUEST

View File

@ -703,7 +703,7 @@ static ALCboolean alsa_reset_playback(ALCdevice *device)
};
size_t k;
for(k = 0;k < sizeof(formatlist)/sizeof(formatlist[0]);k++)
for(k = 0;k < COUNTOF(formatlist);k++)
{
format = formatlist[k].format;
if(snd_pcm_hw_params_test_format(data->pcmHandle, p, format) >= 0)
@ -726,7 +726,7 @@ static ALCboolean alsa_reset_playback(ALCdevice *device)
};
size_t k;
for(k = 0;k < sizeof(channellist)/sizeof(channellist[0]);k++)
for(k = 0;k < COUNTOF(channellist);k++)
{
if(snd_pcm_hw_params_test_channels(data->pcmHandle, p, ChannelsFromDevFmt(channellist[k])) >= 0)
{

View File

@ -105,6 +105,7 @@ static const union {
} EndianTest = { 1 };
#define IS_LITTLE_ENDIAN (EndianTest.b[0] == 1)
#define COUNTOF(x) (sizeof((x))/sizeof((x)[0]))
#ifdef _WIN32

View File

@ -2136,7 +2136,7 @@ static ALboolean DecomposeUserFormat(ALenum format, enum UserFmtChannels *chans,
};
ALuint i;
for(i = 0;i < sizeof(list)/sizeof(list[0]);i++)
for(i = 0;i < COUNTOF(list);i++)
{
if(list[i].format == format)
{
@ -2213,7 +2213,7 @@ static ALboolean DecomposeFormat(ALenum format, enum FmtChannels *chans, enum Fm
};
ALuint i;
for(i = 0;i < sizeof(list)/sizeof(list[0]);i++)
for(i = 0;i < COUNTOF(list);i++)
{
if(list[i].format == format)
{

View File

@ -1449,7 +1449,7 @@ static const struct {
DECL(SMALLWATERROOM),
};
#undef DECL
static const ALsizei reverblistsize = sizeof(reverblist)/sizeof(reverblist[0]);
static const ALsizei reverblistsize = COUNTOF(reverblist);
ALvoid GetReverbEffect(const char *name, ALeffect *effect)
{