Index: glib/gdate.c
===================================================================
RCS file: /cvs/gnome/glib/glib/gdate.c,v
retrieving revision 1.27
diff -u -p -r1.27 gdate.c
--- glib/gdate.c	2001/11/29 09:41:25	1.27
+++ glib/gdate.c	2002/01/20 15:17:41
@@ -44,6 +44,9 @@
 #include <ctype.h>
 #include <stdlib.h>
 #include <locale.h>
+#ifdef __STDC_ISO_10646__
+#include <wchar.h>
+#endif
 
 GDate*
 g_date_new ()
@@ -1337,7 +1340,11 @@ g_date_strftime (gchar       *s, 
                  const GDate *d)
 {
   struct tm tm;
+#ifdef __STDC_ISO_10646__
+  gint retval;
+#else
   const gchar *charset;
+#endif
   
   g_return_val_if_fail (d != NULL, 0);
   g_return_val_if_fail (g_date_valid (d), 0);
@@ -1347,6 +1354,21 @@ g_date_strftime (gchar       *s, 
   
   g_date_to_struct_tm (d, &tm);
 
+#ifdef __STDC_ISO_10646__
+
+  retval = wcsftime ((wchar_t *)s, slen, (wchar_t *)format, &tm);
+  if (retval == 0)
+  {
+    /* If retval == 0, the contents of s are undefined.  We define
+     *  them. 
+     */
+    s[0] = '\0';
+  }
+
+  return retval;
+
+#else /* !__STDC_ISO_10646__ */
+
   if (g_get_charset (&charset))
     {
       gint retval = strftime (s, slen, format, &tm);
@@ -1442,4 +1464,6 @@ g_date_strftime (gchar       *s, 
 
       return convlen;
     }
+  
+#endif /* __STDC_ISO_10646__ */
 }
