gdm r5859 - in trunk: . gui/simple-greeter
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r5859 - in trunk: . gui/simple-greeter
- Date: Mon, 25 Feb 2008 21:34:07 +0000 (GMT)
Author: halfline
Date: Mon Feb 25 21:34:06 2008
New Revision: 5859
URL: http://svn.gnome.org/viewvc/gdm?rev=5859&view=rev
Log:
2008-02-25 Ray Strode <rstrode redhat com>
* gui/simple-greeter/gdm-languages.c:
(gdm_parse_language_name):
update locale parsing regex to cover more
valid locales
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-languages.c
Modified: trunk/gui/simple-greeter/gdm-languages.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-languages.c (original)
+++ trunk/gui/simple-greeter/gdm-languages.c Mon Feb 25 21:34:06 2008
@@ -98,12 +98,23 @@
GError *error;
error = NULL;
- re = g_regex_new ("(?P<language>[a-zA-Z]+)(_(?P<territory>[a-zA-Z]+))?(.(?P<codeset>[0-9a-zA-Z]+))?(@(?P<modifier>[0-9a-zA-Z]+))?", 0, 0, &error);
+ re = g_regex_new ("^(?P<language>[^_ [:space:]]+)"
+ "(_(?P<territory>[[:upper:]]+))?"
+ "(.(?P<codeset>[-_0-9a-zA-Z]+))?"
+ "(@(?P<modifier>[[:ascii:]]+))?$",
+ 0, 0, &error);
if (re == NULL) {
g_critical (error->message);
+ return;
}
- g_regex_match (re, name, 0, &match_info);
+ if (!g_regex_match (re, name, 0, &match_info) ||
+ g_match_info_is_partial_match (match_info)) {
+ g_match_info_free (match_info);
+ g_regex_unref (re);
+ g_warning ("locale %s isn't valid\n", name);
+ return;
+ }
res = g_match_info_matches (match_info);
if (! res) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]