]> git.mxchange.org Git - flightgear.git/commitdiff
don't search *-set.xml files in the the *complete* $FG_ROOT/Aircraft/ tree
authormfranz <mfranz>
Mon, 15 Jan 2007 20:58:20 +0000 (20:58 +0000)
committermfranz <mfranz>
Mon, 15 Jan 2007 20:58:20 +0000 (20:58 +0000)
(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

index 88d7e4199ab3d28dfb3599002f5c13bcad1c143e..0edef90f32e3c78f445abb03241fec3fe84ea0c6 100644 (file)
@@ -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;
                 }