diff options
-rw-r--r-- | Applications/Terminal/Terminal.cpp | 19 | ||||
-rw-r--r-- | Kernel/TTY/VirtualConsole.cpp | 17 | ||||
-rw-r--r-- | Userland/kill.cpp | 23 | ||||
-rw-r--r-- | Userland/sleep.cpp | 17 |
4 files changed, 6 insertions, 70 deletions
diff --git a/Applications/Terminal/Terminal.cpp b/Applications/Terminal/Terminal.cpp index 3e628deb8d..8c68c4e241 100644 --- a/Applications/Terminal/Terminal.cpp +++ b/Applications/Terminal/Terminal.cpp @@ -116,21 +116,6 @@ inline bool is_valid_final_character(byte ch) return ch >= 0x40 && ch <= 0x7e; } -unsigned parse_uint(const String& str, bool& ok) -{ - unsigned value = 0; - for (int i = 0; i < str.length(); ++i) { - if (str[i] < '0' || str[i] > '9') { - ok = false; - return 0; - } - value = value * 10; - value += str[i] - '0'; - } - ok = true; - return value; -} - static inline Color lookup_color(unsigned color) { return Color::from_rgb(xterm_colors[color]); @@ -397,7 +382,7 @@ void Terminal::execute_xterm_command() { m_final = '@'; bool ok; - unsigned value = parse_uint(String::copy(m_xterm_param1), ok); + unsigned value = String::copy(m_xterm_param1).to_uint(ok); if (ok) { switch (value) { case 0: @@ -421,7 +406,7 @@ void Terminal::execute_escape_sequence(byte final) ParamVector params; for (auto& parampart : paramparts) { bool ok; - unsigned value = parse_uint(parampart, ok); + unsigned value = parampart.to_uint(ok); if (!ok) { m_parameters.clear_with_capacity(); m_intermediates.clear_with_capacity(); diff --git a/Kernel/TTY/VirtualConsole.cpp b/Kernel/TTY/VirtualConsole.cpp index 5c48276b7e..c4e3f9eb1a 100644 --- a/Kernel/TTY/VirtualConsole.cpp +++ b/Kernel/TTY/VirtualConsole.cpp @@ -128,21 +128,6 @@ inline bool is_valid_final_character(byte ch) return ch >= 0x40 && ch <= 0x7e; } -unsigned parse_uint(const String& str, bool& ok) -{ - unsigned value = 0; - for (int i = 0; i < str.length(); ++i) { - if (str[i] < '0' || str[i] > '9') { - ok = false; - return 0; - } - value = value * 10; - value += str[i] - '0'; - } - ok = true; - return value; -} - enum class VGAColor : byte { Black = 0, Blue, @@ -324,7 +309,7 @@ void VirtualConsole::execute_escape_sequence(byte final) Vector<unsigned> params; for (auto& parampart : paramparts) { bool ok; - unsigned value = parse_uint(parampart, ok); + unsigned value = parampart.to_uint(ok); if (!ok) { // FIXME: Should we do something else? return; diff --git a/Userland/kill.cpp b/Userland/kill.cpp index ddc6bdda91..7b1cb9a1d1 100644 --- a/Userland/kill.cpp +++ b/Userland/kill.cpp @@ -4,25 +4,6 @@ #include <stdlib.h> #include <AK/AKString.h> -static unsigned parse_uint(const String& str, bool& ok) -{ - if (str.is_empty()) { - ok = false; - return 0; - } - unsigned value = 0; - for (int i = 0; i < str.length(); ++i) { - if (str[i] < '0' || str[i] > '9') { - ok = false; - return 0; - } - value = value * 10; - value += (unsigned)(str[i] - '0'); - } - ok = true; - return value; -} - static void print_usage_and_exit() { printf("usage: kill [-signal] <PID>\n"); @@ -40,13 +21,13 @@ int main(int argc, char** argv) pid_argi = 2; if (argv[1][0] != '-') print_usage_and_exit(); - signum = parse_uint(&argv[1][1], ok); + signum = String(&argv[1][1]).to_uint(ok); if (!ok) { printf("'%s' is not a valid signal number\n", &argv[1][1]); return 2; } } - unsigned pid = parse_uint(argv[pid_argi], ok); + unsigned pid = String(argv[pid_argi]).to_uint(ok); if (!ok) { printf("'%s' is not a valid PID\n", argv[pid_argi]); return 3; diff --git a/Userland/sleep.cpp b/Userland/sleep.cpp index dba5f1874a..25aa3732f8 100644 --- a/Userland/sleep.cpp +++ b/Userland/sleep.cpp @@ -3,21 +3,6 @@ #include <signal.h> #include <AK/AKString.h> -static unsigned parse_uint(const String& str, bool& ok) -{ - unsigned value = 0; - for (int i = 0; i < str.length(); ++i) { - if (str[i] < '0' || str[i] > '9') { - ok = false; - return 0; - } - value = value * 10; - value += str[i] - '0'; - } - ok = true; - return value; -} - void handle_sigint(int) { } @@ -29,7 +14,7 @@ int main(int argc, char** argv) return 1; } bool ok; - unsigned secs = parse_uint(argv[1], ok); + unsigned secs = String(argv[1]).to_uint(ok); if (!ok) { fprintf(stderr, "Not a valid number of seconds: \"%s\"\n", argv[1]); return 1; |