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
Charles Krinke 2008-07-21 13:44:56 +00:00
parent a432a07005
commit cda3206633
2 changed files with 2 additions and 2 deletions

View File

@ -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);

View File

@ -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);