187 Commits

Author SHA1 Message Date
Steffen Schümann
8fac7e5254 refs #90, first stage of backend rework done, tests besides namespaced/prefixed long filenames working with char value_type again 2021-01-24 12:57:58 +01:00
Steffen Schümann
b869b9fc4b refs #90, work on switching from generic_format backend to (normalized) native_format backend 2021-01-23 11:19:30 +01:00
Steffen Schuemann
973abff4b9 refs #89, added operator==() to fs::file_status 2021-01-21 19:01:42 +01:00
Steffen Schuemann
de57485877 refs #88, updated readme and bumped to wip version 2021-01-21 09:14:57 +01:00
Steffen Schuemann
6bf13c0ce1 refs #88, fix signed/unsigned issue 2021-01-21 00:23:15 +01:00
Steffen Schuemann
9206877fc8 refs #88, work on path::parent_path() optimization 2021-01-21 00:06:35 +01:00
Steffen Schuemann
8166dd1546 Release v1.4.0 2020-12-31 10:37:49 +01:00
Steffen Schuemann
3225d122ac refs #71, added three-way comparison to directory_entry 2020-12-28 23:20:32 +01:00
Steffen Schuemann
3629ba96e5 refs #71, C++20 support, some overdue cleanup-work, to enhance readability. 2020-12-28 00:08:16 +01:00
Steffen Schuemann
5b5b529398 Merge branch 'master' into feature-cpp20-support 2020-12-27 18:44:22 +01:00
Steffen Schuemann
3ad9525acc Release v1.3.10 2020-12-27 13:29:15 +01:00
Steffen Schuemann
b3451220ca refs #71, work on c++20 api changes 2020-12-27 02:20:55 +01:00
Steffen Schuemann
d2100b431f refs #71, restarted wip on C++20 support 2020-12-27 00:03:57 +01:00
Steffen Schuemann
eef2c2ba55 refs #81, work on incomplete string_view support when using c++17 2020-12-26 15:14:32 +01:00
Steffen Schuemann
440e556f21 Merge branch 'feature-79-constexpr-bitmask-ops' 2020-12-26 14:00:42 +01:00
Steffen Schuemann
b51fe02f1a WIP version bump 2020-12-26 13:56:21 +01:00
Steffen Schuemann
10e0da40bc refs #79, constexpr on non-assigning bitmask operations 2020-11-17 07:57:25 +01:00
Steffen Schuemann
1edf4a3339 ghc::filesysem release v1.3.8 2020-11-15 22:54:06 +01:00
Steffen Schuemann
427108c8e2 updating readme and dynamic selection examples 2020-11-15 21:12:41 +01:00
Steffen Schümann
809d680df9 refs #75, avoid messing with long namespaced path on windows 2020-11-10 08:34:21 +01:00
Steffen Schümann
3fd3482559 refs #75, fix for windows path filtering on namespaces 2020-11-08 11:12:07 +01:00
Steffen Schuemann
1c7204285d wip version bump 2020-10-24 12:05:11 +02:00
Steffen Schuemann
f824d0d46b refs #77, fix skip_permission_denied inconsistency 2020-10-24 12:03:58 +02:00
Steffen Schuemann
7e37433f31 Release v1.3.6 2020-10-10 09:11:06 +02:00
Florian Brenot
c82e11af33
Check symlink relative flag and use correct offsets on Windows (#74)
* Check symlink relative flag and use correct offsets

* Using the correct length this time
2020-10-10 08:58:06 +02:00
Steffen Schümann
6649653be9 Extended path prefix handling on Windows. 2020-10-09 23:57:54 +02:00
Steffen Schümann
2fe72421c5 Merge branch 'feature-70-path-comparison' of https://github.com/gulrak/filesystem into feature-70-path-comparison
# Conflicts:
#	include/ghc/filesystem.hpp
2020-10-06 21:23:13 +02:00
Steffen Schümann
3cd5bc6873 refs #70, fix for non LWG2936 mode and updated readme 2020-10-06 21:17:15 +02:00
Steffen Schuemann
a22c0a94d0 refs #70, mingw compile fix 2020-10-05 22:41:46 +02:00
Steffen Schuemann
f15dea9695 refs #70, fix for missed issue and mingw errors 2020-10-05 21:59:29 +02:00
Steffen Schümann
56b5e7a174 refs #70, compare windows root names case insensitive, work on LWG 2936 option 2020-10-05 21:24:05 +02:00
Steffen Schümann
c8cfcf823f refs #73, performance optimizations 2020-09-30 08:33:29 +02:00
Steffen Schuemann
d8abf146a4 Release ghc::filesystem v1.3.4 2020-08-30 09:59:53 +02:00
Steffen Schuemann
80543b681b refs #66, removed shared_ptr guards in copy_file 2020-08-30 09:47:27 +02:00
Steffen Schuemann
3131e9735d Merge branch 'master' into feature-68-experimental-emscripten-support 2020-08-21 08:22:48 +02:00
zero9178
0e40179aeb Changed preprocessors checks for wchar_t constructs of iostreams from __GNUC__ to __GLIBCXX__ as libc++ provides these on Windows as well 2020-08-21 03:01:50 +02:00
Steffen Schuemann
1d41167941 refs #68, experimental support for emscripten 2020-08-20 22:26:56 +02:00
Steffen Schuemann
2ea00170e1 refs #68, better permission error handling for directory_iteratior with skip_permissions_denied 2020-08-20 21:58:34 +02:00
Steffen Schuemann
3f1c185ab4 fixes #63, Squashed commit of the following:
commit fdcb3ce89ba676d3e06b30c18c04e926a775366c
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date:   Thu Apr 9 12:59:13 2020 +0200

    refs #63, fix typo

commit a5cadd2e5060da75315f79971dae56a0e91a8023
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date:   Thu Apr 9 11:45:36 2020 +0200

    refs #63, work on issues with wchar and clang in windows.
2020-04-10 11:26:04 +02:00
Steffen Schuemann
9a047b9f8d Updated readme, added error handling for conflicting options. 2020-04-08 10:44:54 +02:00
gulrak
6b30995e41
Merge pull request #62 from okhowang/android
Fix android compatibility
2020-04-07 19:49:25 +02:00
gulrak
2ad75e1ff0
Merge pull request #61 from okhowang/no-exception
fixes #60, refs #43, support for usage in projects with exceptions disabled
2020-04-07 19:48:30 +02:00
Steffen Schuemann
4bf0160a15 Bump to wip version. 2020-04-07 18:27:49 +02:00
okhowang(王沛文)
a0f28a93bc Fix android compatibility 2020-04-07 22:55:13 +08:00
okhowang(王沛文)
ee9b432e3f Fixed MinGW no-exception logic 2020-04-07 19:09:54 +08:00
okhowang(王沛文)
498dd371fa merge all ifdef 2020-04-07 15:40:27 +08:00
okhowang(王沛文)
4fe99da720 Fix VS2015 compatibility 2020-04-07 14:07:47 +08:00
okhowang(王沛文)
a0ef036074 use marcro protect all code with exception 2020-04-07 11:40:42 +08:00
okhowang(王沛文)
2671c2f83b use macro protect all throw function directly 2020-04-07 10:30:36 +08:00
Steffen Schuemann
3605e86915 Updated readme and v1.3.2 version bump. 2020-03-31 00:01:31 +02:00
Steffen Schuemann
683ed6838e Merge branch 'master' of github.com:gulrak/filesystem 2020-03-23 19:17:58 +01:00
Steffen Schuemann
56827ea52d refs #58, compile error on MinGW 2020-03-23 19:17:19 +01:00
Michael M
e3201da883 lexically_relative: ignore trailing slash on base
Previously,

    fs::path("a/b").lexically_relative("a/")

would incorrectly return "../b". Now it returns "b".
2020-03-22 16:26:59 -07:00
Steffen Schuemann
26077f272e refs #54, directory_entry methods now reset error_code, when returning cached result 2020-03-06 09:19:46 +01:00
Steffen Schuemann
d93ccea812 refs #55, fs::create_directories reported true if it didn't need to create anything. 2020-03-05 06:48:54 +01:00
Steffen Schuemann
70a0085a47 Fix issues introduced with PR 53. 2020-03-04 08:41:15 +01:00
gulrak
bd30737e81
Merge pull request #53 from jnhyatt/leading-whitespace
Bugfix - Leading Whitespace On Stream In
2020-03-04 08:26:26 +01:00
jnhyatt
a778e6d76e Remove leading whitespace when first character is whitespace 2020-03-04 04:54:15 -07:00
gulrak
1d85ec3572
Merge pull request #50 from nightlark/fix-conversion-warning-32bit-target
Static cast to fix conversion error on 32-bit processors
2020-03-04 07:38:48 +01:00
Steffen Schuemann
21b1fb9d1d Next wip version. 2020-03-04 07:38:00 +01:00
Ryan Mast
94738c9065 Static cast to fix conversion error on 32-bit processors 2020-02-29 14:10:13 -08:00
Rick V
c193676fe9 define targets for generic BSD and oracle machines 2020-02-13 18:51:29 -06:00
Sean Portal
84c905016f Fix typo
"C++147" ==> "C++14"
2020-02-11 17:39:50 +00:00
Steffen Schuemann
c428aba39d Merge branch 'master' of github.com:gulrak/filesystem 2020-02-08 18:29:56 +01:00
Steffen Schuemann
0989fd1ca1 Version Bump to v1.3.0, switch to MIT license 2020-02-08 18:22:37 +01:00
Tobias Hammer
7b9e8a5894 Suppress unused parameter warning on android 2020-01-23 09:27:12 +01:00
Steffen Schuemann
c96bc30a3f refs #44, warnings on Xcode 11.3 2019-12-21 12:38:57 +01:00
Steffen Schuemann
f5bfb98aea minor refactorings and work on ci integration 2019-12-08 13:49:15 +01:00
Steffen Schuemann
8facfa0044 Updated readme and version bump to v1.2.10 2019-11-24 16:33:29 +01:00
Steffen Schuemann
07b7d46e8b refs #38, added check for older GCCs 2019-11-24 00:30:12 +01:00
Steffen Schuemann
2c3242a38e refs #38, switched to pragma based fix, as it seams the most widely accepted way. 2019-11-23 23:53:36 +01:00
Steffen Schümann
c37d756a7f refs #41, fs::rename now overwrites existing files on windows, extended tests 2019-11-22 18:48:10 +01:00
Steffen Schümann
5a933d5c52 refs #39, remove DWORD dependency in forwarding mode and change test to trigger an error if there is a dependency to windows.h 2019-11-22 18:46:21 +01:00
gulrak
73da6e1a95 refs #38, work on warning about GetProcAddress cast on MSYS2 GCC9.2 2019-11-17 21:20:19 +01:00
gulrak
461a6c0154 Updated readme and version bump to v1.2.8 2019-11-15 09:05:17 +01:00
Renaud Lepage
3a6c550dc0
Typo 2019-11-09 16:40:09 -08:00
Steffen Schuemann
c1a2fb5d17 refs #36, fix for warnings on xcode 11.2 due to unhelpful use of references 2019-11-07 09:10:09 +01:00
Jean Guyomarc'h
b5df8c5942 fix: TOCTOU race when creating directories
When create_directories() is called to create a chain of directories,
path components are created one by one. For each path component, ghc
checks if the directory exists. If not it attempts to create it. In
case of failure to create this directory, the function fails.

This behavior exhibits a TOCTOU (Time Of Check/Time Of Use) race when
different threads of execution (e.g. different processes) attempt to
create the same paths (or paths that contain a common hierarchy).
The following sequence of events between threads T1 and T2 illustrates
the issue:

  T1: checks path P exists: no. Will attempt to create P...
  T2: checks path P exists: no. Will attempt to create P...
  T1: creates P, no error
  T2: fails to create P: raises an error

It is not desirable for create_directories() to fail in this case. This
commit mirrors the GNU libstdc++ implementation of the c++ filesystem
library: if the creation of a directory fails, we will inspect the path
that should have been created as a directory. If it is indeed a
directory (another thread of execution created it for us), the error is
now reset and the function continues to iterate to the next path
component.
2019-11-06 15:09:52 +01:00
Steffen Schuemann
9db85faf14 refs #33, fix for lexically_normal 2019-10-23 23:08:15 +02:00
Steffen Schuemann
cf5188899b refs #33, added test for trailing preferred seperator on last '..' for path::lexically_normal 2019-10-23 22:21:10 +02:00
gulrak
21fc37b0e2
Merge pull request #31 from jwnimmer-tri/deprecated-static-constexpr-storage
Fix storage deprecation warning when in C++17 mode
2019-09-30 20:37:22 +02:00
Jeremy Nimmer
8f4ea166a2 Fix old-style-cast warnings
Fixes "error: use of old-style cast [-Werror=old-style-cast]" when compiling
with GCC 7.4.
2019-09-30 10:05:01 -04:00
Jeremy Nimmer
ee8dd08c6c Fix storage deprecation warning when in C++17 mode
Fixes "error: redundant redeclaration of 'constexpr' static data member
'ghc::filesystem::path_helper_base<char_type>::preferred_separator'
[-Werror=deprecated]" when compiling with GCC 7.4 in -std=c++17 mode.
2019-09-30 09:45:59 -04:00
Steffen Schuemann
9de8ce5b38 wip version bump 2019-09-27 19:42:12 +02:00
Steffen Schuemann
15a82e9098 Version bump to v1.2.6 2019-09-21 17:06:54 +02:00
Steffen Schuemann
fbdee68f21 refs #27, Squashed commit of the following:
commit aabbf8f3d880dcd0aeaa97f014d91d54dfa24ed4
Author: Steffen Schümann <s.schuemann@pobox.com>
Date:   Sat Sep 21 16:22:25 2019 +0200

    refs #27, ghc::filesystem::path::preferred_seperator fix for VS2015

commit 03b437cefb39746127b34ce6c9d47df7209a27c7
Merge: cbe0c61 589219b
Author: Steffen Schümann <s.schuemann@pobox.com>
Date:   Fri Sep 20 13:42:31 2019 +0200

    Merge branch 'master' into feature-27-mingw-preferred_separator

commit cbe0c61492f3a6817f03343bb16d73211625a9cb
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date:   Sat Aug 24 22:20:10 2019 +0200

    Test for workaround of static constexpr issue
2019-09-21 16:46:00 +02:00
Steffen Schuemann
589219bb0d refs #29, fixes for MinGW warnings 2019-09-01 09:23:39 +02:00
Steffen Schuemann
d12bdbed99 refs #29, work on stricter warning set 2019-09-01 08:27:23 +02:00
Steffen Schuemann
135015f20b Fix for wchar_t issue introduced with last commit. 2019-08-15 15:19:48 +02:00
Steffen Schuemann
1da2158ed1 Version bump to wip version, updated readme, some cleanup on defines. 2019-08-15 14:56:11 +02:00
Jonas Karlsson
af3d35cc1d Fix missing string_view path method 2019-08-14 16:33:31 +02:00
Steffen Schuemann
e980ed0dc4 Version bump and updated readme for v1.2.4. 2019-08-11 09:53:36 +02:00
Steffen Schuemann
8906e8ce91 refs #22, copy_options now forwarded to copy_file, added test. 2019-08-09 16:37:15 +02:00
Steffen Schuemann
17bad8c51d Updated readme and wip version. 2019-08-05 12:10:00 +02:00
Steffen Schuemann
c2c74695d2 More warning fixes to support -Wextra on MingW. 2019-07-05 07:28:21 +02:00
Steffen Schuemann
8dee4d7731 Fix for -Wshadow warning, and some issues when compiling tests against std::filesystem on GCC 9.1 2019-07-04 08:00:35 +02:00
Steffen Schuemann
7c8fb02574 Version bump, updated readme. 2019-06-23 16:45:43 +02:00
Steffen Schuemann
8e824cedef refs #21, dropping macro based detection and using generic aproach. 2019-06-17 20:45:14 +02:00
Steffen Schuemann
eec82f8de6 Version bump, release v1.2.0 2019-06-02 12:53:34 +02:00
Steffen Schuemann
98dad7f0a1 refs #18, unicode error raise can now be enabled with define GHC_RAISE_UNICODE_ERRORS 2019-06-02 11:52:07 +02:00