blob: 2b4181929f609f264c16f181a53e527c50cc4d95 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
diff --git a/Text/Regex/PCRE/Light.hs b/Text/Regex/PCRE/Light.hs
index 80c28a0..7fc9581 100644
--- a/Text/Regex/PCRE/Light.hs
+++ b/Text/Regex/PCRE/Light.hs
@@ -77,6 +77,7 @@ import qualified Data.ByteString as S
#if __GLASGOW_HASKELL__ >= 608
import qualified Data.ByteString.Internal as S
import qualified Data.ByteString.Unsafe as S
+import qualified System.IO.Unsafe as U
#else
import qualified Data.ByteString.Base as S
#endif
@@ -193,7 +194,7 @@ compile s o = case compileM s o of
-- > Left "nothing to repeat"
--
compileM :: S.ByteString -> [PCREOption] -> Either String Regex
-compileM str os = unsafePerformIO $
+compileM str os = U.unsafePerformIO $
S.useAsCString str $ \pattern -> do
alloca $ \errptr -> do
alloca $ \erroffset -> do
@@ -263,7 +264,7 @@ compileM str os = unsafePerformIO $
-- is returned.
--
match :: Regex -> S.ByteString -> [PCREExecOption] -> Maybe [S.ByteString]
-match (Regex pcre_fp _) subject os = unsafePerformIO $ do
+match (Regex pcre_fp _) subject os = U.unsafePerformIO $ do
withForeignPtr pcre_fp $ \pcre_ptr -> do
n_capt <- captureCount' pcre_ptr
@@ -324,7 +325,7 @@ match (Regex pcre_fp _) subject os = unsafePerformIO $ do
captureCount :: Regex -> Int
-captureCount (Regex pcre_fp _) = unsafePerformIO $ do
+captureCount (Regex pcre_fp _) = U.unsafePerformIO $ do
withForeignPtr pcre_fp $ \pcre_ptr -> do
captureCount' pcre_ptr
|