on master help sign in
Binary encode versions differently to account for 0.19.0
commite408569d5471acad7f057fadec9d9a6fa788f3e4 authorEvan Czaplicki <evancz@users.noreply.github.com> dateSun 24 Mar 2019, 15:45 (8 years ago) parentaf3bc72
1 file changed+7−8
compiler/src/Elm/Version.hs+7−8
compiler/src/Elm/Version.hs+7−8
@@ -16,7 +16,7 @@ module Elm.Version
1616
1717
1818import Prelude hiding (max)
19−import Control.Monad (liftM, liftM3)
19+import Control.Monad (liftM3)
2020import Data.Binary (Binary, get, put, getWord8, putWord8)
2121import qualified Data.Utf8 as Utf8
2222import qualified Data.Version as Version
@@ -147,21 +147,20 @@ encode version =
147147instance Binary Version where
148148 get =
149149 do word <- getWord8
150− if word == 0
150+ if word == 255
151151 then liftM3 Version get get get
152152 else
153− do minor <- liftM fromIntegral getWord8
154− patch <- liftM fromIntegral getWord8
155− return (Version (fromIntegral word) minor patch)
153+ do minor <- getWord8
154+ patch <- getWord8
155+ return (Version (fromIntegral word) (fromIntegral minor) (fromIntegral patch))
156156
157157 put (Version major minor patch) =
158− if major < 256 && minor < 256 && patch < 256 then
158+ if major < 255 && minor < 256 && patch < 256 then
159159 do putWord8 (fromIntegral major)
160160 putWord8 (fromIntegral minor)
161161 putWord8 (fromIntegral patch)
162162 else
163− do putWord8 0
163+ do putWord8 255
164164 put major
165165 put minor
166166 put patch
167−