From dc7c8f0e2c52f5cf8b421ada143f3dfd1fdf9754 Mon Sep 17 00:00:00 2001 From: sta Date: Wed, 14 Nov 2018 19:58:45 +0900 Subject: [PATCH] [Modify] Polish it --- websocket-sharp/Net/HttpUtility.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/websocket-sharp/Net/HttpUtility.cs b/websocket-sharp/Net/HttpUtility.cs index bd032148..ddc47a30 100644 --- a/websocket-sharp/Net/HttpUtility.cs +++ b/websocket-sharp/Net/HttpUtility.cs @@ -516,19 +516,29 @@ namespace WebSocketSharp.Net var end = offset + count - 1; for (var i = offset; i <= end; i++) { var b = bytes[i]; - if (b == '%') { + + var c = (char) b; + if (c == '%') { if (i > end - 2) { buff.Write (bytes, i, end - i + 1); break; } - urlDecode (bytes, i, buff); + var num = getNumber (bytes, i + 1, 2); + if (num == -1) { + buff.Write (bytes, i, 3); + i += 2; + + continue; + } + + buff.WriteByte ((byte) num); i += 2; continue; } - if (b == '+') { + if (c == '+') { buff.WriteByte ((byte) ' '); continue; }