Skip to content

Commit bafaff2

Browse files
authored
Merge pull request #107 from palas/wasm-patch
Fix `partialiseWord64` for architectures with 32 bit `csize`
2 parents fb2a9fe + c39efe6 commit bafaff2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

fs-sim/src/System/FS/Sim/Error.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,13 @@ import qualified Data.ByteString as BS
4747
import qualified Data.ByteString.Char8 as C8
4848
import qualified Data.ByteString.Lazy as BL
4949
import qualified Data.ByteString.Lazy.Char8 as LC8
50-
import Data.Coerce (coerce)
5150
import Data.Foldable (for_)
5251
import Data.List (intercalate)
5352
import qualified Data.List as List
5453
import Data.Maybe (catMaybes)
5554
import Data.Primitive.ByteArray
5655
import Data.String (IsString (..))
5756
import Data.Word (Word64)
58-
import Foreign.C.Types
5957
import Prelude hiding (null)
6058
import SafeWildCards
6159
import System.Posix.Types
@@ -130,7 +128,10 @@ partialiseByteCount (Partial p) c
130128

131129
-- | Like 'partialiseByteCount', but for 'Word64'.
132130
partialiseWord64 :: Partial -> Word64 -> Word64
133-
partialiseWord64 = coerce partialiseByteCount
131+
partialiseWord64 (Partial p) c
132+
| 0 <- c = c
133+
| p >= c = 1
134+
| otherwise = c - p
134135

135136
-- | Given a bytestring that is requested to be written to disk, use
136137
-- 'partialiseByteCount' to compute a partial bytestring.

0 commit comments

Comments
 (0)