[glib] GKeyFile: make list separators effective again
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] GKeyFile: make list separators effective again
- Date: Wed, 25 Jan 2012 12:33:09 +0000 (UTC)
commit e94a5f4f8394fe6a7160850c12ea8079215e4323
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Jan 25 07:32:39 2012 -0500
GKeyFile: make list separators effective again
We must preserve the list_separator across clear;init
sequences.
glib/gkeyfile.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c
index 440cc56..33b3c36 100644
--- a/glib/gkeyfile.c
+++ b/glib/gkeyfile.c
@@ -745,7 +745,8 @@ g_key_file_load_from_fd (GKeyFile *key_file,
gssize bytes_read;
struct stat stat_buf;
gchar read_buf[4096];
-
+ gchar list_separator;
+
if (fstat (fd, &stat_buf) < 0)
{
g_set_error_literal (error, G_FILE_ERROR,
@@ -762,8 +763,10 @@ g_key_file_load_from_fd (GKeyFile *key_file,
return FALSE;
}
+ list_separator = key_file->list_separator;
g_key_file_clear (key_file);
g_key_file_init (key_file);
+ key_file->list_separator = list_separator;
key_file->flags = flags;
do
@@ -879,6 +882,7 @@ g_key_file_load_from_data (GKeyFile *key_file,
GError **error)
{
GError *key_file_error = NULL;
+ gchar list_separator;
g_return_val_if_fail (key_file != NULL, FALSE);
g_return_val_if_fail (data != NULL, FALSE);
@@ -887,8 +891,10 @@ g_key_file_load_from_data (GKeyFile *key_file,
if (length == (gsize)-1)
length = strlen (data);
+ list_separator = key_file->list_separator;
g_key_file_clear (key_file);
g_key_file_init (key_file);
+ key_file->list_separator = list_separator;
key_file->flags = flags;
g_key_file_parse_data (key_file, data, length, &key_file_error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]