aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-10-14 13:31:47 +0200
committerMartin Ridgers <[email protected]>2021-10-14 13:33:08 +0200
commit93e44bea3849762586a679cc42672fd7cbdd770e (patch)
tree554315a30f2663a5509e573a0886189fd36bc7bd
parentImplemented basicfile.cpp for POSIX platforms (diff)
downloadzen-93e44bea3849762586a679cc42672fd7cbdd770e.tar.xz
zen-93e44bea3849762586a679cc42672fd7cbdd770e.zip
Use std::fs::path for IoBuffer::MakeFromFile().
This is more consistent with MakeFromTempFile() and almost all arguments are path objects anyway.
-rw-r--r--zen/cmds/run.cpp2
-rw-r--r--zencore/include/zencore/iobuffer.h4
-rw-r--r--zencore/iobuffer.cpp6
-rw-r--r--zenserver-test/zenserver-test.cpp2
-rw-r--r--zenserver/config.cpp2
-rw-r--r--zenserver/projectstore.cpp2
6 files changed, 8 insertions, 10 deletions
diff --git a/zen/cmds/run.cpp b/zen/cmds/run.cpp
index 19b5c8980..b20b1b64c 100644
--- a/zen/cmds/run.cpp
+++ b/zen/cmds/run.cpp
@@ -159,7 +159,7 @@ RunCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
if (auto It = Visit.m_HashToFile.find(NeedHash); It != Visit.m_HashToFile.end())
{
- zen::IoBuffer FileData = zen::IoBufferBuilder::MakeFromFile(It->second.c_str());
+ zen::IoBuffer FileData = zen::IoBufferBuilder::MakeFromFile(It->second);
cpr::Response CasResponse =
cpr::Post(cpr::Url("http://localhost:13337/cas"), cpr::Body((const char*)FileData.Data(), FileData.Size()));
diff --git a/zencore/include/zencore/iobuffer.h b/zencore/include/zencore/iobuffer.h
index 5fbeaeaeb..380199066 100644
--- a/zencore/include/zencore/iobuffer.h
+++ b/zencore/include/zencore/iobuffer.h
@@ -368,10 +368,8 @@ private:
class IoBufferBuilder
{
- using path_char_t = std::filesystem::path::value_type;
-
public:
- ZENCORE_API static IoBuffer MakeFromFile(const path_char_t* FileName, uint64_t Offset = 0, uint64_t Size = ~0ull);
+ ZENCORE_API static IoBuffer MakeFromFile(const std::filesystem::path& FileName, uint64_t Offset = 0, uint64_t Size = ~0ull);
ZENCORE_API static IoBuffer MakeFromTemporaryFile(const std::filesystem::path& FileName);
ZENCORE_API static IoBuffer MakeFromFileHandle(void* FileHandle, uint64_t Offset = 0, uint64_t Size = ~0ull);
inline static IoBuffer MakeCloneFromMemory(const void* Ptr, size_t Sz) { return IoBuffer(IoBuffer::Clone, Ptr, Sz); }
diff --git a/zencore/iobuffer.cpp b/zencore/iobuffer.cpp
index 922c14f83..3b28a42c2 100644
--- a/zencore/iobuffer.cpp
+++ b/zencore/iobuffer.cpp
@@ -377,14 +377,14 @@ IoBufferBuilder::MakeFromFileHandle(void* FileHandle, uint64_t Offset, uint64_t
}
IoBuffer
-IoBufferBuilder::MakeFromFile(const path_char_t* FileName, uint64_t Offset, uint64_t Size)
+IoBufferBuilder::MakeFromFile(const std::filesystem::path& FileName, uint64_t Offset, uint64_t Size)
{
uint64_t FileSize;
# if ZEN_PLATFORM_WINDOWS
CAtlFile DataFile;
- HRESULT hRes = DataFile.Create(FileName, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING);
+ HRESULT hRes = DataFile.Create(FileName.c_str(), GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING);
if (FAILED(hRes))
{
@@ -393,7 +393,7 @@ IoBufferBuilder::MakeFromFile(const path_char_t* FileName, uint64_t Offset, uint
DataFile.GetSize((ULONGLONG&)FileSize);
# else
- int Fd = open(FileName, O_RDONLY);
+ int Fd = open(FileName.c_str(), O_RDONLY);
if (Fd < 0)
{
return {};
diff --git a/zenserver-test/zenserver-test.cpp b/zenserver-test/zenserver-test.cpp
index c1bbda2ec..19770e05f 100644
--- a/zenserver-test/zenserver-test.cpp
+++ b/zenserver-test/zenserver-test.cpp
@@ -1926,7 +1926,7 @@ struct RemoteExecutionRequest
if (auto It = m_Visit.m_HashToFile.find(NeedHash); It != m_Visit.m_HashToFile.end())
{
- zen::IoBuffer FileData = zen::IoBufferBuilder::MakeFromFile(It->second.c_str());
+ zen::IoBuffer FileData = zen::IoBufferBuilder::MakeFromFile(It->second);
cpr::Response CasResponse = cpr::Post(cpr::Url(m_CasUri), cpr::Body((const char*)FileData.Data(), FileData.Size()));
diff --git a/zenserver/config.cpp b/zenserver/config.cpp
index df3259542..394201210 100644
--- a/zenserver/config.cpp
+++ b/zenserver/config.cpp
@@ -265,7 +265,7 @@ ParseServiceConfig(const std::filesystem::path& DataRoot, ZenServiceConfig& Serv
using namespace fmt::literals;
std::filesystem::path ConfigScript = DataRoot / "zen_cfg.lua";
- zen::IoBuffer LuaScript = zen::IoBufferBuilder::MakeFromFile(ConfigScript.native().c_str());
+ zen::IoBuffer LuaScript = zen::IoBufferBuilder::MakeFromFile(ConfigScript);
if (LuaScript)
{
diff --git a/zenserver/projectstore.cpp b/zenserver/projectstore.cpp
index f14bc7896..672ff14d8 100644
--- a/zenserver/projectstore.cpp
+++ b/zenserver/projectstore.cpp
@@ -328,7 +328,7 @@ ProjectStore::Oplog::FindChunk(Oid ChunkId)
std::filesystem::path FilePath = m_OuterProject->RootDir / FileIt->second.ServerPath;
- return IoBufferBuilder::MakeFromFile(FilePath.native().c_str());
+ return IoBufferBuilder::MakeFromFile(FilePath);
}
if (auto MetaIt = m_MetaMap.find(ChunkId); MetaIt != m_MetaMap.end())