text / Data / Text / UnsafeChar.hs

The default branch has multiple heads

Diff from to


 unsafeChr32 (W32# w#) = C# (chr# (word2Int# w#))
 {-# INLINE unsafeChr32 #-}
+-- | Write a character into the array at the given offset.  Returns
+-- the number of 'Word16's written.
 unsafeWrite :: A.MArray s -> Int -> Char -> ST s Int
 unsafeWrite marr i c
     | n < 0x10000 = do
         assert (i >= 0) . assert (i < A.length marr) $ return ()
         A.unsafeWrite marr i (fromIntegral n)
-        return $! i+1
+        return 1
     | otherwise = do
 #if defined(ASSERTS)
         assert (i >= 0) . assert (i < A.length marr - 1) $ return ()
         A.unsafeWrite marr i lo
         A.unsafeWrite marr (i+1) hi
-        return $! i+2
+        return 2
     where n = ord c
           m = n - 0x10000
           lo = fromIntegral $ (m `shiftR` 10) + 0xD800
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.