Mantis#1801. Thank you kindly, Junta_Kohime for a patch that:
I found a problem trying to get s value directly from a quaternion q. Compiling a script which directly access to q.s value, caused the following error: CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'. Detected around: q.s I did a small change to allow alphabetic letter "s" to be interpretated as valid identifier. This solves the problem.0.6.0-stable
parent
a432a07005
commit
cda3206633
|
@ -124,7 +124,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
|
||||||
Match SecurityM;
|
Match SecurityM;
|
||||||
|
|
||||||
|
|
||||||
SecurityM = Regex.Match(checkscript, @"([a-zA-Z])\.(?:[a-wA-Z]|[a-zA-Z][a-zA-Z])", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline);
|
SecurityM = Regex.Match(checkscript, @"([a-zA-Z])\.(?:[a-rt-wA-Z]|[a-zA-Z][a-zA-Z])", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline);
|
||||||
if (SecurityM.Success)
|
if (SecurityM.Success)
|
||||||
throw new Exception("CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'. Detected around: " + SecurityM.Captures[0].Value);
|
throw new Exception("CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'. Detected around: " + SecurityM.Captures[0].Value);
|
||||||
|
|
||||||
|
|
|
@ -122,7 +122,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
|
||||||
Match SecurityM;
|
Match SecurityM;
|
||||||
|
|
||||||
// BROKEN: this check is very wrong. It block's any url in strings.
|
// BROKEN: this check is very wrong. It block's any url in strings.
|
||||||
SecurityM = Regex.Match(checkscript, @"(?:[a-zA-Z])\.(?:[a-wA-Z]|[a-zA-Z][a-zA-Z])", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline);
|
SecurityM = Regex.Match(checkscript, @"(?:[a-zA-Z])\.(?:[a-rt-wA-Z]|[a-zA-Z][a-zA-Z])", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline);
|
||||||
|
|
||||||
if (SecurityM.Success)
|
if (SecurityM.Success)
|
||||||
throw new Exception("CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'. Detected around: " + SecurityM.Captures[0].Value);
|
throw new Exception("CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'. Detected around: " + SecurityM.Captures[0].Value);
|
||||||
|
|
Loading…
Reference in New Issue