correctly handle filter file loading error, small tweak

This commit is contained in:
cathugger 2020-05-22 17:55:37 +00:00
parent 897dcbd350
commit e933a9b806
No known key found for this signature in database
GPG key ID: 9BADDA2DAF6F01A8
3 changed files with 13 additions and 3 deletions

View file

@ -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;
}

View file

@ -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;
}

10
main.c
View file

@ -3,6 +3,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <time.h>
#include <pthread.h>
@ -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();
}