From 98cb017a9deca35cd9a67e03b6bd95064b6d2fb7 Mon Sep 17 00:00:00 2001
From: David Cole <david.cole@kitware.com>
Date: Tue, 6 Sep 2011 13:07:52 -0400
Subject: [PATCH] KWSys: Remove always-true dir_only parameter

Its presence confuses, and, since it is always true, is useless.
---
 Source/kwsys/Glob.cxx    | 23 ++++++++++++-----------
 Source/kwsys/Glob.hxx.in |  4 ++--
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/Source/kwsys/Glob.cxx b/Source/kwsys/Glob.cxx
index c1f510099..b33b92681 100644
--- a/Source/kwsys/Glob.cxx
+++ b/Source/kwsys/Glob.cxx
@@ -215,7 +215,7 @@ kwsys_stl::string Glob::PatternToRegex(const kwsys_stl::string& pattern,
 
 //----------------------------------------------------------------------------
 void Glob::RecurseDirectory(kwsys_stl::string::size_type start,
-  const kwsys_stl::string& dir, bool dir_only)
+  const kwsys_stl::string& dir)
 {
   kwsys::Directory d;
   if ( !d.Load(dir.c_str()) )
@@ -258,7 +258,9 @@ void Glob::RecurseDirectory(kwsys_stl::string::size_type start,
       fullname = dir + "/" + fname;
       }
 
-    if ( !dir_only || !kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
+    bool isDir = kwsys::SystemTools::FileIsDirectory(realname.c_str());
+
+    if ( !isDir )
       {
       if ( (this->Internals->Expressions.size() > 0) && 
            this->Internals->Expressions[
@@ -267,7 +269,7 @@ void Glob::RecurseDirectory(kwsys_stl::string::size_type start,
         this->AddFile(this->Internals->Files, realname.c_str());
         }
       }
-    if ( kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
+    else
       {
       bool isSymLink = kwsys::SystemTools::FileIsSymlink(realname.c_str());
       if (!isSymLink || this->RecurseThroughSymlinks)
@@ -276,7 +278,7 @@ void Glob::RecurseDirectory(kwsys_stl::string::size_type start,
           {
           ++this->FollowedSymlinkCount;
           }
-        this->RecurseDirectory(start+1, realname, dir_only);
+        this->RecurseDirectory(start+1, realname);
         }
       }
     }
@@ -284,13 +286,13 @@ void Glob::RecurseDirectory(kwsys_stl::string::size_type start,
 
 //----------------------------------------------------------------------------
 void Glob::ProcessDirectory(kwsys_stl::string::size_type start,
-  const kwsys_stl::string& dir, bool dir_only)
+  const kwsys_stl::string& dir)
 {
   //kwsys_ios::cout << "ProcessDirectory: " << dir << kwsys_ios::endl;
   bool last = ( start == this->Internals->Expressions.size()-1 );
   if ( last && this->Recurse )
     {
-    this->RecurseDirectory(start, dir, dir_only);
+    this->RecurseDirectory(start, dir);
     return;
     }
 
@@ -345,7 +347,7 @@ void Glob::ProcessDirectory(kwsys_stl::string::size_type start,
     // << this->Internals->TextExpressions[start].c_str() << kwsys_ios::endl;
     //kwsys_ios::cout << "Full name: " << fullname << kwsys_ios::endl;
 
-    if ( (!dir_only || !last) &&
+    if ( !last &&
       !kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
       {
       continue;
@@ -359,7 +361,7 @@ void Glob::ProcessDirectory(kwsys_stl::string::size_type start,
         }
       else
         {
-        this->ProcessDirectory(start+1, realname + "/", dir_only);
+        this->ProcessDirectory(start+1, realname + "/");
         }
       }
     }
@@ -462,12 +464,11 @@ bool Glob::FindFiles(const kwsys_stl::string& inexpr)
   // Handle network paths
   if ( skip > 0 )
     {
-    this->ProcessDirectory(0, fexpr.substr(0, skip) + "/",
-      true);
+    this->ProcessDirectory(0, fexpr.substr(0, skip) + "/");
     }
   else
     {
-    this->ProcessDirectory(0, "/", true);
+    this->ProcessDirectory(0, "/");
     }
   return true;
 }
diff --git a/Source/kwsys/Glob.hxx.in b/Source/kwsys/Glob.hxx.in
index cb050ee28..88c343ce0 100644
--- a/Source/kwsys/Glob.hxx.in
+++ b/Source/kwsys/Glob.hxx.in
@@ -83,12 +83,12 @@ public:
 protected:
   //! Process directory
   void ProcessDirectory(kwsys_stl::string::size_type start,
-    const kwsys_stl::string& dir, bool dir_only);
+    const kwsys_stl::string& dir);
 
   //! Process last directory, but only when recurse flags is on. That is
   // effectively like saying: /path/to/file/**/file
   void RecurseDirectory(kwsys_stl::string::size_type start,
-    const kwsys_stl::string& dir, bool dir_only);
+    const kwsys_stl::string& dir);
 
   //! Add regular expression
   void AddExpression(const char* expr);