diff options
Diffstat (limited to 'libcrystfel/src/cell-utils.c')
-rw-r--r-- | libcrystfel/src/cell-utils.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/libcrystfel/src/cell-utils.c b/libcrystfel/src/cell-utils.c index 3aaae90e..74f33bb2 100644 --- a/libcrystfel/src/cell-utils.c +++ b/libcrystfel/src/cell-utils.c @@ -683,13 +683,22 @@ UnitCell *match_cell(UnitCell *cell_in, UnitCell *template_in, int verbose, free(cand[2]); /* Reverse the de-centering transformation */ - new_cell_trans = cell_transform_inverse(new_cell, uncentering); - cell_free(new_cell); - cell_set_lattice_type(new_cell, cell_get_lattice_type(template_in)); - cell_set_centering(new_cell, cell_get_centering(template_in)); - cell_set_unique_axis(new_cell, cell_get_unique_axis(template_in)); + if ( new_cell != NULL ) { - return new_cell_trans; + new_cell_trans = cell_transform_inverse(new_cell, uncentering); + cell_free(new_cell); + cell_set_lattice_type(new_cell_trans, + cell_get_lattice_type(template_in)); + cell_set_centering(new_cell_trans, + cell_get_centering(template_in)); + cell_set_unique_axis(new_cell_trans, + cell_get_unique_axis(template_in)); + + return new_cell_trans; + + } else { + return NULL; + } } |