aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-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))