211 Commits

Author SHA1 Message Date
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
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
Владислав Щапов
6ab0cb2844 - Detect libstdc++ from gcc-5 and never. 2021-04-18 20:41:50 +05:00
Steffen Schuemann
76c3966df4 refs #113, switched to tag based comments and test names instead of C++17 paragraph numbers to become more standard version agnostic 2021-03-27 09:22:04 +01:00
Steffen Schuemann
2a8b380f8d Release v1.5.4 2021-03-21 19:13:43 +01:00
Steffen Schuemann
1037c02950 Removing indirect refresh calls on directory_entry on posix
removing redundant path instance from windows directory_iterator implementation
2021-03-20 20:41:01 +01:00
Steffen Schümann
b82066f27e refs #110, first cygwin support 2021-03-20 18:01:02 +01:00
gulrak
d768b60d49
Merge pull request #109 from albert-github/feature/bug_filesystem_spell
Correcting spelling errors
2021-03-19 19:55:55 +01:00
albert-github
828062889a Correcting spelling errors
Correcting spelling errors
2021-03-19 12:20:32 +01:00
Philipp Bucher
67e708cc4f
using static_cast instead of old style cast
This is a warning in GCC when using -Wold-style-cast
2021-03-18 14:57:10 +01:00
Steffen Schuemann
8d45dc4d41 refs #107, fix handling of inaccessible symlink target errors 2021-03-14 10:45:10 +01:00