]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - useragent.c
Output only two sets of messages when fclose fails
[thirdparty/sarg.git] / useragent.c
index ea9cf2af025f39c2b0721734e8a6341376c9b979..8ea1140b3e555192ac73b9dd5ec4b44d4532dc9d 100644 (file)
@@ -122,11 +122,14 @@ void useragent(void)
                debuga(_("   Records read: %ld\n"),totregsl);
        }
 
-       fclose(fp_in);
        if (fclose(fp_ou)==EOF) {
                debuga(_("Write error in \"%s\": %s\n"),tmp3,strerror(errno));
                exit(EXIT_FAILURE);
        }
+       if (fclose(fp_in)==EOF) {
+               debuga(_("Read error in \"%s\": %s\n"),UserAgentLog,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
 
        if(debug) {
                debuga(_("Sorting file: %s\n"),tmp2);
@@ -213,7 +216,10 @@ void useragent(void)
        }
 
        fputs("</table>\n",fp_ht);
-       fclose(fp_in);
+       if (fclose(fp_in)==EOF) {
+               debuga(_("Read error in \"%s\": %s\n"),tmp2,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
 
        if (snprintf(csort,sizeof(csort),"sort -t \"\t\" -k 2,2 -o \"%s\" \"%s\"",tmp3,tmp2)>=sizeof(csort)) {
                debuga(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),tmp2,tmp3);
@@ -273,11 +279,14 @@ void useragent(void)
        fprintf(fp_ou,"%06d %s\n",agentot,agent);
        agentot2+=agentot;
 
-       fclose(fp_in);
        if (fclose(fp_ou)==EOF) {
                debuga(_("Write error in \"%s\": %s\n"),tmp3,strerror(errno));
                exit(EXIT_FAILURE);
        }
+       if (fclose(fp_in)==EOF) {
+               debuga(_("Read error in \"%s\": %s\n"),tmp3,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
 
        if (!KeepTempLog && unlink(tmp3)) {
                debuga(_("Cannot delete \"%s\": %s\n"),tmp3,strerror(errno));
@@ -325,7 +334,10 @@ void useragent(void)
                output_html_string(fp_ht,gwarea.current,250);
                fprintf(fp_ht,"</td><td class=\"data\">%d</td><td class=\"data\">%3.2lf</td></tr>\n",nagent,perc);
        }
-       fclose(fp_in);
+       if (fclose(fp_in)==EOF) {
+               debuga(_("Read error in \"%s\": %s\n"),tmp3,strerror(errno));
+               exit(EXIT_FAILURE);
+       }
 
        fputs("</table></div>\n",fp_ht);
        write_html_trailer(fp_ht);