+Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gdate.c: Translate from locale era to AD in
+ g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
+
Fri Feb 27 00:46:29 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617,
+Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gdate.c: Translate from locale era to AD in
+ g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
+
Fri Feb 27 00:46:29 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617,
+Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gdate.c: Translate from locale era to AD in
+ g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
+
Fri Feb 27 00:46:29 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617,
+Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gdate.c: Translate from locale era to AD in
+ g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
+
Fri Feb 27 00:46:29 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617,
+Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gdate.c: Translate from locale era to AD in
+ g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
+
Fri Feb 27 00:46:29 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617,
+Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gdate.c: Translate from locale era to AD in
+ g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
+
Fri Feb 27 00:46:29 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.c (g_strerror): Don't modify errno. (#116617,
*/
static gboolean using_twodigit_years = FALSE;
+/* Adjustment of locale era to AD, non-zero means using locale era
+ */
+static gint locale_era_adjust = 0;
+
struct _GDateParseTokens {
gint num_ints;
gint n[3];
dmy_order[i] = G_DATE_YEAR;
break;
default:
- /* leave it unchanged */
+ /* assume locale era */
+ locale_era_adjust = 1976 - testpt.n[i];
+ dmy_order[i] = G_DATE_YEAR;
break;
}
++i;
{
y = pt.n[i];
- if (using_twodigit_years && y < 100)
+ if (locale_era_adjust != 0)
+ {
+ y += locale_era_adjust;
+ }
+ else if (using_twodigit_years && y < 100)
{
guint two = twodigit_start_year % 100;
guint century = (twodigit_start_year / 100) * 100;