diff options
author | Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> | 2016-08-31 20:07:07 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2016-09-08 13:36:31 +0200 |
commit | b37c3ed5e57e528adf73548882cf252a79c014dd (patch) | |
tree | 86da374e0cf9cde05e29e5103c6ad4b96f32a08c | |
parent | 97974e3076f26d4031a95722116eb45bc98b5571 (diff) | |
download | cygnal-b37c3ed5e57e528adf73548882cf252a79c014dd.tar.gz cygnal-b37c3ed5e57e528adf73548882cf252a79c014dd.tar.bz2 cygnal-b37c3ed5e57e528adf73548882cf252a79c014dd.zip |
dlopen (pathfinder): try each basename per dir
Rather than searching all search dirs per one basename,
search for all basenames within per one search dir.
pathfinder.h (check_path_access): Interchange dir- and basename-loops.
-rw-r--r-- | winsup/cygwin/pathfinder.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/winsup/cygwin/pathfinder.h b/winsup/cygwin/pathfinder.h index bbba1684f..c3066044b 100644 --- a/winsup/cygwin/pathfinder.h +++ b/winsup/cygwin/pathfinder.h @@ -182,12 +182,12 @@ public: basenamelist::member const ** found_basename = NULL) { char const * critname = criterion.name (); - for (basenamelist::iterator name = basenames_.begin (); - name != basenames_.end (); - ++name) - for (searchdirlist::iterator dir(searchdirs_.begin ()); - dir != searchdirs_.end (); - ++dir) + for (searchdirlist::iterator dir(searchdirs_.begin ()); + dir != searchdirs_.end (); + ++dir) + for (basenamelist::iterator name = basenames_.begin (); + name != basenames_.end (); + ++name) if (criterion.test (dir, name)) { debug_printf ("(%s), take %s%s", critname, |