Blob Blame History Raw
Index: mcs/class/System.Core/System/TimeZoneInfo.cs
===================================================================
--- mono-2.6.7/mcs/class/System.Core/System/TimeZoneInfo.cs	(revision 160268)
+++ mono-2.6.7/mcs/class/System.Core/System/TimeZoneInfo.cs	(working copy)
@@ -380,9 +380,22 @@
 			else
 				ParseRegTzi(adjustmentRules, 1, 9999, reg_tzi);
 
-			return CreateCustomTimeZone (id, baseUtcOffset, display_name, standard_name, daylight_name, ValidateRules (adjustmentRules).ToArray ());
+			return CreateCustomTimeZone (id, baseUtcOffset, display_name, standard_name, daylight_name,
+							(AdjustmentRule []) ValidateRules (adjustmentRules).ToArray ());
 		}
 
+		static List<AdjustmentRule> ValidateRules (List<AdjustmentRule> adjustmentRules)
+		{
+			AdjustmentRule prev = null;
+			foreach (AdjustmentRule current in adjustmentRules.ToArray ()) {
+				if (prev != null && prev.DateEnd > current.DateStart) {
+					adjustmentRules.Remove (current);
+				}
+				prev = current;
+			}
+			return adjustmentRules;
+		}
+
 		private static void ParseRegTzi (List<AdjustmentRule> adjustmentRules, int start_year, int end_year, byte [] buffer)
 		{
 			//int standard_bias = BitConverter.ToInt32 (buffer, 4); /* not sure how to handle this */
@@ -895,22 +908,11 @@
 				}
 				return CreateCustomTimeZone (id, baseUtcOffset, id, standardDisplayName);
 			} else {
-				return CreateCustomTimeZone (id, baseUtcOffset, id, standardDisplayName, daylightDisplayName, ValidateRules (adjustmentRules).ToArray ());
+				return CreateCustomTimeZone (id, baseUtcOffset, id, standardDisplayName, daylightDisplayName,
+								(AdjustmentRule []) ValidateRules (adjustmentRules).ToArray ());
 			}
 		}
 
-		static List<AdjustmentRule> ValidateRules (List<AdjustmentRule> adjustmentRules)
-		{
-			AdjustmentRule prev = null;
-			foreach (AdjustmentRule current in adjustmentRules.ToArray ()) {
-				if (prev != null && prev.DateEnd > current.DateStart) {
-					adjustmentRules.Remove (current);
-				}
-				prev = current;
-			}
-			return adjustmentRules;
-		}
-
 		static Dictionary<int, string> ParseAbbreviations (byte [] buffer, int index, int count)
 		{
 			var abbrevs = new Dictionary<int, string> ();