Replace strtol with Parse in CustomCurrency window

This commit is contained in:
Gal B 2021-12-04 19:20:39 +02:00
parent 8e1750b775
commit 1a6fffb64a
1 changed files with 6 additions and 3 deletions

View File

@ -11,6 +11,7 @@
#include <openrct2-ui/interface/Widget.h> #include <openrct2-ui/interface/Widget.h>
#include <openrct2-ui/windows/Window.h> #include <openrct2-ui/windows/Window.h>
#include <openrct2/config/Config.h> #include <openrct2/config/Config.h>
#include <openrct2/core/String.hpp>
#include <openrct2/drawing/Drawing.h> #include <openrct2/drawing/Drawing.h>
#include <openrct2/interface/Colour.h> #include <openrct2/interface/Colour.h>
#include <openrct2/localisation/Localisation.h> #include <openrct2/localisation/Localisation.h>
@ -154,8 +155,9 @@ public:
{ {
if (text.empty()) if (text.empty())
return; return;
int32_t rate; int32_t rate;
char* end;
switch (widgetIndex) switch (widgetIndex)
{ {
case WIDX_SYMBOL_TEXT: case WIDX_SYMBOL_TEXT:
@ -172,9 +174,10 @@ public:
break; break;
case WIDX_RATE: case WIDX_RATE:
rate = strtol(std::string(text).c_str(), &end, 10); const auto res = String::Parse<int32_t>(text);
if (*end == '\0') if (res.has_value())
{ {
rate = res.value();
CurrencyDescriptors[EnumValue(CurrencyType::Custom)].rate = rate; CurrencyDescriptors[EnumValue(CurrencyType::Custom)].rate = rate;
gConfigGeneral.custom_currency_rate = CurrencyDescriptors[EnumValue(CurrencyType::Custom)].rate; gConfigGeneral.custom_currency_rate = CurrencyDescriptors[EnumValue(CurrencyType::Custom)].rate;
config_save_default(); config_save_default();