Commit Graph

  • 9df2bfab58 Corrected docs formatting and invalid characters. Andrey Semashev 2021-06-12 19:54:59 +03:00
  • 45682f8501 Only build windows_file_codecvt on Windows and Cygwin. Andrey Semashev 2021-06-11 15:11:43 +03:00
  • f851c4eb41 Moved windows_file_codecvt to library namespace and modernized it. Andrey Semashev 2021-06-11 14:48:15 +03:00
  • 60e908dfcf Don't return root directory from path::filename(). Andrey Semashev 2021-06-10 03:49:30 +03:00
  • e2371dd89f Updated docs for path::stem and path::extension. Andrey Semashev 2021-06-10 03:41:37 +03:00
  • 458bb95332 Removed multiline comment to silence gcc warnings. Andrey Semashev 2021-06-10 01:39:48 +03:00
  • 26a07aad53 Allow creating symlinks on Windows in non-elevated mode. Andrey Semashev 2021-06-09 19:09:24 +03:00
  • 29ef7d683d Reverted using std::filesystem::path to pass paths to file streams. Andrey Semashev 2021-06-09 18:24:32 +03:00
  • c9f808d4d8 Added AppVeyor CI job for MinGW-w64 gcc 8. Andrey Semashev 2021-06-09 15:58:31 +03:00
  • 915a5739be Made wide character concatenation more explicit. Andrey Semashev 2021-06-09 15:23:57 +03:00
  • 639b5aaf8c Added path assignment from rvalue reference to string. Andrey Semashev 2021-06-07 00:19:20 +03:00
  • 2ba6fa38a1 Added path constructor from rvalue reference to string. Andrey Semashev 2021-06-07 00:16:55 +03:00
  • 179878d39e Enable wide character paths for file streams with more standard libraries. Andrey Semashev 2021-06-07 00:10:24 +03:00
  • 4b5023c94b Use preferred separator for root directory in (weakly_)canonical. Andrey Semashev 2021-06-06 22:43:18 +03:00
  • 8328bb277b Treat filenames starting with a dot as filenames rather than extension. Andrey Semashev 2021-06-06 18:31:41 +03:00
  • 62a598e3dd Reduced absolute_path_max limit. Andrey Semashev 2021-06-06 17:27:53 +03:00
  • c11764e38a Fixed path_test on POSIX systems. Andrey Semashev 2021-06-06 12:25:55 +03:00
  • dbd28cb489 Removed unused variable. Andrey Semashev 2021-06-06 12:19:15 +03:00
  • 5cbcdb5b14 Trim trailing spaces. Andrey Semashev 2021-06-06 04:32:36 +03:00
  • a252f15f06 Use substitute names to obtain the target of a reparse point. Andrey Semashev 2021-06-06 04:20:24 +03:00
  • 16bd89b7c0 Reworked path::lexically_normal to remove some redundant dot path elements. Andrey Semashev 2021-06-05 23:34:49 +03:00
  • 4b84226783 Refactored path implementation for better support Windows path prefixes. Andrey Semashev 2021-06-05 19:52:33 +03:00
  • af6ac28b57 Added ERROR_BAD_NET_NAME to the list of errors indicating "file not found". Andrey Semashev 2021-05-30 22:27:04 +03:00
  • 8c3c84e0c1 Nonessential formatting changes. Andrey Semashev 2021-05-30 03:09:41 +03:00
  • 0eb5290401 Added weakly_canonical overloads taking base path as an argument. Andrey Semashev 2021-05-29 18:19:31 +03:00
  • 491369de3f Removed mention of error code for current_path when it is not supported. Andrey Semashev 2021-05-29 17:13:28 +03:00
  • 9784bff897 Optimized path::has_root_directory and path::root_path. Andrey Semashev 2021-05-29 04:21:08 +03:00
  • 0cdb5a7d87 Use a safer check for dot and dot-dot paths in weakly_canonical. Andrey Semashev 2021-05-29 04:19:02 +03:00
  • a7ff5b43f3 Implemented a limit on the number of symlinks resolved in canonical(). Andrey Semashev 2021-05-29 03:09:29 +03:00
  • 997218c464 Nonessential code formatting. Andrey Semashev 2021-05-29 03:03:10 +03:00
  • c76f91eae2 Added filesystem_error ctors from C-style strings for description. Andrey Semashev 2021-05-29 02:11:10 +03:00
  • 60ceb77b0f Extracted small path buffer size to a global constant. Andrey Semashev 2021-05-29 01:46:23 +03:00
  • 267b945993 Fail current_path on Windows CE with ERROR_NOT_SUPPORTED. Andrey Semashev 2021-05-28 17:44:49 +03:00
  • a12c413adf Start with double the small buffer in current_path fallback. Andrey Semashev 2021-05-28 17:32:40 +03:00
  • a42613369f Optimized canonical() wrt. symlinks containing dot elements. Andrey Semashev 2021-05-28 16:10:25 +03:00
  • 616dab9b8c Update root in canonical if resolved link is absolute with a different root. Andrey Semashev 2021-05-28 15:44:48 +03:00
  • 84440dd46f Prefer a buffer larger than the file in the read/write loop. Andrey Semashev 2021-05-24 13:37:15 +03:00
  • a3745c8ba1 Removed unused macro defininition. Andrey Semashev 2021-05-21 00:56:47 +03:00
  • 98daa68aa8 Force use of windows.h when building the library. Andrey Semashev 2021-05-20 23:50:36 +03:00
  • 45606c2f23 Disable building examples in tests by default. Andrey Semashev 2021-05-20 23:39:06 +03:00
  • d5360cf925 Added copy_sile tests for multi-stream files on Windows. Andrey Semashev 2021-05-20 23:33:31 +03:00
  • 3744ed73d4 Fixed compilation on 32-bit Windows and added support for multi-stream files. Andrey Semashev 2021-05-20 23:27:29 +03:00
  • 26955d8a9f Changed handling of copy_options::synchronize(_data) on Windows. Andrey Semashev 2021-05-20 20:30:14 +03:00
  • 7651a8e90c Check for EINPROGRESS on closing the target file descriptor in copy_file. Andrey Semashev 2021-05-20 13:18:08 +03:00
  • d50b800a37 Revert "Switched clang 10-12 to Focal in Travis CI." Andrey Semashev 2021-05-20 12:37:05 +03:00
  • 98adf24841 Switched clang 10-12 to Focal in Travis CI. Andrey Semashev 2021-05-20 03:18:08 +03:00
  • bc5b49e239 Added single-threaded builds to CI. Andrey Semashev 2021-05-20 02:48:55 +03:00
  • 0bbc79b884 Remove Boost.Atomic dependency in single-threaded builds. Andrey Semashev 2021-05-20 02:35:34 +03:00
  • e01ae41298 Renamed max_send_size to max_batch_size for code clarity. Andrey Semashev 2021-05-19 13:57:17 +03:00
  • dc2a162e5e Use a small stack buffer if heap memory allocation fails in read/write copy_file. Andrey Semashev 2021-05-19 13:43:54 +03:00
  • d44b4ce865 Use a variable buffer size for read/write loop. Andrey Semashev 2021-05-19 10:54:03 +03:00
  • 8124c115ed Compile examples on a newer gcc as some examples require C++11. Andrey Semashev 2021-05-19 04:16:15 +03:00
  • 0ada9c0ec2 Force C++11 for compiling examples that are using C++11 features. Andrey Semashev 2021-05-19 04:14:24 +03:00
  • 4849b6c506 Added building examples in CI. Andrey Semashev 2021-05-19 03:11:24 +03:00
  • bb116b96f6 Removed example testing scripts as they are unused. Andrey Semashev 2021-05-19 02:57:53 +03:00
  • 2accecc330 Removed machine-specific scripts that are not used anymore. Andrey Semashev 2021-05-19 02:54:06 +03:00
  • 8dbb31f686 Removed files with test results. Andrey Semashev 2021-05-19 02:47:36 +03:00
  • a59bce0708 Removed unused include. Andrey Semashev 2021-05-19 02:43:00 +03:00
  • 87181d517d Removed MSVC projects as they are not maintained. Andrey Semashev 2021-05-19 02:42:40 +03:00
  • dc65ed5213 Added definitions of filesystem type magic constants. Andrey Semashev 2021-05-19 03:18:29 +03:00
  • 129d847f8f Added a link to LKML discussion re copy_file_range and procfs/sysfs/etc. Andrey Semashev 2021-05-19 02:37:28 +03:00
  • 88c2a2df8c Check the source filesystem type before using sendfile/copy_file_range. Andrey Semashev 2021-05-19 01:43:22 +03:00
  • 9a35774ede Call posix_fadvise to indicate that source file will be read sequentially. Andrey Semashev 2021-05-19 00:48:03 +03:00
  • b27ad65326 Increased the minimum buffer size in read/write loop in copy_file. Andrey Semashev 2021-05-19 00:22:31 +03:00
  • 4b9052f1e0 Fallback to read/write loop if sendfile/copy_file_range fail. Andrey Semashev 2021-05-18 22:53:40 +03:00
  • e320bfaa01 Added tests for copy_options::synchronize(_data). Andrey Semashev 2021-05-17 21:52:46 +03:00
  • 59e3644803 Added definition of COPY_FILE_NO_BUFFERING for Cygwin, MinGW and MinGW-w64. Andrey Semashev 2021-05-17 21:35:48 +03:00
  • f5ebcfcd49 Don't indicate error in copy_file if close fails with EINTR. Andrey Semashev 2021-05-17 21:26:37 +03:00
  • 3c8408995f Added copy_options::synchronize_data and copy_options::synchronize. Andrey Semashev 2021-05-17 20:30:09 +03:00
  • be900df3e6 Added EINTR handling on close(2). Andrey Semashev 2021-05-17 18:23:46 +03:00
  • 8c676eaf8f Avoid comparing pointers to a literal zero. Andrey Semashev 2021-05-17 17:40:20 +03:00
  • 92262db736 Added EINTR handling for fsync/fdatasync. Andrey Semashev 2021-05-17 17:22:00 +03:00
  • 9dadc8c90f Minor code cleanup. Andrey Semashev 2021-05-16 23:41:31 +03:00
  • c6ac51fb82 Added file creation time checks to CMakeLists.txt. Andrey Semashev 2021-05-16 23:14:09 +03:00
  • 857c33deda Switched clang CI jobs to Bionic since there are installation errors on Focal. Andrey Semashev 2021-05-16 23:10:04 +03:00
  • 16dea0f36e Added gcc-11 to Travis CI. Andrey Semashev 2021-05-16 23:06:31 +03:00
  • 8e03e44920 Cleanup portability functions. Andrey Semashev 2021-05-16 22:57:16 +03:00
  • 0ecacd5da7 Updated CMakeLists.txt to reflect latest changes. Andrey Semashev 2021-05-16 22:46:11 +03:00
  • 05de74a000 Added config macros for disabling use of some system APIs. Andrey Semashev 2021-05-16 20:44:09 +03:00
  • 4319cf1388 Another attempt to workaround clang < 3.9 bug. Andrey Semashev 2021-04-25 02:48:56 +03:00
  • 1b27455cb2 Removed unused variables in path_unit_test. Andrey Semashev 2021-04-24 23:59:17 +03:00
  • d8dd339d91 Added a workaround for clang 3.5-3.8 compiler error due to no user-defined default ctor in error category. Andrey Semashev 2021-04-24 23:56:27 +03:00
  • ef582a0df5 Added clang 11 and 12 jobs to Travis CI. Andrey Semashev 2021-04-24 22:43:58 +03:00
  • c03249c375 Reformatted code for more consistent look and better readability. Andrey Semashev 2021-04-24 22:37:57 +03:00
  • 83429c9bfd Check file status for status_error in create_directories. boost-1.76.0 Andrey Semashev 2021-03-29 20:20:34 +03:00
  • 62515b937c Merge pull request #177 from hyarion/develop Andrey Semashev 2021-03-12 21:59:22 +03:00
  • 4e992efc2e Fix misplaced link opening tag for is_directory Benjamin Nauck 2021-03-12 16:57:07 +01:00
  • cc57d28995 Fixed an exception being thrown by path::remove_filename if the path is "////". boost-1.76.0.beta1 Andrey Semashev 2021-02-26 14:51:04 +03:00
  • 4137a9d6b1 Marked filesystem_error with VISIBLE and exported members with DECL macros. Andrey Semashev 2021-02-02 20:34:02 +03:00
  • cb1dddaec0 Update maintainer list Glen Fernandes 2021-01-26 15:57:18 -05:00
  • c3ab391c8d [skip ci] Merge pull request #175 from eldiener/develop Andrey Semashev 2021-01-20 11:16:50 +03:00
  • d460125210 [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. Edward Diener 2021-01-19 17:02:00 -05:00
  • d3d8d12afa Added a release note about updated WASI support. Andrey Semashev 2020-12-23 11:15:04 +03:00
  • b4d606cdd0 Reduced preprocessor conditions. Andrey Semashev 2020-12-23 11:07:11 +03:00
  • c6e5bdafce Update WASI platform support. whitequark 2020-12-20 20:16:43 +00:00
  • cc13e916f9 Added pauses in creation_time_tests to avoid spurious failures on Windows. Andrey Semashev 2020-12-23 10:55:00 +03:00
  • 9cab675b71 Create symlinks in the test directory in the operations tests. boost-1.75.0 Andrey Semashev 2020-11-26 01:22:56 +03:00
  • 6c2bf50c3a Fixed space operation on Windows not failing for a non-existing path. Andrey Semashev 2020-11-25 18:15:30 +03:00
  • 6b5e38134a On OpenBSD 4.4 and newer, use statvfs to obtain filesystem space info. boost-1.75.0.beta1 Andrey Semashev 2020-10-04 15:31:29 +03:00
  • a5fe695ce3 Force 32-bit address-model on older MSVC versions in AppVeyor CI. Andrey Semashev 2020-09-24 03:39:32 +03:00