]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - dansguardian_log.c
Update the Russian translation
[thirdparty/sarg.git] / dansguardian_log.c
index 70d157eab99d0a9d6463d2f1a54736c9f54f12fb..1f678bbdc4dadfcfbef335db1f9b298f6d2d97ca 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SARG Squid Analysis Report Generator      http://sarg.sourceforge.net
- *                                                            1998, 2012
+ *                                                            1998, 2015
  *
  * SARG donations:
  *      please look at http://sarg.sourceforge.net/donations.php
@@ -49,21 +49,21 @@ void dansguardian_log(void)
        dfrom=(period.start.tm_year+1900)*10000+(period.start.tm_mon+1)*100+period.start.tm_mday;
        duntil=(period.end.tm_year+1900)*10000+(period.end.tm_mon+1)*100+period.end.tm_mday;
 
-       snprintf(guard_in,sizeof(guard_in),"%s/dansguardian.unsort",tmp);
-       snprintf(guard_ou,sizeof(guard_ou),"%s/dansguardian.log",tmp);
+       snprintf(guard_in,sizeof(guard_in),"%s/dansguardian.int_unsort",tmp);
+       snprintf(guard_ou,sizeof(guard_ou),"%s/dansguardian.int_log",tmp);
 
        if(access(DansGuardianConf, R_OK) != 0) {
-               debuga(_("Cannot open DansGuardian config file: %s\n"),DansGuardianConf);
+               debuga(__FILE__,__LINE__,_("Cannot open file \"%s\": %s\n"),DansGuardianConf,strerror(errno));
                exit(EXIT_FAILURE);
        }
 
        if((fp_guard=fopen(DansGuardianConf,"r"))==NULL) {
-               debuga(_("(dansguardian) Cannot open log file: %s\n"),DansGuardianConf);
+               debuga(__FILE__,__LINE__,_("Cannot open file \"%s\": %s\n"),DansGuardianConf,strerror(errno));
                exit(EXIT_FAILURE);
        }
 
-       if((fp_ou=MY_FOPEN(guard_in,"a"))==NULL) {
-               debuga(_("(dansguardian) Cannot open log file: %s\n"),guard_in);
+       if((fp_ou=MY_FOPEN(guard_in,"w"))==NULL) {
+               debuga(__FILE__,__LINE__,_("Cannot open file \"%s\": %s\n"),guard_in,strerror(errno));
                exit(EXIT_FAILURE);
        }
 
@@ -74,20 +74,24 @@ void dansguardian_log(void)
                if(strstr(buf,"loglocation ") != 0) {
                        getword_start(&gwarea,buf);
                        if (getword_skip(MAXLEN,&gwarea,'\'')<0 || getword(loglocation,sizeof(loglocation),&gwarea,'\'')<0) {
-                               debuga(_("Maybe you have a broken record or garbage in your %s file\n"),DansGuardianConf);
+                               debuga(__FILE__,__LINE__,_("Invalid record in file \"%s\"\n"),DansGuardianConf);
                                exit(EXIT_FAILURE);
                        }
-                       if (debug) debuga(_("Using the dansguardian log file \"%s\" found in your configuration file \"%s\"\n"),
+                       if (debug) debuga(__FILE__,__LINE__,_("Using the dansguardian log file \"%s\" found in your configuration file \"%s\"\n"),
                                loglocation,DansGuardianConf);
                        break;
                }
        }
+       if (fclose(fp_guard)==EOF) {
+               debuga(__FILE__,__LINE__,_("Read error in \"%s\": %s\n"),DansGuardianConf,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
 
        if(debug)
-               debuga(_("Reading DansGuardian log file: %s\n"),loglocation);
+               debuga(__FILE__,__LINE__,_("Reading DansGuardian log file \"%s\"\n"),loglocation);
 
        if((fp_in=MY_FOPEN(loglocation,"r"))==NULL) {
-               debuga(_("(dansguardian) Cannot open log file: %s\n"),loglocation);
+               debuga(__FILE__,__LINE__,_("Cannot open file \"%s\": %s\n"),loglocation,strerror(errno));
                exit(EXIT_FAILURE);
        }
 
@@ -97,32 +101,32 @@ void dansguardian_log(void)
                getword_start(&gwarea,buf);
                if (getword_atoi(&year,&gwarea,'.')<0 || getword_atoi(&mon,&gwarea,'.')<0 ||
                    getword_atoi(&day,&gwarea,' ')<0) {
-                       debuga(_("Invalid date found in your dansguardian log file %s\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid date in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                if (getword_atoi(&hour,&gwarea,':')<0 || getword(minsec,sizeof(minsec),&gwarea,' ')<0) {
-                       debuga(_("Invalid time found in your dansguardian log file %s\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid time in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                if (getword(user,sizeof(user),&gwarea,' ')<0) {
-                       debuga(_("Invalid user found in your dansguardian log file %s\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid user in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                if (getword(ip,sizeof(ip),&gwarea,' ')<0) {
-                       debuga(_("Invalid IP address found in your dansguardian log file %s\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid IP address in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                if (getword_skip(MAXLEN,&gwarea,'/')<0 || getword_skip(MAXLEN,&gwarea,'/')<0) {
-                       debuga(_("Maybe you have a broken record or garbage in your %s file\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid record in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                if (getword_ptr(buf,&url,&gwarea,' ')<0) {
-                       debuga(_("Maybe you have a broken url in your %s file\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid url in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                if (getword_skip(255,&gwarea,' ')<0 ||
                    getword(code1,sizeof(code1),&gwarea,' ')<0 || getword(code2,sizeof(code2),&gwarea,' ')<0) {
-                       debuga(_("Maybe you have a broken record or garbage in your %s file\n"),loglocation);
+                       debuga(__FILE__,__LINE__,_("Invalid record in file \"%s\"\n"),loglocation);
                        exit(EXIT_FAILURE);
                }
                idata = year*10000+mon*100+day;
@@ -140,22 +144,27 @@ void dansguardian_log(void)
                dansguardian_count++;
        }
 
-       if(fp_in) fclose(fp_in);
-       if(fp_guard) fclose(fp_guard);
-       if(fp_ou) fclose(fp_ou);
+       if (fclose(fp_in)==EOF) {
+               debuga(__FILE__,__LINE__,_("Read error in \"%s\": %s\n"),loglocation,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
+       if (fclose(fp_ou)==EOF) {
+               debuga(__FILE__,__LINE__,_("Write error in \"%s\": %s\n"),guard_in,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
 
        if(debug)
-               debuga(_("Sorting file: %s\n"),guard_ou);
+               debuga(__FILE__,__LINE__,_("Sorting file \"%s\"\n"),guard_ou);
 
        snprintf(tmp6,sizeof(tmp6),"sort -t \"\t\" -k 1,1 -k 2,2 -k 4,4 \"%s\" -o \"%s\"",guard_in, guard_ou);
        cstatus=system(tmp6);
        if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) {
-               debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus));
-               debuga(_("sort command: %s\n"),tmp6);
+               debuga(__FILE__,__LINE__,_("sort command return status %d\n"),WEXITSTATUS(cstatus));
+               debuga(__FILE__,__LINE__,_("sort command: %s\n"),tmp6);
                exit(EXIT_FAILURE);
        }
-       if (unlink(guard_in)) {
-               debuga(_("Cannot delete %s - %s\n"),guard_in,strerror(errno));
+       if (!KeepTempLog && unlink(guard_in)) {
+               debuga(__FILE__,__LINE__,_("Cannot delete \"%s\": %s\n"),guard_in,strerror(errno));
                exit(EXIT_FAILURE);
        }
 }