@@ -16,7 +16,7 @@ module Elm.Version
18import Prelude hiding (max)
18import Prelude hiding (max)
19−import Control.Monad (liftM, liftM3)
19+import Control.Monad (liftM3)
20import Data.Binary (Binary, get, put, getWord8, putWord8)
20import Data.Binary (Binary, get, put, getWord8, putWord8)
21import qualified Data.Utf8 as Utf8
21import qualified Data.Utf8 as Utf8
22import qualified Data.Version as Version
22import qualified Data.Version as Version
@@ -147,21 +147,20 @@ encode version =
147instance Binary Version where
147instance Binary Version where
149 do word <- getWord8
149 do word <- getWord8
150− if word == 0
150+ if word == 255
151 then liftM3 Version get get get
151 then liftM3 Version get get get
153− do minor <- liftM fromIntegral getWord8
153+ do minor <- getWord8
154− patch <- liftM fromIntegral getWord8
154+ patch <- getWord8
155− return (Version (fromIntegral word) minor patch)
155+ return (Version (fromIntegral word) (fromIntegral minor) (fromIntegral patch))
157 put (Version major minor patch) =
157 put (Version major minor patch) =
158− if major < 256 && minor < 256 && patch < 256 then
158+ if major < 255 && minor < 256 && patch < 256 then
159 do putWord8 (fromIntegral major)
159 do putWord8 (fromIntegral major)
160 putWord8 (fromIntegral minor)
160 putWord8 (fromIntegral minor)
161 putWord8 (fromIntegral patch)
161 putWord8 (fromIntegral patch)
163− do putWord8 0
163+ do putWord8 255
164 put major
164 put major
165 put minor
165 put minor
166 put patch
166 put patch