[glib] gdatetime: Fix locale-changing code



commit f091c6a99b1c9e23e8e60a9e5ef35290e0ab4853
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Sep 2 23:36:03 2011 -0400

    gdatetime: Fix locale-changing code
    
    As pointed out by Ryan Lortie, the code didn't actually ever
    switch back to the old locale.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=658104

 glib/tests/gdatetime.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index e752962..6747a96 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -849,7 +849,7 @@ GDateTime *__dt = g_date_time_new_local (2009, 10, 24, 0, 0, 0);\
 static void
 test_modifiers (void)
 {
-  const gchar *oldlocale;
+  gchar *oldlocale;
 
   TEST_PRINTF_DATE (2009, 1,  1,  "%d", "01");
   TEST_PRINTF_DATE (2009, 1,  1, "%_d", " 1");
@@ -892,7 +892,8 @@ test_modifiers (void)
   TEST_PRINTF_TIME ( 1, 0, 0, "%-k", "1");
   TEST_PRINTF_TIME ( 1, 0, 0, "%0k", "01");
 
-  oldlocale = setlocale (LC_ALL, "fa_IR.UTF-8");
+  oldlocale = g_strdup (setlocale (LC_ALL, NULL));
+  setlocale (LC_ALL, "fa_IR.utf-8");
   if (strstr (setlocale (LC_ALL, NULL), "fa_IR") != NULL)
     {
       TEST_PRINTF_TIME (23, 0, 0, "%OH", "\333\262\333\263");
@@ -910,6 +911,7 @@ test_modifiers (void)
   else
     g_test_message ("locale fa_IR not available, skipping O modifier tests");
   setlocale (LC_ALL, oldlocale);
+  g_free (oldlocale);
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]