libwine: Look for all libraries in the dll search path on Android.

This commit is contained in:
Alexandre Julliard 2013-09-26 18:15:08 +02:00
parent 770d902d10
commit 626be2eab1
1 changed files with 17 additions and 0 deletions

View File

@ -902,6 +902,23 @@ void *wine_dlopen( const char *filename, int flag, char *error, size_t errorsize
ret = dlopen( path, flag | RTLD_FIRST );
}
else
#elif defined(__ANDROID__)
if (!strchr( filename, '/' ) && nb_dll_paths)
{
unsigned int i;
char *buffer = malloc( dll_path_maxlen + strlen(filename) + 2 );
buffer[dll_path_maxlen] = '/';
strcpy( buffer + dll_path_maxlen + 1, filename );
for (i = 0; i < nb_dll_paths; i++)
{
char *path = prepend( buffer + dll_path_maxlen, dll_paths[i], strlen(dll_paths[i]) );
ret = dlopen( path, flag | RTLD_FIRST );
if (ret) break;
}
free( buffer );
if (ret) return ret;
}
#endif
ret = dlopen( filename, flag | RTLD_FIRST );
s = dlerror();