]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
Remove warning about the redirector file that can't be deleted
authorFrederic Marchal <fmarchal@users.sourceforge.net>
Sat, 5 Jan 2013 07:34:47 +0000 (08:34 +0100)
committerFrederic Marchal <fmarchal@users.sourceforge.net>
Sat, 5 Jan 2013 07:34:47 +0000 (08:34 +0100)
If the file is not created, there is no need to report a warning.

redirector.c

index 2646b081e461000f5bca3953b96a4218f690c241..e6e3aef9c23300d258281a3ef168ee224edd85ff 100644 (file)
@@ -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);
        }