From b7a7de4f302206b035e25d9e7019a50def96120a Mon Sep 17 00:00:00 2001 From: mfranz Date: Mon, 15 Jan 2007 20:58:20 +0000 Subject: [PATCH] don't search *-set.xml files in the the *complete* $FG_ROOT/Aircraft/ tree (including all subdirs and with max depth!), but only the outmost level. There are no *-set.xml files in deeper nested dirs, and with an ever growing number of aircraft the search just lasts too long. --- src/Main/fg_init.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index 88d7e4199..0edef90f3 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -507,7 +507,8 @@ do_options (int argc, char ** argv) } -static string fgFindAircraftPath( const SGPath &path, const string &aircraft ) { +#define MAXDEPTH 1 +static string fgFindAircraftPath( const SGPath &path, const string &aircraft, int depth = 0 ) { ulDirEnt* dire; ulDir *dirp = ulOpenDir(path.str().c_str()); if (dirp == NULL) { @@ -517,14 +518,14 @@ static string fgFindAircraftPath( const SGPath &path, const string &aircraft ) { string result; while ((dire = ulReadDir(dirp)) != NULL) { - if (dire->d_isdir) { + if (dire->d_isdir && depth < MAXDEPTH) { if ( strcmp("CVS", dire->d_name) && strcmp(".", dire->d_name) && strcmp("..", dire->d_name) && strcmp("AI", dire->d_name)) { SGPath next = path; next.append(dire->d_name); - result = fgFindAircraftPath( next, aircraft ); + result = fgFindAircraftPath( next, aircraft, depth + 1 ); if ( ! result.empty() ) { break; } -- 2.39.2