sdl2-compat: update after RWFromMem and RWFromConstMem size parameter change in SDL3

From a7a8e69b0479a1cf059fb79d249fe06012fa46e8 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Mon, 10 Jul 2023 00:15:02 +0300
Subject: [PATCH] update after RWFromMem and RWFromConstMem size parameter
 change in SDL3

---
 src/sdl2_compat.c | 8 ++++++++
 src/sdl3_syms.h   | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/sdl2_compat.c b/src/sdl2_compat.c
index 2201c3e..9d50ca5 100644
--- a/src/sdl2_compat.c
+++ b/src/sdl2_compat.c
@@ -1806,12 +1806,20 @@ SDL_RWFromFile(const char *file, const char *mode)
 DECLSPEC SDL2_RWops *SDLCALL
 SDL_RWFromMem(void *mem, int size)
 {
+    if (size < 0) { /* SDL3 already checks size == 0 */
+        SDL3_InvalidParamError("size");
+        return NULL;
+    }
     return RWops3to2(SDL3_RWFromMem(mem, size));
 }
 
 DECLSPEC SDL2_RWops *SDLCALL
 SDL_RWFromConstMem(const void *mem, int size)
 {
+    if (size < 0) { /* SDL3 already checks size == 0 */
+        SDL3_InvalidParamError("size");
+        return NULL;
+    }
     return RWops3to2(SDL3_RWFromConstMem(mem, size));
 }
 
diff --git a/src/sdl3_syms.h b/src/sdl3_syms.h
index d0d7b53..2070edb 100644
--- a/src/sdl3_syms.h
+++ b/src/sdl3_syms.h
@@ -332,8 +332,8 @@ SDL3_SYM(void,DestroyRenderer,(SDL_Renderer *a),(a),)
 SDL3_SYM_PASSTHROUGH(int,GL_BindTexture,(SDL_Texture *a, float *b, float *c),(a,b,c),return)
 SDL3_SYM_PASSTHROUGH(int,GL_UnbindTexture,(SDL_Texture *a),(a),return)
 SDL3_SYM(SDL_RWops*,RWFromFile,(const char *a, const char *b),(a,b),return)
-SDL3_SYM(SDL_RWops*,RWFromMem,(void *a, int b),(a,b),return)
-SDL3_SYM(SDL_RWops*,RWFromConstMem,(const void *a, int b),(a,b),return)
+SDL3_SYM(SDL_RWops*,RWFromMem,(void *a, size_t b),(a,b),return)
+SDL3_SYM(SDL_RWops*,RWFromConstMem,(const void *a, size_t b),(a,b),return)
 SDL3_SYM(SDL_RWops*,CreateRW,(void),(),return)
 SDL3_SYM(void,DestroyRW,(SDL_RWops *a),(a),)
 SDL3_SYM(Uint8,ReadU8,(SDL_RWops *a),(a),return)