From a749a678382543a7ab39fcca097220ca983168d2 Mon Sep 17 00:00:00 2001 From: sta Date: Mon, 14 Sep 2015 12:07:37 +0900 Subject: [PATCH] [Modify] Polish it --- websocket-sharp/Ext.cs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 73e33ebb..a0975b49 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -142,24 +142,22 @@ namespace WebSocketSharp private static byte[] readBytes (this Stream stream, byte[] buffer, int offset, int count) { - var cnt = 0; + var nread = 0; try { - cnt = stream.Read (buffer, offset, count); - if (cnt < 1) - return buffer.SubArray (0, offset); - - while (cnt < count) { - var nread = stream.Read (buffer, offset + cnt, count - cnt); - if (nread < 1) + while (true) { + nread = stream.Read (buffer, offset, count); + if (nread == 0 || nread == count) break; - cnt += nread; + offset += nread; + count -= nread; } } catch { + nread = 0; } - return cnt < count ? buffer.SubArray (0, offset + cnt) : buffer; + return buffer.SubArray (0, offset + nread); } private static void readBytesAsync (