diff options
author | Thomas White <taw@physics.org> | 2022-03-02 09:47:25 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-03-02 09:47:25 +0100 |
commit | 5ca91a38d9d7cef6de138669446a614f18cbc590 (patch) | |
tree | 034796268776eb12cd002ac9cb56dc2df131a0ee /libcrystfel | |
parent | 1c797288d024b911b39028f25635349501721ce3 (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.c | 4 | ||||
-rw-r--r-- | libcrystfel/src/image.c | 5 |
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); |