- May 31, 2018
-
-
Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
-
- May 18, 2018
-
-
LLVM libc++ as included with Mac OS X 10.7 suffers from an issue where the trailing character is discarded when the delimiter (LF) is not found within the given buffer size (1024). The returned length is also 1024 rather than 1023. This issue results in truncated reads as observed with CMake 3.11.0 on Mac OS X 10.7 and `cmake -E cmake_link_script link.txt`. Solve this by replacing `istream::getline` by `std::getline` which does not trigger the buffering issue. There is one edge case that I decided to leave up to the callers though: a file containing `\0` previously resulted in line truncation, but is now included in the result. Tested with Mac OS X 10.7 and 10.11: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_CXX_FLAGS=-stdlib=libc++ and `./kwsysTestsCxx testSystemTools`. Issue: cmake/cmake#15039
-
- Mar 07, 2018
-
-
luz.paz authored
Found via `codespell` and `grep`
-
- Jan 31, 2018
-
-
-
The function only works on paths which are already properly escaped.
-
Non-Windows platforms don't have backslash as a separator, however some projects may want to support Windows paths on non-Windows platforms (e.g., paths from data files). For those which don't need this, this allows the search to be faster since it's searching for a single character.
-
- Dec 21, 2017
-
-
When building with C++11 or greater, use the `nullptr` keyword.
-
- Dec 09, 2017
-
-
Gregor Jasny authored
-
- Oct 05, 2017
-
-
Matthias Männich authored
-
- Sep 29, 2017
-
-
- Aug 03, 2017
-
-
Shawn Waldon authored
Previously trying to parse a windows-style (backslash separated) path on Linux would fail. Make this function handle either kind of separator on both platforms.
-
- May 29, 2017
-
-
Daniel Pfeifer authored
-
- May 06, 2017
-
-
Ben Boeckel authored
-
- Apr 17, 2017
-
-
Brad King authored
Move the implementation of `SystemTools::ConvertToWindowsExtendedPath` over to a new function in `Encoding`. It does not depend on other things `SystemTools` and will be useful in other KWSys components that already depend on `Encoding` but not `SystemTools`.
-
- Mar 29, 2017
-
-
- Jan 15, 2017
-
-
Brad King authored
``` testSystemTools.cxx:901:32: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'long' [-Wsign-compare] if (!result || line.size() != size) { ~~~~~~~~~~~ ^ ~~~~ ```
-
- Jan 09, 2017
-
-
Logic for the size limit argument added by commit 521c5483 (added a limit to the getline method, 2007-03-01) had an off-by-one error in truncating the buffer. Fix it and add a test case.
-
- Nov 04, 2016
-
-
Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Change-Id: Ie3aedc03bfe5c3999d4a077fafb8c6f3bbffc5c5
-
Brad King authored
Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace KWSys per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing#kwsys". Run the `filter-notices.bash` script to perform the replacements mechanically. Manually fix up the shebang line in one file. Change-Id: I8497f7c868664dcf54a8608ab302ad93c860b334
-
- Sep 14, 2016
-
-
Brad King authored
Use ComparePath to perform case-insensitive comparison when needed. Change-Id: I901b1a12ab43655ac44eee2b3e18c3f2630d6c18
-
- Aug 03, 2016
-
-
Ben Boeckel authored
This method checks if a path by the given name exists. The problem with FileExists is that it returns `false` even for broken (or self-referential) symlinks which may not be what the user wants. Change-Id: I71b8af6e12a5ae4b1319a3bec83db6c3cef36f90
-
- Jul 18, 2016
-
-
Change-Id: I3cdbcb846a205b211ac0f597e2c1c940dc0b7268
-
- Dec 02, 2015
-
-
Rolf Eike Beer authored
Change-Id: I59c150ef46c87bea36bab2822ebd0643aa7b7c2b
-
Rolf Eike Beer authored
Change-Id: I45efddc1638965d17f0207cdf900a44aef8bf0e8
-
- Sep 28, 2015
-
-
The GetPath method appends paths to an output vector and also converts paths to forward slashes. However, the method should not modify entries in the output vector that existed prior to the call. Fix it to only fix slashes in the entries it added to the vector. Also add a test case covering this behavior. Change-Id: Ie098c3eddbe63ed59f0d393aa6c43ea6c395011d
-
- Aug 28, 2015
-
-
Brad King authored
Drop "kwsys/stl/*" and "kwsys_stl::" and use the standard headers and namespace instead. Drop the now-unused KWSYS_STL_HAVE_STD check. Change-Id: I6105fd32cd8f0e487e03f58927976e824a53f0d8
-
Brad King authored
Use the standard headers and namespace instead. We no longer support compilers without them. Change-Id: Iafb19d28462e9302df06eecc8ae42b48a9577a21
-
- Aug 24, 2015
-
-
James Johnston authored
If honor_umask is set, the umask is queried and applied to the given permissions when calling SetPermissions. Change-Id: I302231a2ae7f0c4610eb47fdb256fa02934ecd8c
-
James Johnston authored
Change-Id: I53978f9da16eef6652566a59d8569fed07fe33a4
-
- Aug 03, 2015
-
-
Some operating systems allow directories to be opened and read like files while others do not. Simply check for a directory type first. Change-Id: Ic970f662d5aa887ace4a8f166ede7e0d1531d0d6
-
Fix the following error reported by valgrind memcheck tool: ==31549== 256 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==31549== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==31549== by 0x44F3AA: kwsys::SystemTools::DetectFileType(char const*, unsigned long, double) (in .../kwsysTestsCxx) ==31549== by 0x43D75E: CheckFileOperations() (in .../kwsysTestsCxx) ==31549== by 0x43FAC5: testSystemTools(int, char**) (in .../kwsysTestsCxx) ==31549== by 0x434A2B: main (in .../kwsysTestsCxx) Change-Id: I42db9774bf30889b67921a538e00c1bf519a2719
-
- May 27, 2015
-
-
Brad King authored
Some use cases may have a race condition such that the file to be removed disappears before we remove it. Detect when removal fails due to the file already missing and tolerate it without failing. On Windows this requires using DeleteFileW instead of _wunlink because the latter does not seem to always update errno. Try to delete before checking permissions because getting permissions will fail if the file is missing. Change-Id: If1922a15d742daca6d252c594284800d60cc1fce
-
- Oct 16, 2014
-
-
Ben Boeckel authored
Change-Id: I34695e8d23fe8d5160a15922c68726a3f8e3f10b
-
Ben Boeckel authored
Change-Id: I39dd9c093d04744ffcbf4d331e7e1e0cecbb677d
-
- Sep 08, 2014
-
-
Clinton Stimpson authored
If a passed in filename includes '*' or '?', do not match it with a different file name. Change-Id: I6cfde43a043132ec876e92fad0bef9245a10fa5f
-
- Sep 06, 2014
-
-
Clinton Stimpson authored
This fixes bug #12065, #14462 and #14765. Change-Id: I80c6506767d8b1c7ab2607800458ae3064909b3f
-
- Aug 07, 2014
-
-
Brad King authored
This method is no longer used. The CommandLineToArgvW function could be used instead on Windows anyway. Change-Id: I46d9197c80a5ab1515686890f396b1cd631943cf
-
- Jul 30, 2014
-
-
Ben Boeckel authored
Change-Id: I7cd88d0d5c36dc5b66998ff92ad42291a3bea498
-
- Jul 01, 2014
-
-
Many Windows filesystem calls (but not all) have a MAX_PATH limitation of 260 characters (drive letter, colon, backslash, 256 char path, null). This is especially problematic for interacting with large highly nested build trees (the boost C++ libraries, for example). This limitation can be overcome by using extended length paths instead. By converting local filesystem and network paths to extended length paths before passing them to the underlying APIs the maximum path length can be as large as 32767 characters. The new ConvertToWindowsExtendedPath function will convert "E:/a.txt" to "\\?\E:\a.txt" and "\\Foo\a.txt" to "\\?\UNC\Foo\a.txt". See also the MSDN article on "Naming Files, Paths, and Namespaces": http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx This also adds a hidden CMake option, KWSYS_TEST_SYSTEMTOOLS_LONG_PATHS, which, when set to TRUE, will enable the extended length path tests. This is off by default since if something does go awry, the resulting leftovers could be difficult to delete manually. Change-Id: Ib7ac1f657241ed389169678d1c078c0d836f1c7b
-
- Jun 03, 2014
-
-
Chuck Atkins authored
The full path for files used by SystemTools tests were preconfigured in a generated header file by CMake variables. This begins to get unwieldy and clutters the CMake files once more variables and files get added. In preperation for more file and directory tests being added, the preconfigured variables are now just the source and binary directories for which all tests can base themselves off of. Change-Id: Iae9e11592a3c040ce2e9cc90dbd1ccedfc3129ea
-