diff --git a/websocket-sharp/Net/HttpListenerPrefix.cs b/websocket-sharp/Net/HttpListenerPrefix.cs index 1a449048..82268ddd 100644 --- a/websocket-sharp/Net/HttpListenerPrefix.cs +++ b/websocket-sharp/Net/HttpListenerPrefix.cs @@ -174,34 +174,29 @@ namespace WebSocketSharp.Net throw new ArgumentException (msg, "uriPrefix"); } - var host = uriPrefix.IndexOf (':') + 3; var end = len - 1; - if (host > end) { - var msg = "No host is specified."; + if (uriPrefix[end] != '/') { + var msg = "It ends without '/'."; throw new ArgumentException (msg, "uriPrefix"); } - if (uriPrefix[host] == ':') { + var host = uriPrefix.IndexOf (':') + 3; + + if (host >= end) { var msg = "No host is specified."; throw new ArgumentException (msg, "uriPrefix"); } - var root = uriPrefix.IndexOf ('/', host, len - host); - - if (root == host) { + if (uriPrefix[host] == ':') { var msg = "No host is specified."; throw new ArgumentException (msg, "uriPrefix"); } - if (uriPrefix[end] != '/') { - var msg = "It ends without '/'."; - - throw new ArgumentException (msg, "uriPrefix"); - } + var root = uriPrefix.IndexOf ('/', host, len - host); if (uriPrefix[root - 1] == ':') { var msg = "No port is specified.";