diff options
-rw-r--r-- | src/cell.c | 15 | ||||
-rw-r--r-- | src/cell.h | 3 |
2 files changed, 16 insertions, 2 deletions
@@ -58,7 +58,7 @@ struct _unitcell { double azs; double bzs; double czs; char *pointgroup; - + char *spacegroup; }; @@ -469,6 +469,15 @@ const char *cell_get_pointgroup(UnitCell *cell) } +const char *cell_get_spacegroup(UnitCell *cell) +{ + return cell->spacegroup; +} + + + + + /********************************* Utilities **********************************/ static const char *cell_rep(UnitCell *cell) @@ -877,9 +886,11 @@ UnitCell *load_cell_from_pdb(const char *filename) sym = strndup(line+55, 10); notrail(sym); cell_set_pointgroup_from_pdb(cell, sym); - free(sym); + cell->spacegroup = sym; + } else { cell_set_pointgroup_from_pdb(cell, "P 1"); + cell->spacegroup = strdup("P 1"); ERROR("CRYST1 line without space group.\n"); } } @@ -72,6 +72,8 @@ extern void cell_set_reciprocal(UnitCell *cell, extern const char *cell_get_pointgroup(UnitCell *cell); +extern const char *cell_get_spacegroup(UnitCell *cell); + extern double resolution(UnitCell *cell, signed int h, signed int k, signed int l); @@ -84,4 +86,5 @@ extern UnitCell *match_cell(UnitCell *cell, UnitCell *template, int verbose, extern UnitCell *load_cell_from_pdb(const char *filename); + #endif /* CELL_H */ |