summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/knowledge/knowledge_finalize.c')
-rw-r--r--src/knowledge/knowledge_finalize.c55
1 files changed, 27 insertions, 28 deletions
diff --git a/src/knowledge/knowledge_finalize.c b/src/knowledge/knowledge_finalize.c
index 9546650..6c249f0 100644
--- a/src/knowledge/knowledge_finalize.c
+++ b/src/knowledge/knowledge_finalize.c
@@ -2,52 +2,51 @@
#include "knowledge.h"
-static void knowledge_sequence_collection_finalize
+
+static void knowledge_sequence_data_finalize
(
- struct ZoO_knowledge_sequence_collection c [const restrict static 1]
+ struct ZoO_knowledge_sequence_data sd [const restrict static 1]
)
{
- ZoO_index i;
+ sd->occurrences = 0;
- if (c->sequences_ref != (ZoO_index *) NULL)
+ if (sd->targets != (struct ZoO_knowledge_target *) NULL)
{
- free((void *) c->sequences_ref);
- c->sequences_ref = (ZoO_index *) NULL;
- }
+ free((void *) sd->targets);
- if (c->sequences_ref_sorted != (ZoO_index *) NULL)
- {
- free((void *) c->sequences_ref_sorted);
- c->sequences_ref_sorted = (ZoO_index *) NULL;
+ sd->targets = (struct ZoO_knowledge_target *) NULL;
}
- if (c->occurrences != (ZoO_index *) NULL)
- {
- free((void *) c->occurrences);
- c->occurrences = (ZoO_index *) NULL;
- }
+ sd->targets_length = 0;
+
+}
+
+static void knowledge_sequence_collection_finalize
+(
+ struct ZoO_knowledge_sequence_collection c [const restrict static 1]
+)
+{
+ ZoO_index i;
+
for (i = 0; i < c->sequences_ref_length; ++i)
{
- free((void *) c->targets[i]);
- free((void *) c->targets_occurrences[i]);
+ knowledge_sequence_data_finalize(c->sequences_ref + i);
}
- c->sequences_ref_length = 0;
-
- if (c->targets != (ZoO_index **) NULL)
+ if (c->sequences_ref != (struct ZoO_knowledge_sequence_data *) NULL)
{
- free((void *) c->targets);
- c->targets != (ZoO_index **) NULL;
+ free((void *) c->sequences_ref);
+ c->sequences_ref = (struct ZoO_knowledge_sequence_data *) NULL;
}
- free((void *) c->targets_length);
-
- if (c->targets_occurrences != (ZoO_index **) NULL)
+ if (c->sequences_ref_sorted != (ZoO_index *) NULL)
{
- free((void *) c->targets_occurrences);
- c->targets_occurrences != (ZoO_index **) NULL;
+ free((void *) c->sequences_ref_sorted);
+ c->sequences_ref_sorted = (ZoO_index *) NULL;
}
+
+ c->sequences_ref_length = 0;
}
static void knowledge_word_finalize