[hyena] [Hyena] Avoid CultureInfo.CurrentCulture getter



commit d19afa855b451ae730bbe6cefb5f7a0500477316
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Wed Nov 17 00:51:16 2010 -0600

    [Hyena] Avoid CultureInfo.CurrentCulture getter
    
    Instead use ApplicationContext.CurrentCulture and culture-invariant
    comparisons where possible.

 Hyena/Hyena/ApplicationContext.cs |   10 ++++++++--
 Hyena/Hyena/SafeUri.cs            |    4 ++--
 Hyena/Hyena/StringUtil.cs         |    6 +++---
 3 files changed, 13 insertions(+), 7 deletions(-)
---
diff --git a/Hyena/Hyena/ApplicationContext.cs b/Hyena/Hyena/ApplicationContext.cs
index fd4fcfa..88c0bf0 100644
--- a/Hyena/Hyena/ApplicationContext.cs
+++ b/Hyena/Hyena/ApplicationContext.cs
@@ -27,6 +27,7 @@
 //
 
 using System;
+using System.Globalization;
 using System.Text;
 using System.Runtime.InteropServices;
 
@@ -81,8 +82,13 @@ namespace Hyena
             return !String.IsNullOrEmpty (Environment.GetEnvironmentVariable (env));
         }
 
-        public static System.Globalization.CultureInfo InternalCultureInfo {
-            get { return System.Globalization.CultureInfo.InvariantCulture; }
+        private static CultureInfo current_culture = CultureInfo.CurrentCulture;
+        public static CultureInfo CurrentCulture {
+            get { return current_culture; }
+        }
+
+        public static CultureInfo InternalCultureInfo {
+            get { return CultureInfo.InvariantCulture; }
         }
 
         [DllImport ("libc")] // Linux
diff --git a/Hyena/Hyena/SafeUri.cs b/Hyena/Hyena/SafeUri.cs
index a394c78..c63ef5f 100644
--- a/Hyena/Hyena/SafeUri.cs
+++ b/Hyena/Hyena/SafeUri.cs
@@ -48,7 +48,7 @@ namespace Hyena
 
         public SafeUri (string uri)
         {
-            int scheme_delimit_index = uri.IndexOf ("://");
+            int scheme_delimit_index = uri.IndexOf ("://", StringComparison.InvariantCulture);
             if (scheme_delimit_index > 0 && scheme_delimit_index <= MAX_SCHEME_LENGTH) {
                 this.uri = uri;
             } else {
@@ -181,7 +181,7 @@ namespace Hyena
         public string Scheme {
             get {
                 if (scheme == null) {
-                    scheme = uri.Substring (0, uri.IndexOf ("://"));
+                    scheme = uri.Substring (0, uri.IndexOf ("://", StringComparison.InvariantCulture));
                 }
 
                 return scheme;
diff --git a/Hyena/Hyena/StringUtil.cs b/Hyena/Hyena/StringUtil.cs
index 6893370..9d0ddd1 100644
--- a/Hyena/Hyena/StringUtil.cs
+++ b/Hyena/Hyena/StringUtil.cs
@@ -44,7 +44,7 @@ namespace Hyena
 
         public static int RelaxedIndexOf (string haystack, string needle)
         {
-            return CultureInfo.CurrentCulture.CompareInfo.IndexOf (haystack, needle, compare_options);
+            return ApplicationContext.CurrentCulture.CompareInfo.IndexOf (haystack, needle, compare_options);
         }
 
         public static int RelaxedCompare (string a, string b)
@@ -60,7 +60,7 @@ namespace Hyena
             int a_offset = a.StartsWith ("the ") ? 4 : 0;
             int b_offset = b.StartsWith ("the ") ? 4 : 0;
 
-            return CultureInfo.CurrentCulture.CompareInfo.Compare (a, a_offset, a.Length - a_offset,
+            return ApplicationContext.CurrentCulture.CompareInfo.Compare (a, a_offset, a.Length - a_offset,
                 b, b_offset, b.Length - b_offset, compare_options);
         }
 
@@ -258,7 +258,7 @@ namespace Hyena
             return new Regex (regex_str, RegexOptions.Compiled);
         }
 
-        private static CompareInfo culture_compare_info = CultureInfo.CurrentCulture.CompareInfo;
+        private static CompareInfo culture_compare_info = ApplicationContext.CurrentCulture.CompareInfo;
         public static byte[] SortKey (string orig)
         {
             if (orig == null) { return null; }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]