Blob Blame History Raw
diff -up gdl-0.9.8/src/basic_pro_jmg.cpp.alias gdl-0.9.8/src/basic_pro_jmg.cpp
--- gdl-0.9.8/src/basic_pro_jmg.cpp.alias	2018-04-11 19:20:07.670748377 -0600
+++ gdl-0.9.8/src/basic_pro_jmg.cpp	2018-04-12 09:01:16.578294989 -0600
@@ -23,6 +23,7 @@
 
 #include "envt.hpp"
 #include "dinterpreter.hpp"
+#include "prognode.hpp"
 #include "basic_pro_jmg.hpp"
 
 #define MAXNDLL 40
@@ -38,8 +39,8 @@ namespace lib {
 
   using namespace std;
 
-  void (*dynPro[MAXNDLL/2])( EnvT* e);
-  BaseGDL*(*dynFun[MAXNDLL/2])( EnvT* e);
+  LibPro dynPro[MAXNDLL/2];
+  LibFun dynFun[MAXNDLL/2];
 
   void point_lun( EnvT* e) 
   { 
@@ -141,11 +142,11 @@ namespace lib {
 
 #if defined(_WIN32) && !defined(__CYGWIN__)
     if (funcType == 0) {
-      (void* &) dynPro[count_pro] = 
-	(void *) GetProcAddress(module[count], entryName.c_str());
+      dynPro[count_pro] = 
+	(LibPro) GetProcAddress(module[count], entryName.c_str());
     } else if (funcType == 1) {
-      (BaseGDL* &) dynFun[count_fun] = 
-	(BaseGDL*) GetProcAddress(module[count], entryName.c_str());
+      dynFun[count_fun] = 
+	(LibFun) GetProcAddress(module[count], entryName.c_str());
     } else {
       printf("Improper function type: %d\n", funcType);
       FreeLibrary(module[count]);
@@ -153,11 +154,11 @@ namespace lib {
     }
 #else
     if (funcType == 0) {
-      (void* &) dynPro[count_pro] = 
-	(void *) dlsym(module[count], entryName.c_str());
+      dynPro[count_pro] = 
+        (LibPro) dlsym(module[count], entryName.c_str());
     } else if (funcType == 1) {
-      (BaseGDL* &) dynFun[count_fun] = 
-	(BaseGDL*) dlsym(module[count], entryName.c_str());
+      dynFun[count_fun] = 
+	(LibFun) dlsym(module[count], entryName.c_str());
     } else {
       printf("Improper function type: %d\n", funcType);
       dlclose(module[count]);