From a6ad999e25ca7d73582d06eb0a42ea6d528fd41a Mon Sep 17 00:00:00 2001 From: Frederic Marchal Date: Sat, 5 Jan 2013 08:34:47 +0100 Subject: [PATCH] Remove warning about the redirector file that can't be deleted If the file is not created, there is no need to report a warning. --- redirector.c | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/redirector.c b/redirector.c index 2646b08..e6e3aef 100644 --- a/redirector.c +++ b/redirector.c @@ -32,6 +32,8 @@ static int nfiles_done = 0; //! The number of invalid lines found in the redirector report. static int RedirectorErrors=0; +//! Name of the sorted report. +static char redirector_sorted[MAXLEN]=""; static void parse_log(FILE *fp_ou,char *buf) { @@ -285,7 +287,6 @@ void redirector_log(void) FILE *fp_ou = NULL, *fp_guard = NULL; char buf[MAXLEN]; char guard_in[MAXLEN]; - char guard_ou[MAXLEN]; char logdir[MAXLEN]; char user[MAXLEN]; char tmp6[MAXLEN]; @@ -304,8 +305,8 @@ void redirector_log(void) } snprintf(guard_in,sizeof(guard_in),"%s/redirector.int_unsort",tmp); - snprintf(guard_ou,sizeof(guard_ou),"%s/redirector.int_log",tmp); - if((fp_ou=fopen(guard_in,"a"))==NULL) { + snprintf(redirector_sorted,sizeof(redirector_sorted),"%s/redirector.int_log",tmp); + if((fp_ou=fopen(redirector_sorted,"a"))==NULL) { debuga(_("(squidguard) Cannot open log file %s\n"),guard_in); exit(EXIT_FAILURE); } @@ -384,11 +385,11 @@ void redirector_log(void) } if(debug) { - debuga(_("Sorting file: %s\n"),guard_ou); + debuga(_("Sorting file: %s\n"),redirector_sorted); } - if (snprintf(tmp6,sizeof(tmp6),"sort -t \"\t\" -k 1,1 -k 2,2 -k 4,4 \"%s\" -o \"%s\"",guard_in, guard_ou)>=sizeof(tmp6)) { - debuga(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),guard_in,guard_ou); + if (snprintf(tmp6,sizeof(tmp6),"sort -t \"\t\" -k 1,1 -k 2,2 -k 4,4 \"%s\" -o \"%s\"",guard_in, redirector_sorted)>=sizeof(tmp6)) { + debuga(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),guard_in,redirector_sorted); exit(EXIT_FAILURE); } cstatus=system(tmp6); @@ -419,7 +420,6 @@ void redirector_report(void) char *buf; char *url; - char squidguard_in[MAXLEN]; char report[MAXLEN]; char ip[45]; char rule[255]; @@ -442,18 +442,17 @@ void redirector_report(void) ouser[0]='\0'; ouser2[0]='\0'; - snprintf(squidguard_in,sizeof(squidguard_in),"%s/redirector.int_log",tmp); if(!redirector_count) { - if (!KeepTempLog && unlink(squidguard_in)) - debuga(_("Cannot delete \"%s\": %s\n"),squidguard_in,strerror(errno)); + if (!KeepTempLog && redirector_sorted[0]!='\0' && unlink(redirector_sorted)) + debuga(_("Cannot delete \"%s\": %s\n"),redirector_sorted,strerror(errno)); if (debugz) debugaz(_("Redirector report not generated because it is empty\n")); return; } snprintf(report,sizeof(report),"%s/redirector.html",outdirname); - if((fp_in=fopen(squidguard_in,"r"))==NULL) { - debuga(_("(squidguard) Cannot open log file %s\n"),squidguard_in); + if((fp_in=fopen(redirector_sorted,"r"))==NULL) { + debuga(_("(squidguard) Cannot open log file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } @@ -480,33 +479,33 @@ void redirector_report(void) while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(user,sizeof(user),&gwarea,'\t')<0) { - debuga(_("Invalid user in file %s\n"),squidguard_in); + debuga(_("Invalid user in file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword_atoll(&data2,&gwarea,'\t')<0) { - debuga(_("Invalid date in file %s\n"),squidguard_in); + debuga(_("Invalid date in file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword(hora,sizeof(hora),&gwarea,'\t')<0) { - debuga(_("Invalid time in file %s\n"),squidguard_in); + debuga(_("Invalid time in file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { - debuga(_("Invalid IP address in file %s\n"),squidguard_in); + debuga(_("Invalid IP address in file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { - debuga(_("Invalid URL in file %s\n"),squidguard_in); + debuga(_("Invalid URL in file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword(rule,sizeof(rule),&gwarea,'\n')<0) { - debuga(_("Invalid rule in file %s\n"),squidguard_in); + debuga(_("Invalid rule in file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } uinfo=userinfo_find_from_id(user); if (!uinfo) { - debuga(_("Unknown user ID %s in file %s\n"),user,squidguard_in); + debuga(_("Unknown user ID %s in file %s\n"),user,redirector_sorted); exit(EXIT_FAILURE); } @@ -576,8 +575,8 @@ void redirector_report(void) if (fclose(fp_ou)==EOF) debuga(_("Failed to close file %s - %s\n"),report,strerror(errno)); - if (!KeepTempLog && unlink(squidguard_in)) { - debuga(_("Cannot delete \"%s\": %s\n"),squidguard_in,strerror(errno)); + if (!KeepTempLog && unlink(redirector_sorted)) { + debuga(_("Cannot delete \"%s\": %s\n"),redirector_sorted,strerror(errno)); exit(EXIT_FAILURE); } -- 2.47.2