expose strlen from Foreign.C.String
Viktor Dukhovni
ietf-dane at dukhovni.org
Thu Jan 21 04:02:20 UTC 2021
> On Jan 21, 2021, at 1:39 AM, chessai <chessai1996 at gmail.com> wrote:
>> On Wed, Jan 20, 2021, 17:01 Viktor Dukhovni <ietf-dane at dukhovni.org> wrote:
>>> On Wed, Jan 20, 2021 at 09:54:30AM -0800, chessai wrote:
>>>
>>> I've wanted the following before:
>>>
>>> foreign import ccall unsafe "strlen"
>>> cstringLength# :: Addr# -> Int#
>>>
>>> cstringLength :: CString -> Int
>>> cstringLength (Ptr s) = I# (cstringLength# s)
>>>
>>> A natural place for this seems to be Foreign.C.String.
>>
>> Why a new FFI call, rather than `cstringLength#` from ghc-prim: GHC.CString
>> (as of GHC 9.0.1):
>
> I forgot about that addition. In that case we would just need the lifted wrapper
No worries, sure the lifted wrapper makes sense, and Foreign.C.String does
look like a reasonable place in which to define, and from which to export it.
--
Viktor.
More information about the Libraries
mailing list