From a05d36f970a5c4723d2be3945076bce9347143ec Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Mon, 19 Sep 2016 23:23:30 +0200 Subject: block-parser: Clear processed data for further use This change will allow certain blocks to be present multiple times and processed independently within a single page. --- src/block-parser.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/block-parser.c') diff --git a/src/block-parser.c b/src/block-parser.c index 48c7671..f4ed78b 100644 --- a/src/block-parser.c +++ b/src/block-parser.c @@ -220,6 +220,26 @@ block_parser_set_as_used (BlockParser *parser, const gchar *key) } } +/* + * block_parser_clear_key_data: clear stored data block for the key + * + */ +void +block_parser_clear_key_data (BlockParser *parser, const gchar *key) +{ + BlockData *data = NULL; + + g_assert (parser != NULL); + + data = g_hash_table_lookup (parser->table, key); + if (data != NULL) { + g_free (data->data); + data->data = NULL; + data->used = FALSE; + data->finished = FALSE; + } +} + /* -------------------------------------------------------------------------------------------------------- */ -- cgit v1.2.3