on master help sign in
Fix asserts for iter.

--HG-- extra : convert_revision : fb6653eb7348d265a8873b00d34f7b6b29776bc8

commit2f7e3897ba3d92b7b199d712a62729b804f7973b authorBryan O'Sullivan <bos@serpentine.com> dateThu 12 Feb 2009, 08:40 (18 years ago) parent9c7690f
1 file changed+4−4
Data/Text/Unsafe.hs+4−4
Data/Text/Unsafe.hs+4−4
@@ -50,10 +50,10 @@ iter :: Text -> Int -> (Char,Int)
5050iter (Text arr off len) i
5151 | m < 0xD800 || m > 0xDBFF = (unsafeChr m, 1)
5252 | otherwise = (chr2 m n, 2)
53− where m = assert (i < len) $ A.unsafeIndex arr j
54− n = assert (j < len) $ A.unsafeIndex arr k
55− j = off + i
56− k = j + 1
53+ where m = assert (i < len) $ A.unsafeIndex arr j
54+ n = assert (i + 1 < len) $ A.unsafeIndex arr k
55+ j = assert (i >= 0) $ off + i
56+ k = j + 1
5757{-# INLINE iter #-}
5858
5959-- | /O(1)/ Iterate one step through a UTF-16 array, returning the