Commit a3890ff6d7a1f1ca517de2719f0726235035cb19

Ryan C. Gordon 2017-08-22T15:50:39

dynapi: fill in OS/2 loading code (thanks, Ozkan!). Partially fixes Bugzilla #3765.

diff --git a/src/dynapi/SDL_dynapi.c b/src/dynapi/SDL_dynapi.c
index c0051e9..efb5728 100644
--- a/src/dynapi/SDL_dynapi.c
+++ b/src/dynapi/SDL_dynapi.c
@@ -230,6 +230,24 @@ static SDL_INLINE void *get_sdlapi_entry(const char *fname, const char *sym)
     }
     return retval;
 }
+
+#elif defined(__OS2__)
+#define INCL_DOS
+#define INCL_DOSERRORS
+#include <dos.h>
+static SDL_INLINE void *get_sdlapi_entry(const char *fname, const char *sym)
+{
+    HMODULE hmodule;
+    PFN retval = NULL;
+    char error[256];
+    if (NO_ERROR == DosLoadModule(&error, sizeof(error), fname, &hmodule)) {
+        if (NO_ERROR == DosQueryProcAddr(handle, 0, sym, &retval)) {
+            DosFreeModule(hmodule);
+        }
+    }
+    return (void *) retval;
+}
+
 #else
 #error Please define your platform.
 #endif