about summary refs log tree commit diff
path: root/IrcStates/ISupport.cs
diff options
context:
space:
mode:
Diffstat (limited to 'IrcStates/ISupport.cs')
-rw-r--r--IrcStates/ISupport.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/IrcStates/ISupport.cs b/IrcStates/ISupport.cs
index db2f537..f481f5f 100644
--- a/IrcStates/ISupport.cs
+++ b/IrcStates/ISupport.cs
@@ -71,13 +71,22 @@ namespace IrcStates
                         StatusMsg.AddRange(value.Select(c => c.ToString(CultureInfo.InvariantCulture)));
                         break;
                     case "MODES":
-                        Modes = int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture);
+                        if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var modes))
+                            Modes = modes;
+                        else
+                            Modes = -1;
                         break;
                     case "MONITOR":
-                        Monitor = int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture);
+                        if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var monitor))
+                            Monitor = monitor;
+                        else
+                            Monitor = -1;
                         break;
                     case "WATCH":
-                        Watch = int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture);
+                        if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var watch))
+                            Watch = watch;
+                        else
+                            Watch = -1;
                         break;
                     case "CASEMAPPING":
                         if (Enum.TryParse(value, true, out Casemap.CaseMapping caseMapping)) CaseMapping = caseMapping;