diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-11-03 22:56:52 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-11-03 22:56:52 (GMT) |
commit | 459b345d69532825f21bdcd3e4f92009b0a046dc (patch) | |
tree | e0bc3d9089f0b5452e77be0f5d37fc0522f78c4a /plugins/yaml/reader.c | |
parent | 33b5dc9af0404eabeb0e60245ab1ca1dc3713a17 (diff) |
Handled sequences with the Yaml reader in an improved way.
Diffstat (limited to 'plugins/yaml/reader.c')
-rw-r--r-- | plugins/yaml/reader.c | 12 |
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; |