mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-20 14:25:40 +00:00
Use SDL_bool instead an int return code in the SDL API
Most SDL functions used to indicate success or failure using an int return code. These functions have been changed to return SDL_bool. Here is a coccinelle patch to change code that previously compared the return value to 0 and changes it to a boolean test: @ bool_return_type @ identifier func =~ "^(SDL_AddEventWatch|SDL_AddHintCallback|SDL_AddSurfaceAlternateImage|SDL_AddVulkanRenderSemaphores|SDL_BindAudioStream|SDL_BindAudioStreams|SDL_BlitSurface|SDL_BlitSurface9Grid|SDL_BlitSurfaceScaled|SDL_BlitSurfaceTiled|SDL_BlitSurfaceTiledWithScale|SDL_BlitSurfaceUnchecked|SDL_BlitSurfaceUncheckedScaled|SDL_CaptureMouse|SDL_ClearAudioStream|SDL_ClearClipboardData|SDL_ClearComposition|SDL_ClearError|SDL_ClearProperty|SDL_ClearSurface|SDL_CloseIO|SDL_CloseStorage|SDL_ConvertAudioSamples|SDL_ConvertEventToRenderCoordinates|SDL_ConvertPixels|SDL_ConvertPixelsAndColorspace|SDL_CopyFile|SDL_CopyProperties|SDL_CopyStorageFile|SDL_CreateDirectory|SDL_CreateStorageDirectory|SDL_CreateWindowAndRenderer|SDL_DateTimeToTime|SDL_DestroyWindowSurface|SDL_DetachVirtualJoystick|SDL_DisableScreenSaver|SDL_EnableScreenSaver|SDL_EnumerateDirectory|SDL_EnumerateProperties|SDL_EnumerateStorageDirectory|SDL_FillSurfaceRect|SDL_FillSurfaceRects|SDL_FlashWindow|SDL_FlipSurface|SDL_FlushAudioStream|SDL_FlushRenderer|SDL_GL_DestroyContext|SDL_GL_GetAttribute|SDL_GL_GetSwapInterval|SDL_GL_LoadLibrary|SDL_GL_MakeCurrent|SDL_GL_SetAttribute|SDL_GL_SetSwapInterval|SDL_GL_SwapWindow|SDL_GetAudioDeviceFormat|SDL_GetAudioStreamFormat|SDL_GetCameraFormat|SDL_GetClosestFullscreenDisplayMode|SDL_GetCurrentRenderOutputSize|SDL_GetCurrentTime|SDL_GetDXGIOutputInfo|SDL_GetDateTimeLocalePreferences|SDL_GetDisplayBounds|SDL_GetDisplayUsableBounds|SDL_GetGDKDefaultUser|SDL_GetGDKTaskQueue|SDL_GetGamepadSensorData|SDL_GetGamepadTouchpadFinger|SDL_GetHapticEffectStatus|SDL_GetJoystickBall|SDL_GetMasksForPixelFormat|SDL_GetPathInfo|SDL_GetRectUnion|SDL_GetRectUnionFloat|SDL_GetRenderClipRect|SDL_GetRenderColorScale|SDL_GetRenderDrawBlendMode|SDL_GetRenderDrawColor|SDL_GetRenderDrawColorFloat|SDL_GetRenderLogicalPresentation|SDL_GetRenderLogicalPresentationRect|SDL_GetRenderOutputSize|SDL_GetRenderSafeArea|SDL_GetRenderScale|SDL_GetRenderVSync|SDL_GetRenderViewport|SDL_GetSensorData|SDL_GetStorageFileSize|SDL_GetStoragePathInfo|SDL_GetSurfaceAlphaMod|SDL_GetSurfaceBlendMode|SDL_GetSurfaceClipRect|SDL_GetSurfaceColorKey|SDL_GetSurfaceColorMod|SDL_GetTextInputArea|SDL_GetTextureAlphaMod|SDL_GetTextureAlphaModFloat|SDL_GetTextureBlendMode|SDL_GetTextureColorMod|SDL_GetTextureColorModFloat|SDL_GetTextureScaleMode|SDL_GetTextureSize|SDL_GetWindowAspectRatio|SDL_GetWindowBordersSize|SDL_GetWindowMaximumSize|SDL_GetWindowMinimumSize|SDL_GetWindowPosition|SDL_GetWindowRelativeMouseMode|SDL_GetWindowSafeArea|SDL_GetWindowSize|SDL_GetWindowSizeInPixels|SDL_GetWindowSurfaceVSync|SDL_HideCursor|SDL_HideWindow|SDL_Init|SDL_InitHapticRumble|SDL_InitSubSystem|SDL_LoadWAV|SDL_LoadWAV_IO|SDL_LockAudioStream|SDL_LockProperties|SDL_LockSurface|SDL_LockTexture|SDL_LockTextureToSurface|SDL_MaximizeWindow|SDL_MinimizeWindow|SDL_MixAudio|SDL_OpenURL|SDL_OutOfMemory|SDL_PauseAudioDevice|SDL_PauseAudioStreamDevice|SDL_PauseHaptic|SDL_PlayHapticRumble|SDL_PremultiplyAlpha|SDL_PremultiplySurfaceAlpha|SDL_PushEvent|SDL_PutAudioStreamData|SDL_RaiseWindow|SDL_ReadStorageFile|SDL_ReadSurfacePixel|SDL_ReadSurfacePixelFloat|SDL_RegisterApp|SDL_ReloadGamepadMappings|SDL_RemovePath|SDL_RemoveStoragePath|SDL_RemoveTimer|SDL_RenamePath|SDL_RenameStoragePath|SDL_RenderClear|SDL_RenderCoordinatesFromWindow|SDL_RenderCoordinatesToWindow|SDL_RenderFillRect|SDL_RenderFillRects|SDL_RenderGeometry|SDL_RenderGeometryRaw|SDL_RenderLine|SDL_RenderLines|SDL_RenderPoint|SDL_RenderPoints|SDL_RenderPresent|SDL_RenderRect|SDL_RenderRects|SDL_RenderTexture|SDL_RenderTexture9Grid|SDL_RenderTextureRotated|SDL_RenderTextureTiled|SDL_RequestAndroidPermission|SDL_RestoreWindow|SDL_ResumeAudioDevice|SDL_ResumeAudioStreamDevice|SDL_ResumeHaptic|SDL_RumbleGamepad|SDL_RumbleGamepadTriggers|SDL_RumbleJoystick|SDL_RumbleJoystickTriggers|SDL_RunHapticEffect|SDL_SaveBMP|SDL_SaveBMP_IO|SDL_SendAndroidMessage|SDL_SendGamepadEffect|SDL_SendJoystickEffect|SDL_SendJoystickVirtualSensorData|SDL_SetAppMetadata|SDL_SetAppMetadataProperty|SDL_SetAudioDeviceGain|SDL_SetAudioPostmixCallback|SDL_SetAudioStreamFormat|SDL_SetAudioStreamFrequencyRatio|SDL_SetAudioStreamGain|SDL_SetAudioStreamGetCallback|SDL_SetAudioStreamInputChannelMap|SDL_SetAudioStreamOutputChannelMap|SDL_SetAudioStreamPutCallback|SDL_SetBooleanProperty|SDL_SetClipboardData|SDL_SetClipboardText|SDL_SetCursor|SDL_SetFloatProperty|SDL_SetGamepadLED|SDL_SetGamepadMapping|SDL_SetGamepadPlayerIndex|SDL_SetGamepadSensorEnabled|SDL_SetHapticAutocenter|SDL_SetHapticGain|SDL_SetJoystickLED|SDL_SetJoystickPlayerIndex|SDL_SetJoystickVirtualAxis|SDL_SetJoystickVirtualBall|SDL_SetJoystickVirtualButton|SDL_SetJoystickVirtualHat|SDL_SetJoystickVirtualTouchpad|SDL_SetLinuxThreadPriority|SDL_SetLinuxThreadPriorityAndPolicy|SDL_SetLogPriorityPrefix|SDL_SetMemoryFunctions|SDL_SetNumberProperty|SDL_SetPaletteColors|SDL_SetPointerProperty|SDL_SetPointerPropertyWithCleanup|SDL_SetPrimarySelectionText|SDL_SetRenderClipRect|SDL_SetRenderColorScale|SDL_SetRenderDrawBlendMode|SDL_SetRenderDrawColor|SDL_SetRenderDrawColorFloat|SDL_SetRenderLogicalPresentation|SDL_SetRenderScale|SDL_SetRenderTarget|SDL_SetRenderVSync|SDL_SetRenderViewport|SDL_SetScancodeName|SDL_SetStringProperty|SDL_SetSurfaceAlphaMod|SDL_SetSurfaceBlendMode|SDL_SetSurfaceColorKey|SDL_SetSurfaceColorMod|SDL_SetSurfaceColorspace|SDL_SetSurfacePalette|SDL_SetSurfaceRLE|SDL_SetTLS|SDL_SetTextInputArea|SDL_SetTextureAlphaMod|SDL_SetTextureAlphaModFloat|SDL_SetTextureBlendMode|SDL_SetTextureColorMod|SDL_SetTextureColorModFloat|SDL_SetTextureScaleMode|SDL_SetThreadPriority|SDL_SetWindowAlwaysOnTop|SDL_SetWindowAspectRatio|SDL_SetWindowBordered|SDL_SetWindowFocusable|SDL_SetWindowFullscreen|SDL_SetWindowFullscreenMode|SDL_SetWindowHitTest|SDL_SetWindowIcon|SDL_SetWindowKeyboardGrab|SDL_SetWindowMaximumSize|SDL_SetWindowMinimumSize|SDL_SetWindowModalFor|SDL_SetWindowMouseGrab|SDL_SetWindowMouseRect|SDL_SetWindowOpacity|SDL_SetWindowPosition|SDL_SetWindowRelativeMouseMode|SDL_SetWindowResizable|SDL_SetWindowShape|SDL_SetWindowSize|SDL_SetWindowSurfaceVSync|SDL_SetWindowTitle|SDL_SetiOSAnimationCallback|SDL_ShowAndroidToast|SDL_ShowCursor|SDL_ShowMessageBox|SDL_ShowSimpleMessageBox|SDL_ShowWindow|SDL_ShowWindowSystemMenu|SDL_StartTextInput|SDL_StartTextInputWithProperties|SDL_StopHapticEffect|SDL_StopHapticEffects|SDL_StopHapticRumble|SDL_StopTextInput|SDL_SyncWindow|SDL_TimeToDateTime|SDL_TryLockMutex|SDL_TryLockRWLockForReading|SDL_TryLockRWLockForWriting|SDL_TryWaitSemaphore|SDL_UnlockAudioStream|SDL_UpdateHapticEffect|SDL_UpdateNVTexture|SDL_UpdateTexture|SDL_UpdateWindowSurface|SDL_UpdateWindowSurfaceRects|SDL_UpdateYUVTexture|SDL_Vulkan_CreateSurface|SDL_Vulkan_LoadLibrary|SDL_WaitConditionTimeout|SDL_WaitSemaphoreTimeout|SDL_WarpMouseGlobal|SDL_WriteStorageFile|SDL_WriteSurfacePixel|SDL_WriteSurfacePixelFloat)$"; @@ ( func( ... ) - == 0 | - func( + !func( ... ) - < 0 | - func( + !func( ... ) - != 0 | - func( + !func( ... ) - == -1 )
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern int SDL_SYS_OpenURL(const char *url);
|
||||
extern bool SDL_SYS_OpenURL(const char *url);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "SDL_sysurl.h"
|
||||
|
||||
int SDL_OpenURL(const char *url)
|
||||
SDL_bool SDL_OpenURL(const char *url)
|
||||
{
|
||||
if (!url) {
|
||||
return SDL_InvalidParamError("url");
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "../SDL_sysurl.h"
|
||||
#include "../../core/android/SDL_android.h"
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
return Android_JNI_OpenURL(url);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "../SDL_sysurl.h"
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
return SDL_Unsupported();
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
|
||||
EM_JS_DEPS(sdlsysurl, "$UTF8ToString");
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
EM_ASM(window.open(UTF8ToString($0), "_blank"), url);
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -23,9 +23,12 @@
|
||||
#include "../SDL_sysurl.h"
|
||||
#include <Url.h>
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
BUrl burl(url);
|
||||
const status_t rc = burl.OpenWithPreferredApplication(false);
|
||||
return (rc == B_NO_ERROR) ? 0 : SDL_SetError("URL open failed (err=%d)", (int) rc);
|
||||
if (rc != B_NO_ERROR) {
|
||||
return SDL_SetError("URL open failed (err=%d)", (int)rc);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
@autoreleasepool {
|
||||
|
||||
@@ -35,7 +35,7 @@ int SDL_SYS_OpenURL(const char *url)
|
||||
#else
|
||||
NSString *nsstr = [NSString stringWithUTF8String:url];
|
||||
NSURL *nsurl = [NSURL URLWithString:nsstr];
|
||||
return [[UIApplication sharedApplication] openURL:nsurl] ? 0 : -1;
|
||||
return [[UIApplication sharedApplication] openURL:nsurl];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,13 +26,16 @@
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
@autoreleasepool {
|
||||
CFURLRef cfurl = CFURLCreateWithBytes(NULL, (const UInt8 *)url, SDL_strlen(url), kCFStringEncodingUTF8, NULL);
|
||||
OSStatus status = LSOpenCFURLRef(cfurl, NULL);
|
||||
CFRelease(cfurl);
|
||||
return status == noErr ? 0 : -1;
|
||||
if (status != noErr) {
|
||||
return SDL_SetError("LSOpenCFURLRef() failed: %d", status);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#define URI_Dispatch 0x4e381
|
||||
#endif
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
_kernel_swi_regs regs;
|
||||
_kernel_oserror *error;
|
||||
@@ -42,5 +42,8 @@ int SDL_SYS_OpenURL(const char *url)
|
||||
return SDL_SetError("Couldn't open given URL: %s", error->errmess);
|
||||
}
|
||||
|
||||
return (regs.r[0] & 1) ? SDL_SetError("Couldn't open given URL.") : 0;
|
||||
if (regs.r[0] & 1) {
|
||||
return SDL_SetError("Couldn't open given URL.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
extern char **environ;
|
||||
#endif
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
const pid_t pid1 = fork();
|
||||
if (pid1 == 0) { // child process
|
||||
@@ -71,7 +71,7 @@ int SDL_SYS_OpenURL(const char *url)
|
||||
if (waitpid(pid1, &status, 0) == pid1) {
|
||||
if (WIFEXITED(status)) {
|
||||
if (WEXITSTATUS(status) == 0) {
|
||||
return 0; // success!
|
||||
return true; // success!
|
||||
} else {
|
||||
return SDL_SetError("xdg-open reported error or failed to launch: %d", WEXITSTATUS(status));
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <string.h>
|
||||
#include <psp2/apputil.h>
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
SceAppUtilInitParam init_param;
|
||||
SceAppUtilBootParam boot_param;
|
||||
@@ -37,5 +37,5 @@ int SDL_SYS_OpenURL(const char *url)
|
||||
browser_param.str = url;
|
||||
browser_param.strlen = SDL_strlen(url);
|
||||
sceAppUtilLaunchWebBrowser(&browser_param);
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
#include <shellapi.h>
|
||||
|
||||
#if defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
// Not supported
|
||||
return SDL_Unsupported();
|
||||
}
|
||||
#else
|
||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
WCHAR *wurl;
|
||||
HINSTANCE rc;
|
||||
@@ -47,13 +47,16 @@ int SDL_SYS_OpenURL(const char *url)
|
||||
wurl = WIN_UTF8ToStringW(url);
|
||||
if (!wurl) {
|
||||
WIN_CoUninitialize();
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Success returns value greater than 32. Less is an error.
|
||||
rc = ShellExecuteW(NULL, L"open", wurl, NULL, NULL, SW_SHOWNORMAL);
|
||||
SDL_free(wurl);
|
||||
WIN_CoUninitialize();
|
||||
return (rc > ((HINSTANCE)32)) ? 0 : WIN_SetError("Couldn't open given URL.");
|
||||
if (rc <= ((HINSTANCE)32)) {
|
||||
return WIN_SetError("Couldn't open given URL.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -23,16 +23,16 @@
|
||||
#include "../SDL_sysurl.h"
|
||||
#include "../../core/windows/SDL_windows.h"
|
||||
|
||||
int SDL_SYS_OpenURL(const char *url)
|
||||
bool SDL_SYS_OpenURL(const char *url)
|
||||
{
|
||||
WCHAR *wurl = WIN_UTF8ToStringW(url);
|
||||
if (!wurl) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
auto strurl = ref new Platform::String(wurl);
|
||||
SDL_free(wurl);
|
||||
|
||||
auto uri = ref new Windows::Foundation::Uri(strurl);
|
||||
Windows::System::Launcher::LaunchUriAsync(uri);
|
||||
return 0; // oh well, we're not waiting on an async task here.
|
||||
return true; // oh well, we're not waiting on an async task here.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user