encoding and paths, again
Simon Marlow
marlowsd at gmail.com
Mon Nov 14 15:47:13 CET 2011
On 13/11/2011 19:41, Ganesh Sittampalam wrote:
> Hi,
>
> I'm not entirely clear on what the overall situation will be once Simon
> M's patch to add .ByteString versions to unix is added in GHC 7.4.1.
>
> In particular the original problem darcs ran into was with
> getDirectoryContents in the directory package. That in turn uses the
> unix package on Posix systems and another code path based on Win32 on
> Windows
> (http://hackage.haskell.org/packages/archive/directory/1.1.0.1/doc/html/src/System-Directory.html#getDirectoryContents)
>
> So a couple of questions:
>
> (1) Does Win32 need similar additions? I can't spot any substantial
> changes to it for Max's PEP383, but I'm not sure if any lower-level
> library changes might have affected it.
No - Win32 file paths cannot by definition contain invalid Unicode. The
existing Win32 library is fine.
> (2) What's the recommended way of doing the equivalent of
> getDirectoryContents for RawFilePath? Do we also need to add "raw"
> versins to the directory package?
getDirectoryContents :: RawFilePath -> IO [RawFilePath]
getDirectoryContents path = do
bracket
(Posix.openDirStream path)
Posix.closeDirStream
loop
where
loop dirp = do
e <- Posix.readDirStream dirp
if B.null e then return [] else do
es <- loop dirp
return (e:es)
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list