74 Commits

Author SHA1 Message Date
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
Steffen Schuemann
2969bad152 refs #17, fixed another issue on mingw when using wchar_t/wstring 2019-06-02 11:31:44 +02:00
Steffen Schuemann
2aa08c17c1 refs 17, copy & paste error broke the build 2019-06-02 11:01:01 +02:00
Steffen Schuemann
d80948287e refs #17, fix for issues with mingw 2019-06-02 10:53:16 +02:00
Steffen Schuemann
3fcb3f51e1 optional Windows wchar_t/wstring support
Squashed commit of the following:

commit f4a85d2070bb62bdca644f81faa953ba5fb5e491
Author: Steffen Schümann <s.schuemann@pobox.com>
Date:   Sun May 19 10:02:22 2019 +0200

    refs #17, refs #18, Missing use of alloc in fromUtf8 (fixed on master) and initialization order issue.

commit aa1cb7081630393659204641792bc7641f0c72aa
Author: Steffen Schümann <s.schuemann@pobox.com>
Date:   Sun May 19 09:46:02 2019 +0200

    refs #18, fighting VS2015 sfinae issues

commit 15788d8eb9972965ec4562c6e672a8a460e5b655
Author: Steffen Schümann <s.schuemann@pobox.com>
Date:   Sat May 18 10:35:25 2019 +0200

    refs #17, work on wchar_t/wstring support on Windows.
2019-05-31 07:08:48 +02:00
Steffen Schuemann
235a594240 Squashed commit of the following:
commit 9cc8cbf731375fbedac9e76f883664a27814bff0
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date:   Mon May 27 09:36:09 2019 +0200

    Workaround for bug in clangs libc++ std::filesystem::path::format.

commit 72285d01f2a269247084dddb8fe8d9da66f082a1
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date:   Mon May 27 09:17:49 2019 +0200

    Test coverage.

commit f3ab2af99fda2dad26334d2a4884faa7463f7edb
Author: Steffen Schuemann <s.schuemann@pobox.com>
Date:   Sun May 26 12:35:39 2019 +0200

    Fixed std builds, removed non-standard conforming swap in directory_iterator/recursive_directory_iterator.

commit 3ae76b29a0745319d2a64e34bdbcb35264ad3e99
Author: gulrak <s.schuemann@pobox.com>
Date:   Sun May 26 11:08:52 2019 +0200

    Additional tests.

commit af4bbe14e192b464d3fece68c5dbcf3bf1c4e214
Author: gulrak <s.schuemann@pobox.com>
Date:   Fri May 24 21:52:15 2019 +0200

    Added more tests.
2019-05-31 00:46:29 +02:00
Steffen Schuemann
962df76d10 Merge branch 'master' of github.com:gulrak/filesystem 2019-05-23 08:39:16 +02:00
Steffen Schuemann
22de93ac45 Fix for error handling issue in utf8 converter and additional tests for enhanced coverage. 2019-05-23 08:39:04 +02:00
actboy168
4a749c02b8
Fix a fd leak 2019-05-23 09:46:21 +08:00
Steffen Schuemann
082e606591 refs #18, revert change due to VS2015 compilation issues. 2019-05-18 18:14:51 +02:00
Steffen Schuemann
6d173c50a9 refs #18, added missing allocator parameter to std::string case of fromUtf8 2019-05-18 10:47:49 +02:00
Steffen Schuemann
40ef125494 refs #18, missing small fix 2019-05-18 10:31:42 +02:00
Steffen Schuemann
9d5bc604c9 refs #18, some refactoring on unicode handling and a fix for a VS2019 warning. 2019-05-18 10:19:00 +02:00
Steffen Schuemann
61182d039f Added missing header for better VS2019 support. 2019-05-15 06:18:25 +02:00