diff --git a/README.md b/README.md index 9043ab6..0e8901a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Build Status](https://api.cirrus-ci.com/github/gulrak/filesystem.svg?branch=master)](https://cirrus-ci.com/github/gulrak/filesystem) [![Build Status](https://cloud.drone.io/api/badges/gulrak/filesystem/status.svg?ref=refs/heads/master)](https://cloud.drone.io/gulrak/filesystem) [![Coverage Status](https://coveralls.io/repos/github/gulrak/filesystem/badge.svg?branch=master)](https://coveralls.io/github/gulrak/filesystem?branch=master) -[![Latest Release Tag](https://img.shields.io/github/tag/gulrak/filesystem.svg)](https://github.com/gulrak/filesystem/tree/v1.5.8) +[![Latest Release Tag](https://img.shields.io/github/tag/gulrak/filesystem.svg)](https://github.com/gulrak/filesystem/tree/v1.5.10) - [Filesystem](#filesystem) - [Motivation](#motivation) @@ -148,8 +148,8 @@ in the standard, and there might be issues in these implementations too. ### Downloads -The latest release version is [v1.5.8](https://github.com/gulrak/filesystem/tree/v1.5.8) and -source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.5.8). +The latest release version is [v1.5.10](https://github.com/gulrak/filesystem/tree/v1.5.10) and +source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.5.10). The latest pre-native-backend version is [v1.4.0](https://github.com/gulrak/filesystem/tree/v1.4.0) and source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.4.0). @@ -583,8 +583,16 @@ to the expected behavior. ## Release Notes -### v1.6.0 (wip) +### [v1.5.10](https://github.com/gulrak/filesystem/releases/tag/v1.5.10) +* Pull request [#136](https://github.com/gulrak/filesystem/pull/136), the Windows + implementation used some unnecessary expensive shared pointer for resource + management and these where replaced by a dedicated code. +* Fix for [#132](https://github.com/gulrak/filesystem/issues/132), pull request + [#135](https://github.com/gulrak/filesystem/pull/135), `fs::remove_all` now + just deletes symbolic links instead of following them. +* Pull request [#133](https://github.com/gulrak/filesystem/pull/133), fix for + `fs::space` where a numerical overflow could happen in a multiplication. * Replaced _travis-ci.org_ with GitHub Workflow for the configurations: Ubuntu 20.04: GCC 9.3, Ubuntu 18.04: GCC 7.5, GCC 8.4, macOS 10.15: Xcode 12.4, Windows 10: Visual Studio 2019 diff --git a/include/ghc/filesystem.hpp b/include/ghc/filesystem.hpp index 61b438a..a319def 100644 --- a/include/ghc/filesystem.hpp +++ b/include/ghc/filesystem.hpp @@ -301,7 +301,7 @@ //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // ghc::filesystem version in decimal (major * 10000 + minor * 100 + patch) -#define GHC_FILESYSTEM_VERSION 10509L +#define GHC_FILESYSTEM_VERSION 10510L #if !defined(GHC_WITH_EXCEPTIONS) && (defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND)) #define GHC_WITH_EXCEPTIONS @@ -2014,15 +2014,15 @@ class unique_handle typedef HANDLE element_type; unique_handle() noexcept - : handle_(INVALID_HANDLE_VALUE) + : _handle(INVALID_HANDLE_VALUE) { } explicit unique_handle(element_type h) noexcept - : handle_(h) + : _handle(h) { } unique_handle(unique_handle&& u) noexcept - : handle_(u.release()) + : _handle(u.release()) { } ~unique_handle() { reset(); } @@ -2031,26 +2031,26 @@ class unique_handle reset(u.release()); return *this; } - element_type get() const noexcept { return handle_; } - explicit operator bool() const noexcept { return handle_ != INVALID_HANDLE_VALUE; } + element_type get() const noexcept { return _handle; } + explicit operator bool() const noexcept { return _handle != INVALID_HANDLE_VALUE; } element_type release() noexcept { - element_type tmp = handle_; - handle_ = INVALID_HANDLE_VALUE; + element_type tmp = _handle; + _handle = INVALID_HANDLE_VALUE; return tmp; } void reset(element_type h = INVALID_HANDLE_VALUE) noexcept { - element_type tmp = handle_; - handle_ = h; + element_type tmp = _handle; + _handle = h; if (tmp != INVALID_HANDLE_VALUE) { CloseHandle(tmp); } } - void swap(unique_handle& u) noexcept { std::swap(handle_, u.handle_); } + void swap(unique_handle& u) noexcept { std::swap(_handle, u._handle); } private: - element_type handle_; + element_type _handle; }; #ifndef REPARSE_DATA_BUFFER_HEADER_SIZE