Support building with hinotify-0.3.10.
Kept backwards compat with old versions via a shim. This commit was sponsored by mo on Patreon.
This commit is contained in:
parent
2948f6d916
commit
7dc28dc705
3 changed files with 61 additions and 12 deletions
|
@ -12,6 +12,9 @@ module Utility.FileSystemEncoding (
|
|||
useFileSystemEncoding,
|
||||
fileEncoding,
|
||||
withFilePath,
|
||||
RawFilePath,
|
||||
fromRawFilePath,
|
||||
toRawFilePath,
|
||||
decodeBS,
|
||||
encodeBS,
|
||||
decodeW8,
|
||||
|
@ -32,6 +35,7 @@ import System.IO
|
|||
import System.IO.Unsafe
|
||||
import Data.Word
|
||||
import Data.List
|
||||
import qualified Data.ByteString as S
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
#ifdef mingw32_HOST_OS
|
||||
import qualified Data.ByteString.Lazy.UTF8 as L8
|
||||
|
@ -120,6 +124,22 @@ encodeBS = L.pack . decodeW8NUL
|
|||
encodeBS = L8.fromString
|
||||
#endif
|
||||
|
||||
{- Recent versions of the unix package have this alias; defined here
|
||||
- for backwards compatibility. -}
|
||||
type RawFilePath = S.ByteString
|
||||
|
||||
{- Note that the RawFilePath is assumed to never contain NUL,
|
||||
- since filename's don't. This should only be used with actual
|
||||
- RawFilePaths not arbitrary ByteString that may contain NUL. -}
|
||||
fromRawFilePath :: RawFilePath -> FilePath
|
||||
fromRawFilePath = encodeW8 . S.unpack
|
||||
|
||||
{- Note that the FilePath is assumed to never contain NUL,
|
||||
- since filename's don't. This should only be used with actual FilePaths
|
||||
- not arbitrary String that may contain NUL. -}
|
||||
toRawFilePath :: FilePath -> RawFilePath
|
||||
toRawFilePath = S.pack . decodeW8
|
||||
|
||||
{- Converts a [Word8] to a FilePath, encoding using the filesystem encoding.
|
||||
-
|
||||
- w82c produces a String, which may contain Chars that are invalid
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue