Fix the type of wgencat
authorIan Lynagh <igloo@earth.li>
Thu, 29 Mar 2007 16:42:23 +0000 (16:42 +0000)
committerIan Lynagh <igloo@earth.li>
Thu, 29 Mar 2007 16:42:23 +0000 (16:42 +0000)
Data/Char.hs
GHC/Unicode.hs

index 64f8508..f770999 100644 (file)
@@ -76,7 +76,7 @@ import Prelude(Char,String)
 import Char
 import Ix
 import NHC.FFI (CInt)
-foreign import ccall unsafe "WCsubst.h u_gencat" wgencat :: CInt -> Int
+foreign import ccall unsafe "WCsubst.h u_gencat" wgencat :: CInt -> CInt
 #endif
 
 -- | Convert a single digit 'Char' to the corresponding 'Int'.  
@@ -135,7 +135,7 @@ data GeneralCategory
 -- | The Unicode general category of the character.
 generalCategory :: Char -> GeneralCategory
 #if defined(__GLASGOW_HASKELL__) || defined(__NHC__)
-generalCategory c = toEnum (wgencat (fromIntegral (ord c)))
+generalCategory c = toEnum $ fromIntegral $ wgencat $ fromIntegral $ ord c
 #endif
 #ifdef __HUGS__
 generalCategory c = toEnum (primUniGenCat c)
index e22fae5..0c0cc12 100644 (file)
@@ -182,7 +182,7 @@ foreign import ccall unsafe "u_towtitle"
   towtitle :: CInt -> CInt
 
 foreign import ccall unsafe "u_gencat"
-  wgencat :: CInt -> Int
+  wgencat :: CInt -> CInt
 
 -- -----------------------------------------------------------------------------
 -- No libunicode, so fall back to the ASCII-only implementation (never used, indeed)