non-ASCII filepaths in a C function

Malcolm Wallace malcolm.wallace at me.com
Sat Jul 25 07:40:59 UTC 2015


I believe the native representation for FilePaths on Windows should be UTF16 strings.

Regards,
    Malcolm

> On 24 Jul 2015, at 22:52, Henning Thielemann <lemming at henning-thielemann.de> wrote:
> 
> 
> In my 'soxlib' package I have written a binding to
> 
> sox_format_t * sox_open_read(
>    char               const * path,
>    sox_signalinfo_t   const * signal,
>    sox_encodinginfo_t const * encoding,
>    char               const * filetype);
> 
> 
> I construct the C filepath "path" from a Haskell FilePath using Foreign.C.String.withCString. This works for ASCII and non-ASCII characters in Linux. However, non-ASCII characters let sox_open_read fail on Windows. What is the correct way to convert FilePath to "char *"?
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries


More information about the FFI mailing list