summaryrefslogtreecommitdiff
path: root/plugins/yaml/reader.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-11-03 22:56:52 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-11-03 22:56:52 (GMT)
commit459b345d69532825f21bdcd3e4f92009b0a046dc (patch)
treee0bc3d9089f0b5452e77be0f5d37fc0522f78c4a /plugins/yaml/reader.c
parent33b5dc9af0404eabeb0e60245ab1ca1dc3713a17 (diff)
Handled sequences with the Yaml reader in an improved way.
Diffstat (limited to 'plugins/yaml/reader.c')
-rw-r--r--plugins/yaml/reader.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/plugins/yaml/reader.c b/plugins/yaml/reader.c
index 02e1aa9..c8852bb 100644
--- a/plugins/yaml/reader.c
+++ b/plugins/yaml/reader.c
@@ -182,7 +182,6 @@ GYamlReader *g_yaml_reader_new_from_content(const char *content, size_t length)
{
GYamlReader *result; /* Structure à retourner */
char *dumped; /* Contenu manipulable */
- size_t level; /* Niveau unique d'indentation */
char *saved; /* Sauvegarde de position */
char *iter; /* Boucle de parcours */
size_t number; /* Indice de ligne courante */
@@ -194,8 +193,6 @@ GYamlReader *g_yaml_reader_new_from_content(const char *content, size_t length)
memcpy(dumped, content, length);
- level = 0;
-
for (iter = dumped, saved = strchr(iter, '\n'), number = 0;
*iter != '\0';
iter = ++saved, saved = strchr(iter, '\n'), number++)
@@ -210,9 +207,6 @@ GYamlReader *g_yaml_reader_new_from_content(const char *content, size_t length)
if (line == NULL)
goto format_error;
- if (level == 0)
- level = g_yaml_line_count_indent(line);
-
result->lines = realloc(result->lines, ++result->count * sizeof(GYamlLine *));
g_object_ref_sink(G_OBJECT(line));
@@ -222,8 +216,7 @@ GYamlReader *g_yaml_reader_new_from_content(const char *content, size_t length)
free(dumped);
- result->tree = g_yaml_tree_new(level, result->lines, result->count);
- g_object_ref_sink(G_OBJECT(result->tree));
+ result->tree = g_yaml_tree_new(result->lines, result->count);
return result;
@@ -366,7 +359,8 @@ GYamlTree *g_yaml_reader_get_tree(const GYamlReader *reader)
result = reader->tree;
- g_object_ref(G_OBJECT(result));
+ if (result != NULL)
+ g_object_ref(G_OBJECT(result));
return result;