[Cmake-commits] [cmake-commits] hoffman committed Glob.cxx 1.13 1.13.10.1 Glob.hxx.in 1.7 1.7.10.1 ProcessUNIX.c 1.71.2.2 1.71.2.3
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Sep 3 09:43:21 EDT 2008
Update of /cvsroot/CMake/CMake/Source/kwsys
In directory public:/mounts/ram/cvs-serv18450/Source/kwsys
Modified Files:
Tag: CMake-2-6
Glob.cxx Glob.hxx.in ProcessUNIX.c
Log Message:
ENH: 2.6.2 rc 2 merge from main tree
Index: Glob.hxx.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/Glob.hxx.in,v
retrieving revision 1.7
retrieving revision 1.7.10.1
diff -C 2 -d -r1.7 -r1.7.10.1
*** Glob.hxx.in 16 Aug 2007 11:38:47 -0000 1.7
--- Glob.hxx.in 3 Sep 2008 13:43:19 -0000 1.7.10.1
***************
*** 58,61 ****
--- 58,68 ----
bool GetRecurse() { return this->Recurse; }
+ //! Set recurse through symlinks to true if recursion should traverse the
+ // linked-to directories
+ void RecurseThroughSymlinksOn() { this->SetRecurseThroughSymlinks(true); }
+ void RecurseThroughSymlinksOff() { this->SetRecurseThroughSymlinks(false); }
+ void SetRecurseThroughSymlinks(bool i) { this->RecurseThroughSymlinks = i; }
+ bool GetRecurseThroughSymlinks() { return this->RecurseThroughSymlinks; }
+
//! Set relative to true to only show relative path to files.
void SetRelative(const char* dir);
***************
*** 91,94 ****
--- 98,102 ----
bool Recurse;
kwsys_stl::string Relative;
+ bool RecurseThroughSymlinks;
private:
Index: ProcessUNIX.c
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/ProcessUNIX.c,v
retrieving revision 1.71.2.2
retrieving revision 1.71.2.3
diff -C 2 -d -r1.71.2.2 -r1.71.2.3
*** ProcessUNIX.c 15 May 2008 19:40:00 -0000 1.71.2.2
--- ProcessUNIX.c 3 Sep 2008 13:43:19 -0000 1.71.2.3
***************
*** 771,775 ****
}
! #if !KWSYSPE_USE_SELECT
if(!kwsysProcessSetNonBlocking(p[0]))
{
--- 771,776 ----
}
! /* Set to non-blocking in case select lies, or for the polling
! implementation. */
if(!kwsysProcessSetNonBlocking(p[0]))
{
***************
*** 778,782 ****
return;
}
- #endif
}
--- 779,782 ----
***************
*** 831,842 ****
}
! #if !KWSYSPE_USE_SELECT
! /* Set the output pipe of the last process to be non-blocking so
! we can poll it. */
! if(i == cp->NumberOfCommands-1 && !kwsysProcessSetNonBlocking(readEnd))
{
failed = 1;
}
- #endif
if(failed)
--- 831,840 ----
}
! /* Set the output pipe of the last process to be non-blocking in
! case select lies, or for the polling implementation. */
! if(i == (cp->NumberOfCommands-1) && !kwsysProcessSetNonBlocking(readEnd))
{
failed = 1;
}
if(failed)
***************
*** 1058,1061 ****
--- 1056,1064 ----
}
}
+ else if(n < 0 && errno == EAGAIN)
+ {
+ /* No data are really ready. The select call lied. See the
+ "man select" page on Linux for cases when this occurs. */
+ }
else
{
Index: Glob.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/Glob.cxx,v
retrieving revision 1.13
retrieving revision 1.13.10.1
diff -C 2 -d -r1.13 -r1.13.10.1
*** Glob.cxx 21 Aug 2007 19:30:07 -0000 1.13
--- Glob.cxx 3 Sep 2008 13:43:19 -0000 1.13.10.1
***************
*** 64,67 ****
--- 64,71 ----
this->Recurse = false;
this->Relative = "";
+
+ this->RecurseThroughSymlinks = true;
+ // RecurseThroughSymlinks is true by default for backwards compatibility,
+ // not because it's a good idea...
}
***************
*** 263,267 ****
if ( kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
{
! this->RecurseDirectory(start+1, realname, dir_only);
}
}
--- 267,275 ----
if ( kwsys::SystemTools::FileIsDirectory(realname.c_str()) )
{
! if (!kwsys::SystemTools::FileIsSymlink(realname.c_str()) ||
! this->RecurseThroughSymlinks)
! {
! this->RecurseDirectory(start+1, realname, dir_only);
! }
}
}
More information about the Cmake-commits
mailing list