|
21 | 21 | #include "helper.h"
|
22 | 22 |
|
23 | 23 | #include <sstream>
|
24 |
| -#include <tbox/base/catch_throw.h> |
| 24 | +#include <tbox/util/string_to.h> |
25 | 25 |
|
26 | 26 | namespace tbox {
|
27 | 27 | namespace terminal {
|
@@ -64,16 +64,7 @@ NodeToken AddFuncNode(TerminalNodes &terminal, NodeToken parent_node,
|
64 | 64 |
|
65 | 65 | } else if (a.size() == 2u) {
|
66 | 66 | auto &str = a[1];
|
67 |
| - if (str == "true" || str == "True" || str == "TRUE" || |
68 |
| - str == "on" || str == "On" || str == "ON") { |
69 |
| - value = true; |
70 |
| - is_ok = true; |
71 |
| - |
72 |
| - } else if (str == "false" || str == "False" || str == "FALSE" || |
73 |
| - str == "off" || str == "Off" || str == "OFF") { |
74 |
| - value = false; |
75 |
| - is_ok = true; |
76 |
| - } |
| 67 | + is_ok = util::StringTo(str, value); |
77 | 68 | }
|
78 | 69 |
|
79 | 70 | if (is_ok) {
|
@@ -136,7 +127,7 @@ NodeToken AddFuncNode(TerminalNodes &terminal, NodeToken parent_node,
|
136 | 127 | } else if (a.size() == 2u) {
|
137 | 128 | auto &str = a[1];
|
138 | 129 | int new_value = 0;
|
139 |
| - if (!CatchThrowQuietly([&] { new_value = std::stoi(str); })) { |
| 130 | + if (util::StringTo(str, new_value)) { |
140 | 131 | if (new_value >= min_value && new_value <= max_value) {
|
141 | 132 | value = new_value;
|
142 | 133 | is_ok = true;
|
@@ -177,7 +168,7 @@ NodeToken AddFuncNode(TerminalNodes &terminal, NodeToken parent_node,
|
177 | 168 | } else if (a.size() == 2u) {
|
178 | 169 | auto &str = a[1];
|
179 | 170 | double new_value = 0;
|
180 |
| - if (!CatchThrowQuietly([&] { new_value = std::stod(str); })) { |
| 171 | + if (util::StringTo(str, new_value)) { |
181 | 172 | if (new_value >= min_value && new_value <= max_value) {
|
182 | 173 | value = new_value;
|
183 | 174 | is_ok = true;
|
@@ -264,16 +255,7 @@ NodeToken AddFuncNode(TerminalNodes &terminal, NodeToken parent_node, const std:
|
264 | 255 | } else if (a.size() == 2u && profile.set_func) {
|
265 | 256 | auto &str = a[1];
|
266 | 257 | bool new_value = false;
|
267 |
| - if (str == "true" || str == "True" || str == "TRUE" || |
268 |
| - str == "on" || str == "On" || str == "ON") { |
269 |
| - new_value = true; |
270 |
| - is_ok = true; |
271 |
| - |
272 |
| - } else if (str == "false" || str == "False" || str == "FALSE" || |
273 |
| - str == "off" || str == "Off" || str == "OFF") { |
274 |
| - new_value = false; |
275 |
| - is_ok = true; |
276 |
| - } |
| 258 | + is_ok = util::StringTo(str, new_value); |
277 | 259 |
|
278 | 260 | if (is_ok) {
|
279 | 261 | if (profile.set_func(new_value)) {
|
@@ -322,7 +304,7 @@ NodeToken AddFuncNode(TerminalNodes &terminal, NodeToken parent_node, const std:
|
322 | 304 | } else if (a.size() == 2u && profile.set_func) {
|
323 | 305 | auto &str = a[1];
|
324 | 306 | int new_value = 0;
|
325 |
| - CatchThrowQuietly([&] { new_value = std::stoi(str); is_ok = true; }); |
| 307 | + is_ok = util::StringTo(str, new_value); |
326 | 308 | if (is_ok) {
|
327 | 309 | if (new_value < profile.min_value || new_value > profile.max_value) {
|
328 | 310 | oss << "fail, out of range.\r\n";
|
@@ -387,7 +369,7 @@ NodeToken AddFuncNode(TerminalNodes &terminal, NodeToken parent_node, const std:
|
387 | 369 | } else if (a.size() == 2u && profile.set_func) {
|
388 | 370 | auto &str = a[1];
|
389 | 371 | double new_value = 0;
|
390 |
| - CatchThrowQuietly([&] { new_value = std::stod(str); is_ok = true; }); |
| 372 | + is_ok = util::StringTo(str, new_value); |
391 | 373 | if (is_ok) {
|
392 | 374 | if (new_value < profile.min_value || new_value > profile.max_value) {
|
393 | 375 | oss << "fail, out of range.\r\n";
|
|
0 commit comments