From e933a9b806adddac26ac6c167a8c54e9a668efa9 Mon Sep 17 00:00:00 2001 From: cathugger Date: Fri, 22 May 2020 17:55:37 +0000 Subject: [PATCH] correctly handle filter file loading error, small tweak --- filters_main.inc.h | 5 ++++- ioutil.c | 1 + main.c | 10 ++++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/filters_main.inc.h b/filters_main.inc.h index c4a6399..5196328 100644 --- a/filters_main.inc.h +++ b/filters_main.inc.h @@ -496,10 +496,12 @@ static void filters_prepare(void) #endif } -static void loadfilterfile(const char *fname) +static bool loadfilterfile(const char *fname) { char buf[128]; FILE *f = fopen(fname,"r"); + if (!f) + return false; while (fgets(buf,sizeof(buf),f)) { for (char *p = buf;*p;++p) { if (*p == '\n') { @@ -510,4 +512,5 @@ static void loadfilterfile(const char *fname) if (*buf && *buf != '#' && memcmp(buf,"//",2) != 0) filters_add(buf); } + return true; } diff --git a/ioutil.c b/ioutil.c index f3b4c1f..4e6aa55 100644 --- a/ioutil.c +++ b/ioutil.c @@ -95,6 +95,7 @@ int closefile(FH fd) int createdir(const char *path,int secret) { // XXX don't know how to handle secret argument + (void) secret; return CreateDirectoryA(path,0) ? 0 : -1; } diff --git a/main.c b/main.c index 4672984..387eea8 100644 --- a/main.c +++ b/main.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -256,8 +257,13 @@ int main(int argc,char **argv) exit(0); } else if (*arg == 'f') { - if (argc--) - loadfilterfile(*argv++); + if (argc--) { + const char *filename = *argv++; + if (!loadfilterfile(filename)) { + fprintf(stderr,"failed to load filter file %s\n",filename); + exit(1); + } + } else e_additional(); }