fs/io/FileReader: use class UniqueFileDescriptor

This commit is contained in:
Max Kellermann 2018-08-21 18:23:43 +02:00
parent 84df470008
commit ab7597b089

View File

@ -28,7 +28,7 @@
#ifdef _WIN32
#include <windows.h>
#else
#include "system/FileDescriptor.hxx"
#include "system/UniqueFileDescriptor.hxx"
#endif
class Path;
@ -40,7 +40,7 @@ class FileReader final : public Reader {
#ifdef _WIN32
HANDLE handle;
#else
FileDescriptor fd;
UniqueFileDescriptor fd;
#endif
public:
@ -50,18 +50,16 @@ public:
FileReader(FileReader &&other) noexcept
:path(std::move(other.path)),
handle(std::exchange(other.handle, INVALID_HANDLE_VALUE)) {}
#else
FileReader(FileReader &&other) noexcept
:path(std::move(other.path)),
fd(other.fd) {
other.fd.SetUndefined();
}
#endif
~FileReader() noexcept {
if (IsDefined())
Close();
}
#else
FileReader(FileReader &&other) noexcept
:path(std::move(other.path)),
fd(std::move(other.fd)) {}
#endif
protected: