Commit 0a511014 authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot

Fix Build: folly/io/RecordIO.cpp under MSVC 2015u3

Summary: [Folly] Fix Build: `folly/io/RecordIO.cpp` under MSVC 2015u3, which inexplicably gives `error C2872: 'detail': ambiguous symbol`.

Reviewed By: Orvid

Differential Revision: D7875032

fbshipit-source-id: 2ff5a60c941e20ef9a05cedb2e7d8224a9e83ed2
parent 367d3cfa
......@@ -59,7 +59,7 @@ inline auto RecordIOReader::seek(off_t pos) const -> Iterator {
namespace recordio_helpers {
namespace detail {
namespace recordio_detail {
FOLLY_PACK_PUSH
struct Header {
......@@ -82,9 +82,9 @@ FOLLY_PACK_POP
static_assert(offsetof(Header, headerHash) + sizeof(Header::headerHash) ==
sizeof(Header), "invalid header layout");
} // namespace detail
} // namespace recordio_detail
constexpr size_t headerSize() { return sizeof(detail::Header); }
constexpr size_t headerSize() { return sizeof(recordio_detail::Header); }
inline RecordInfo findRecord(ByteRange range, uint32_t fileId) {
return findRecord(range, range, fileId);
......
......@@ -106,7 +106,7 @@ void RecordIOReader::Iterator::advanceToValid() {
namespace recordio_helpers {
using namespace detail;
using recordio_detail::Header;
namespace {
......@@ -160,10 +160,9 @@ size_t prependHeader(std::unique_ptr<IOBuf>& buf, uint32_t fileId) {
b->appendChain(std::move(buf));
buf = std::move(b);
}
detail::Header* header =
reinterpret_cast<detail::Header*>(buf->writableData());
Header* header = reinterpret_cast<Header*>(buf->writableData());
memset(header, 0, sizeof(Header));
header->magic = detail::Header::kMagic;
header->magic = Header::kMagic;
header->fileId = fileId;
header->dataLength = uint32_t(lengthAndHash.first);
header->dataHash = lengthAndHash.second;
......
......@@ -168,7 +168,7 @@ TEST(RecordIOTest, ExtraMagic) {
EXPECT_EQ(0, lseek(file.fd(), 0, SEEK_SET));
EXPECT_EQ(sizeof(buf), read(file.fd(), buf, sizeof(buf)));
// Append an extra magic
const uint32_t magic = recordio_helpers::detail::Header::kMagic;
const uint32_t magic = recordio_helpers::recordio_detail::Header::kMagic;
EXPECT_EQ(sizeof(magic), write(file.fd(), &magic, sizeof(magic)));
// and an extra record
EXPECT_EQ(sizeof(buf), write(file.fd(), buf, sizeof(buf)));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment