--- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -596,13 +596,22 @@ static const char *get_pe_dir( WORD machine ) static void set_dll_path(void) { char *p, *path = getenv( "WINEDLLPATH" ); + char *path_prepend = getenv( "WINEDLLPATH_PREPEND" ); int i, count = 0; - if (path) for (p = path, count = 1; *p; p++) if (*p == ':') count++; + if (path) for (p = path, count++; *p; p++) if (*p == ':') count++; + if (path_prepend) for (p = path_prepend, count++; *p; p++) if (*p == ':') count++; dll_paths = malloc( (count + 2) * sizeof(*dll_paths) ); count = 0; + if (path_prepend) + { + path_prepend = strdup( path_prepend ); + for (p = strtok( path_prepend, ":" ); p; p = strtok( NULL, ":" )) dll_paths[count++] = strdup( p ); + free( path_prepend ); + } + if (!build_dir) dll_paths[count++] = dll_dir; if (path)