diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-10-21 18:47:45 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-10-21 18:47:45 +0200 |
| commit | aa074d71219b7b233735242400a10a70bff18d3b (patch) | |
| tree | 518aad309474824f3c45656e0ee16f5758915409 /src | |
| parent | 99d04e93a25a6b579e35012e6c13297f26a2f280 (diff) | |
| download | box64-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-x | src/librarian/library.c | 19 | ||||
| -rwxr-xr-x | src/librarian/library_private.h | 1 |
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) |