aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorCharles Krinke2008-09-05 23:21:02 +0000
committerCharles Krinke2008-09-05 23:21:02 +0000
commit271bbb25574f2a8e579faa6a35187d8a4f5c4662 (patch)
treeb0d42c9d6128e28d6decd30e9b77531e425e45b5
parentMantis#2121. Thank you kindly, ChrisDown for a patch that solves: (diff)
downloadopensim-SC-271bbb25574f2a8e579faa6a35187d8a4f5c4662.zip
opensim-SC-271bbb25574f2a8e579faa6a35187d8a4f5c4662.tar.gz
opensim-SC-271bbb25574f2a8e579faa6a35187d8a4f5c4662.tar.bz2
opensim-SC-271bbb25574f2a8e579faa6a35187d8a4f5c4662.tar.xz
Thank you kindly, KrTaylor for a patch that adds:
llParseString functions throw exception when passed a list of variables and this patch adds logic to solve this to LSL_Api.cs
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index aa22b2b..74c2d89 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4431,7 +4431,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4431 { 4431 {
4432 int index = str.IndexOf(delimiters[i].ToString()); 4432 int index = str.IndexOf(delimiters[i].ToString());
4433 bool found = index != -1; 4433 bool found = index != -1;
4434 if (found) 4434 if (found && String.Empty != delimiters[i].ToString())
4435 { 4435 {
4436 if ((cindex > index) || (cindex == -1)) 4436 if ((cindex > index) || (cindex == -1))
4437 { 4437 {
@@ -4446,9 +4446,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4446 if (cindex > 0) 4446 if (cindex > 0)
4447 { 4447 {
4448 ret.Add(str.Substring(0, cindex)); 4448 ret.Add(str.Substring(0, cindex));
4449 if (spacers.Contains(cdeli)) 4449 // Cannot use spacers.Contains() because spacers may be either type String or LSLString
4450 for (int j = 0; j < spacers.Length; j++)
4450 { 4451 {
4451 ret.Add(cdeli); 4452 if (spacers.Data[j].ToString() == cdeli)
4453 {
4454 ret.Add(cdeli);
4455 break;
4456 }
4452 } 4457 }
4453 } 4458 }
4454 if (cindex == 0 && spacers.Contains(cdeli)) 4459 if (cindex == 0 && spacers.Contains(cdeli))