- Apr 26, 2012
-
-
Brad King authored
The SystemTools::PutEnv function tries to provide the "putenv" API without leaking memory. However, the kwsysDeletingCharVector singleton frees memory that may still be referenced by the environment table, having been placed there by putenv. If any static destruction or processing by an external tool happens after the singleton is destroyed and accesses the environment it will read invalid memory. Replace use of putenv with setenv/unsetenv when available. The latter manage internal copies of the values passed instead of referencing the original memory. When setenv/unsetenv are not available use putenv with a singleton that removes its values from the environment before freeing their memory. This requires an "unputenv" implementation. On at least some platforms it must be written in terms of "putenv" because other APIs are not available and direct modification of the "environ" global is not safe (e.g. on Windows there is interaction with "wenviron"). Fortunately either putenv("A=") or putenv("A") will remove "A" from the environment on these platforms. On other platforms fall back to direct manipulation of "environ". Also add UnPutEnv to the API and add a test for the behavior of both.
-
- Apr 23, 2012
-
-
Brad King authored
KWSys is no longer shared in projects via a server-side directory symlink in CVS. An automated nightly date stamp commit can no longer be shared by multiple projects directly. It needs a per-project replay robot so the nightly commits end up needing N+1 robots instead of N. Remove the DateStamp feature because it is no longer useful or maintained by nightly commits.
-
- Dec 15, 2011
-
-
Brad King authored
Fix a crash which occurs when SystemTools::GetPath attempts to process an empty environment variable. Author: Vladimir Panteleev <vladimir@thecybershadow.net>
-
- Nov 13, 2011
- Nov 01, 2011
-
-
Brad King authored
CommandLineArguments.cxx: remark #181: argument is incompatible with corresponding format string conversion SystemInformation.cxx: remark #193: zero used for undefined preprocessing identifier "_WIN32" warning #177: variable "Regebx" was declared but never referenced SystemTools.cxx(375): remark #444: destructor for base class "std::vector<char*>" is not virtual class kwsysDeletingCharVector : private kwsys_stl::vector<char*> Author: Hans Johnson <hans-johnson@uiowa.edu> Change-Id: Ibc899c3ba14990158ef7bbabace4b435b22495c3
-
- Oct 24, 2011
-
-
Brad King authored
Author: Nicolas Despres <nicolas.despres@gmail.com>
-
- Sep 06, 2011
-
-
David Cole authored
This behaviour was previously broken; regardless of the RecurseThroughSymLinks value, symlinks to directories were NEVER added as files in the results. When RecurseThroughSymLinks is ON, symlinks to directories should be recursed as if they were the actual directories to gather the files within. However, when RecurseThroughSymLinks is OFF, symlinks to directories should be returned as files in the result. Inspired-by:
Johan Björk <phb@spotify.com>
-
David Cole authored
Its presence confuses, and, since it is always true, is useless.
-
- Sep 01, 2011
-
-
Brad King authored
Borland ignores "const" qualifiers in template specializations.
-
Brad King authored
Added hashing fuction for std::string. This adds default support for std::strings to KWSys hashing containers. Author: Bradley Lowekamp <blowekamp@mail.nih.gov> Suggested-by:
Arnaud Gelas <arnaud_gelas@hms.harvard.edu> Change-Id: I7e7a0c356b73d19868a3df1db57b702ec7fffe9d
-
- Aug 20, 2011
-
-
David Cole authored
In SystemTools::ClassInitialize, remove call to AddTranslationPath that was originally put in place to "work around an SGI problem." This code precluded using CMake effectively in valid directories under "/tmp_mnt/"
-
- Aug 09, 2011
-
-
Brad King authored
For the specialization of hash<>(), the types long long and __int64 may be the same type. While the CMakeLists indicate that if __int64 is a alias for another type the it will not be enabled, on mingw they both appear to be the same type and enabled. This patch only enable specialization for long long OR __int64 to avoid the potential conflict. Author: Bradley Lowekamp <blowekamp@mail.nih.gov> Change-Id: I813a9ac008b296fab5a369c48e6dd5460fd0c035
-
- Aug 08, 2011
-
-
Brad King authored
Added hash function for types long long and __int64, conditional on detection by FundamentalType. Author: Bradley Lowekamp <blowekamp@mail.nih.gov> Change-Id: Ie273f55cd4387ca3dbbe00b9d96ad4935e456c9e
-
- Aug 04, 2011
-
-
Brad King authored
Convert struct timeval members to double explicitly to avoid a GCC warning with -Wconversion.
-
- Aug 03, 2011
-
-
Brad King authored
We already use GetSystemTimeAsFileTime() and gettimeofday() unconditionally on supported Windows and non-Windows platforms, respectively. Remove outdated portability complexity.
-
- Jun 19, 2011
-
-
Brad King authored
Author: Davide Mancusi <arekfu@gmail.com> Acked-By:
Modestas Vainius <modax@debian.org> Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627853
-
- May 09, 2011
-
-
Brad King authored
This leak was detected by cppcheck static analysis. Author: Hans Johnson <hans-johnson@uiowa.edu> Change-Id: I1b81cb245acb9a6033f24ecc8d1452ca4df8371a
-
- Apr 13, 2011
-
-
Brad King authored
This file has not been used in KWSys since commit "Moved test for large file support into kwsysPlatformCxxTests.cxx", 2006-08-25. CMake 2.6.0 and above come with a copy of this module anyway, and KWSys has required CMake 2.6.3 since commit "KWSys: Require at least CMake 2.6.3", 2011-03-01.
-
- Mar 29, 2011
-
-
Brad King authored
Author: Matti Niemenmaa
-
- Mar 23, 2011
-
-
Brad King authored
Set target property RUNTIME_OUTPUT_DIRECTORY explicitly on ProcessFwd9x and EncodeExecutable so that we know exactly where the executables will exist on disk.
-
- Mar 01, 2011
-
-
Brad King authored
Remove code left for supporting earlier CMake versions.
-
- Jan 10, 2011
-
-
David Cole authored
The previous commit did not compile with mingw gcc. Use the Windows type FARPROC instead of void* for the local variable.
-
- Jan 07, 2011
-
-
David Cole authored
CMake fails to find any registry paths on Windows 2000: according to regmon it fails with an access denied error. I double checked all the access rights and they are fine. After checking the access modes on MSDN I found that it says KEY_WOW64_32KEY / KEY_WOW64_64KEY are not supported on Windows 2000. CMake does not check if the current system supports Wow64 before applying these flags. This commit adds a check for IsWow64Process in kernel32.dll before adding these flags. Author: Axel Gembe <ago@bastart.eu.org> Signed-off-by:
Axel Gembe <ago@bastart.eu.org>
-
- Jan 05, 2011
-
-
David Cole authored
Author: Rolf Eike Beer <eike@sf-mail.de> 2010-10-18 12:03:39
-
David Cole authored
To get from Hz to MHz the factor is 10^6, not 2^20. Author: Rolf Eike Beer <eike@sf-mail.de> 2010-10-24 06:31:11
-
- Jan 03, 2011
-
-
Brad King authored
The header was included only under "#ifdef __linux", but not all Linux distributions provide the header. SystemInformation uses no symbols from this header, so do not include it.
-
- Dec 28, 2010
-
-
Brad King authored
Pass the lpClass argument of RegCreateKeyEx as a real char[] instead of a string literal. At least one platform declares the argument as char* instead of "const char*".
-
- Dec 21, 2010
-
-
Brad King authored
Use std::string instead of fixed-size char arrays. Author: Ben Boeckel <ben.boeckel@kitware.com>
-
- Dec 14, 2010
-
-
Brad King authored
This method replaces '//' with '/' to make the paths look nicer. Originally it correctly skipped a leading '//' in a UNC path as the comment says. However, commit "Removed extra variable initializations" (2005-04-15) accidentally removed the "pos=1" initializer. It was then incorrectly restored by commit "Added missing variable initialization" (2005-04-15) as just "pos=0". Restore the proper initializer. The test for this added by commit "better coverage" (2006-07-31) included incorrect output for a sample UNC-like path. Fix it.
-
Brad King authored
Do not set KWSYS_INSTALL_LIBRARY_RULE just because the parent project set KWSYS_INSTALL_EXPORT_NAME. Require KWSYS_INSTALL_LIB_DIR to be set too.
-
- Dec 08, 2010
-
-
Brad King authored
Commit "merge in changes for beos support" (2006-12-04) added a realpath call for every directory parsed out of a PATH-style environment variable. No reason was given in the commit message or comments. The call incorrectly resolves symlinks in referenced paths. Remove it. If BeOS support really needs it then it can be restored for that platform with a full explanation.
-
- Dec 01, 2010
-
-
Brad King authored
A parent project may now set KWSYS_INSTALL_EXPORT_NAME to specify the EXPORT name for install(TARGETS) commands.
-
- Nov 09, 2010
-
-
Brad King authored
Modify a few lines in the function QueryOSInformation. Change-Id: Ief8327144fdf5588354d4ce8240eb0206722e77e Author: Marius Staring <m.staring@lumc.nl>
-
- Sep 10, 2010
-
-
Brad King authored
The code does contain a cast that increases alignment but only in a conditional that verifies the input is sufficiently aligned.
-
- Sep 09, 2010
-
-
David Cole authored
Revert commit: CMake: quote ':' in Windows NMake Makefiles (#9963) -- it was not the right fix and caused mucho other problemo
-
- Sep 08, 2010
-
-
David Cole authored
-
- Aug 27, 2010
-
-
Brad King authored
Avoid using the old SplitString method in favor of the more robust SplitPath method.
-
Brad King authored
Document explicitly that the first component always exists. Fix the documentation of SplitPathRootComponent to note that home directory roots (~/ and ~u/) always have a trailing slash.
-
Brad King authored
-