regex-pcre 0.91 → 0.92
raw patch · 4 files changed
+9/−8 lines, 4 files
Files
- Text/Regex/PCRE.hs +1/−1
- Text/Regex/PCRE/ByteString.hs +5/−4
- Text/Regex/PCRE/ByteString/Lazy.hs +2/−2
- regex-pcre.cabal +1/−1
Text/Regex/PCRE.hs view
@@ -65,6 +65,6 @@ getVersion_Text_Regex_PCRE :: Version getVersion_Text_Regex_PCRE =- Version { versionBranch = [0,91]+ Version { versionBranch = [0,92] , versionTags = ["unstable"] }
Text/Regex/PCRE/ByteString.hs view
@@ -48,7 +48,7 @@ import Text.Regex.PCRE.Wrap -- all import Data.Array(Array,listArray) import Data.ByteString(ByteString)-import qualified Data.ByteString as B(empty,useAsCString,last,take,drop)+import qualified Data.ByteString as B(empty,useAsCString,last,take,drop,null) import qualified Data.ByteString.Base as B(unsafeUseAsCString,unsafeUseAsCStringLen) import System.IO.Unsafe(unsafePerformIO) import Text.Regex.Base.RegexLike(RegexContext(..),RegexMaker(..),RegexLike(..),MatchOffset,MatchLength)@@ -90,9 +90,10 @@ -> ByteString -- ^ The regular expression to compile -> IO (Either (MatchOffset,String) Regex) -- ^ Returns: the compiled regular expression compile c e pattern = do- let asCString = if (0==B.last pattern)- then B.unsafeUseAsCString- else B.useAsCString+ -- PCRE does not allow one to specify a length for the regular expression, it must by 0 terminated+ let asCString bs = if (not (B.null bs)) && (0==B.last bs)+ then B.unsafeUseAsCString bs+ else B.useAsCString bs asCString pattern (wrapCompile c e) -- ---------------------------------------------------------------------
Text/Regex/PCRE/ByteString/Lazy.hs view
@@ -47,7 +47,7 @@ import Text.Regex.PCRE.Wrap -- all import Data.Array(Array)-import qualified Data.ByteString.Lazy as L(ByteString,toChunks,fromChunks,last,snoc)+import qualified Data.ByteString.Lazy as L(ByteString,toChunks,fromChunks,last,null,snoc) import qualified Data.ByteString as B(ByteString,concat) import qualified Data.ByteString.Base as B(unsafeUseAsCString,unsafeUseAsCStringLen) import System.IO.Unsafe(unsafePerformIO)@@ -74,7 +74,7 @@ {-# INLINE asCString #-} asCString :: L.ByteString -> (CString -> IO a) -> IO a-asCString s = if (0==L.last s)+asCString s = if (not (L.null s)) && (0==L.last s) then B.unsafeUseAsCString (fromLazy s) else B.unsafeUseAsCString (fromLazy (L.snoc s 0))
regex-pcre.cabal view
@@ -1,5 +1,5 @@ Name: regex-pcre-Version: 0.91+Version: 0.92 -- Cabal-Version: >=1.1.4 License: BSD3 License-File: LICENSE