Skip to content

Commit f11ceaa

Browse files
authored
Merge pull request #4 from ffaf1/magic-number
Improve “magic number” error
2 parents 25f18c4 + 722e01d commit f11ceaa

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/Data/Gettext/GmoFile.hs

+7-3
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ module Data.Gettext.GmoFile
1010
import Control.Monad
1111
import Data.Binary
1212
import Data.Binary.Get
13-
import qualified Data.ByteString.Lazy as L
1413
import Text.Printf
1514

15+
import qualified Data.ByteString.Lazy as L
16+
import qualified Numeric as N
17+
1618
-- | This structure describes the binary structure of Gettext @.mo/.gmo@ file.
1719
data GmoFile = GmoFile {
1820
fMagic :: Word32 -- ^ Magic number (must be @0x950412de@ or @0xde120495@)
@@ -38,8 +40,10 @@ parseGmo = do
3840
getWord32 <- case magic of
3941
0x950412de -> return getWord32le
4042
0xde120495 -> return getWord32be
41-
_ -> fail "Invalid magic number"
42-
43+
_ -> fail $ "parseGmo: Invalid magic number " <>
44+
"0x" <> N.showHex magic "" <>
45+
" (not an .mo file?)"
46+
4347
let getPair :: Get (Word32, Word32)
4448
getPair = do
4549
x <- getWord32

0 commit comments

Comments
 (0)