diff options
author | Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> | 2016-08-31 21:07:07 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2016-09-08 14:36:31 +0300 |
commit | b37c3ed5e57e528adf73548882cf252a79c014dd (patch) | |
tree | 86da374e0cf9cde05e29e5103c6ad4b96f32a08c | |
parent | 97974e3076f26d4031a95722116eb45bc98b5571 (diff) |
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, |