Browse Source

dynapi: fill in OS/2 loading code (thanks, Ozkan!).

Partially fixes Bugzilla #3765.
Ryan C. Gordon 7 years ago
parent
commit
a3890ff6d7
1 changed files with 18 additions and 0 deletions
  1. 18 0
      src/dynapi/SDL_dynapi.c

+ 18 - 0
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