[ox] Fix remaining implicit conversion issues
This commit is contained in:
4
deps/ox/src/ox/fs/filesystem/directory.hpp
vendored
4
deps/ox/src/ox/fs/filesystem/directory.hpp
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2022 gary@drinkingtea.net
|
||||
* Copyright 2015 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -69,7 +69,7 @@ struct OX_PACKED DirectoryEntry {
|
||||
|
||||
[[nodiscard]]
|
||||
InodeId_t size() const {
|
||||
return fullSize() - sizeof(*this);
|
||||
return fullSize() - static_cast<InodeId_t>(sizeof(*this));
|
||||
}
|
||||
|
||||
void setSize(std::size_t) {
|
||||
|
||||
6
deps/ox/src/ox/fs/filesystem/filesystem.cpp
vendored
6
deps/ox/src/ox/fs/filesystem/filesystem.cpp
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2022 gary@drinkingtea.net
|
||||
* Copyright 2015 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,14 +39,14 @@ Error FileSystem::read(const FileAddress &addr, void *buffer, std::size_t size)
|
||||
|
||||
Result<Buffer> FileSystem::read(const FileAddress &addr) noexcept {
|
||||
oxRequire(s, stat(addr));
|
||||
Buffer buff(s.size);
|
||||
Buffer buff(static_cast<std::size_t>(s.size));
|
||||
oxReturnError(read(addr, buff.data(), buff.size()));
|
||||
return buff;
|
||||
}
|
||||
|
||||
Result<Buffer> FileSystem::read(CRStringView path) noexcept {
|
||||
oxRequire(s, statPath(path));
|
||||
Buffer buff(s.size);
|
||||
Buffer buff(static_cast<std::size_t>(s.size));
|
||||
oxReturnError(readFilePath(path, buff.data(), buff.size()));
|
||||
return buff;
|
||||
}
|
||||
|
||||
18
deps/ox/src/ox/fs/filesystem/filesystem.hpp
vendored
18
deps/ox/src/ox/fs/filesystem/filesystem.hpp
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2022 gary@drinkingtea.net
|
||||
* Copyright 2015 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -240,7 +240,7 @@ FileSystemTemplate<FileStore, Directory>::FileSystemTemplate(FileStore fs) noexc
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
FileSystemTemplate<FileStore, Directory>::FileSystemTemplate(void *buffer, uint64_t bufferSize, void(*freeBuffer)(char*)) noexcept:
|
||||
m_fs(buffer, bufferSize),
|
||||
m_fs(buffer, static_cast<std::size_t>(bufferSize)),
|
||||
m_freeBuffer(freeBuffer) {
|
||||
}
|
||||
|
||||
@@ -253,8 +253,8 @@ FileSystemTemplate<FileStore, Directory>::~FileSystemTemplate() noexcept {
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
Error FileSystemTemplate<FileStore, Directory>::format(void *buff, uint64_t buffSize) noexcept {
|
||||
oxReturnError(FileStore::format(buff, buffSize));
|
||||
FileStore fs(buff, buffSize);
|
||||
oxReturnError(FileStore::format(buff, static_cast<size_t>(buffSize)));
|
||||
FileStore fs(buff, static_cast<size_t>(buffSize));
|
||||
|
||||
constexpr auto rootDirInode = MaxValue<typename FileStore::InodeId_t> / 2;
|
||||
Directory rootDir(fs, rootDirInode);
|
||||
@@ -298,7 +298,7 @@ Error FileSystemTemplate<FileStore, Directory>::readFilePath(CRStringView path,
|
||||
if (s.size > buffSize) {
|
||||
return OxError(1, "Buffer to small to load file");
|
||||
}
|
||||
return readFileInodeRange(s.inode, 0, s.size, buffer, &buffSize);
|
||||
return readFileInodeRange(s.inode, 0, static_cast<size_t>(s.size), buffer, &buffSize);
|
||||
}
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
@@ -315,7 +315,7 @@ Error FileSystemTemplate<FileStore, Directory>::readFileInode(uint64_t inode, vo
|
||||
if (s.size > buffSize) {
|
||||
return OxError(1, "Buffer to small to load file");
|
||||
}
|
||||
return readFileInodeRange(inode, 0, s.size, buffer, &buffSize);
|
||||
return readFileInodeRange(inode, 0, static_cast<size_t>(s.size), buffer, &buffSize);
|
||||
}
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
@@ -377,7 +377,7 @@ Error FileSystemTemplate<FileStore, Directory>::resize() noexcept {
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
Error FileSystemTemplate<FileStore, Directory>::resize(uint64_t size, void *buffer) noexcept {
|
||||
oxReturnError(m_fs.resize(size, buffer));
|
||||
oxReturnError(m_fs.resize(static_cast<size_t>(size), buffer));
|
||||
return OxError(0);
|
||||
}
|
||||
|
||||
@@ -396,7 +396,7 @@ Error FileSystemTemplate<FileStore, Directory>::writeFilePath(CRStringView path,
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
Error FileSystemTemplate<FileStore, Directory>::writeFileInode(uint64_t inode, const void *buffer, uint64_t size, FileType fileType) noexcept {
|
||||
return m_fs.write(inode, buffer, size, static_cast<uint8_t>(fileType));
|
||||
return m_fs.write(inode, buffer, static_cast<size_t>(size), static_cast<uint8_t>(fileType));
|
||||
}
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
@@ -418,7 +418,7 @@ Result<FileStat> FileSystemTemplate<FileStore, Directory>::statPath(CRStringView
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
uint64_t FileSystemTemplate<FileStore, Directory>::spaceNeeded(uint64_t size) const noexcept {
|
||||
return m_fs.spaceNeeded(size);
|
||||
return m_fs.spaceNeeded(static_cast<size_t>(size));
|
||||
}
|
||||
|
||||
template<typename FileStore, typename Directory>
|
||||
|
||||
16
deps/ox/src/ox/fs/filesystem/passthroughfs.cpp
vendored
16
deps/ox/src/ox/fs/filesystem/passthroughfs.cpp
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2022 gary@drinkingtea.net
|
||||
* Copyright 2015 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -39,7 +39,7 @@ Error PassThroughFS::mkdir(CRStringView path, bool recursive) noexcept {
|
||||
success = true;
|
||||
} else {
|
||||
success = std::filesystem::create_directories(p, ec);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: mkdir failed"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: mkdir failed"));
|
||||
}
|
||||
} else {
|
||||
std::error_code ec;
|
||||
@@ -48,7 +48,7 @@ Error PassThroughFS::mkdir(CRStringView path, bool recursive) noexcept {
|
||||
success = true;
|
||||
} else {
|
||||
success = std::filesystem::create_directory(p, ec);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: mkdir failed"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: mkdir failed"));
|
||||
}
|
||||
}
|
||||
return OxError(success ? 0 : 1);
|
||||
@@ -67,7 +67,7 @@ Result<Vector<String>> PassThroughFS::ls(CRStringView dir) const noexcept {
|
||||
Vector<String> out;
|
||||
std::error_code ec;
|
||||
const auto di = std::filesystem::directory_iterator(m_path / stripSlash(dir), ec);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: ls failed"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: ls failed"));
|
||||
for (const auto &p : di) {
|
||||
const auto u8p = p.path().filename().u8string();
|
||||
out.emplace_back(reinterpret_cast<const char*>(u8p.c_str()));
|
||||
@@ -102,7 +102,7 @@ Result<FileStat> PassThroughFS::statPath(CRStringView path) const noexcept {
|
||||
const uint64_t size = type == FileType::Directory ? 0 : std::filesystem::file_size(p, ec);
|
||||
oxTracef("ox::fs::PassThroughFS::statInode", "{} {}", ec.message(), path);
|
||||
oxTracef("ox::fs::PassThroughFS::statInode::size", "{} {}", path, size);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: stat failed"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: stat failed"));
|
||||
return FileStat{0, 0, size, type};
|
||||
}
|
||||
|
||||
@@ -113,14 +113,14 @@ uint64_t PassThroughFS::spaceNeeded(uint64_t size) const noexcept {
|
||||
Result<uint64_t> PassThroughFS::available() const noexcept {
|
||||
std::error_code ec;
|
||||
const auto s = std::filesystem::space(m_path, ec);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: could not get FS size"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: could not get FS size"));
|
||||
return s.available;
|
||||
}
|
||||
|
||||
Result<uint64_t> PassThroughFS::size() const noexcept {
|
||||
std::error_code ec;
|
||||
const auto s = std::filesystem::space(m_path, ec);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: could not get FS size"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: could not get FS size"));
|
||||
return s.capacity;
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ bool PassThroughFS::valid() const noexcept {
|
||||
Error PassThroughFS::readFilePath(CRStringView path, void *buffer, std::size_t buffSize) noexcept {
|
||||
try {
|
||||
std::ifstream file((m_path / stripSlash(path)), std::ios::binary | std::ios::ate);
|
||||
const std::size_t size = file.tellg();
|
||||
const std::size_t size = static_cast<std::size_t>(file.tellg());
|
||||
file.seekg(0, std::ios::beg);
|
||||
if (size > buffSize) {
|
||||
oxTracef("ox::fs::PassThroughFS::read::error", "Read failed: Buffer too small: {}", path);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2022 gary@drinkingtea.net
|
||||
* Copyright 2015 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -92,7 +92,7 @@ template<typename F>
|
||||
Error PassThroughFS::ls(CRStringView dir, F cb) const noexcept {
|
||||
std::error_code ec;
|
||||
const auto di = std::filesystem::directory_iterator(m_path / stripSlash(dir), ec);
|
||||
oxReturnError(OxError(ec.value(), "PassThroughFS: ls failed"));
|
||||
oxReturnError(OxError(static_cast<ox::ErrorCode>(ec.value()), "PassThroughFS: ls failed"));
|
||||
for (auto &p : di) {
|
||||
oxReturnError(cb(p.path().filename().c_str(), 0));
|
||||
}
|
||||
|
||||
26
deps/ox/src/ox/fs/filesystem/pathiterator.cpp
vendored
26
deps/ox/src/ox/fs/filesystem/pathiterator.cpp
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015 - 2022 gary@drinkingtea.net
|
||||
* Copyright 2015 - 2023 gary@drinkingtea.net
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -29,8 +29,8 @@ PathIterator::PathIterator(CRStringView path): PathIterator(path.data(), path.by
|
||||
* @return 0 if no error
|
||||
*/
|
||||
Error PathIterator::dirPath(char *out, std::size_t outSize) {
|
||||
int idx = ox_lastIndexOf(m_path, '/', m_maxSize);
|
||||
std::size_t size = idx + 1;
|
||||
const auto idx = ox_lastIndexOf(m_path, '/', m_maxSize);
|
||||
const auto size = static_cast<std::size_t>(idx + 1);
|
||||
if (idx >= 0 && size < outSize) {
|
||||
ox_memcpy(out, m_path, size);
|
||||
out[size] = 0;
|
||||
@@ -47,7 +47,7 @@ Error PathIterator::fileName(char *out, std::size_t outSize) {
|
||||
auto idx = ox_lastIndexOf(m_path, '/', m_maxSize);
|
||||
if (idx >= 0) {
|
||||
idx++; // pass up the preceding /
|
||||
std::size_t fileNameSize = ox_strlen(&m_path[idx]);
|
||||
std::size_t fileNameSize = static_cast<size_t>(ox_strlen(&m_path[idx]));
|
||||
if (fileNameSize < outSize) {
|
||||
ox_memcpy(out, &m_path[idx], fileNameSize);
|
||||
out[fileNameSize] = 0;
|
||||
@@ -81,7 +81,7 @@ Error PathIterator::get(char *pathOut, std::size_t pathOutSize) {
|
||||
if (!substr) {
|
||||
substr = ox_strchr(&m_path[start], 0, m_maxSize - start);
|
||||
}
|
||||
std::size_t end = substr - m_path;
|
||||
const auto end = static_cast<size_t>(substr - m_path);
|
||||
size = end - start;
|
||||
// cannot fit the output in the output parameter
|
||||
if (size >= pathOutSize || size == 0) {
|
||||
@@ -105,14 +105,14 @@ Error PathIterator::next(char *pathOut, std::size_t pathOutSize) {
|
||||
if (m_path[m_iterator] == '/') {
|
||||
m_iterator++;
|
||||
}
|
||||
std::size_t start = m_iterator;
|
||||
const auto start = m_iterator;
|
||||
// end is at the next /
|
||||
const char *substr = ox_strchr(&m_path[start], '/', m_maxSize - start);
|
||||
// correct end if it is invalid, which happens if there is no next /
|
||||
if (!substr) {
|
||||
substr = ox_strchr(&m_path[start], 0, m_maxSize - start);
|
||||
}
|
||||
std::size_t end = substr - m_path;
|
||||
const auto end = static_cast<size_t>(substr - m_path);
|
||||
size = end - start;
|
||||
// cannot fit the output in the output parameter
|
||||
if (size >= pathOutSize) {
|
||||
@@ -152,14 +152,14 @@ Result<std::size_t> PathIterator::nextSize() const {
|
||||
if (m_path[it] == '/') {
|
||||
it++;
|
||||
}
|
||||
std::size_t start = it;
|
||||
const auto start = it;
|
||||
// end is at the next /
|
||||
const char *substr = ox_strchr(&m_path[start], '/', m_maxSize - start);
|
||||
// correct end if it is invalid, which happens if there is no next /
|
||||
if (!substr) {
|
||||
substr = ox_strchr(&m_path[start], 0, m_maxSize - start);
|
||||
}
|
||||
std::size_t end = substr - m_path;
|
||||
const auto end = static_cast<std::size_t>(substr - m_path);
|
||||
size = end - start;
|
||||
}
|
||||
it += size;
|
||||
@@ -179,7 +179,7 @@ bool PathIterator::hasNext() const {
|
||||
if (!substr) {
|
||||
substr = ox_strchr(&m_path[start], 0, m_maxSize - start);
|
||||
}
|
||||
std::size_t end = substr - m_path;
|
||||
const auto end = static_cast<std::size_t>(substr - m_path);
|
||||
size = end - start;
|
||||
}
|
||||
return size > 0;
|
||||
@@ -196,18 +196,18 @@ PathIterator PathIterator::next() const {
|
||||
if (m_path[iterator] == '/') {
|
||||
iterator++;
|
||||
}
|
||||
std::size_t start = iterator;
|
||||
const auto start = iterator;
|
||||
// end is at the next /
|
||||
const char *substr = ox_strchr(&m_path[start], '/', m_maxSize - start);
|
||||
// correct end if it is invalid, which happens if there is no next /
|
||||
if (!substr) {
|
||||
substr = ox_strchr(&m_path[start], 0, m_maxSize - start);
|
||||
}
|
||||
std::size_t end = substr - m_path;
|
||||
const auto end = static_cast<std::size_t>(substr - m_path);
|
||||
size = end - start;
|
||||
}
|
||||
iterator += size;
|
||||
return PathIterator(m_path, m_maxSize, iterator + 1);
|
||||
return {m_path, m_maxSize, iterator + 1};
|
||||
}
|
||||
|
||||
const char *PathIterator::fullPath() const {
|
||||
|
||||
Reference in New Issue
Block a user