{-# LANGUAGE CPP #-} {-# LANGUAGE Trustworthy #-} -- | -- Module : Compat -- License : BSD-3 -- Maintainer : Herbert Valerio Riedel <hvr@gnu.org> -- Stability : stable -- -- Compat layer to reduce code exposure to CPP to a bare minimum -- module Compat (constructBS) where import Foreign.ForeignPtr (ForeignPtr) import Data.Word (Word8) import Data.ByteString.Internal (ByteString (..)) -- | Directly construct a 'ByteString', unsafely constructBS :: ForeignPtr Word8 -> Int -> ByteString #if MIN_VERSION_bytestring(0,11,0) constructBS :: ForeignPtr Word8 -> Int -> ByteString constructBS = ForeignPtr Word8 -> Int -> ByteString BS #else constructBS = \fp -> PS fp 0 #endif