From 89bddf98b68d9668b73f0e5f94d34002d2cdfbde Mon Sep 17 00:00:00 2001 From: Misa Date: Thu, 11 Feb 2021 16:36:22 -0800 Subject: [PATCH] Refactor is_positive_num() to use C-strings This makes the future move to C easier, as well as just shows that it's plain unnecessary to use an std::string here. --- desktop_version/src/UtilityClass.cpp | 4 ++-- desktop_version/src/UtilityClass.h | 2 +- desktop_version/src/editor.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/desktop_version/src/UtilityClass.cpp b/desktop_version/src/UtilityClass.cpp index 3bdbbab9..e46bec3f 100644 --- a/desktop_version/src/UtilityClass.cpp +++ b/desktop_version/src/UtilityClass.cpp @@ -284,9 +284,9 @@ static bool VVV_isxdigit(const unsigned char digit) || SDL_isdigit(digit); } -bool is_positive_num(const std::string& str, const bool hex) +bool is_positive_num(const char* str, const bool hex) { - for (size_t i = 0; i < str.length(); i++) + for (size_t i = 0; str[i] != '\0'; ++i) { if (hex) { diff --git a/desktop_version/src/UtilityClass.h b/desktop_version/src/UtilityClass.h index c3d2d169..6b846b61 100644 --- a/desktop_version/src/UtilityClass.h +++ b/desktop_version/src/UtilityClass.h @@ -24,7 +24,7 @@ bool next_split_s( bool is_number(const char* str); -bool is_positive_num(const std::string& str, const bool hex); +bool is_positive_num(const char* str, const bool hex); bool endsWith(const std::string& str, const std::string& suffix); diff --git a/desktop_version/src/editor.cpp b/desktop_version/src/editor.cpp index 393fa644..41a53523 100644 --- a/desktop_version/src/editor.cpp +++ b/desktop_version/src/editor.cpp @@ -162,7 +162,7 @@ std::string find_tag(const std::string& buf, const std::string& start, const std size_t real_start = start_pos + 2 + ((int) hex); std::string number(value.substr(real_start, end - real_start)); - if (!is_positive_num(number, hex)) + if (!is_positive_num(number.c_str(), hex)) { return ""; }