about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/librarian/library.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/librarian/library.c b/src/librarian/library.c
index 7ca96e0a..992f694e 100755
--- a/src/librarian/library.c
+++ b/src/librarian/library.c
@@ -219,18 +219,19 @@ static void initEmulatedLib(const char* path, library_t *lib, box64context_t* co
 {
     char libname[MAX_PATH];
     strcpy(libname, path);
-    int found = FileExist(libname, IS_FILE);
-    if(!found && !strchr(path, '/'))
+    int found = FileIsX64ELF(libname);
+    if(found)
+        if(loadEmulatedLib(libname, lib, context))
+            return;
+    if(!strchr(path, '/'))
         for(int i=0; i<context->box64_ld_lib.size; ++i)
         {
             strcpy(libname, context->box64_ld_lib.paths[i]);
             strcat(libname, path);
-            if(FileExist(libname, IS_FILE))
+            if(FileIsX64ELF(libname))
                 if(loadEmulatedLib(libname, lib, context))
                     return;
         }
-    else
-        loadEmulatedLib(libname, lib, context);
 }
 
 extern char* libGL;