aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-03-02 09:47:25 +0100
committerThomas White <taw@physics.org>2022-03-02 09:47:25 +0100
commit5ca91a38d9d7cef6de138669446a614f18cbc590 (patch)
tree034796268776eb12cd002ac9cb56dc2df131a0ee /libcrystfel
parent1c797288d024b911b39028f25635349501721ce3 (diff)
Move file_exists() check to right before opening the HDF5
No other code path under image_expand_frames() actually opens the file, because HDF5s are currently the only format supporting multiple frames. The aim of the existence check is to give a better error message (compared to the HDF5 backtrace splurge), but it doesn't need to be done so early. In fact, checking so early had the side-effect of breaking indexamajig --wait-for-file. Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/65
Diffstat (limited to 'libcrystfel')
-rw-r--r--libcrystfel/src/image-hdf5.c4
-rw-r--r--libcrystfel/src/image.c5
2 files changed, 4 insertions, 5 deletions
diff --git a/libcrystfel/src/image-hdf5.c b/libcrystfel/src/image-hdf5.c
index 07e3b6b8..ce357f36 100644
--- a/libcrystfel/src/image-hdf5.c
+++ b/libcrystfel/src/image-hdf5.c
@@ -1830,6 +1830,10 @@ char **image_hdf5_expand_frames(const DataTemplate *dtempl,
return full_evs.events;
}
+ if ( !file_exists(filename) ) {
+ ERROR("File not found: %s (hdf5_expand_frames)\n", filename);
+ return NULL;
+ }
fh = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT);
if ( fh < 0 ) {
diff --git a/libcrystfel/src/image.c b/libcrystfel/src/image.c
index ce924b35..c86439d8 100644
--- a/libcrystfel/src/image.c
+++ b/libcrystfel/src/image.c
@@ -1506,11 +1506,6 @@ ImageFeatureList *image_read_peaks(const DataTemplate *dtempl,
char **image_expand_frames(const DataTemplate *dtempl,
const char *filename, int *n_frames)
{
- if ( !file_exists(filename) ) {
- ERROR("File not found: %s\n", filename);
- return NULL;
- }
-
if ( is_hdf5_file(filename) ) {
return image_hdf5_expand_frames(dtempl, filename,
n_frames);