Переглянути джерело

Fixed type-checking compile error

Former code would not compile on Xcode 9.1 / Swift 4
Tom Daniel D 8 роки тому
батько
коміт
6077e87eb2
1 змінених файлів з 10 додано та 10 видалено
  1. 10 10
      Sources/WebSockets.swift

+ 10 - 10
Sources/WebSockets.swift

@@ -242,19 +242,19 @@ public class WebSocketSession: Hashable, Equatable  {
         }
         var len = UInt64(sec & 0x7F)
         if len == 0x7E {
-            let b0 = UInt64(try socket.read())
+            let b0 = UInt64(try socket.read() << 8)
             let b1 = UInt64(try socket.read())
-            len = UInt64(littleEndian: b0 << 8 | b1)
+            len = UInt64(littleEndian: b0 | b1)
         } else if len == 0x7F {
-            let b0 = UInt64(try socket.read())
-            let b1 = UInt64(try socket.read())
-            let b2 = UInt64(try socket.read())
-            let b3 = UInt64(try socket.read())
-            let b4 = UInt64(try socket.read())
-            let b5 = UInt64(try socket.read())
-            let b6 = UInt64(try socket.read())
+            let b0 = UInt64(try socket.read() << 54)
+            let b1 = UInt64(try socket.read() << 48)
+            let b2 = UInt64(try socket.read() << 40)
+            let b3 = UInt64(try socket.read() << 32)
+            let b4 = UInt64(try socket.read() << 24)
+            let b5 = UInt64(try socket.read() << 16)
+            let b6 = UInt64(try socket.read() << 8)
             let b7 = UInt64(try socket.read())
-            len = UInt64(littleEndian: b0 << 54 | b1 << 48 | b2 << 40 | b3 << 32 | b4 << 24 | b5 << 16 | b6 << 8 | b7)
+            len = UInt64(littleEndian: b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7)
         }
         let mask = [try socket.read(), try socket.read(), try socket.read(), try socket.read()]
         for i in 0..<len {