mirror of
https://github.com/boostorg/beast.git
synced 2025-07-29 20:37:31 +02:00
Files return errc::bad_file_descriptor (API Change):
fix #1356 * File functions return errc::bad_file_descriptor instead of errc::invalid_argument. Actions Required: * Callers checking for errc::invalid_argument from calls to file APIs should check for errc::bad_file_descriptor instead.
This commit is contained in:
@ -3,6 +3,15 @@ Version 198:
|
||||
* flat_buffer improvements
|
||||
* multi_buffer improvements
|
||||
|
||||
API Changes:
|
||||
|
||||
* Files return errc::bad_file_descriptor
|
||||
|
||||
Actions Required:
|
||||
|
||||
* Callers checking for errc::invalid_argument from calls to
|
||||
file APIs should check for errc::bad_file_descriptor instead.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Version 197:
|
||||
|
@ -224,7 +224,7 @@ size(error_code& ec) const
|
||||
{
|
||||
if(fd_ == -1)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
struct stat st;
|
||||
@ -244,7 +244,7 @@ pos(error_code& ec) const
|
||||
{
|
||||
if(fd_ == -1)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
auto const result = ::lseek(fd_, 0, SEEK_CUR);
|
||||
@ -264,7 +264,7 @@ seek(std::uint64_t offset, error_code& ec)
|
||||
{
|
||||
if(fd_ == -1)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return;
|
||||
}
|
||||
auto const result = ::lseek(fd_, offset, SEEK_SET);
|
||||
@ -283,7 +283,7 @@ read(void* buffer, std::size_t n, error_code& ec) const
|
||||
{
|
||||
if(fd_ == -1)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
std::size_t nread = 0;
|
||||
@ -319,7 +319,7 @@ write(void const* buffer, std::size_t n, error_code& ec)
|
||||
{
|
||||
if(fd_ == -1)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
std::size_t nwritten = 0;
|
||||
|
@ -122,7 +122,7 @@ size(error_code& ec) const
|
||||
{
|
||||
if(! f_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
long pos = std::ftell(f_);
|
||||
@ -159,7 +159,7 @@ pos(error_code& ec) const
|
||||
{
|
||||
if(! f_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
long pos = std::ftell(f_);
|
||||
@ -179,7 +179,7 @@ seek(std::uint64_t offset, error_code& ec)
|
||||
{
|
||||
if(! f_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return;
|
||||
}
|
||||
if(offset > (std::numeric_limits<long>::max)())
|
||||
@ -202,7 +202,7 @@ read(void* buffer, std::size_t n, error_code& ec) const
|
||||
{
|
||||
if(! f_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
auto nread = std::fread(buffer, 1, n, f_);
|
||||
@ -221,7 +221,7 @@ write(void const* buffer, std::size_t n, error_code& ec)
|
||||
{
|
||||
if(! f_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
auto nwritten = std::fwrite(buffer, 1, n, f_);
|
||||
|
@ -216,7 +216,7 @@ size(error_code& ec) const
|
||||
{
|
||||
if(h_ == boost::winapi::INVALID_HANDLE_VALUE_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
boost::winapi::LARGE_INTEGER_ fileSize;
|
||||
@ -237,7 +237,7 @@ pos(error_code& ec)
|
||||
{
|
||||
if(h_ == boost::winapi::INVALID_HANDLE_VALUE_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
boost::winapi::LARGE_INTEGER_ in;
|
||||
@ -261,7 +261,7 @@ seek(std::uint64_t offset, error_code& ec)
|
||||
{
|
||||
if(h_ == boost::winapi::INVALID_HANDLE_VALUE_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return;
|
||||
}
|
||||
boost::winapi::LARGE_INTEGER_ in;
|
||||
@ -283,7 +283,7 @@ read(void* buffer, std::size_t n, error_code& ec)
|
||||
{
|
||||
if(h_ == boost::winapi::INVALID_HANDLE_VALUE_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
std::size_t nread = 0;
|
||||
@ -324,7 +324,7 @@ write(void const* buffer, std::size_t n, error_code& ec)
|
||||
{
|
||||
if(h_ == boost::winapi::INVALID_HANDLE_VALUE_)
|
||||
{
|
||||
ec = make_error_code(errc::invalid_argument);
|
||||
ec = make_error_code(errc::bad_file_descriptor);
|
||||
return 0;
|
||||
}
|
||||
std::size_t nwritten = 0;
|
||||
|
@ -57,25 +57,25 @@ doTestFile(beast::unit_test::suite& test)
|
||||
test.BEAST_EXPECT(! f.is_open());
|
||||
|
||||
f.size(ec);
|
||||
test.BEAST_EXPECT(ec == errc::invalid_argument);
|
||||
test.BEAST_EXPECT(ec == errc::bad_file_descriptor);
|
||||
ec.assign(0, ec.category());
|
||||
|
||||
f.pos(ec);
|
||||
test.BEAST_EXPECT(ec == errc::invalid_argument);
|
||||
test.BEAST_EXPECT(ec == errc::bad_file_descriptor);
|
||||
ec.assign(0, ec.category());
|
||||
|
||||
f.seek(0, ec);
|
||||
test.BEAST_EXPECT(ec == errc::invalid_argument);
|
||||
test.BEAST_EXPECT(ec == errc::bad_file_descriptor);
|
||||
ec.assign(0, ec.category());
|
||||
|
||||
char tmp[1];
|
||||
|
||||
f.read(tmp, 0, ec);
|
||||
test.BEAST_EXPECT(ec == errc::invalid_argument);
|
||||
test.BEAST_EXPECT(ec == errc::bad_file_descriptor);
|
||||
ec.assign(0, ec.category());
|
||||
|
||||
f.write(tmp, 0, ec);
|
||||
test.BEAST_EXPECT(ec == errc::invalid_argument);
|
||||
test.BEAST_EXPECT(ec == errc::bad_file_descriptor);
|
||||
ec.assign(0, ec.category());
|
||||
|
||||
f.open(temp.string<std::string>().c_str(), file_mode::write, ec);
|
||||
|
Reference in New Issue
Block a user