summaryrefslogtreecommitdiff
path: root/src/buildtool/file_system/file_system_manager.hpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-10-01 12:23:17 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-10-07 13:37:39 +0200
commit7df9944604e2ef92abce20c00ea265793b151261 (patch)
treedf758ede71200d463db1b2c05dd03e8cd0a76765 /src/buildtool/file_system/file_system_manager.hpp
parentf56805ddde51ffcfdd6123300b6c049764a86980 (diff)
downloadjustbuild-7df9944604e2ef92abce20c00ea265793b151261.tar.gz
Enable bugprone-narrowing-conversions check
Diffstat (limited to 'src/buildtool/file_system/file_system_manager.hpp')
-rw-r--r--src/buildtool/file_system/file_system_manager.hpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/buildtool/file_system/file_system_manager.hpp b/src/buildtool/file_system/file_system_manager.hpp
index f035e407..d506f4b9 100644
--- a/src/buildtool/file_system/file_system_manager.hpp
+++ b/src/buildtool/file_system/file_system_manager.hpp
@@ -1185,14 +1185,14 @@ class FileSystemManager {
/// Non-zero return values indicate errors, which can be decoded using
/// \ref ErrorToString.
class LowLevel {
- static constexpr ssize_t kDefaultChunkSize = 1024 * 32;
+ static constexpr std::size_t kDefaultChunkSize = 1024 * 32;
static constexpr int kWriteFlags =
O_WRONLY | O_CREAT | O_TRUNC; // NOLINT
static constexpr int kWritePerms = // 644
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; // NOLINT
public:
- template <ssize_t kChunkSize = kDefaultChunkSize>
+ template <std::size_t kChunkSize = kDefaultChunkSize>
[[nodiscard]] static auto CopyFile(char const* src,
char const* dst,
bool skip_existing) noexcept -> int {
@@ -1238,18 +1238,19 @@ class FileSystemManager {
return 0;
}
- template <ssize_t kChunkSize = kDefaultChunkSize>
+ template <std::size_t kChunkSize = kDefaultChunkSize>
[[nodiscard]] static auto WriteFile(char const* content,
- ssize_t size,
+ std::size_t size,
char const* file) noexcept -> int {
auto out = FdOpener{file, kWriteFlags, kWritePerms};
if (out.fd == -1) {
return PackError(ERROR_OPEN_OUTPUT, errno);
}
- ssize_t pos{};
+ std::size_t pos = 0;
while (pos < size) {
auto const write_len = std::min(kChunkSize, size - pos);
- auto len = write(out.fd, content + pos, write_len); // NOLINT
+ auto const len =
+ write(out.fd, content + pos, write_len); // NOLINT
if (len < 0) {
return PackError(ERROR_WRITE_OUTPUT, errno);
}