From 084ea99be62d63afc4d91f5f7b9118f39f02754c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 9 Sep 2008 01:01:45 +0000 Subject: Fix string -> int cast to variable --- OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index f149f60..481f671 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs @@ -1335,8 +1335,14 @@ namespace OpenSim.Region.ScriptEngine.Shared public static explicit operator LSLInteger(LSLString s) { - // double.Parse() used because s could be "123.9" for example. - return new LSLInteger(double.Parse(s.m_string)); + Regex r = new Regex("^[ ]*-?[0-9][0-9]*"); + Match m = r.Match(s); + string v = m.Groups[0].Value; + + if (v == String.Empty) + v = "0"; + + return new LSLInteger(int.Parse(v)); } public static explicit operator LSLString(double d) @@ -1467,7 +1473,6 @@ namespace OpenSim.Region.ScriptEngine.Shared if (v == String.Empty) v = "0"; - // double.Parse() used because s could be "123.9" for example. return new LSLInteger(int.Parse(v)); } -- cgit v1.1