Re: non-ASCII filepaths in a C function

Malcolm Wallace <[email protected]> Sat, 25 Jul 2015 08:40:59 +0100
Newsgroups gmane.comp.lang.haskell.libraries,gmane.comp.lang.haskell.ffi
Message-ID <[email protected]>
I believe the native representation for FilePaths on Windows should be UTF16 strings.

Regards,
    Malcolm

> On 24 Jul 2015, at 22:52, Henning Thielemann <[email protected]> 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
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries