about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-10-21 18:47:45 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-10-21 18:47:45 +0200
commitaa074d71219b7b233735242400a10a70bff18d3b (patch)
tree518aad309474824f3c45656e0ee16f5758915409 /src
parent99d04e93a25a6b579e35012e6c13297f26a2f280 (diff)
downloadbox64-aa074d71219b7b233735242400a10a70bff18d3b.tar.gz
box64-aa074d71219b7b233735242400a10a70bff18d3b.zip
Fixed an issue with last lib refactor (fixed EtG, and all SDL2 based stuff and more probably)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/librarian/library.c19
-rwxr-xr-xsrc/librarian/library_private.h1
2 files changed, 10 insertions, 10 deletions
diff --git a/src/librarian/library.c b/src/librarian/library.c
index 1d6fb4bd..50fd6df2 100755
--- a/src/librarian/library.c
+++ b/src/librarian/library.c
@@ -107,6 +107,8 @@ void NativeLib_FinishFini(library_t* lib)
     lib->w.lib = NULL;
     if(lib->w.altprefix)
         box_free(lib->w.altprefix);
+    if(lib->w.altmy)
+        box_free(lib->w.altmy);
     if(lib->w.neededlibs) {
         for(int i=0; i<lib->w.needed; ++i)
             box_free(lib->w.neededlibs[i]);
@@ -515,7 +517,6 @@ void Free1Library(library_t **lib, x64emu_t* emu)
     }
     box_free((*lib)->name);
     box_free((*lib)->path);
-    box_free((*lib)->altmy);
 
     if((*lib)->bridgemap) {
         bridged_t *br;
@@ -694,8 +695,8 @@ static int getSymbolInDataMaps(library_t*lib, const char* name, int noweak, uint
     k = kh_get(datamap, lib->w.mydatamap, name);
     if (k!=kh_end(lib->w.mydatamap)) {
         char buff[200];
-        if(lib->altmy)
-            strcpy(buff, lib->altmy);
+        if(lib->w.altmy)
+            strcpy(buff, lib->w.altmy);
         else
             strcpy(buff, "my_");
         strcat(buff, name);
@@ -718,8 +719,8 @@ static int getSymbolInSymbolMaps(library_t*lib, const char* name, int noweak, ui
     khint_t k = kh_get(symbolmap, lib->w.mysymbolmap, name);
     if (k!=kh_end(lib->w.mysymbolmap)) {
         char buff[200];
-        if(lib->altmy)
-            strcpy(buff, lib->altmy);
+        if(lib->w.altmy)
+            strcpy(buff, lib->w.altmy);
         else
             strcpy(buff, "my_");
         strcat(buff, name);
@@ -736,8 +737,8 @@ static int getSymbolInSymbolMaps(library_t*lib, const char* name, int noweak, ui
     k = kh_get(symbolmap, lib->w.stsymbolmap, name);
     if (k!=kh_end(lib->w.stsymbolmap)) {
         char buff[200];
-        if(lib->altmy)
-            strcpy(buff, lib->altmy);
+        if(lib->w.altmy)
+            strcpy(buff, lib->w.altmy);
         else
             strcpy(buff, "my_");
         strcat(buff, name);
@@ -782,8 +783,8 @@ static int getSymbolInSymbolMaps(library_t*lib, const char* name, int noweak, ui
         khint_t k = kh_get(symbolmap, lib->w.wmysymbolmap, name);
         if (k!=kh_end(lib->w.wmysymbolmap)) {
             char buff[200];
-            if(lib->altmy)
-                strcpy(buff, lib->altmy);
+            if(lib->w.altmy)
+                strcpy(buff, lib->w.altmy);
             else
                 strcpy(buff, "my_");
             strcat(buff, name);
diff --git a/src/librarian/library_private.h b/src/librarian/library_private.h
index f6908cf6..34810f86 100755
--- a/src/librarian/library_private.h
+++ b/src/librarian/library_private.h
@@ -73,7 +73,6 @@ typedef struct library_s {
         wlib_t  w;     
         elib_t  e;
     };                              // private lib data
-    char                *altmy;     // to avoid duplicate symbol, like with SDL1/SDL2
     needed_libs_t       needed;
     needed_libs_t       depended;   // used to free library
     lib_t               *maplib;    // local maplib, for dlopen'd library with LOCAL binding (most of the dlopen)