diff --git a/ChangeLog b/ChangeLog index b04180624..fe23d0c2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-09-14 Matthias Clasen + + * tests/keyfile-test.c: Add a test for grup names of length 1. + + * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names + of length 1. (#316309) + 2005-09-12 Matthias Clasen * glib/gmarkup.c (g_markup_escape_text): Clarify docs. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index b04180624..fe23d0c2d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2005-09-14 Matthias Clasen + + * tests/keyfile-test.c: Add a test for grup names of length 1. + + * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names + of length 1. (#316309) + 2005-09-12 Matthias Clasen * glib/gmarkup.c (g_markup_escape_text): Clarify docs. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index b04180624..fe23d0c2d 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,10 @@ +2005-09-14 Matthias Clasen + + * tests/keyfile-test.c: Add a test for grup names of length 1. + + * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names + of length 1. (#316309) + 2005-09-12 Matthias Clasen * glib/gmarkup.c (g_markup_escape_text): Clarify docs. diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c index 63469e297..d77a1ae16 100644 --- a/glib/gkeyfile.c +++ b/glib/gkeyfile.c @@ -2989,14 +2989,9 @@ g_key_file_line_is_group (const gchar *line) p = g_utf8_next_char (p); - if (!*p) - return FALSE; - - p = g_utf8_next_char (p); - /* Group name must be non-empty */ - if (*p == ']') + if (!*p || *p == ']') return FALSE; while (*p && *p != ']') diff --git a/tests/keyfile-test.c b/tests/keyfile-test.c index 475688e6d..e98304d43 100644 --- a/tests/keyfile-test.c +++ b/tests/keyfile-test.c @@ -755,6 +755,25 @@ test_lists (void) g_key_file_free (keyfile); } +static void +test_groups (void) +{ + GKeyFile *keyfile; + + const gchar *data = + "[1]\n" + "key1=123\n" + "[2]\n" + "key2=123\n"; + + keyfile = load_data (data, 0); + + check_string_value (keyfile, "1", "key1", "123"); + check_string_value (keyfile, "2", "key2", "123"); + + g_key_file_free (keyfile); +} + /* http://bugzilla.gnome.org/show_bug.cgi?id=165887 */ static void test_group_remove (void) @@ -874,6 +893,7 @@ main (int argc, char *argv[]) test_lists (); test_group_remove (); test_key_remove (); + test_groups (); return 0; }