Chris Sauer
48d46cccef
Improve apple conditionals in filesystem.hpp
...
Two changes:
- (minor) Rename GHC_OS_MACOS -> GHC_OS_APPLE, since it is defined all apple platforms (iOS, watchOS, etc.), not just macOS.
- Changed the preprocessor conditional in last_write_time to align with its presumed intent. Previously, it would always have been true, which can't be intentional, because the *_OS_VERSION_MIN_REQUIRED is undefined and thus zero for platforms besides the current one, and therefore less than the constants--except for on very old SDKs where, e.g., MAC_OS_X_VERSION_10_13 and others would be undefined and therefore 0 and therefore making the clause false when it needed to be true. Therefore, I changed the conditions to be parallel to those in the dynamic selection headers, checking for the undefined, zero case and hardcoding the version values to support old SDKs.
2023-07-26 23:07:09 -07:00
Chris Sauer
23710d3b56
Remove conditional inclusion snippet in filesystem.hpp
...
Reduces duplication and tendency to get out of sync.
As evidence of the problem, the snippet had previously (before this PR) started to diverge. It seemed more prudent to delete than to fix, given the usage instructions seem to be centralized in the readme and the dynamic selection headers should probably be recommended anyway.
2023-07-26 21:56:08 -07:00
Steffen Schuemann
72a76d774e
head version bumped to wip version
2023-05-18 10:39:25 +02:00
Steffen Schuemann
e5ae1bd3e3
refs #166 , ".." does not have extension ."
2023-05-17 07:18:52 +02:00
Steffen Schuemann
8a2edd6d92
Version bump to v1.5.14
2023-03-05 13:06:50 +01:00
Steffen Schuemann
61176cd82a
Merge branch 'feature-146-added-EINTR-handling'
2023-03-04 16:39:33 +01:00
Steffen Schuemann
9df22d5396
refs #157 , suppress unavoidable warning at cast for GetProcAddress on MSVC
2023-03-04 15:17:13 +01:00
Steffen Schuemann
6a94e84da4
refs #151 , stop throwing on fs: 🇩🇪 :refresh for broken symlinks, and added test
2023-03-04 09:59:16 +01:00
gulrak
3afbd9c315
Merge pull request #144 from actboy168/patch-2
...
copy_file also copies permissions
2023-03-03 17:35:47 +01:00
gulrak
de64decd91
Merge pull request #143 from actboy168/patch-1
...
Fixes skip_existing on fs::copy
2023-03-03 17:31:15 +01:00
Steffen Schuemann
f3033c29fb
refs #146 , added EINTR handling to directory iteration and file copying
2023-03-03 06:44:58 +01:00
Steffen Schuemann
c8113e14b1
Updated readme, bumped to wip version as preparation of upcoming release.
2023-03-02 19:19:22 +01:00
Steffen Schuemann
b6d302f5b9
Merge branch 'feature-156-posix-issue-stem-filename-extension'
2023-03-02 19:01:15 +01:00
Steffen Schuemann
efc077f553
refs #156 : Windows path handling artifact bled into POSIX
2023-03-02 08:20:18 +01:00
begasus
9afb43851d
filesystem.hpp, add support for Haiku
2023-02-18 10:21:53 +01:00
gulrak
c57242b4bc
Merge pull request #154 from sthibaul/master
...
Fix build on GNU/Hurd
2023-02-17 17:29:41 +01:00
gulrak
3337cc252a
Merge pull request #153 from kkaefer/last_write_time-ios
...
Fix `ghc::filesystem::last_write_time()` setter on iOS/tvOS/watchOS
2023-02-17 17:27:12 +01:00
Jianxiang Wang (王健翔)
f0caeb7d58
Update filesystem.hpp
...
Fix directory iterator treating all files subsequent to a symlink as symlink on Windows
2023-02-16 13:38:48 +08:00
Samuel Thibault
d3d968e583
Fix build on GNU/Hurd
...
There is no path length limitation there, even via pathconf. But glibc
provides a getcwd function that allocates the buffer dynamically so we can
just leverage that.
2022-08-16 20:29:54 +02:00
Konstantin Käfer
404c57f1b0
Fix ghc::filesystem::last_write_time() setter on iOS/tvOS/watchOS
...
The previous implementation tried to detect old deployment targets for macOS that doesn't have the newer `utimensat` call. Unfortunately, it would just detect macOS, and didn't check for the corresponding iOS/tvOS/watchOS version numbers. On those platforms, last_write_time() was effectively a no-op, failing silently and not modifying the mtime of the file.
This patch adds detection for these platforms. It also removes the special casing when newer versions of macOS/iOS/tvOS/watchOS are used as the deployment targets, and instead folds it into the default POSIX branch.
2022-07-27 18:31:16 +02:00
Silent
4f0824fd76
Fix a Y2038 bug in timeToFILETIME
...
The old code truncated time_t to a 32-bit value
when using Int32x32To64. This example code has been fixed
on MSDN a while ago, so this change only updates it to
the current version.
More on this issue:
https://cookieplmonster.github.io/2022/02/17/year-2038-problem/
2022-05-25 19:56:56 +02:00
actboy168
28f7c929e0
fixes
2022-04-08 11:43:15 +08:00
actboy168
ab8a78d806
copy_file also copies permissions
2022-04-08 11:18:01 +08:00
actboy168
f6d7d5b826
Fixes skip_existing
2022-04-08 10:32:41 +08:00
Steffen Schuemann
cd6805e94d
Version bump release v1.5.12
...
Took 30 minutes
2022-04-03 11:40:58 +02:00
Steffen Schuemann
fb4bb2b764
refs #138 , ensure PATH_MAX exists on POSIX backend, wip version bump
...
Took 4 minutes
2022-04-02 19:36:58 +02:00
Steffen Schuemann
e5bbc754e7
refs #142 , fix tests
...
Took 2 minutes
2022-04-02 13:55:10 +02:00
Steffen Schuemann
91e71f7f54
refs #142 , solaris support for tests
...
Took 51 minutes
2022-04-02 13:47:16 +02:00
Steffen Schuemann
c4b507e9d8
refs #142 , autodetect dirent::d_type and add GHC_OS_SOLARIS detection
...
Took 3 hours 8 minutes
2022-04-02 11:40:50 +02:00
Steffen Schuemann
614bbe87b8
Release v1.5.10 version bump
...
Took 25 minutes
2021-10-23 16:08:12 +02:00
Владислав Щапов
1dbe2d9bec
Replace std::shared_ptr<void> to unique_handle
2021-10-03 19:28:53 +05:00
Владислав Щапов
7b8cf519f2
Replace std::shared_ptr to std::unique_ptr
2021-10-03 19:28:53 +05:00
Владислав Щапов
d279a4f73d
Apply clang-format
2021-10-03 18:15:55 +05:00
Владислав Щапов
1f3943b1c4
Fix ghc::filesystem::remove_all behavior if argument is symlink
2021-09-23 00:55:09 +05:00
Benjamin A. Beasley
924d84acf0
Cast to uintmax_t *before* multiplying in space calculations
...
This ensures that all cases where the result actually does fit in a
uintmax_t are correctly handled. Before, the multiplication could be
performed in a smaller type, leading to an incorrect result or, worse,
undefined behavior due to signed integer overflow.
This fixes a test failure that was actually observed on an i686 Linux
system.
2021-07-30 17:14:23 -04:00
Steffen Schuemann
d87ac130cf
Squashed commit of the following:
...
commit 2bef80eec1fe16a23e34143b9a5a32b04d612ed2
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 20:11:36 2021 +0200
wip
commit e8c063d7ea66d2bdcbd1535b12dac1ca24afc7b9
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 20:05:04 2021 +0200
wip
commit aafdebf274cafacfd6e1472621b015e48d547412
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 19:50:39 2021 +0200
wip
commit b36f13655a09c3bac62afc6079ba010eb934493d
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 18:05:35 2021 +0200
wip
commit eee191875c0d6816022342d341eaa43f5f83c4ff
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 17:32:35 2021 +0200
more wip
commit 0ff949ab5f21055298aee8d7fcdda3a10f61a69c
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 17:12:18 2021 +0200
wip
commit ca68861cb4c4e14079bb3ab2e0c9725b0a3aece8
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 16:31:32 2021 +0200
wip
commit e188a3d2cca4f4bb84c3fa8f49e5de34ec731713
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 16:21:51 2021 +0200
wip
commit b8383ac22cdb5bab3a4f527a1c46dafd009b2f11
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 16:15:42 2021 +0200
Workflow wip...
commit 162416fe2cf2922382c7c7fd34c648b4782d48be
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 15:57:31 2021 +0200
Workflow wip...
commit 891be4cdd72b23ec86bdc0935d9201841c2c07bc
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 15:52:24 2021 +0200
Workflow wip...
commit 5c2ee653f41a38858cfaf602df639276ae1c7fbb
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 15:44:59 2021 +0200
Workflow wip...
commit bca8df081885aed67ce0952f20aa2e4a96072a04
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 15:40:23 2021 +0200
Workflow wip...
commit d94d8de098d954bffae65aec789d72c5c0b1301b
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sun Jul 4 15:34:16 2021 +0200
Workflow wip...
commit 19f301992b733e699054050fdf552c982fea300c
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sat Jul 3 21:54:11 2021 +0200
Workflow wip...
commit 495457726fc844d014e49b56acd6367160f4322b
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sat Jul 3 18:38:04 2021 +0200
workflow wip
commit fde42cd4a5f865807703ff6814d9d0e8dfbde030
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sat Jul 3 18:34:47 2021 +0200
Testing more generic workflow.
commit ead40cc153814e23ef3ddcb654ed8c57c10f54a6
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date: Sat Jul 3 16:51:25 2021 +0200
Work on using GitHub workflows.
2021-07-04 20:24:13 +02:00
Steffen Schuemann
1d3d5f5d7d
Version bump and updated readme.
2021-06-14 22:16:54 +02:00
Steffen Schümann
b3d9a50bb5
Removed unwanted generation of temp strings.
2021-06-14 21:34:37 +02:00
Steffen Schümann
cd68567543
Bump wip version
2021-06-14 21:31:44 +02:00
Steffen Schümann
15e814e820
refs #125 , fix broken windows long path test and broken create_directories with prefixed long paths
2021-06-10 01:21:07 +02:00
Steffen Schuemann
4e21ab3057
Version bump and updated readme.
2021-05-24 10:09:27 +02:00
Steffen Schuemann
19d0c63c29
refs #116 , systems without d_type can now use GHC_NO_DIRENT_D_TYPE to compile, experimental QNX support
2021-05-24 09:30:42 +02:00
Steffen Schuemann
231b64fec0
Merge branch 'feature-122-recursive-iterator-follows-dead-symlinks'
...
# Conflicts:
# README.md
2021-05-23 16:21:08 +02:00
Steffen Schümann
70cf2f03ba
Merge branch 'feature-124-mapped-volumes-wrongly-handled-as-symlinks'
2021-05-23 16:06:13 +02:00
Steffen Schümann
9c6ff202e7
refs #121 , fix for mingw compile issue
2021-05-23 11:29:04 +02:00
Steffen Schümann
a697b05dd7
refs #121 , allow fs::remove on read-only entries in windows too
2021-05-23 10:53:58 +02:00
Steffen Schümann
cf4e05d42f
refs #124 , fix for mingw compile issue
2021-05-23 10:05:47 +02:00
Steffen Schümann
e51e6ee46b
refs #124 , mapped folder/volumes where wrongly handled as symlinks, failing fs::canonical
2021-05-23 08:46:50 +02:00
Steffen Schuemann
873a55addf
refs #122 , fix for dead symlink iteration error
2021-05-22 07:14:47 +02:00
Steffen Schuemann
37442cc5ea
refs #119 , add additional tests and missing character literal types support
2021-05-02 01:46:08 +02:00