From aa074d71219b7b233735242400a10a70bff18d3b Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 21 Oct 2022 18:47:45 +0200 Subject: Fixed an issue with last lib refactor (fixed EtG, and all SDL2 based stuff and more probably) --- src/librarian/library.c | 19 ++++++++++--------- src/librarian/library_private.h | 1 - 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src') 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; iw.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) -- cgit 1.4.1