about summary refs log tree commit diff stats
path: root/src/librarian
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-05-09 21:59:32 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-05-09 21:59:32 +0200
commitd38f659f428544de524fe6f2a49355a104055555 (patch)
treec26f2d251706919f7496b8fe6d857acd75a6b888 /src/librarian
parent6d95a644123181addb647f51712ad3e5782d5052 (diff)
downloadbox64-d38f659f428544de524fe6f2a49355a104055555.tar.gz
box64-d38f659f428544de524fe6f2a49355a104055555.zip
Changed the workaround for MiniMetro/Steam, using rcfile now (for #1311)
Diffstat (limited to 'src/librarian')
-rw-r--r--src/librarian/library.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/librarian/library.c b/src/librarian/library.c
index 127339af..14a1334a 100644
--- a/src/librarian/library.c
+++ b/src/librarian/library.c
@@ -1180,6 +1180,25 @@ void add1lib_neededlib(needed_libs_t* needed, library_t* lib, const char* name)
     needed->size++;
     needed->init_size++;
 }
+void add1lib_neededlib_name(needed_libs_t* needed, library_t* lib, const char* name)
+{
+    if(!needed || !name)
+        return;
+    // check if lib is already present
+    for (int i=0; i<needed->size; ++i)
+        if(!strcmp(needed->names[i], name))
+            return;
+    // add it
+    if(needed->size==needed->cap) {
+        needed->cap = needed->size+1;
+        needed->libs = (library_t**)realloc(needed->libs, needed->cap*sizeof(library_t*));
+        needed->names = (char**)realloc(needed->names, needed->cap*sizeof(char*));
+    }
+    needed->libs[needed->size] = lib;
+    needed->names[needed->size] = (char*)name;
+    needed->size++;
+    needed->init_size++;
+}
 void add1libref_neededlib(needed_libs_t* needed, library_t* lib)
 {
     if(!needed || !lib)