mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-03 04:24:41 +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:
@@ -47,7 +47,7 @@ char *SDL_SYS_GetBasePath(void)
|
||||
{
|
||||
DWORD buflen = 128;
|
||||
WCHAR *path = NULL;
|
||||
char *retval = NULL;
|
||||
char *result = NULL;
|
||||
DWORD len = 0;
|
||||
int i;
|
||||
|
||||
@@ -86,10 +86,10 @@ char *SDL_SYS_GetBasePath(void)
|
||||
SDL_assert(i > 0); // Should have been an absolute path.
|
||||
path[i + 1] = '\0'; // chop off filename.
|
||||
|
||||
retval = WIN_StringToUTF8W(path);
|
||||
result = WIN_StringToUTF8W(path);
|
||||
SDL_free(path);
|
||||
|
||||
return retval;
|
||||
return result;
|
||||
}
|
||||
|
||||
char *SDL_SYS_GetPrefPath(const char *org, const char *app)
|
||||
@@ -103,7 +103,7 @@ char *SDL_SYS_GetPrefPath(const char *org, const char *app)
|
||||
*/
|
||||
|
||||
WCHAR path[MAX_PATH];
|
||||
char *retval = NULL;
|
||||
char *result = NULL;
|
||||
WCHAR *worg = NULL;
|
||||
WCHAR *wapp = NULL;
|
||||
size_t new_wpath_len = 0;
|
||||
@@ -171,9 +171,9 @@ char *SDL_SYS_GetPrefPath(const char *org, const char *app)
|
||||
|
||||
SDL_wcslcat(path, L"\\", SDL_arraysize(path));
|
||||
|
||||
retval = WIN_StringToUTF8W(path);
|
||||
result = WIN_StringToUTF8W(path);
|
||||
|
||||
return retval;
|
||||
return result;
|
||||
}
|
||||
|
||||
char *SDL_SYS_GetUserFolder(SDL_Folder folder)
|
||||
@@ -181,7 +181,7 @@ char *SDL_SYS_GetUserFolder(SDL_Folder folder)
|
||||
typedef HRESULT (WINAPI *pfnSHGetKnownFolderPath)(REFGUID /* REFKNOWNFOLDERID */, DWORD, HANDLE, PWSTR*);
|
||||
HMODULE lib = LoadLibrary(L"Shell32.dll");
|
||||
pfnSHGetKnownFolderPath pSHGetKnownFolderPath = NULL;
|
||||
char *retval = NULL;
|
||||
char *result = NULL;
|
||||
|
||||
if (lib) {
|
||||
pSHGetKnownFolderPath = (pfnSHGetKnownFolderPath)GetProcAddress(lib, "SHGetKnownFolderPath");
|
||||
@@ -189,7 +189,7 @@ char *SDL_SYS_GetUserFolder(SDL_Folder folder)
|
||||
|
||||
if (pSHGetKnownFolderPath) {
|
||||
GUID type; // KNOWNFOLDERID
|
||||
HRESULT result;
|
||||
HRESULT hr;
|
||||
wchar_t *path;
|
||||
|
||||
switch (folder) {
|
||||
@@ -242,16 +242,16 @@ char *SDL_SYS_GetUserFolder(SDL_Folder folder)
|
||||
goto done;
|
||||
};
|
||||
|
||||
result = pSHGetKnownFolderPath(&type, 0x00008000 /* KF_FLAG_CREATE */, NULL, &path);
|
||||
if (SUCCEEDED(result)) {
|
||||
retval = WIN_StringToUTF8W(path);
|
||||
hr = pSHGetKnownFolderPath(&type, 0x00008000 /* KF_FLAG_CREATE */, NULL, &path);
|
||||
if (SUCCEEDED(hr)) {
|
||||
result = WIN_StringToUTF8W(path);
|
||||
} else {
|
||||
WIN_SetErrorFromHRESULT("Couldn't get folder", result);
|
||||
WIN_SetErrorFromHRESULT("Couldn't get folder", hr);
|
||||
}
|
||||
|
||||
} else {
|
||||
int type;
|
||||
HRESULT result;
|
||||
HRESULT hr;
|
||||
wchar_t path[MAX_PATH];
|
||||
|
||||
switch (folder) {
|
||||
@@ -309,38 +309,38 @@ char *SDL_SYS_GetUserFolder(SDL_Folder folder)
|
||||
|
||||
#if 0
|
||||
// Apparently the oldest, but not supported in modern Windows
|
||||
HRESULT result = SHGetSpecialFolderPath(NULL, path, type, TRUE);
|
||||
HRESULT hr = SHGetSpecialFolderPath(NULL, path, type, TRUE);
|
||||
#endif
|
||||
|
||||
/* Windows 2000/XP and later, deprecated as of Windows 10 (still
|
||||
available), available in Wine (tested 6.0.3) */
|
||||
result = SHGetFolderPathW(NULL, type, NULL, SHGFP_TYPE_CURRENT, path);
|
||||
hr = SHGetFolderPathW(NULL, type, NULL, SHGFP_TYPE_CURRENT, path);
|
||||
|
||||
// use `== TRUE` for SHGetSpecialFolderPath
|
||||
if (SUCCEEDED(result)) {
|
||||
retval = WIN_StringToUTF8W(path);
|
||||
if (SUCCEEDED(hr)) {
|
||||
result = WIN_StringToUTF8W(path);
|
||||
} else {
|
||||
WIN_SetErrorFromHRESULT("Couldn't get folder", result);
|
||||
WIN_SetErrorFromHRESULT("Couldn't get folder", hr);
|
||||
}
|
||||
}
|
||||
|
||||
if (retval) {
|
||||
char *newretval = (char *) SDL_realloc(retval, SDL_strlen(retval) + 2);
|
||||
if (result) {
|
||||
char *newresult = (char *) SDL_realloc(result, SDL_strlen(result) + 2);
|
||||
|
||||
if (!newretval) {
|
||||
SDL_free(retval);
|
||||
retval = NULL; // will be returned
|
||||
if (!newresult) {
|
||||
SDL_free(result);
|
||||
result = NULL; // will be returned
|
||||
goto done;
|
||||
}
|
||||
|
||||
retval = newretval;
|
||||
SDL_strlcat(retval, "\\", SDL_strlen(retval) + 2);
|
||||
result = newresult;
|
||||
SDL_strlcat(result, "\\", SDL_strlen(result) + 2);
|
||||
}
|
||||
|
||||
done:
|
||||
if (lib) {
|
||||
FreeLibrary(lib);
|
||||
}
|
||||
return retval;
|
||||
return result;
|
||||
}
|
||||
#endif // SDL_FILESYSTEM_WINDOWS
|
||||
|
||||
@@ -31,14 +31,14 @@
|
||||
|
||||
int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata)
|
||||
{
|
||||
int retval = 1;
|
||||
int result = 1;
|
||||
if (*path == '\0') { // if empty (completely at the root), we need to enumerate drive letters.
|
||||
const DWORD drives = GetLogicalDrives();
|
||||
char name[3] = { 0, ':', '\0' };
|
||||
for (int i = 'A'; (retval == 1) && (i <= 'Z'); i++) {
|
||||
for (int i = 'A'; (result == 1) && (i <= 'Z'); i++) {
|
||||
if (drives & (1 << (i - 'A'))) {
|
||||
name[0] = (char) i;
|
||||
retval = cb(userdata, dirname, name);
|
||||
result = cb(userdata, dirname, name);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -63,7 +63,8 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer
|
||||
HANDLE dir = FindFirstFileExW(wpattern, FindExInfoStandard, &entw, FindExSearchNameMatch, NULL, 0);
|
||||
SDL_free(wpattern);
|
||||
if (dir == INVALID_HANDLE_VALUE) {
|
||||
return WIN_SetError("Failed to enumerate directory");
|
||||
WIN_SetError("Failed to enumerate directory");
|
||||
return -1;
|
||||
}
|
||||
|
||||
do {
|
||||
@@ -77,31 +78,31 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer
|
||||
|
||||
char *utf8fn = WIN_StringToUTF8W(fn);
|
||||
if (!utf8fn) {
|
||||
retval = -1;
|
||||
result = -1;
|
||||
} else {
|
||||
retval = cb(userdata, dirname, utf8fn);
|
||||
result = cb(userdata, dirname, utf8fn);
|
||||
SDL_free(utf8fn);
|
||||
}
|
||||
} while ((retval == 1) && (FindNextFileW(dir, &entw) != 0));
|
||||
} while ((result == 1) && (FindNextFileW(dir, &entw) != 0));
|
||||
|
||||
FindClose(dir);
|
||||
}
|
||||
|
||||
return retval;
|
||||
return result;
|
||||
}
|
||||
|
||||
int SDL_SYS_RemovePath(const char *path)
|
||||
bool SDL_SYS_RemovePath(const char *path)
|
||||
{
|
||||
WCHAR *wpath = WIN_UTF8ToStringW(path);
|
||||
if (!wpath) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
WIN32_FILE_ATTRIBUTE_DATA info;
|
||||
if (!GetFileAttributesExW(wpath, GetFileExInfoStandard, &info)) {
|
||||
if (GetLastError() == ERROR_FILE_NOT_FOUND) {
|
||||
// Note that ERROR_PATH_NOT_FOUND means a parent dir is missing, and we consider that an error.
|
||||
return 0; // thing is already gone, call it a success.
|
||||
return true; // thing is already gone, call it a success.
|
||||
}
|
||||
return WIN_SetError("Couldn't get path's attributes");
|
||||
}
|
||||
@@ -109,64 +110,76 @@ int SDL_SYS_RemovePath(const char *path)
|
||||
const int isdir = (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
|
||||
const BOOL rc = isdir ? RemoveDirectoryW(wpath) : DeleteFileW(wpath);
|
||||
SDL_free(wpath);
|
||||
return !rc ? WIN_SetError("Couldn't remove path") : 0;
|
||||
if (!rc) {
|
||||
return WIN_SetError("Couldn't remove path");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
int SDL_SYS_RenamePath(const char *oldpath, const char *newpath)
|
||||
bool SDL_SYS_RenamePath(const char *oldpath, const char *newpath)
|
||||
{
|
||||
WCHAR *woldpath = WIN_UTF8ToStringW(oldpath);
|
||||
if (!woldpath) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
WCHAR *wnewpath = WIN_UTF8ToStringW(newpath);
|
||||
if (!wnewpath) {
|
||||
SDL_free(woldpath);
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
const BOOL rc = MoveFileExW(woldpath, wnewpath, MOVEFILE_REPLACE_EXISTING);
|
||||
SDL_free(wnewpath);
|
||||
SDL_free(woldpath);
|
||||
return !rc ? WIN_SetError("Couldn't rename path") : 0;
|
||||
if (!rc) {
|
||||
return WIN_SetError("Couldn't rename path");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
int SDL_SYS_CopyFile(const char *oldpath, const char *newpath)
|
||||
bool SDL_SYS_CopyFile(const char *oldpath, const char *newpath)
|
||||
{
|
||||
WCHAR *woldpath = WIN_UTF8ToStringW(oldpath);
|
||||
if (!woldpath) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
WCHAR *wnewpath = WIN_UTF8ToStringW(newpath);
|
||||
if (!wnewpath) {
|
||||
SDL_free(woldpath);
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
const BOOL rc = CopyFileW(woldpath, wnewpath, TRUE);
|
||||
SDL_free(wnewpath);
|
||||
SDL_free(woldpath);
|
||||
return !rc ? WIN_SetError("Couldn't copy path") : 0;
|
||||
if (!rc) {
|
||||
return WIN_SetError("Couldn't copy path");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
int SDL_SYS_CreateDirectory(const char *path)
|
||||
bool SDL_SYS_CreateDirectory(const char *path)
|
||||
{
|
||||
WCHAR *wpath = WIN_UTF8ToStringW(path);
|
||||
if (!wpath) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
const DWORD rc = CreateDirectoryW(wpath, NULL);
|
||||
SDL_free(wpath);
|
||||
return !rc ? WIN_SetError("Couldn't create directory") : 0;
|
||||
if (!rc) {
|
||||
return WIN_SetError("Couldn't create directory");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
int SDL_SYS_GetPathInfo(const char *path, SDL_PathInfo *info)
|
||||
bool SDL_SYS_GetPathInfo(const char *path, SDL_PathInfo *info)
|
||||
{
|
||||
WCHAR *wpath = WIN_UTF8ToStringW(path);
|
||||
if (!wpath) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
WIN32_FILE_ATTRIBUTE_DATA winstat;
|
||||
@@ -191,7 +204,7 @@ int SDL_SYS_GetPathInfo(const char *path, SDL_PathInfo *info)
|
||||
info->modify_time = SDL_TimeFromWindows(winstat.ftLastWriteTime.dwLowDateTime, winstat.ftLastWriteTime.dwHighDateTime);
|
||||
info->access_time = SDL_TimeFromWindows(winstat.ftLastAccessTime.dwLowDateTime, winstat.ftLastAccessTime.dwHighDateTime);
|
||||
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // SDL_FSOPS_WINDOWS
|
||||
|
||||
Reference in New Issue
Block a user