Use new parameter validation macro

This commit is contained in:
Sam Lantinga committed 2025-09-18 20:58:32 -07:00
1 parent ee1c90a358
commit 25b2d2c821
60 files changed
+1113 -1133

No files matched your search

+14 -10
View File
@@ -136,11 +136,11 @@ int SDL_GetNumAudioDrivers(void)
const char *SDL_GetAudioDriver(int index)
{
if (index >= 0 && index < SDL_GetNumAudioDrivers()) {
return deduped_bootstrap[index]->name;
CHECK_PARAM(index < 0 || index >= SDL_GetNumAudioDrivers()) {
SDL_InvalidParamError("index");
return NULL;
}
SDL_InvalidParamError("index");
return NULL;
return deduped_bootstrap[index]->name;
}
const char *SDL_GetCurrentAudioDriver(void)
@@ -1576,7 +1576,7 @@ const char *SDL_GetAudioDeviceName(SDL_AudioDeviceID devid)
bool SDL_GetAudioDeviceFormat(SDL_AudioDeviceID devid, SDL_AudioSpec *spec, int *sample_frames)
{
if (!spec) {
CHECK_PARAM(!spec) {
return SDL_InvalidParamError("spec");
}
@@ -1937,7 +1937,7 @@ float SDL_GetAudioDeviceGain(SDL_AudioDeviceID devid)
bool SDL_SetAudioDeviceGain(SDL_AudioDeviceID devid, float gain)
{
if (gain < 0.0f) {
CHECK_PARAM(gain < 0.0f) {
return SDL_InvalidParamError("gain");
}
@@ -1986,11 +1986,15 @@ bool SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream * const *stre
if (num_streams == 0) {
return true; // nothing to do
} else if (num_streams < 0) {
}
CHECK_PARAM(num_streams < 0) {
return SDL_InvalidParamError("num_streams");
} else if (!streams) {
}
CHECK_PARAM(!streams) {
return SDL_InvalidParamError("streams");
} else if (SDL_IsAudioDevicePhysical(devid)) {
}
CHECK_PARAM(SDL_IsAudioDevicePhysical(devid)) {
return SDL_SetError("Audio streams are bound to device ids from SDL_OpenAudioDevice, not raw physical devices");
}
@@ -2150,7 +2154,7 @@ SDL_AudioDeviceID SDL_GetAudioStreamDevice(SDL_AudioStream *stream)
{
SDL_AudioDeviceID result = 0;
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return 0;
}
+72 -43
View File
@@ -474,10 +474,11 @@ SDL_AudioStream *SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_
SDL_PropertiesID SDL_GetAudioStreamProperties(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return 0;
}
SDL_LockMutex(stream->lock);
if (stream->props == 0) {
stream->props = SDL_CreateProperties();
@@ -488,9 +489,10 @@ SDL_PropertiesID SDL_GetAudioStreamProperties(SDL_AudioStream *stream)
bool SDL_SetAudioStreamGetCallback(SDL_AudioStream *stream, SDL_AudioStreamCallback callback, void *userdata)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
SDL_LockMutex(stream->lock);
stream->get_callback = callback;
stream->get_callback_userdata = userdata;
@@ -500,9 +502,10 @@ bool SDL_SetAudioStreamGetCallback(SDL_AudioStream *stream, SDL_AudioStreamCallb
bool SDL_SetAudioStreamPutCallback(SDL_AudioStream *stream, SDL_AudioStreamCallback callback, void *userdata)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
SDL_LockMutex(stream->lock);
stream->put_callback = callback;
stream->put_callback_userdata = userdata;
@@ -512,25 +515,27 @@ bool SDL_SetAudioStreamPutCallback(SDL_AudioStream *stream, SDL_AudioStreamCallb
bool SDL_LockAudioStream(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
SDL_LockMutex(stream->lock);
return true;
}
bool SDL_UnlockAudioStream(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
SDL_UnlockMutex(stream->lock);
return true;
}
bool SDL_GetAudioStreamFormat(SDL_AudioStream *stream, SDL_AudioSpec *src_spec, SDL_AudioSpec *dst_spec)
{
if (!stream) {
CHECK_PARAM(!stream) {
if (src_spec) {
SDL_zerop(src_spec);
}
@@ -560,7 +565,7 @@ bool SDL_GetAudioStreamFormat(SDL_AudioStream *stream, SDL_AudioSpec *src_spec,
bool SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
@@ -569,21 +574,25 @@ bool SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_
// like 196608000Hz. File a bug. :P
if (src_spec) {
if (!SDL_IsSupportedAudioFormat(src_spec->format)) {
CHECK_PARAM(!SDL_IsSupportedAudioFormat(src_spec->format)) {
return SDL_InvalidParamError("src_spec->format");
} else if (!SDL_IsSupportedChannelCount(src_spec->channels)) {
}
CHECK_PARAM(!SDL_IsSupportedChannelCount(src_spec->channels)) {
return SDL_InvalidParamError("src_spec->channels");
} else if (src_spec->freq <= 0) {
}
CHECK_PARAM(src_spec->freq <= 0) {
return SDL_InvalidParamError("src_spec->freq");
}
}
if (dst_spec) {
if (!SDL_IsSupportedAudioFormat(dst_spec->format)) {
CHECK_PARAM(!SDL_IsSupportedAudioFormat(dst_spec->format)) {
return SDL_InvalidParamError("dst_spec->format");
} else if (!SDL_IsSupportedChannelCount(dst_spec->channels)) {
}
CHECK_PARAM(!SDL_IsSupportedChannelCount(dst_spec->channels)) {
return SDL_InvalidParamError("dst_spec->channels");
} else if (dst_spec->freq <= 0) {
}
CHECK_PARAM(dst_spec->freq <= 0) {
return SDL_InvalidParamError("dst_spec->freq");
}
}
@@ -622,7 +631,7 @@ bool SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_
bool SetAudioStreamChannelMap(SDL_AudioStream *stream, const SDL_AudioSpec *spec, int **stream_chmap, const int *chmap, int channels, int isinput)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
@@ -708,7 +717,7 @@ int *SDL_GetAudioStreamOutputChannelMap(SDL_AudioStream *stream, int *count)
float SDL_GetAudioStreamFrequencyRatio(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return 0.0f;
}
@@ -722,7 +731,7 @@ float SDL_GetAudioStreamFrequencyRatio(SDL_AudioStream *stream)
bool SDL_SetAudioStreamFrequencyRatio(SDL_AudioStream *stream, float freq_ratio)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
@@ -745,7 +754,7 @@ bool SDL_SetAudioStreamFrequencyRatio(SDL_AudioStream *stream, float freq_ratio)
float SDL_GetAudioStreamGain(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return -1.0f;
}
@@ -759,9 +768,10 @@ float SDL_GetAudioStreamGain(SDL_AudioStream *stream)
bool SDL_SetAudioStreamGain(SDL_AudioStream *stream, float gain)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
} else if (gain < 0.0f) {
}
CHECK_PARAM(gain < 0.0f) {
return SDL_InvalidParamError("gain");
}
@@ -847,13 +857,17 @@ static void SDLCALL FreeAllocatedAudioBuffer(void *userdata, const void *buf, in
bool SDL_PutAudioStreamData(SDL_AudioStream *stream, const void *buf, int len)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
} else if (!buf) {
}
CHECK_PARAM(!buf) {
return SDL_InvalidParamError("buf");
} else if (len < 0) {
}
CHECK_PARAM(len < 0) {
return SDL_InvalidParamError("len");
} else if (len == 0) {
}
if (len == 0) {
return true; // nothing to do.
}
@@ -965,13 +979,17 @@ static void InterleaveAudioChannels(void *output, const void * const *channel_bu
bool SDL_PutAudioStreamPlanarData(SDL_AudioStream *stream, const void * const *channel_buffers, int num_channels, int num_samples)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
} else if (!channel_buffers) {
}
CHECK_PARAM(!channel_buffers) {
return SDL_InvalidParamError("channel_buffers");
} else if (num_samples < 0) {
}
CHECK_PARAM(num_samples < 0) {
return SDL_InvalidParamError("num_samples");
} else if (num_samples == 0) {
}
if (num_samples == 0) {
return true; // nothing to do.
}
@@ -1039,13 +1057,17 @@ static void SDLCALL DontFreeThisAudioBuffer(void *userdata, const void *buf, int
bool SDL_PutAudioStreamDataNoCopy(SDL_AudioStream *stream, const void *buf, int len, SDL_AudioStreamDataCompleteCallback callback, void *userdata)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
} else if (!buf) {
}
CHECK_PARAM(!buf) {
return SDL_InvalidParamError("buf");
} else if (len < 0) {
}
CHECK_PARAM(len < 0) {
return SDL_InvalidParamError("len");
} else if (len == 0) {
}
if (len == 0) {
if (callback) {
callback(userdata, buf, len);
}
@@ -1057,7 +1079,7 @@ bool SDL_PutAudioStreamDataNoCopy(SDL_AudioStream *stream, const void *buf, int
bool SDL_FlushAudioStream(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
@@ -1320,16 +1342,20 @@ int SDL_GetAudioStreamDataAdjustGain(SDL_AudioStream *stream, void *voidbuf, int
SDL_Log("AUDIOSTREAM: want to get %d converted bytes", len);
#endif
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return -1;
} else if (!buf) {
}
CHECK_PARAM(!buf) {
SDL_InvalidParamError("buf");
return -1;
} else if (len < 0) {
}
CHECK_PARAM(len < 0) {
SDL_InvalidParamError("len");
return -1;
} else if (len == 0) {
}
if (len == 0) {
return 0; // nothing to do.
}
@@ -1427,7 +1453,7 @@ int SDL_GetAudioStreamData(SDL_AudioStream *stream, void *voidbuf, int len)
// number of converted/resampled bytes available for output
int SDL_GetAudioStreamAvailable(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return -1;
}
@@ -1453,7 +1479,7 @@ int SDL_GetAudioStreamAvailable(SDL_AudioStream *stream)
// number of sample frames that are currently queued as input.
int SDL_GetAudioStreamQueued(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
SDL_InvalidParamError("stream");
return -1;
}
@@ -1470,7 +1496,7 @@ int SDL_GetAudioStreamQueued(SDL_AudioStream *stream)
bool SDL_ClearAudioStream(SDL_AudioStream *stream)
{
if (!stream) {
CHECK_PARAM(!stream) {
return SDL_InvalidParamError("stream");
}
@@ -1522,13 +1548,16 @@ bool SDL_ConvertAudioSamples(const SDL_AudioSpec *src_spec, const Uint8 *src_dat
*dst_len = 0;
}
if (!src_data) {
CHECK_PARAM(!src_data) {
return SDL_InvalidParamError("src_data");
} else if (src_len < 0) {
}
CHECK_PARAM(src_len < 0) {
return SDL_InvalidParamError("src_len");
} else if (!dst_data) {
}
CHECK_PARAM(!dst_data) {
return SDL_InvalidParamError("dst_data");
} else if (!dst_len) {
}
CHECK_PARAM(!dst_len) {
return SDL_InvalidParamError("dst_len");
}
+7 -4
View File
@@ -2092,16 +2092,19 @@ bool SDL_LoadWAV_IO(SDL_IOStream *src, bool closeio, SDL_AudioSpec *spec, Uint8
}
// Make sure we are passed a valid data source
if (!src) {
CHECK_PARAM(!src) {
SDL_InvalidParamError("src");
goto done;
} else if (!spec) {
}
CHECK_PARAM(!spec) {
SDL_InvalidParamError("spec");
goto done;
} else if (!audio_buf) {
}
CHECK_PARAM(!audio_buf) {
SDL_InvalidParamError("audio_buf");
goto done;
} else if (!audio_len) {
}
CHECK_PARAM(!audio_len) {
SDL_InvalidParamError("audio_len");
goto done;
}