Removed mostly unused SDL_errorcode

This commit is contained in:
Sam Lantinga 2024-05-07 15:04:17 -07:00
parent afe7c7a644
commit 04be04c338
9 changed files with 41 additions and 60 deletions

View File

@ -65,6 +65,17 @@ extern "C" {
*/
extern DECLSPEC int SDLCALL SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1);
/**
* Set an error indicating that memory allocation failed.
*
* This function does not do any memory allocation.
*
* \returns -1
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_OutOfMemory(void);
/**
* Retrieve a message about the last error that occurred on the current
* thread.
@ -121,28 +132,8 @@ extern DECLSPEC int SDLCALL SDL_ClearError(void);
* Private error reporting function - used internally.
*/
/* @{ */
#define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM)
#define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED)
#define SDL_Unsupported() SDL_SetError("That operation is not supported")
#define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param))
typedef enum SDL_errorcode
{
SDL_ENOMEM,
SDL_EFREAD,
SDL_EFWRITE,
SDL_EFSEEK,
SDL_UNSUPPORTED,
SDL_LASTERROR
} SDL_errorcode;
/**
* Set an SDL error from a list of error codes.
*
* \param code Error code
* \returns unconditionally -1.
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code);
/* @} *//* Internal error functions */
/* Ends C function definitions when using C++ */

View File

@ -59,7 +59,6 @@ int SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
return -1;
}
/* Available for backwards compatibility */
const char *SDL_GetError(void)
{
const SDL_error *error = SDL_GetErrBuf(SDL_FALSE);
@ -88,22 +87,13 @@ int SDL_ClearError(void)
return 0;
}
/* Very common errors go here */
int SDL_Error(SDL_errorcode code)
int SDL_OutOfMemory(void)
{
switch (code) {
case SDL_ENOMEM:
SDL_GetErrBuf(SDL_TRUE)->error = SDL_ErrorCodeOutOfMemory;
return -1;
case SDL_EFREAD:
return SDL_SetError("Error reading from datastream");
case SDL_EFWRITE:
return SDL_SetError("Error writing to datastream");
case SDL_EFSEEK:
return SDL_SetError("Error seeking in datastream");
case SDL_UNSUPPORTED:
return SDL_SetError("That operation is not supported");
default:
return SDL_SetError("Unknown SDL error");
SDL_error *error = SDL_GetErrBuf(SDL_TRUE);
if (error) {
error->error = SDL_ErrorCodeOutOfMemory;
}
return -1;
}

View File

@ -60,7 +60,7 @@ extern "C" {
static void SDL_InitDynamicAPI(void);
/* BE CAREFUL CALLING ANY SDL CODE IN HERE, IT WILL BLOW UP.
Even self-contained stuff might call SDL_Error and break everything. */
Even self-contained stuff might call SDL_SetError() and break everything. */
/* behold, the macro salsa! */

View File

@ -127,7 +127,6 @@ SDL3_0.0.0 {
SDL_EnumerateDirectory;
SDL_EnumerateProperties;
SDL_EnumerateStorageDirectory;
SDL_Error;
SDL_EventEnabled;
SDL_FillSurfaceRect;
SDL_FillSurfaceRects;
@ -597,6 +596,7 @@ SDL3_0.0.0 {
SDL_OpenTitleStorage;
SDL_OpenURL;
SDL_OpenUserStorage;
SDL_OutOfMemory;
SDL_PauseAudioDevice;
SDL_PauseHaptic;
SDL_PeepEvents;
@ -846,6 +846,7 @@ SDL3_0.0.0 {
SDL_WriteS32LE;
SDL_WriteS64BE;
SDL_WriteS64LE;
SDL_WriteStorageFile;
SDL_WriteU16BE;
SDL_WriteU16LE;
SDL_WriteU32BE;
@ -1014,7 +1015,6 @@ SDL3_0.0.0 {
SDL_wcsnstr;
SDL_wcsstr;
SDL_wcstol;
SDL_WriteStorageFile;
# extra symbols go here (don't modify this line)
local: *;
};

View File

@ -152,7 +152,6 @@
#define SDL_EnumerateDirectory SDL_EnumerateDirectory_REAL
#define SDL_EnumerateProperties SDL_EnumerateProperties_REAL
#define SDL_EnumerateStorageDirectory SDL_EnumerateStorageDirectory_REAL
#define SDL_Error SDL_Error_REAL
#define SDL_EventEnabled SDL_EventEnabled_REAL
#define SDL_FillSurfaceRect SDL_FillSurfaceRect_REAL
#define SDL_FillSurfaceRects SDL_FillSurfaceRects_REAL
@ -622,6 +621,7 @@
#define SDL_OpenTitleStorage SDL_OpenTitleStorage_REAL
#define SDL_OpenURL SDL_OpenURL_REAL
#define SDL_OpenUserStorage SDL_OpenUserStorage_REAL
#define SDL_OutOfMemory SDL_OutOfMemory_REAL
#define SDL_PauseAudioDevice SDL_PauseAudioDevice_REAL
#define SDL_PauseHaptic SDL_PauseHaptic_REAL
#define SDL_PeepEvents SDL_PeepEvents_REAL
@ -870,6 +870,7 @@
#define SDL_WriteS32LE SDL_WriteS32LE_REAL
#define SDL_WriteS64BE SDL_WriteS64BE_REAL
#define SDL_WriteS64LE SDL_WriteS64LE_REAL
#define SDL_WriteStorageFile SDL_WriteStorageFile_REAL
#define SDL_WriteU16BE SDL_WriteU16BE_REAL
#define SDL_WriteU16LE SDL_WriteU16LE_REAL
#define SDL_WriteU32BE SDL_WriteU32BE_REAL
@ -1038,4 +1039,3 @@
#define SDL_wcsnstr SDL_wcsnstr_REAL
#define SDL_wcsstr SDL_wcsstr_REAL
#define SDL_wcstol SDL_wcstol_REAL
#define SDL_WriteStorageFile SDL_WriteStorageFile_REAL

View File

@ -190,7 +190,6 @@ SDL_DYNAPI_PROC(int,SDL_EnterAppMainCallbacks,(int a, char *b[], SDL_AppInit_fun
SDL_DYNAPI_PROC(int,SDL_EnumerateDirectory,(const char *a, SDL_EnumerateDirectoryCallback b, void *c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_EnumerateProperties,(SDL_PropertiesID a, SDL_EnumeratePropertiesCallback b, void *c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_EnumerateStorageDirectory,(SDL_Storage *a, const char *b, SDL_EnumerateDirectoryCallback c, void *d),(a,b,c,d),return)
SDL_DYNAPI_PROC(int,SDL_Error,(SDL_errorcode a),(a),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_EventEnabled,(Uint32 a),(a),return)
SDL_DYNAPI_PROC(int,SDL_FillSurfaceRect,(SDL_Surface *a, const SDL_Rect *b, Uint32 c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_FillSurfaceRects,(SDL_Surface *a, const SDL_Rect *b, int c, Uint32 d),(a,b,c,d),return)
@ -644,6 +643,7 @@ SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenStorage,(const SDL_StorageInterface *a, voi
SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenTitleStorage,(const char *a, SDL_PropertiesID b),(a,b),return)
SDL_DYNAPI_PROC(int,SDL_OpenURL,(const char *a),(a),return)
SDL_DYNAPI_PROC(SDL_Storage*,SDL_OpenUserStorage,(const char *a, const char *b, SDL_PropertiesID c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_OutOfMemory,(void),(),return)
SDL_DYNAPI_PROC(int,SDL_PauseAudioDevice,(SDL_AudioDeviceID a),(a),return)
SDL_DYNAPI_PROC(int,SDL_PauseHaptic,(SDL_Haptic *a),(a),return)
SDL_DYNAPI_PROC(int,SDL_PeepEvents,(SDL_Event *a, int b, SDL_EventAction c, Uint32 d, Uint32 e),(a,b,c,d,e),return)
@ -890,6 +890,7 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_WriteS32BE,(SDL_IOStream *a, Sint32 b),(a,b),return
SDL_DYNAPI_PROC(SDL_bool,SDL_WriteS32LE,(SDL_IOStream *a, Sint32 b),(a,b),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_WriteS64BE,(SDL_IOStream *a, Sint64 b),(a,b),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_WriteS64LE,(SDL_IOStream *a, Sint64 b),(a,b),return)
SDL_DYNAPI_PROC(int,SDL_WriteStorageFile,(SDL_Storage *a, const char *b, const void *c, Uint64 d),(a,b,c,d),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_WriteU16BE,(SDL_IOStream *a, Uint16 b),(a,b),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_WriteU16LE,(SDL_IOStream *a, Uint16 b),(a,b),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_WriteU32BE,(SDL_IOStream *a, Uint32 b),(a,b),return)
@ -1054,4 +1055,3 @@ SDL_DYNAPI_PROC(size_t,SDL_wcsnlen,(const wchar_t *a, size_t b),(a,b),return)
SDL_DYNAPI_PROC(wchar_t*,SDL_wcsnstr,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
SDL_DYNAPI_PROC(wchar_t*,SDL_wcsstr,(const wchar_t *a, const wchar_t *b),(a,b),return)
SDL_DYNAPI_PROC(long,SDL_wcstol,(const wchar_t *a, wchar_t **b, int c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_WriteStorageFile,(SDL_Storage *a, const char *b, const void *c, Uint64 d),(a,b,c,d),return)

View File

@ -230,7 +230,7 @@ static size_t SDLCALL windows_file_read(void *userdata, void *ptr, size_t size,
if (total_need < READAHEAD_BUFFER_SIZE) {
if (!ReadFile(iodata->h, iodata->data, READAHEAD_BUFFER_SIZE, &bytes, NULL)) {
SDL_Error(SDL_EFREAD);
SDL_SetError("Error reading from datastream");
return 0;
}
read_ahead = SDL_min(total_need, bytes);
@ -240,7 +240,7 @@ static size_t SDLCALL windows_file_read(void *userdata, void *ptr, size_t size,
total_read += read_ahead;
} else {
if (!ReadFile(iodata->h, ptr, (DWORD)total_need, &bytes, NULL)) {
SDL_Error(SDL_EFREAD);
SDL_SetError("Error reading from datastream");
return 0;
}
total_read += bytes;
@ -256,7 +256,7 @@ static size_t SDLCALL windows_file_write(void *userdata, const void *ptr, size_t
if (iodata->left) {
if (!SetFilePointer(iodata->h, -(LONG)iodata->left, NULL, FILE_CURRENT)) {
SDL_Error(SDL_EFSEEK);
SDL_SetError("Error seeking in datastream");
return 0;
}
iodata->left = 0;
@ -267,13 +267,13 @@ static size_t SDLCALL windows_file_write(void *userdata, const void *ptr, size_t
LARGE_INTEGER windowsoffset;
windowsoffset.QuadPart = 0;
if (!SetFilePointerEx(iodata->h, windowsoffset, &windowsoffset, FILE_END)) {
SDL_Error(SDL_EFSEEK);
SDL_SetError("Error seeking in datastream");
return 0;
}
}
if (!WriteFile(iodata->h, ptr, (DWORD)total_bytes, &bytes, NULL)) {
SDL_Error(SDL_EFWRITE);
SDL_SetError("Error writing to datastream");
return 0;
}
@ -371,7 +371,7 @@ static Sint64 SDLCALL stdio_seek(void *userdata, Sint64 offset, int whence)
}
return pos;
}
return SDL_Error(SDL_EFSEEK);
return SDL_SetError("Error seeking in datastream");
}
static size_t SDLCALL stdio_read(void *userdata, void *ptr, size_t size, SDL_IOStatus *status)
@ -379,7 +379,7 @@ static size_t SDLCALL stdio_read(void *userdata, void *ptr, size_t size, SDL_IOS
IOStreamStdioData *iodata = (IOStreamStdioData *) userdata;
const size_t bytes = fread(ptr, 1, size, iodata->fp);
if (bytes == 0 && ferror(iodata->fp)) {
SDL_Error(SDL_EFREAD);
SDL_SetError("Error reading from datastream");
}
return bytes;
}
@ -389,7 +389,7 @@ static size_t SDLCALL stdio_write(void *userdata, const void *ptr, size_t size,
IOStreamStdioData *iodata = (IOStreamStdioData *) userdata;
const size_t bytes = fwrite(ptr, 1, size, iodata->fp);
if (bytes == 0 && ferror(iodata->fp)) {
SDL_Error(SDL_EFWRITE);
SDL_SetError("Error writing to datastream");
}
return bytes;
}
@ -400,7 +400,7 @@ static int SDLCALL stdio_close(void *userdata)
int status = 0;
if (iodata->autoclose) {
if (fclose(iodata->fp) != 0) {
status = SDL_Error(SDL_EFWRITE);
status = SDL_SetError("Error writing to datastream");
}
}
SDL_free(iodata);

View File

@ -76,7 +76,7 @@ char *SDLTest_GenerateRunSeed(const int length)
seed = (char *)SDL_malloc((length + 1) * sizeof(char));
if (!seed) {
SDLTest_LogError("SDL_malloc for run seed output buffer failed.");
SDL_Error(SDL_ENOMEM);
SDL_OutOfMemory();
return NULL;
}
@ -151,7 +151,7 @@ static Uint64 SDLTest_GenerateExecKey(const char *runSeed, const char *suiteName
buffer = (char *)SDL_malloc(entireStringLength);
if (!buffer) {
SDLTest_LogError("Failed to allocate buffer for execKey generation.");
SDL_Error(SDL_ENOMEM);
SDL_OutOfMemory();
return 0;
}
(void)SDL_snprintf(buffer, entireStringLength, "%s%s%s%d", runSeed, suiteName, testName, iteration);
@ -457,7 +457,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
failedTests = (const SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
if (!failedTests) {
SDLTest_LogError("Unable to allocate cache for failed tests");
SDL_Error(SDL_ENOMEM);
SDL_OutOfMemory();
return -1;
}

View File

@ -442,7 +442,7 @@ SDL_Surface *SDL_LoadBMP_IO(SDL_IOStream *src, SDL_bool closeio)
palette = (surface->format)->palette;
if (palette) {
if (SDL_SeekIO(src, fp_offset + 14 + biSize, SDL_IO_SEEK_SET) < 0) {
SDL_Error(SDL_EFSEEK);
SDL_SetError("Error seeking in datastream");
goto done;
}
@ -493,13 +493,13 @@ SDL_Surface *SDL_LoadBMP_IO(SDL_IOStream *src, SDL_bool closeio)
/* Read the surface pixels. Note that the bmp image is upside down */
if (SDL_SeekIO(src, fp_offset + bfOffBits, SDL_IO_SEEK_SET) < 0) {
SDL_Error(SDL_EFSEEK);
SDL_SetError("Error seeking in datastream");
goto done;
}
if ((biCompression == BI_RLE4) || (biCompression == BI_RLE8)) {
was_error = readRlePixels(surface, src, biCompression == BI_RLE8);
if (was_error) {
SDL_Error(SDL_EFREAD);
SDL_SetError("Error reading from datastream");
}
goto done;
}