- Jul 18, 2022
-
-
The function `GetActualCaseForPathCached` cached the whole input and output of `GetCasePathName`. By caching the calls to `FindFirstFileW` instead, many redundant `FindFirstFileW` calls can be avoided.
-
- Jun 21, 2022
-
-
ca9646bd SystemTools: Optimize FileIsExecutable on Windows ab7c8f6f SystemTools: Factor out RemoveTrailingSlashes Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !257
-
- Jun 17, 2022
-
-
Clemens Wasser authored
-
Clemens Wasser authored
-
- Jun 09, 2022
-
-
0969597d SystemTools: add a clonefile optimization on macOS Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !256
-
- Jun 08, 2022
-
-
Implement the copy file optimization on Darwin for `copy_file` and `copy_file_if_different`. Use the `copyfile` API on macOS 10.5 or newer to copy the file using APFS clone semantics. This is a best effort operation, but will fallback to copying without the cloning if necessary. The operation has been available since 10.5, making it old enough to assume present as the OS has been EOLed for years now.
-
- Jun 03, 2022
-
-
591c4efb Activate POSIX APIs even without compiler extensions Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !254
-
257b1111 Configure with policies through CMake 3.22 45f20b83 Fix XL/XLClang warning suppression under CMP0089 NEW behavior Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !255
-
Brad King authored
-
Brad King authored
In the policy's NEW behavior, the compiler id is `XLClang`.
-
- Jun 02, 2022
-
-
Brad King authored
Add preprocessor definitions to activate POSIX APIs even when compiler extensions are not enabled.
-
- Mar 02, 2022
-
-
dfec20c9 SystemInformation: Add Zhaoxin x86 processor kh40000 Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !253
-
- Feb 18, 2022
-
-
b387faf8 Process: Fix typos Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !252
-
- Feb 17, 2022
-
-
- Jan 31, 2022
-
-
dc6b6641 testSystemTools: apply root-check on AIX Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !251
-
The TestFileAccess test fails on AIX with this message: TestFileAccess incorrectly indicated that this is a writable file If the test is run as root, skip that part of the test as we do on Linux and BSDs. Extend the fix from commit 4b537c59 (Tests: Handle that root users on linux can always write to files, 2020-03-30) and commit e65c5693 (testSystemTools: apply root-check to more systems, 2021-05-31) to AIX hosts too.
-
- Jan 29, 2022
-
-
259cdb6a SystemTools: Update SetPermissions test case to avoid 0 perms on POSIX Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !250
-
5a33629f ProcessUNIX.c: fix select(), FD_SETSIZE on macOS Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !249
-
- Jan 28, 2022
-
-
Brad King authored
Set user-read permission to avoid creating a file with no permissions.
-
- Jan 27, 2022
-
-
Christopher Chavez authored
On macOS (reportedly for 10.5 and later), if _DARWIN_UNLIMITED_SELECT is not defined, then the select() call in kwsysProcessWaitForPipe() fails with EINVAL when (max + 1) > 1024. And, by default, FD_SETSIZE is 1024; passing file descriptors not less than FD_SETSIZE to FD_CLR(), FD_SET(), and FD_ISSET() causes out-of-bounds accesses, at least for an fd_set allocated on the heap (as is the case for cp->PipeSet, allocated by kwsysProcess_New(); one observed effect of this is corruption of the "Invalid argument" error message copied from strerror(errno) into cp->ErrorMessage, since cp->ErrorMessage is located shortly after cp->PipeSet). Defining _DARWIN_UNLIMITED_SELECT and defining FD_SETSIZE to OPEN_MAX (10240) avoids these issues.
-
- Jan 22, 2022
-
-
d4c5ed92 Glob: Optimize directory/symlink checks on Windows Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !248
-
4b552447 Directory: Replace FileData with methods accepting file index Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !247
-
- Jan 21, 2022
-
-
Use data saved by `Directory` traversal to avoid repeating work.
-
Brad King authored
The internal calls to `SystemTools::FileIs{Directory,Symlink}` added by commit 7573b0fd (Directory: Add Is{Directory,Symlink} to FileData, 2022-01-11) pass only the file name, which will be interpreted relative to the current working directory rather than the `Directory` path. We need to use the absolute path instead. Rather than trying to make this available in the `FileData` structure, provide access to the information through methods accepting the file index.
-
- Jan 19, 2022
-
-
929b6c6c Glob: Revert "Optimize directory/symlink checks on Windows" Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !245
-
5f2dcc13 SystemTools: Fix FilesDiffer 32-bit signed integer overflow on Windows Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !244
-
- Jan 18, 2022
-
-
99c7831e Glob: Optimize directory/symlink checks on Windows 7573b0fd Directory: Add Is{Directory,Symlink} to FileData d078f9e6 Directory: Store FIND_DATA for files in Directory 43ce7a20 SystemTools: Factor out FileIsSymlinkWithAttr helper Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !243
-
- Jan 14, 2022
-
-
- Jan 13, 2022
-
-
Clemens Wasser authored
-
- Jan 11, 2022
-
-
Clemens Wasser authored
-
549d3d0b SystemTools: Fix type of GetLineFromStream Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !242
-
- Jan 10, 2022
-
-
Use std::string::size_type instead of long for the GetLineFromStream sizeLimit argument. Adjust the implementation of GetLineFromStream since std::string::size_type is unsigned.
-
- Jan 07, 2022
-
-
ebfb5cdb SystemInformation: Change GetRealAddress to return a size_t Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !241
-
- Jan 06, 2022
-
-
Jessica Clarke authored
The return value is not a real pointer, but an integer representing the offset of the symbol within the loaded binary/library (possibly including a load base). On CHERI, and thus Arm's Morello prototype, pointers are not just integers but are unforgeable hardware capabilities that contain additional metadata (including bounds and permissions) to provide fine-grained spatial safety. Casting a plain integer (in this case, a ptrdiff_t) to a void * gives a warning that we normally make fatal, as due to the unforgeability of capabilities it will not be a valid pointer, trapping on dereference. Whilst there are ways to squash this warning (typically by casting via (u)intptr_t), they are not appropriate here, since the return value does not need to be a void *, and are normally only needed for reusing void *-taking interfaces with a plain integer (e.g. pthread_create's void * argument). Thus change the return type to be size_t to represent that this is the non-negative integer offset of the address from the base address. Note that, other than the dummy call in the constructor that throws away the result, this member function is unused.
-
- Nov 01, 2021
-
-
bcddb31b SystemTools: Fix Windows app exec alias layout Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !240
-
- Oct 29, 2021
-
-
Brad King authored
Fix the layout added by commit 025a4951 (SystemTools: Add Windows app exec alias support to ReadSymlink, 2021-10-28) to match this reference: https://www.tiraniddo.dev/2019/09/overview-of-windows-execution-aliases.html Reported-by:
Yuriy O'Donnell <yuriy.odonnell@epicgames.com>
-