[M3devel] g_open, GLib wrapper for open()

Dragiša Durić dragisha at m3w.org
Sun Jun 17 20:36:02 CEST 2012


From doc:
===
 There is a group of functions which wrap the common POSIX functions dealing with filenames (g_open(), g_rename(), g_mkdir(), g_stat(), g_unlink(), g_remove(), g_fopen(), g_freopen()). The point of these wrappers is to make it possible to handle file names with any Unicode characters in them on Windows without having to use ifdefs and the wide character API in the application code.

The pathname argument should be in the GLib file name encoding. On POSIX this is the actual on-disk encoding which might correspond to the locale settings of the process (or the G_FILENAME_ENCODING environment variable), or not.

On Windows the GLib file name encoding is UTF-8. Note that the Microsoft C library does not use UTF-8, but has separate APIs for current system code page and wide characters (UTF-16). The GLib wrappers call the wide character API if present (on modern Windows systems), otherwise convert to/from the system code page.
===
Template for g_open is:

int         g_open                          (const gchar *filename,
                                             int flags,
                                             int mode);
Obviously, I need FilePosix.i3 and descendants, but under Windows… Anyone met/solved this?

TIA,
dd

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120617/e7d8c2d3/attachment-0001.html>


More information about the M3devel mailing list