diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-10-01 12:23:17 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-10-07 13:37:39 +0200 |
commit | 7df9944604e2ef92abce20c00ea265793b151261 (patch) | |
tree | df758ede71200d463db1b2c05dd03e8cd0a76765 /src/buildtool/file_system/file_system_manager.hpp | |
parent | f56805ddde51ffcfdd6123300b6c049764a86980 (diff) | |
download | justbuild-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.hpp | 13 |
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); } |