| 
					
				 | 
			
			
				@@ -259,26 +259,23 @@ void Glob::RecurseDirectory(kwsys_stl::string::size_type start, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bool isDir = kwsys::SystemTools::FileIsDirectory(realname.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bool isSymLink = kwsys::SystemTools::FileIsSymlink(realname.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if ( !isDir ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ( isDir && (!isSymLink || this->RecurseThroughSymlinks) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if ( (this->Internals->Expressions.size() > 0) &&  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           this->Internals->Expressions[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             this->Internals->Expressions.size()-1].find(fname.c_str()) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (isSymLink) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this->AddFile(this->Internals->Files, realname.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ++this->FollowedSymlinkCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this->RecurseDirectory(start+1, realname); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bool isSymLink = kwsys::SystemTools::FileIsSymlink(realname.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!isSymLink || this->RecurseThroughSymlinks) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ( (this->Internals->Expressions.size() > 0) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           this->Internals->Expressions[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             this->Internals->Expressions.size()-1].find(fname.c_str()) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (isSymLink) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ++this->FollowedSymlinkCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this->RecurseDirectory(start+1, realname); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this->AddFile(this->Internals->Files, realname.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |