on master help sign in
Fix bug in multi-line string parser
c84d2f5Evan Czaplicki
src/Parse/Primitives/Utf8.hs+1−8
@@ -9,7 +9,6 @@ module Parse.Primitives.Utf8
9
9
10import Prelude hiding (length)
10import Prelude hiding (length)
11import Data.Bits
11import Data.Bits
12−--import qualified Data.ByteString as B
13import qualified Data.ByteString.Internal as B
12import qualified Data.ByteString.Internal as B
14import qualified Data.ByteString.UTF8 as Utf8
13import qualified Data.ByteString.UTF8 as Utf8
15import qualified Data.Char as Char
14import qualified Data.Char as Char
@@ -19,12 +18,6 @@ import qualified Data.Text.Encoding as Text
19import qualified Data.Text.Lazy as LText
18import qualified Data.Text.Lazy as LText
20import qualified Data.Text.Lazy.Builder as Text
19import qualified Data.Text.Lazy.Builder as Text
21import Foreign.ForeignPtr (ForeignPtr)
20import Foreign.ForeignPtr (ForeignPtr)
22−--import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
23−--import Foreign.Ptr (plusPtr)
24−--import GHC.IO (stToIO, unsafeDupablePerformIO)
25−--import GHC.Exts (Int(I#), Ptr(Ptr))
26−--import qualified GHC.Prim as Prim
27−--import GHC.ST (ST(ST))
28import GHC.Word (Word8(..))
21import GHC.Word (Word8(..))
29
22
30import Parse.Primitives.Internals (Parser(..), State(..), noError)
23import Parse.Primitives.Internals (Parser(..), State(..), noError)
@@ -251,7 +244,7 @@ multiString fp offset terminal row col initialOffset builder =
251
244
252 else
245 else
253 let !newOffset = offset + I.getCharWidth fp offset terminal word in
246 let !newOffset = offset + I.getCharWidth fp offset terminal word in
254− multiString fp newOffset terminal row (col + 1) newOffset builder
247+ multiString fp newOffset terminal row (col + 1) initialOffset builder
255
248
256
249
257
250