gameServer/Utils.hs
changeset 2952 18fada739b55
parent 2867 9be6693c78cb
child 3297 0c59b991007e
--- a/gameServer/Utils.hs	Sat Mar 06 13:39:50 2010 +0000
+++ b/gameServer/Utils.hs	Sat Mar 06 13:40:40 2010 +0000
@@ -16,7 +16,8 @@
 import Maybe
 -------------------------------------------------
 import qualified Codec.Binary.Base64 as Base64
-import qualified Codec.Binary.UTF8.String as UTF8
+import qualified Data.ByteString.UTF8 as BUTF8
+import qualified Data.ByteString as B
 import CoreTypes
 
 
@@ -28,9 +29,9 @@
         $ concatMap (\n -> (\(a, b) -> [showHex a, showHex b]) $ divMod n 65536) [a, b, c, d]) []
 
 toEngineMsg :: String -> String
-toEngineMsg msg = Base64.encode (fromIntegral (length encodedMsg) : encodedMsg)
+toEngineMsg msg = Base64.encode (fromIntegral (B.length encodedMsg) : (B.unpack encodedMsg))
     where
-    encodedMsg = UTF8.encode msg
+    encodedMsg = BUTF8.fromString msg
 
 fromEngineMsg :: String -> Maybe String
 fromEngineMsg msg = liftM (map w2c) (Base64.decode msg >>= removeLength)