diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/index.c | 13 | ||||
-rw-r--r-- | src/index.h | 2 | ||||
-rw-r--r-- | src/indexamajig.c | 2 | ||||
-rw-r--r-- | src/templates.c | 9 | ||||
-rw-r--r-- | src/templates.h | 2 |
5 files changed, 28 insertions, 0 deletions
diff --git a/src/index.c b/src/index.c index 8f563990..16265865 100644 --- a/src/index.c +++ b/src/index.c @@ -56,6 +56,19 @@ IndexingPrivate *prepare_indexing(IndexingMethod indm, UnitCell *cell, } +void cleanup_indexing(IndexingPrivate *priv) +{ + switch ( priv->indm ) { + case INDEXING_NONE : + break; + case INDEXING_DIRAX : + break; + case INDEXING_TEMPLATE : + free_templates(priv); + } +} + + static void write_drx(struct image *image) { FILE *fh; diff --git a/src/index.h b/src/index.h index 57373469..2e957538 100644 --- a/src/index.h +++ b/src/index.h @@ -39,4 +39,6 @@ extern void index_pattern(struct image *image, UnitCell *cell, IndexingMethod indm, int no_match, int verbose, IndexingPrivate *priv); +extern void cleanup_indexing(IndexingPrivate *priv); + #endif /* INDEX_H */ diff --git a/src/indexamajig.c b/src/indexamajig.c index 088d0535..32fb9012 100644 --- a/src/indexamajig.c +++ b/src/indexamajig.c @@ -860,6 +860,8 @@ int main(int argc, char *argv[]) } + cleanup_indexing(ipriv); + free(prefix); free(det->panels); free(det); diff --git a/src/templates.c b/src/templates.c index 1bc47ff9..765d4324 100644 --- a/src/templates.c +++ b/src/templates.c @@ -354,5 +354,14 @@ void match_templates(struct image *image, IndexingPrivate *ipriv) priv->templates[max_i].omega, priv->templates[max_i].phi, rot_best); +} + + +void free_templates(IndexingPrivate *priv) +{ + struct _indexingprivate_template *tpriv + = (struct _indexingprivate_template *)priv; + free(tpriv->templates); + free(tpriv); } diff --git a/src/templates.h b/src/templates.h index 559733fe..50aa7443 100644 --- a/src/templates.h +++ b/src/templates.h @@ -27,4 +27,6 @@ extern IndexingPrivate *generate_templates(UnitCell *cell, const char *filename, extern void match_templates(struct image *image, IndexingPrivate *ipriv); +extern void free_templates(IndexingPrivate *priv); + #endif /* TEMPLATES_H */ |