From 3b5d38658fddc5c259906a6c1060f48771324852 Mon Sep 17 00:00:00 2001 From: Syrone Wong Date: Mon, 8 Aug 2016 18:49:24 +0800 Subject: [PATCH] Minor bugfixes (#647) * Drop unused variable to suppress warning in LogForm Signed-off-by: Syrone Wong * Fix IPv6 displaying It is a little ugly, send a PR if you can find a better way. Signed-off-by: Syrone Wong --- shadowsocks-csharp/Model/Server.cs | 27 ++++++++++++++++++++------- shadowsocks-csharp/View/LogForm.cs | 2 +- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/shadowsocks-csharp/Model/Server.cs b/shadowsocks-csharp/Model/Server.cs index 6ba1559d..66593ea4 100755 --- a/shadowsocks-csharp/Model/Server.cs +++ b/shadowsocks-csharp/Model/Server.cs @@ -1,4 +1,6 @@ using System; +using System.Net; +using System.Net.Sockets; using System.Text; using System.Text.RegularExpressions; @@ -39,14 +41,25 @@ namespace Shadowsocks.Model { return I18N.GetString("New server"); } - if (remarks.IsNullOrEmpty()) - { - return server + ":" + server_port; - } - else - { - return remarks + " (" + server + ":" + server_port + ")"; + IPAddress addr; + IPAddress.TryParse( server, out addr ); + if ( remarks.IsNullOrEmpty() ) { + switch ( addr.AddressFamily ) { + case AddressFamily.InterNetwork: + return $"{server}:{server_port}"; + case AddressFamily.InterNetworkV6: + return $"[{server}]:{server_port}"; + } + } else { + switch ( addr.AddressFamily ) { + case AddressFamily.InterNetwork: + return $"{remarks} ({server}:{server_port})"; + case AddressFamily.InterNetworkV6: + return $"{remarks} ([{server}]:{server_port})"; + } } + // This should not happen, user should check the input instead of blaming + return null; } public Server() diff --git a/shadowsocks-csharp/View/LogForm.cs b/shadowsocks-csharp/View/LogForm.cs index 3912b355..f804f781 100644 --- a/shadowsocks-csharp/View/LogForm.cs +++ b/shadowsocks-csharp/View/LogForm.cs @@ -93,7 +93,7 @@ namespace Shadowsocks.View })); } } - catch (ObjectDisposedException ex) + catch (ObjectDisposedException) { // suppress the thread race error: // when closing the form but the Invoked Action is still working and cause 'Chart is Disposed' exception