diff options
author | lbsa71 | 2007-09-25 01:20:30 +0000 |
---|---|---|
committer | lbsa71 | 2007-09-25 01:20:30 +0000 |
commit | 2219ccc5b053d5c8885de113488dfb6718903435 (patch) | |
tree | 06bde077b98c0e8df228bec23aef8aa9b2eba39d /OpenSim/Framework | |
parent | More reorganizing of new SE. Added debug print of application exception. (diff) | |
download | opensim-SC-2219ccc5b053d5c8885de113488dfb6718903435.zip opensim-SC-2219ccc5b053d5c8885de113488dfb6718903435.tar.gz opensim-SC-2219ccc5b053d5c8885de113488dfb6718903435.tar.bz2 opensim-SC-2219ccc5b053d5c8885de113488dfb6718903435.tar.xz |
* Fixed Culture-variant parsing of config options
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/General/Configuration/ConfigurationMember.cs | 9 | ||||
-rw-r--r-- | OpenSim/Framework/General/Culture.cs | 26 | ||||
-rw-r--r-- | OpenSim/Framework/General/Types/EstateSettings.cs | 4 |
3 files changed, 34 insertions, 5 deletions
diff --git a/OpenSim/Framework/General/Configuration/ConfigurationMember.cs b/OpenSim/Framework/General/Configuration/ConfigurationMember.cs index c94fd8e..e4c13ba 100644 --- a/OpenSim/Framework/General/Configuration/ConfigurationMember.cs +++ b/OpenSim/Framework/General/Configuration/ConfigurationMember.cs | |||
@@ -9,6 +9,7 @@ using libsecondlife; | |||
9 | 9 | ||
10 | using OpenSim.Framework.Console; | 10 | using OpenSim.Framework.Console; |
11 | using OpenSim.Framework.Configuration.Interfaces; | 11 | using OpenSim.Framework.Configuration.Interfaces; |
12 | using System.Globalization; | ||
12 | 13 | ||
13 | namespace OpenSim.Framework.Configuration | 14 | namespace OpenSim.Framework.Configuration |
14 | { | 15 | { |
@@ -295,7 +296,7 @@ namespace OpenSim.Framework.Configuration | |||
295 | break; | 296 | break; |
296 | case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT: | 297 | case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT: |
297 | float floatResult; | 298 | float floatResult; |
298 | if (float.TryParse(console_result, out floatResult)) | 299 | if (float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, out floatResult)) |
299 | { | 300 | { |
300 | convertSuccess = true; | 301 | convertSuccess = true; |
301 | return_result = floatResult; | 302 | return_result = floatResult; |
@@ -304,7 +305,7 @@ namespace OpenSim.Framework.Configuration | |||
304 | break; | 305 | break; |
305 | case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE: | 306 | case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE: |
306 | double doubleResult; | 307 | double doubleResult; |
307 | if (Double.TryParse(console_result, out doubleResult)) | 308 | if (Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, out doubleResult)) |
308 | { | 309 | { |
309 | convertSuccess = true; | 310 | convertSuccess = true; |
310 | return_result = doubleResult; | 311 | return_result = doubleResult; |
@@ -332,12 +333,12 @@ namespace OpenSim.Framework.Configuration | |||
332 | { | 333 | { |
333 | if (configOption.configurationUseDefaultNoPrompt) | 334 | if (configOption.configurationUseDefaultNoPrompt) |
334 | { | 335 | { |
335 | MainLog.Instance.Error("Default given for '" + configOption.configurationKey + "' is not valid; the configuration result must be " + errorMessage + ". Will skip this option..."); | 336 | MainLog.Instance.Error("CONFIG", string.Format("[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n", configOption.configurationKey, console_result, errorMessage, configurationFilename)); |
336 | convertSuccess = true; | 337 | convertSuccess = true; |
337 | } | 338 | } |
338 | else | 339 | else |
339 | { | 340 | { |
340 | MainLog.Instance.Warn("configuration","Incorrect result given, the configuration option must be " + errorMessage + ". Prompting for same option..."); | 341 | MainLog.Instance.Warn("CONFIG", string.Format("[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n", configOption.configurationKey, console_result, errorMessage, configurationFilename)); |
341 | ignoreNextFromConfig = true; | 342 | ignoreNextFromConfig = true; |
342 | } | 343 | } |
343 | } | 344 | } |
diff --git a/OpenSim/Framework/General/Culture.cs b/OpenSim/Framework/General/Culture.cs new file mode 100644 index 0000000..8f8561b --- /dev/null +++ b/OpenSim/Framework/General/Culture.cs | |||
@@ -0,0 +1,26 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Globalization; | ||
4 | using System.Text; | ||
5 | using System.Threading; | ||
6 | |||
7 | namespace OpenSim.Framework | ||
8 | { | ||
9 | public class Culture | ||
10 | { | ||
11 | private static readonly CultureInfo m_cultureInfo = new System.Globalization.CultureInfo("en-US", true); | ||
12 | |||
13 | public static NumberFormatInfo NumberFormatInfo | ||
14 | { | ||
15 | get | ||
16 | { | ||
17 | return m_cultureInfo.NumberFormat; | ||
18 | } | ||
19 | } | ||
20 | |||
21 | public static void SetCurrentCulture() | ||
22 | { | ||
23 | Thread.CurrentThread.CurrentCulture = m_cultureInfo; | ||
24 | } | ||
25 | } | ||
26 | } | ||
diff --git a/OpenSim/Framework/General/Types/EstateSettings.cs b/OpenSim/Framework/General/Types/EstateSettings.cs index a8f6bf1..abdcf6f 100644 --- a/OpenSim/Framework/General/Types/EstateSettings.cs +++ b/OpenSim/Framework/General/Types/EstateSettings.cs | |||
@@ -29,6 +29,7 @@ using System.IO; | |||
29 | using libsecondlife; | 29 | using libsecondlife; |
30 | using OpenSim.Framework.Configuration; | 30 | using OpenSim.Framework.Configuration; |
31 | using OpenSim.Framework.Utilities; | 31 | using OpenSim.Framework.Utilities; |
32 | using System.Globalization; | ||
32 | 33 | ||
33 | namespace OpenSim.Framework.Types | 34 | namespace OpenSim.Framework.Types |
34 | { | 35 | { |
@@ -719,7 +720,8 @@ namespace OpenSim.Framework.Types | |||
719 | this.m_terrainMultiplier = System.Convert.ToDouble(configuration_result); | 720 | this.m_terrainMultiplier = System.Convert.ToDouble(configuration_result); |
720 | break; | 721 | break; |
721 | case "water_height": | 722 | case "water_height": |
722 | float.TryParse(((double)configuration_result).ToString(),out this.m_waterHeight); | 723 | double tmpVal = (double) configuration_result; |
724 | this.m_waterHeight = (float) tmpVal; | ||
723 | break; | 725 | break; |
724 | case "terrain_image_id": | 726 | case "terrain_image_id": |
725 | this.m_terrainImageID = (LLUUID)configuration_result; | 727 | this.m_terrainImageID = (LLUUID)configuration_result; |