aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/reflist-utils.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-09-10 16:48:31 +0200
committerThomas White <taw@physics.org>2018-09-10 16:48:31 +0200
commite8fa57ba93687fbd6841cb3a3d09c87037b5c713 (patch)
tree525fff0e4393a41021550ebdad33e53197b0a4cf /libcrystfel/src/reflist-utils.c
parent8063500c1458e71cc5530620681e5adfdda62fa5 (diff)
Make sure reflection contribution list gets freed
Diffstat (limited to 'libcrystfel/src/reflist-utils.c')
-rw-r--r--libcrystfel/src/reflist-utils.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/libcrystfel/src/reflist-utils.c b/libcrystfel/src/reflist-utils.c
index 54c467b3..70548994 100644
--- a/libcrystfel/src/reflist-utils.c
+++ b/libcrystfel/src/reflist-utils.c
@@ -3,11 +3,11 @@
*
* Utilities to complement the core reflist.c
*
- * Copyright © 2012-2017 Deutsches Elektronen-Synchrotron DESY,
+ * Copyright © 2012-2018 Deutsches Elektronen-Synchrotron DESY,
* a research centre of the Helmholtz Association.
*
* Authors:
- * 2011-2017 Thomas White <taw@physics.org>
+ * 2011-2018 Thomas White <taw@physics.org>
* 2014 Valerio Mariani
*
* This file is part of CrystFEL.
@@ -648,6 +648,30 @@ RefList *copy_reflist(RefList *list)
}
+/**
+ * free_contribs:
+ * @list: A %RefList
+ *
+ * Goes through @list and frees all the reflection contribution structures.
+ **/
+void free_contribs(RefList *list)
+{
+ Reflection *refl;
+ RefListIterator *iter;
+
+ for ( refl = first_refl(list, &iter);
+ refl != NULL;
+ refl = next_refl(refl, iter) )
+ {
+ struct reflection_contributions *c;
+ c = get_contributions(refl);
+ free(c->contribs);
+ free(c->contrib_crystals);
+ free(c);
+ }
+}
+
+
static char *full_command_line(int argc, char *argv[])
{
int i;