From 5482110b5f35a3b1318d0c11ee71ea22d38c8f4f Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 23 Feb 2017 15:56:14 +0100 Subject: [PATCH] Fix a few culture-aware string comparisons to be culture-unaware. (#1753) Generator diff for the generator changes: https://gist.github.com/rolfbjarne/ac7b166a308dc5b04bae29487114e9b8 (no relevant changes). --- src/CFNetwork/Content.cs | 8 ++++---- src/Darwin/SystemLog.cs | 2 +- src/btouch.cs | 2 +- src/generator-enums.cs | 2 +- src/generator.cs | 12 ++++++------ 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/CFNetwork/Content.cs b/src/CFNetwork/Content.cs index d774853652..cefa66d653 100644 --- a/src/CFNetwork/Content.cs +++ b/src/CFNetwork/Content.cs @@ -71,10 +71,10 @@ namespace XamCore.CFNetwork { if (key.Equals ("Content-Type")) { SetContentType (value); return true; - } else if (key.EndsWith ("Content-Length")) { + } else if (key.EndsWith ("Content-Length", StringComparison.Ordinal)) { SetContentLength (value); return true; - } else if (key.EndsWith ("Content-Language")) { + } else if (key.EndsWith ("Content-Language", StringComparison.Ordinal)) { Headers.ContentLanguage.Add (value); return true; } else if (key.Equals ("Content-Location")) { @@ -96,7 +96,7 @@ namespace XamCore.CFNetwork { void SetContentType (string value) { - int pos = value.IndexOf (";"); + int pos = value.IndexOf (';'); string type; if (pos < 0) @@ -109,7 +109,7 @@ namespace XamCore.CFNetwork { return; value = value.Substring (pos+1).Trim (); - if (value.StartsWith ("charset=")) { + if (value.StartsWith ("charset=", StringComparison.Ordinal)) { var charset = value.Substring (8); Headers.ContentEncoding.Add (charset); } diff --git a/src/Darwin/SystemLog.cs b/src/Darwin/SystemLog.cs index d7c7e7f41f..b49e82a998 100644 --- a/src/Darwin/SystemLog.cs +++ b/src/Darwin/SystemLog.cs @@ -128,7 +128,7 @@ namespace XamCore.Darwin { public int Log (Message msg, string text, params object [] args) { var txt = text == null ? "" : String.Format (text, args); - if (txt.IndexOf ("%") != -1) + if (txt.IndexOf ('%') != -1) txt = txt.Replace ("%", "%%"); return asl_log (handle, msg == null ? IntPtr.Zero : msg.Handle, txt); } diff --git a/src/btouch.cs b/src/btouch.cs index 9b42ea73f4..1587b11675 100644 --- a/src/btouch.cs +++ b/src/btouch.cs @@ -427,7 +427,7 @@ class BindingTouch { if (!Unified && !BindingThirdParty) { foreach (var mi in baselib.GetType (nsManager.CoreObjCRuntime + ".Messaging").GetMethods ()){ - if (mi.Name.IndexOf ("_objc_msgSend") != -1) + if (mi.Name.IndexOf ("_objc_msgSend", StringComparison.Ordinal) != -1) g.RegisterMethodName (mi.Name); } } diff --git a/src/generator-enums.cs b/src/generator-enums.cs index 03ff13ac0b..3f2582d78b 100644 --- a/src/generator-enums.cs +++ b/src/generator-enums.cs @@ -104,7 +104,7 @@ public partial class Generator { indent++; // note: not every binding namespace will start with ns.Prefix (e.g. MonoTouch.) - if (!String.IsNullOrEmpty (ns.Prefix) && library_name.StartsWith (ns.Prefix)) + if (!String.IsNullOrEmpty (ns.Prefix) && library_name.StartsWith (ns.Prefix, StringComparison.Ordinal)) library_name = library_name.Substring (ns.Prefix.Length + 1); // there might not be any other fields in the framework diff --git a/src/generator.cs b/src/generator.cs index 26e6c89f24..91545ce7d5 100644 --- a/src/generator.cs +++ b/src/generator.cs @@ -1834,7 +1834,7 @@ public partial class Generator : IMemberGatherer { } string entry_point; - if (method_name.IndexOf ("objc_msgSendSuper") != -1){ + if (method_name.IndexOf ("objc_msgSendSuper", StringComparison.Ordinal) != -1) { entry_point = need_stret ? "objc_msgSendSuper_stret" : "objc_msgSendSuper"; } else entry_point = need_stret ? "objc_msgSend_stret" : "objc_msgSend"; @@ -2572,7 +2572,7 @@ public partial class Generator : IMemberGatherer { keyname = keyContainerType + "." + pi.Name + suffix; else { keyname = (attrs [0] as ExportAttribute).Selector; - if (keyname.IndexOf (".") == -1) + if (keyname.IndexOf ('.') == -1) keyname = keyContainerType + "." + keyname; } @@ -2768,7 +2768,7 @@ public partial class Generator : IMemberGatherer { kn = "str.Handle"; indent++; } else { - var lib = propNamespace.Substring (propNamespace.IndexOf (".") + 1); + var lib = propNamespace.Substring (propNamespace.IndexOf ('.') + 1); print ("[Field (\"{0}\", \"{1}\")]", export.Selector, lib); print ("static IntPtr {0};", kn); print (""); @@ -3051,7 +3051,7 @@ public partial class Generator : IMemberGatherer { var objcClassName = FormatType (null, bta.BaseType); if (objcClassName.Contains ("global::")) - objcClassName = objcClassName.Substring (objcClassName.LastIndexOf (".") + 1); + objcClassName = objcClassName.Substring (objcClassName.LastIndexOf ('.') + 1); return objcClassName; } @@ -4908,7 +4908,7 @@ public partial class Generator : IMemberGatherer { // Group the delegates by namespace var groupedTypes = from fullname in delegateTypes.Keys where fullname != "System.Action" - let p = fullname.LastIndexOf (".") + let p = fullname.LastIndexOf ('.') let ns = p == -1 ? String.Empty : fullname.Substring (0, p) group fullname by ns into g select new {Namespace = g.Key, Fullname=g}; @@ -4920,7 +4920,7 @@ public partial class Generator : IMemberGatherer { } foreach (var deltype in group.Fullname.OrderBy (v => v, StringComparer.Ordinal)) { - int p = deltype.LastIndexOf (".", StringComparison.Ordinal); + int p = deltype.LastIndexOf ('.'); var shortName = deltype.Substring (p+1); var mi = delegateTypes [deltype];