From 8cd8638316682dcb2738cc8d3c928f7d1a3c8bc0 Mon Sep 17 00:00:00 2001 From: carlitosan <82187351+carlitosan@users.noreply.github.com> Date: Wed, 9 Feb 2022 10:19:39 -0800 Subject: [PATCH] initial locale safety for translating to Lua on multiple platforms (#7490) * initial locale safety for translating to Lua on multiple platforms Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com> * fix android build error Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com> --- .../Translation/GraphToLuaUtility.cpp | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLuaUtility.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLuaUtility.cpp index f0eae04383..08bd3883ca 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLuaUtility.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLuaUtility.cpp @@ -8,6 +8,8 @@ #include "GraphToLuaUtility.h" +#include + #include #include #include @@ -23,6 +25,23 @@ namespace GraphToLuaUtilityCpp { + class ScopedLocale + { + public: + ScopedLocale() + { + m_previousLocale = std::setlocale(LC_NUMERIC, "en_US.UTF-8"); + } + + ~ScopedLocale() + { + std::setlocale(LC_NUMERIC, m_previousLocale); + } + + private: + char* m_previousLocale = nullptr; + }; + AZStd::string EqualSigns(size_t numEqualSignsRequired) { AZStd::string equalSigns = ""; @@ -183,6 +202,8 @@ namespace ScriptCanvas AZStd::string ToValueString(const Datum& datum, const Configuration& config) { + GraphToLuaUtilityCpp::ScopedLocale scopedLocal; + switch (datum.GetType().GetType()) { case Data::eType::AABB: