Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and use
authorAlexander Larsson <alla@lysator.liu.se>
Wed, 13 Mar 2002 05:01:58 +0000 (05:01 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Wed, 13 Mar 2002 05:01:58 +0000 (05:01 +0000)
2002-03-12  Alexander Larsson  <alla@lysator.liu.se>

* glib/gconvert.c:
Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
use instead. Add g_convert_init() that calls have_broken_filenames()

* gthread/gthread-impl.c:
Have g_thread_init call g_convert_init.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/gconvert.c
gthread/gthread-impl.c

index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 2c89fa3b62da7b5e85f045af7280d36d8cbc5833..46cf7a47501a1119c83ad5e7a3b63d2db2e7ec89 100644 (file)
@@ -1,3 +1,12 @@
+2002-03-12  Alexander Larsson  <alla@lysator.liu.se>
+
+       * glib/gconvert.c:
+       Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
+       use instead. Add g_convert_init() that calls have_broken_filenames()
+
+       * gthread/gthread-impl.c:
+       Have g_thread_init call g_convert_init.
+
 2002-03-11  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gstrfuncs.c (g_strtod): 
index 9ecb8bed0456abe7174470d706dd0bce90d0d3e2..bec69f4baf35c206516a722d6b775c247420fc7f 100644 (file)
@@ -1189,6 +1189,35 @@ g_locale_from_utf8 (const gchar *utf8string,
 #endif /* !G_PLATFORM_WIN32 */
 }
 
+#ifndef G_PLATFORM_WIN32
+static gboolean
+have_broken_filenames (void)
+{
+  static gboolean initialized = FALSE;
+  static gboolean broken;
+  
+  if (initialized)
+    return broken;
+
+  broken = (getenv ("G_BROKEN_FILENAMES") != NULL);
+  
+  initialized = TRUE;
+  
+  return broken;
+}
+#endif /* !G_PLATFORM_WIN32 */
+
+/* This is called from g_thread_init(). It's used to
+ * initialize some static data in a threadsafe way.
+ */
+void 
+g_convert_init (void)
+{
+#ifndef G_PLATFORM_WIN32
+  (void)have_broken_filenames ();
+#endif /* !G_PLATFORM_WIN32 */
+}
+
 /**
  * g_filename_to_utf8:
  * @opsysstring:   a string in the encoding for filenames
@@ -1225,7 +1254,7 @@ g_filename_to_utf8 (const gchar *opsysstring,
                           error);
 #else  /* !G_PLATFORM_WIN32 */
       
-  if (getenv ("G_BROKEN_FILENAMES"))
+  if (have_broken_filenames ())
     return g_locale_to_utf8 (opsysstring, len,
                             bytes_read, bytes_written,
                             error);
@@ -1268,7 +1297,7 @@ g_filename_from_utf8 (const gchar *utf8string,
                             bytes_read, bytes_written,
                             error);
 #else  /* !G_PLATFORM_WIN32 */
-  if (getenv ("G_BROKEN_FILENAMES"))
+  if (have_broken_filenames ())
     return g_locale_from_utf8 (utf8string, len,
                               bytes_read, bytes_written,
                               error);
index ef79584b3f89f474872fc9b166252d62021a4910..ed44d2a66ff8ab6a2c2d5f347c178646e4dcce34 100644 (file)
@@ -65,6 +65,7 @@ static gint g_thread_priority_map [G_THREAD_PRIORITY_URGENT + 1];
 void g_mutex_init (void);
 void g_mem_init (void);
 void g_messages_init (void);
+void g_convert_init (void);
 
 #define G_MUTEX_DEBUG_INFO(mutex) (*((gpointer*)(((char*)mutex)+G_MUTEX_SIZE)))
 
@@ -379,6 +380,7 @@ g_thread_init (GThreadFunctions* init)
   g_mutex_init ();
   g_mem_init ();
   g_messages_init ();
+  g_convert_init ();
 
   /* now we can set g_threads_got_initialized and thus enable
    * all the thread functions