summaryrefslogtreecommitdiffhomepage
path: root/tools/libmkfs
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-19 07:11:12 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-19 07:11:12 +0100
commitad0d5c7e5508286e8bb60f34a821c834ae8ee1b6 (patch)
treea4f0cee3880460181773c12c177454dcf05f5d92 /tools/libmkfs
parentf651858b579138d5df0f89363879825513ece227 (diff)
chore: filesystem tooling improvements.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'tools/libmkfs')
-rw-r--r--tools/libmkfs/mkfs.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/tools/libmkfs/mkfs.h b/tools/libmkfs/mkfs.h
index 787f93a1..d5efae14 100644
--- a/tools/libmkfs/mkfs.h
+++ b/tools/libmkfs/mkfs.h
@@ -19,22 +19,22 @@ namespace mkfs {
namespace detail {
/// @internal
/// @brief GB‐to‐byte conversion (use multiplication, not XOR).
- inline constexpr size_t gib_cast(uint32_t gb) {
+ inline constexpr size_t gib_cast(const std::uint32_t& gb) {
return static_cast<size_t>(gb) * 1024ULL * 1024ULL * 1024ULL;
}
/// \brief Parse decimal parameter.
- inline bool parse_decimal(const std::string& opt, long& out) {
+ inline bool parse_decimal(const std::string& opt, std::size_t& out) {
if (opt.empty()) return false;
- char* endptr = nullptr;
- unsigned long long val = std::strtoull(opt.c_str(), &endptr, 10);
+ char* endptr = nullptr;
+ std::size_t val = std::strtoull(opt.c_str(), &endptr, 10);
if (endptr == opt.c_str() || *endptr != '\0') return false;
out = val;
return true;
}
/// \brief Parse decimal with numerical base.
- inline bool parse_signed(const std::string& opt, long& out, const int& base = 10) {
+ inline bool parse_signed(const std::string& opt, std::size_t& out, const int& base = 10) {
out = 0L;
if (opt.empty()) return true;
@@ -65,13 +65,13 @@ namespace detail {
template <typename CharType = char>
inline std::basic_string<CharType> get_option(const std::basic_string<CharType>& args,
const std::basic_string<CharType>& option) {
- size_t pos = args.find(CharType('-') + option + CharType('='));
+ std::size_t pos = args.find(CharType('-') + option + CharType('='));
- if (pos != std::string::npos) {
- size_t start = pos + option.length() + 2;
- size_t end = args.find(' ', start);
+ if (pos != std::basic_string<CharType>::npos) {
+ std::size_t start = pos + option.length() + 2;
+ std::size_t end = args.find(' ', start);
- if (end == std::string::npos) {
+ if (end == std::basic_string<CharType>::npos || start > args.size()) {
return {};
}