mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-24 18:08:54 +02:00
Make also the g_spawn*() functions take parameters in the GLib file name
2005-08-25 Tor Lillqvist <tml@novell.com> Make also the g_spawn*() functions take parameters in the GLib file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix API or ABI. Like the other GLib API that was earlier changed to use UTF-8 on Windows, the names of the functions that take UTF-8 have _utf8 suffixes added by using preprocessor macros in the header file. The old names are kept for functions with the old behaviour, taking parameters in the system codepage, for DLL ABI stability. * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the g_spawn*() functions. * glib/gspawn-win32.c: Use wide-char API on NT-based Windows. Convert parameters from UTF-8 to wide chars (NT) or system codepage (Win9x) and call the C library _wspawn*() or spawn*() functions respectvely. Add DLL ABI stability versions that take parameters in the system codepage. * glib/gspawn-win32-helper.c: On NT-based Windows use the wide-char versions of argv and envp, and use wide-char API to change directory and spawn the program to run. Remove the verbose debugging output, it was too complex to modify for the wide-char features. (Just add temporary debugging printouts if needed, no need to have them permanently in the source.) * glib/gspawn.c: Corresponding documentation updates. * glib/glib.symbols: Corresponding changes: Mark the ABI stability symbols as PRIVATE, add the new _utf8-suffixed ones.
This commit is contained in:
committed by
Tor Lillqvist
parent
2982892d98
commit
41e833ae4c
@@ -71,6 +71,14 @@ typedef enum
|
||||
|
||||
GQuark g_spawn_error_quark (void);
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
#define g_spawn_async g_spawn_async_utf8
|
||||
#define g_spawn_async_with_pipes g_spawn_async_with_pipes_utf8
|
||||
#define g_spawn_sync g_spawn_sync_utf8
|
||||
#define g_spawn_command_line_sync g_spawn_command_line_sync_utf8
|
||||
#define g_spawn_command_line_async g_spawn_command_line_async_utf8
|
||||
#endif
|
||||
|
||||
gboolean g_spawn_async (const gchar *working_directory,
|
||||
gchar **argv,
|
||||
gchar **envp,
|
||||
|
Reference in New Issue
Block a user