sdlSetError function
Set the SDL error message for the current thread.
Calling this function will replace any previous error message that was set.
This function always returns false, since SDL frequently uses false to signify a failing result, leading to this idiom:
if (error_code) {
return SDL_SetError("This operation has failed: %d", error_code);
}
\param fmt a printf()-style message format string.
\param ... additional parameters matching % tokens in the fmt
string, if
any.
\returns false.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL 3.1.3.
\sa SDL_ClearError \sa SDL_GetError \sa SDL_SetErrorV
extern SDL_DECLSPEC bool SDLCALL SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1)
Implementation
bool sdlSetError(String? fmt, Pointer<NativeType> arg1) {
final sdlSetErrorLookupFunction = libSdl3.lookupFunction<
Uint8 Function(Pointer<Utf8> fmt, Pointer<NativeType> arg1),
int Function(
Pointer<Utf8> fmt, Pointer<NativeType> arg1)>('SDL_SetError');
final fmtPointer = fmt != null ? fmt.toNativeUtf8() : nullptr;
final result = sdlSetErrorLookupFunction(fmtPointer, arg1) == 1;
calloc.free(fmtPointer);
return result;
}