Mantis#2307. Thank you kindly, Godfrey for a patch that solves:

In Second Life's implementation of llParseString2List(), all spacer 
strings which occur within the source string are included in the 
resulting list. In OpenSim's implementation, any spacers occurring 
at the beginning of the string are discarded; furthermore, if multiple 
spacers occur between non-spacer elements, or at the end of the source 
string, only the first spacer is added to the resulting list; 
the remainder are discarded.
0.6.0-stable
Charles Krinke 2008-10-03 02:33:59 +00:00
parent 6bd5c6bfc0
commit d5b3a66f52
1 changed files with 8 additions and 12 deletions

View File

@ -4696,19 +4696,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (cindex > 0)
{
ret.Add(str.Substring(0, cindex));
// Cannot use spacers.Contains() because spacers may be either type String or LSLString
for (int j = 0; j < spacers.Length; j++)
{
if (spacers.Data[j].ToString() == cdeli)
{
ret.Add(cdeli);
break;
}
}
}
if (cindex == 0 && spacers.Contains(cdeli))
}
// Cannot use spacers.Contains() because spacers may be either type String or LSLString
for (int j = 0; j < spacers.Length; j++)
{
ret.Add(cdeli);
if (spacers.Data[j].ToString() == cdeli)
{
ret.Add(cdeli);
break;
}
}
str = str.Substring(cindex + cdeli.Length);
}