]> git.ipfire.org Git - thirdparty/sarg.git/blobdiff - useragent.c
All the sprintf/fputs have been replaced by fprintf to avoid an intermediary buffer...
[thirdparty/sarg.git] / useragent.c
index 4d47da95c1f9b92f7f1264fb1a26c2ac24a7182f..90260a633529758b33431e88199b1e6dc446bc0a 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "include/conf.h"
 
-void useragent()
+void useragent(void)
 {
 
    FILE *fp_in = NULL, *fp_ou = NULL, *fp_ht = NULL;
@@ -99,8 +99,7 @@ void useragent()
       if(strlen(user) == 0)
          strcpy(user,ip);
 
-      sprintf(buf,"%s\\%s\\%s\\%s\\\n",ip,data,agent,user);
-      fputs(buf,fp_ou);
+      fprintf(fp_ou,"%s\\%s\\%s\\%s\\\n",ip,data,agent,user);
       user[0]='\0';
    }
 
@@ -157,23 +156,20 @@ void useragent()
    else
       show_sarg(fp_ht,"..");
    fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
-   sprintf(html,"<tr><th align=center colspan=2><b><font color=%s size=+1>%s</font></b></th></tr>\n",TiColor,text[105]);
-   fputs(html,fp_ht);
+   fprintf(fp_ht,"<tr><th align=center colspan=2><b><font color=%s size=+1>%s</font></b></th></tr>\n",TiColor,text[105]);
 
    fputs("<tr><td></td></tr><tr><td></td></tr>",fp_ht);
    fputs("</table></center>\n",fp_ht);
 
    fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
 
-   sprintf(html,"<tr><td align=right bgcolor=%s><font size=%s>%s:</font><td align=left bgcolor=%s><font size=%s>%s - %s</font></td></td></tr>\n",HeaderBgColor,FontSize,text[89],TxBgColor,FontSize,idate,fdate);
-   fputs(html,fp_ht);
+   fprintf(fp_ht,"<tr><td align=right bgcolor=%s><font size=%s>%s:</font><td align=left bgcolor=%s><font size=%s>%s - %s</font></td></td></tr>\n",HeaderBgColor,FontSize,text[89],TxBgColor,FontSize,idate,fdate);
 
    fputs("</table></center>\n",fp_ht);
    fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
    fputs("<tr><td></td><td></td></tr>",fp_ht);
 
-   sprintf(html,"<tr><th align=left bgcolor=%s><font size=%s color=%s>%s</font></th><th bgcolor=%s align=left><font size=%s color=%s>%s</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[98],HeaderBgColor,FontSize,HeaderColor,text[106]);
-   fputs(html,fp_ou);
+   fprintf(fp_ou,"<tr><th align=left bgcolor=%s><font size=%s color=%s>%s</font></th><th bgcolor=%s align=left><font size=%s color=%s>%s</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[98],HeaderBgColor,FontSize,HeaderColor,text[106]);
 
    while(fgets(buf,sizeof(buf),fp_in)!=NULL) {
       if (getword(ip,sizeof(ip),buf,'\\')<0) {
@@ -184,7 +180,7 @@ void useragent()
       if(strcmp(Ip2Name,"yes") == 0) {
          if(strcmp(ip,ipbefore) != 0) {
             strcpy(ipbefore,ip);
-            ip2name(ip);
+            ip2name(ip,sizeof(ip));
             strcpy(namebefore,ip);
          } else strcpy(ip,namebefore);
       }
@@ -196,14 +192,12 @@ void useragent()
       }
 
       if(strcmp(user,user_old) != 0) {
-         sprintf(html,"<tr><td align=left bgcolor=%s><font size=%s>%s</td><td align=left bgcolor=%s><font size=%s>%s</td></tr>\n",TxBgColor,FontSize,user,TxBgColor,FontSize,agent);
-         fputs(html,fp_ht);
+         fprintf(fp_ht,"<tr><td align=left bgcolor=%s><font size=%s>%s</td><td align=left bgcolor=%s><font size=%s>%s</td></tr>\n",TxBgColor,FontSize,user,TxBgColor,FontSize,agent);
          strcpy(user_old,user);
          strcpy(agent_old,agent);
       } else {
          if(strcmp(agent,agent_old) != 0) {
-            sprintf(html,"<tr><td></td><td align=left bgcolor=%s><font size=%s>%s</td></tr>\n",TxBgColor,FontSize,agent);
-            fputs(html,fp_ht);
+            fprintf(fp_ht,"<tr><td></td><td align=left bgcolor=%s><font size=%s>%s</td></tr>\n",TxBgColor,FontSize,agent);
             strcpy(agent_old,agent);
          }
       }
@@ -251,16 +245,14 @@ void useragent()
 
       if(strcmp(agent,agent_old) != 0) {
          agentdif++;
-         sprintf(html,"%06d %s\n",agentot,agent_old);
-         fputs(html,fp_ou);
+         fprintf(fp_ou,"%06d %s\n",agentot,agent_old);
          strcpy(agent_old,agent);
          agentot2+=agentot;
          agentot=1;
       }
    }
    agentdif++;
-   sprintf(html,"%06d %s\n",agentot,agent);
-   fputs(html,fp_ou);
+   fprintf(fp_ou,"%06d %s\n",agentot,agent);
    agentot2+=agentot;
 
    fclose(fp_in);
@@ -291,8 +283,7 @@ void useragent()
    fputs("<br><br>\n",fp_ht);
 
    fputs("<center><table cellpadding=0 cellspacing=0>\n",fp_ht);
-   sprintf(html,"<tr><th align=left bgcolor=%s><font size=%s color=%s>%s</font></th><th bgcolor=%s align=left><font size=%s color=%s>%s</font></th><th align=center bgcolor=%s><font size=%s color=%s>%%</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[106],HeaderBgColor,FontSize,HeaderColor,text[107],HeaderBgColor,FontSize,HeaderColor);
-   fputs(html,fp_ht);
+   fprintf(fp_ht,"<tr><th align=left bgcolor=%s><font size=%s color=%s>%s</font></th><th bgcolor=%s align=left><font size=%s color=%s>%s</font></th><th align=center bgcolor=%s><font size=%s color=%s>%%</font></th></tr>\n",HeaderBgColor,FontSize,HeaderColor,text[106],HeaderBgColor,FontSize,HeaderColor,text[107],HeaderBgColor,FontSize,HeaderColor);
 
    while(fgets(buf,sizeof(buf),fp_in)!=NULL) {
       buf[strlen(buf)-1]='\0';
@@ -303,15 +294,13 @@ void useragent()
       perc=atoi(tagent) * 100;
       perc=perc / agentot2;
 
-      sprintf(html,"<tr><td align=left bgcolor=%s><font size=%s>%s</td><td align=right bgcolor=%s><font size=%s>%d</td><td align=right bgcolor=%s><font size=%s>%3.2f</td></tr>\n",TxBgColor,FontSize,buf,TxBgColor,FontSize,atoi(tagent),TxBgColor,FontSize,perc);
-      fputs(html,fp_ht);
+      fprintf(fp_ht,"<tr><td align=left bgcolor=%s><font size=%s>%s</td><td align=right bgcolor=%s><font size=%s>%d</td><td align=right bgcolor=%s><font size=%s>%3.2f</td></tr>\n",TxBgColor,FontSize,buf,TxBgColor,FontSize,atoi(tagent),TxBgColor,FontSize,perc);
    }
 
    fputs("</table></html>\n",fp_ht);
    if(strcmp(ShowSargInfo,"yes") == 0) {
       zdate(ftime, DateFormat);
-      sprintf(html,"<br><br><center><font size=-2>%s <a href='%s'>%s-%s</a> %s %s</font></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
-      fputs(html,fp_ht);
+      fprintf(fp_ht,"<br><br><center><font size=-2>%s <a href='%s'>%s-%s</a> %s %s</font></center>\n",text[108],URL,PGM,VERSION,text[109],ftime);
    }
 
    fputs("</table>\n</body>\n</html>\n",fp_ht);