diff options
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; |