Browse Source

fix error handling in WideCharToMultiByte

(cherry picked from commit ead32c706dc917bf206e96e9d427c80859f4ee53)
kyle-sylvestre 2 months ago
parent
commit
72d5eb0ecb
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/dialog/windows/SDL_windowsdialog.c

+ 2 - 2
src/dialog/windows/SDL_windowsdialog.c

@@ -261,7 +261,7 @@ void windows_ShowFileDialog(void *ptr)
 
             chosen_files_list[nfiles] = NULL;
 
-            if (WideCharToMultiByte(CP_UTF8, 0, file_ptr, -1, chosen_folder, MAX_PATH, NULL, NULL) >= MAX_PATH) {
+            if (WideCharToMultiByte(CP_UTF8, 0, file_ptr, -1, chosen_folder, MAX_PATH, NULL, NULL) == 0) {
                 SDL_SetError("Path too long or invalid character in path");
                 SDL_free(chosen_files_list);
                 callback(userdata, NULL, -1);
@@ -295,7 +295,7 @@ void windows_ShowFileDialog(void *ptr)
 
                 int diff = ((int) chosen_folder_size) + 1;
 
-                if (WideCharToMultiByte(CP_UTF8, 0, file_ptr, -1, chosen_file + diff, MAX_PATH - diff, NULL, NULL) >= MAX_PATH - diff) {
+                if (WideCharToMultiByte(CP_UTF8, 0, file_ptr, -1, chosen_file + diff, MAX_PATH - diff, NULL, NULL) == 0) {
                     SDL_SetError("Path too long or invalid character in path");
 
                     for (size_t i = 0; i < nfiles - 1; i++) {