aboutsummaryrefslogtreecommitdiff
path: root/src/gui_project.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2020-05-04 16:59:44 +0200
committerThomas White <taw@physics.org>2020-07-29 18:42:57 +0200
commita170c8d8f69f8682a17869a809aaede036fb0254 (patch)
treeea64d6e7dd8c85b3588758eb4f5f4d63a72731da /src/gui_project.c
parent26861a1ad1d3854e3f0acc9479fd5f5cc1135bdd (diff)
Move match_filename() to gui_project
Diffstat (limited to 'src/gui_project.c')
-rw-r--r--src/gui_project.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/gui_project.c b/src/gui_project.c
index 4effc603..fcfce995 100644
--- a/src/gui_project.c
+++ b/src/gui_project.c
@@ -89,6 +89,32 @@ enum match_type_id decode_matchtype(const char *type_id)
}
+int match_filename(const char *fn, enum match_type_id mt)
+{
+ const char *ext = NULL;
+ const char *ext2 = NULL;
+
+ if ( mt == MATCH_EVERYTHING ) return 1;
+
+ ext = filename_extension(fn, &ext2);
+ if ( ext == NULL ) return 0;
+
+ if ( mt == MATCH_CHEETAH_LCLS_H5 ) {
+ return ((strcmp(ext, ".h5")==0)
+ && (strncmp(fn, "LCLS", 4)==0));
+ }
+ if ( mt == MATCH_CHEETAH_CXI ) return strcmp(ext, ".cxi")==0;
+ if ( mt == MATCH_CBF ) return strcmp(ext, ".cbf")==0;
+ if ( mt == MATCH_CBFGZ ) {
+ if ( ext2 != NULL ) {
+ return strcmp(ext2, ".cbf.gz")==0;
+ }
+ }
+
+ return 0;
+}
+
+
static void handle_var(const char *key, const char *val,
struct crystfelproject *proj)
{