summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/eyefiservice.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/eyefiservice.cc b/src/eyefiservice.cc
index d7f0f04..77526b9 100644
--- a/src/eyefiservice.cc
+++ b/src/eyefiservice.cc
@@ -4,4 +4,5 @@
#include <stdexcept>
#include <iterator>
+#include <algorithm>
#include <syslog.h>
#include <sys/wait.h>
@@ -169,5 +170,8 @@ int eyefiService::UploadPhoto(
if(fl<4) continue;
const char *s = f.c_str()+fl-4;
- if(!(strcasecmp(s,".JPG") && strcasecmp(s,".AVI")))
+ static const char *suffixes[] = { ".JPG",".AVI",".MP4",".NEF",".RAW",".TIF" };
+ if(std::find_if(suffixes,suffixes+sizeof(suffixes)/sizeof(*suffixes),
+ std::not1(std::bind1st(std::ptr_fun(strcasecmp),s)))
+ != suffixes+sizeof(suffixes)/sizeof(*suffixes))
tf = f;
else if(!strcasecmp(s,".log"))