diff options
author | Thomas White <taw@physics.org> | 2022-09-22 14:42:01 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-09-22 14:42:01 +0200 |
commit | 025f9e9c9022bb1118783a089fa5854b956eb04a (patch) | |
tree | a5048ba1242913a40c6a9d32e839384554cf8a10 /libcrystfel/src | |
parent | 369a951b5bf6bb94fbffb2002281fa4d1a67506d (diff) |
all_panels_reference_same_clen: Handle missing units
Diffstat (limited to 'libcrystfel/src')
-rw-r--r-- | libcrystfel/src/datatemplate.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libcrystfel/src/datatemplate.c b/libcrystfel/src/datatemplate.c index 1075b349..bbcf1aa5 100644 --- a/libcrystfel/src/datatemplate.c +++ b/libcrystfel/src/datatemplate.c @@ -1853,6 +1853,14 @@ static int im_get_length(struct image *image, const char *from, } +static int safe_strcmp(const char *a, const char *b) +{ + if ( (a==NULL) && (b==NULL) ) return 0; + if ( (a!=NULL) && (b!=NULL) ) return strcmp(a, b); + return 1; +} + + static int all_panels_reference_same_clen(const DataTemplate *dtempl) { int i; @@ -1872,8 +1880,8 @@ static int all_panels_reference_same_clen(const DataTemplate *dtempl) first_val = val; first_units = units; } else { - if ( strcmp(val, first_val) != 0 ) fail = 1; - if ( strcmp(units, first_units) != 0 ) fail = 1; + if ( safe_strcmp(val, first_val) != 0 ) fail = 1; + if ( safe_strcmp(units, first_units) != 0 ) fail = 1; free(val); free(units); } |