Skip to content

Just (before,_,_,_) in Text.Regex.Posix.regexec is to short.

6677 kleising@whale:~> ghci
....
Prelude> :m Text.Regex.Posix 
Prelude Text.Regex.Posix> reg <- regcomp "ab" 0
Prelude Text.Regex.Posix> s <- regexec "ccab"
Prelude Text.Regex.Posix> s <- regexec reg "ccab"
Prelude Text.Regex.Posix> s
Just ("c","ab","",[])
-----------------------------
in my opinion, this call has to return 
Just ("cc","ab","",[]).



Sourcecode:
--------------------------------
matched_parts :: String -> Ptr CRegMatch -> IO (String,
String, String)
matched_parts string p_match = do
  start <- (#peek regmatch_t, rm_so) p_match :: IO CInt
  end   <- (#peek regmatch_t, rm_eo) p_match :: IO CInt
  let s = fromIntegral start; e = fromIntegral end
  return ( take (s-1) string, 
	   take (e-s) (drop s string),
	   drop e string )  
-----------------------------------

return ( take (s) string, 
instead of 
return ( take (s-1) string,

????


e-mail:
kleising@fmi.uni-passau.de
Trac metadata
Trac field Value
Version None
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution ResolvedFixed
Component hslibs/posix
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information