win32: re-fix the _utf8 compat function situation
authorDan Winship <danw@gnome.org>
Thu, 15 Nov 2012 23:18:54 +0000 (18:18 -0500)
committerDan Winship <danw@gnome.org>
Fri, 16 Nov 2012 13:22:06 +0000 (08:22 -0500)
The previous fix didn't work, because every place within glib that
used any of the functions also needed to be including win32compat.h.

So, move the prototypes back to their original headers (but at least
all in one place at the bottom).

https://bugzilla.gnome.org/show_bug.cgi?id=688109

14 files changed:
docs/reference/glib/Makefile.am
glib/Makefile.am
glib/gconvert.c
glib/gconvert.h
glib/gdir.c
glib/gdir.h
glib/genviron.h
glib/gfileutils.h
glib/giochannel.h
glib/glib.h
glib/gspawn.h
glib/gutils.h
glib/gwin32.h
glib/gwin32compat.h [deleted file]

index b27f8c9..54918c8 100644 (file)
@@ -51,8 +51,7 @@ IGNORE_HFILES = \
        gvariant-serialiser.h   \
        gvariant-core.h         \
        gvarianttypeinfo.h      \
-       gwakeup.h               \
-       gwin32compat.h
+       gwakeup.h
 
 # Images to copy into HTML directory
 HTML_IMAGES =                                  \
index 042eac9..3168b1a 100644 (file)
@@ -325,7 +325,6 @@ glibsubinclude_HEADERS = \
        gversion.h      \
        gversionmacros.h \
        gwin32.h        \
-       gwin32compat.h  \
        gprintf.h
 
 # This is read by gobject-introspection/misc/ and gtk-doc
index c73a80c..f189c24 100644 (file)
@@ -57,7 +57,6 @@
 #endif
 
 #include "glibintl.h"
-#include "gwin32compat.h"
 
 #if defined(USE_LIBICONV_GNU) && !defined (_LIBICONV_H)
 #error GNU libiconv in use but included iconv.h not from libiconv
index d8da997..e85556e 100644 (file)
@@ -150,6 +150,30 @@ gchar *g_filename_display_basename (const gchar *filename) G_GNUC_MALLOC;
 
 gchar **g_uri_list_extract_uris (const gchar *uri_list) G_GNUC_MALLOC;
 
+#ifdef G_OS_WIN32
+#define g_filename_to_utf8   g_filename_to_utf8_utf8
+#define g_filename_from_utf8 g_filename_from_utf8_utf8
+#define g_filename_from_uri  g_filename_from_uri_utf8
+#define g_filename_to_uri    g_filename_to_uri_utf8
+
+gchar* g_filename_to_utf8_utf8   (const gchar  *opsysstring,
+                                  gssize        len,
+                                  gsize        *bytes_read,
+                                  gsize        *bytes_written,
+                                  GError      **error) G_GNUC_MALLOC;
+gchar* g_filename_from_utf8_utf8 (const gchar  *utf8string,
+                                  gssize        len,
+                                  gsize        *bytes_read,
+                                  gsize        *bytes_written,
+                                  GError      **error) G_GNUC_MALLOC;
+gchar *g_filename_from_uri_utf8  (const gchar  *uri,
+                                  gchar       **hostname,
+                                  GError      **error) G_GNUC_MALLOC;
+gchar *g_filename_to_uri_utf8    (const gchar  *filename,
+                                  const gchar  *hostname,
+                                  GError      **error) G_GNUC_MALLOC;
+#endif
+
 G_END_DECLS
 
 #endif /* __G_CONVERT_H__ */
index e04e63b..0c304f6 100644 (file)
@@ -41,7 +41,6 @@
 #include "gstrfuncs.h"
 #include "gtestutils.h"
 #include "glibintl.h"
-#include "gwin32compat.h"
 
 #if defined (_MSC_VER) && !defined (HAVE_DIRENT_H)
 #include "../build/win32/dirent/dirent.h"
index 8cdcd1d..2e734ac 100644 (file)
@@ -41,6 +41,16 @@ const gchar *            g_dir_read_name      (GDir         *dir);
 void                     g_dir_rewind         (GDir         *dir);
 void                     g_dir_close          (GDir         *dir);
 
+#ifdef G_OS_WIN32
+#define g_dir_open      g_dir_open_utf8
+#define g_dir_read_name g_dir_read_name_utf8
+
+GDir        *g_dir_open_utf8      (const gchar  *path,
+                                   guint         flags,
+                                   GError      **error);
+const gchar *g_dir_read_name_utf8 (GDir         *dir);
+#endif /* G_OS_WIN32 */
+
 G_END_DECLS
 
 #endif /* __G_DIR_H__ */
index dc6737b..2f23b58 100644 (file)
@@ -52,6 +52,18 @@ gchar **      g_environ_setenv   (gchar       **envp,
 gchar **      g_environ_unsetenv (gchar       **envp,
                                   const gchar  *variable) G_GNUC_WARN_UNUSED_RESULT;
 
+#ifdef G_OS_WIN32
+#define g_getenv   g_getenv_utf8
+#define g_setenv   g_setenv_utf8
+#define g_unsetenv g_unsetenv_utf8
+
+const gchar *g_getenv_utf8   (const gchar  *variable);
+gboolean     g_setenv_utf8   (const gchar  *variable,
+                              const gchar  *value,
+                              gboolean      overwrite);
+void         g_unsetenv_utf8 (const gchar  *variable);
+#endif
+
 G_END_DECLS
 
 #endif /* __G_ENVIRON_H__ */
index 2a86a92..17b2acb 100644 (file)
@@ -159,6 +159,26 @@ gchar *g_get_current_dir   (void);
 gchar *g_path_get_basename (const gchar *file_name) G_GNUC_MALLOC;
 gchar *g_path_get_dirname  (const gchar *file_name) G_GNUC_MALLOC;
 
+#ifdef G_OS_WIN32
+#define g_file_test         g_file_test_utf8
+#define g_file_get_contents g_file_get_contents_utf8
+#define g_mkstemp           g_mkstemp_utf8
+#define g_file_open_tmp     g_file_open_tmp_utf8
+#define g_get_current_dir   g_get_current_dir_utf8
+
+gboolean g_file_test_utf8         (const gchar  *filename,
+                                   GFileTest     test);
+gboolean g_file_get_contents_utf8 (const gchar  *filename,
+                                   gchar       **contents,
+                                   gsize        *length,
+                                   GError      **error);
+gint     g_mkstemp_utf8           (gchar        *tmpl);
+gint     g_file_open_tmp_utf8     (const gchar  *tmpl,
+                                   gchar       **name_used,
+                                   GError      **error);
+gchar   *g_get_current_dir_utf8   (void);
+#endif /* G_OS_WIN32 */
+
 G_END_DECLS
 
 #endif /* __G_FILEUTILS_H__ */
index b8f11ff..013ee19 100644 (file)
@@ -371,6 +371,14 @@ void        g_io_channel_win32_set_debug (GIOChannel *channel,
 
 #endif
 
+#ifdef G_OS_WIN32
+#define g_io_channel_new_file g_io_channel_new_file_utf8
+
+GIOChannel *g_io_channel_new_file_utf8 (const gchar  *filename,
+                                        const gchar  *mode,
+                                        GError      **error);
+#endif
+
 G_END_DECLS
 
 #endif /* __G_IOCHANNEL_H__ */
index 71fe358..77abf23 100644 (file)
 #include <glib/deprecated/grel.h>
 #include <glib/deprecated/gthread.h>
 
-#ifdef G_OS_WIN32
-#include <glib/gwin32compat.h>
-#endif
-
 #undef __GLIB_H_INSIDE__
 
 #endif /* __G_LIB_H__ */
index 1cf201e..3145641 100644 (file)
@@ -241,6 +241,52 @@ gboolean g_spawn_check_exit_status (gint      exit_status,
 
 void g_spawn_close_pid (GPid pid);
 
+#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
+
+gboolean g_spawn_async_utf8              (const gchar           *working_directory,
+                                          gchar                **argv,
+                                          gchar                **envp,
+                                          GSpawnFlags            flags,
+                                          GSpawnChildSetupFunc   child_setup,
+                                          gpointer               user_data,
+                                          GPid                  *child_pid,
+                                          GError               **error);
+gboolean g_spawn_async_with_pipes_utf8   (const gchar           *working_directory,
+                                          gchar                **argv,
+                                          gchar                **envp,
+                                          GSpawnFlags            flags,
+                                          GSpawnChildSetupFunc   child_setup,
+                                          gpointer               user_data,
+                                          GPid                  *child_pid,
+                                          gint                  *standard_input,
+                                          gint                  *standard_output,
+                                          gint                  *standard_error,
+                                          GError               **error);
+gboolean g_spawn_sync_utf8               (const gchar           *working_directory,
+                                          gchar                **argv,
+                                          gchar                **envp,
+                                          GSpawnFlags            flags,
+                                          GSpawnChildSetupFunc   child_setup,
+                                          gpointer               user_data,
+                                          gchar                **standard_output,
+                                          gchar                **standard_error,
+                                          gint                  *exit_status,
+                                          GError               **error);
+
+gboolean g_spawn_command_line_sync_utf8  (const gchar           *command_line,
+                                          gchar                **standard_output,
+                                          gchar                **standard_error,
+                                          gint                  *exit_status,
+                                          GError               **error);
+gboolean g_spawn_command_line_async_utf8 (const gchar           *command_line,
+                                          GError               **error);
+#endif
+
 G_END_DECLS
 
 #endif /* __G_SPAWN_H__ */
index da92654..c256800 100644 (file)
@@ -358,4 +358,18 @@ DllMain (HINSTANCE hinstDLL,                                               \
 
 #endif /* G_PLATFORM_WIN32 */
 
+#ifdef G_OS_WIN32
+#define g_get_user_name        g_get_user_name_utf8
+#define g_get_real_name        g_get_real_name_utf8
+#define g_get_home_dir         g_get_home_dir_utf8
+#define g_get_tmp_dir          g_get_tmp_dir_utf8
+#define g_find_program_in_path g_find_program_in_path_utf8
+
+const gchar *g_get_user_name_utf8        (void);
+const gchar *g_get_real_name_utf8        (void);
+const gchar *g_get_home_dir_utf8         (void);
+const gchar *g_get_tmp_dir_utf8          (void);
+gchar       *g_find_program_in_path_utf8 (const gchar *program);
+#endif
+
 #endif /* __G_UTILS_H__ */
index 7771b04..03a1f11 100644 (file)
@@ -108,4 +108,18 @@ G_END_DECLS
 
 #endif  /* G_PLATFORM_WIN32 */
 
+#ifdef G_OS_WIN32
+#ifdef _WIN64
+#define g_win32_get_package_installation_directory g_win32_get_package_installation_directory_utf8
+#define g_win32_get_package_installation_subdirectory g_win32_get_package_installation_subdirectory_utf8
+#endif
+
+gchar *g_win32_get_package_installation_directory_utf8    (const gchar *package,
+                                                           const gchar *dll_name);
+gchar *g_win32_get_package_installation_subdirectory_utf8 (const gchar *package,
+                                                           const gchar *dll_name,
+                                                           const gchar *subdir);
+
+#endif /* G_OS_WIN32 */
+
 #endif /* __G_WIN32_H__ */
diff --git a/glib/gwin32compat.h b/glib/gwin32compat.h
deleted file mode 100644 (file)
index 83edf39..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 2012 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
-#error "Only <glib.h> can be included directly."
-#endif
-
-#ifndef __G_WIN32COMPAT_H__
-#define __G_WIN32COMPAT_H__
-
-#include <glib/gtypes.h>
-#include <glib/gdir.h>
-#include <glib/giochannel.h>
-#include <glib/gspawn.h>
-
-G_BEGIN_DECLS
-
-#ifdef G_OS_WIN32
-
-#define g_filename_to_utf8   g_filename_to_utf8_utf8
-#define g_filename_from_utf8 g_filename_from_utf8_utf8
-#define g_filename_from_uri  g_filename_from_uri_utf8
-#define g_filename_to_uri    g_filename_to_uri_utf8
-
-gchar* g_filename_to_utf8_utf8   (const gchar  *opsysstring,
-                                  gssize        len,
-                                  gsize        *bytes_read,
-                                  gsize        *bytes_written,
-                                  GError      **error) G_GNUC_MALLOC;
-gchar* g_filename_from_utf8_utf8 (const gchar  *utf8string,
-                                  gssize        len,
-                                  gsize        *bytes_read,
-                                  gsize        *bytes_written,
-                                  GError      **error) G_GNUC_MALLOC;
-gchar *g_filename_from_uri_utf8  (const gchar  *uri,
-                                  gchar       **hostname,
-                                  GError      **error) G_GNUC_MALLOC;
-gchar *g_filename_to_uri_utf8    (const gchar  *filename,
-                                  const gchar  *hostname,
-                                  GError      **error) G_GNUC_MALLOC;
-
-
-#define g_dir_open      g_dir_open_utf8
-#define g_dir_read_name g_dir_read_name_utf8
-
-GDir        *g_dir_open_utf8      (const gchar  *path,
-                                   guint         flags,
-                                   GError      **error);
-const gchar *g_dir_read_name_utf8 (GDir         *dir);
-
-
-#define g_getenv   g_getenv_utf8
-#define g_setenv   g_setenv_utf8
-#define g_unsetenv g_unsetenv_utf8
-
-const gchar *g_getenv_utf8   (const gchar  *variable);
-gboolean     g_setenv_utf8   (const gchar  *variable,
-                              const gchar  *value,
-                              gboolean      overwrite);
-void         g_unsetenv_utf8 (const gchar  *variable);
-
-
-#define g_file_test         g_file_test_utf8
-#define g_file_get_contents g_file_get_contents_utf8
-#define g_mkstemp           g_mkstemp_utf8
-#define g_file_open_tmp     g_file_open_tmp_utf8
-#define g_get_current_dir   g_get_current_dir_utf8
-
-gboolean g_file_test_utf8         (const gchar  *filename,
-                                   GFileTest     test);
-gboolean g_file_get_contents_utf8 (const gchar  *filename,
-                                   gchar       **contents,
-                                   gsize        *length,
-                                   GError      **error);
-gint     g_mkstemp_utf8           (gchar        *tmpl);
-gint     g_file_open_tmp_utf8     (const gchar  *tmpl,
-                                   gchar       **name_used,
-                                   GError      **error);
-gchar   *g_get_current_dir_utf8   (void);
-
-
-#define g_io_channel_new_file g_io_channel_new_file_utf8
-
-GIOChannel *g_io_channel_new_file_utf8 (const gchar  *filename,
-                                        const gchar  *mode,
-                                        GError      **error);
-
-
-#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
-
-gboolean g_spawn_async_utf8              (const gchar           *working_directory,
-                                          gchar                **argv,
-                                          gchar                **envp,
-                                          GSpawnFlags            flags,
-                                          GSpawnChildSetupFunc   child_setup,
-                                          gpointer               user_data,
-                                          GPid                  *child_pid,
-                                          GError               **error);
-gboolean g_spawn_async_with_pipes_utf8   (const gchar           *working_directory,
-                                          gchar                **argv,
-                                          gchar                **envp,
-                                          GSpawnFlags            flags,
-                                          GSpawnChildSetupFunc   child_setup,
-                                          gpointer               user_data,
-                                          GPid                  *child_pid,
-                                          gint                  *standard_input,
-                                          gint                  *standard_output,
-                                          gint                  *standard_error,
-                                          GError               **error);
-gboolean g_spawn_sync_utf8               (const gchar           *working_directory,
-                                          gchar                **argv,
-                                          gchar                **envp,
-                                          GSpawnFlags            flags,
-                                          GSpawnChildSetupFunc   child_setup,
-                                          gpointer               user_data,
-                                          gchar                **standard_output,
-                                          gchar                **standard_error,
-                                          gint                  *exit_status,
-                                          GError               **error);
-
-gboolean g_spawn_command_line_sync_utf8  (const gchar           *command_line,
-                                          gchar                **standard_output,
-                                          gchar                **standard_error,
-                                          gint                  *exit_status,
-                                          GError               **error);
-gboolean g_spawn_command_line_async_utf8 (const gchar           *command_line,
-                                          GError               **error);
-
-
-#define g_get_user_name        g_get_user_name_utf8
-#define g_get_real_name        g_get_real_name_utf8
-#define g_get_home_dir         g_get_home_dir_utf8
-#define g_get_tmp_dir          g_get_tmp_dir_utf8
-#define g_find_program_in_path g_find_program_in_path_utf8
-
-const gchar *g_get_user_name_utf8        (void);
-const gchar *g_get_real_name_utf8        (void);
-const gchar *g_get_home_dir_utf8         (void);
-const gchar *g_get_tmp_dir_utf8          (void);
-gchar       *g_find_program_in_path_utf8 (const gchar *program);
-
-
-#ifdef _WIN64
-#define g_win32_get_package_installation_directory g_win32_get_package_installation_directory_utf8
-#define g_win32_get_package_installation_subdirectory g_win32_get_package_installation_subdirectory_utf8
-#endif
-
-gchar *g_win32_get_package_installation_directory_utf8    (const gchar *package,
-                                                           const gchar *dll_name);
-gchar *g_win32_get_package_installation_subdirectory_utf8 (const gchar *package,
-                                                           const gchar *dll_name,
-                                                           const gchar *subdir);
-
-#endif
-
-G_END_DECLS
-
-#endif /* __G_WIN32COMPAT_H__ */