SET(sarg_VERSION 2)
SET(sarg_REVISION "3-pre4")
SET(sarg_BUILD "")
-SET(sarg_BUILDDATE "May-27-2010")
+SET(sarg_BUILDDATE "Jun-02-2010")
INCLUDE(AddFileDependencies)
INCLUDE(CheckIncludeFile)
long long int ttnbytes=0, ttnacc=0, tnacc=0;
long long int tnbytes=0, ttnelap=0, tnelap=0;
long long int nacc, nbytes, elap;
+ long long int avgacc, avgelap;
double perc=0.00;
double perc2=0.00;
int posicao=0;
#elif defined(__alpha) || __ALPHA
fprintf(fp_top2,"%s\t%ld\t%ld\t%ld\n",olduser,tnbytes,tnacc,tnelap);
#else
- fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap);
+ fprintf(fp_top2,"%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",olduser,(uint64_t)tnbytes,(uint64_t)tnacc,(uint64_t)tnelap);
#endif
ttnbytes+=tnbytes;
ttnacc+=tnacc;
#elif defined(__alpha) || __ALPHA
fprintf(fp_top2,"%s\t%ld\t%ld\t%ld\n",olduser,tnbytes,tnacc,tnelap);
#else
- fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap);
+ fprintf(fp_top2,"%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",olduser,(uint64_t)tnbytes,(uint64_t)tnacc,(uint64_t)tnelap);
#endif
ttnbytes+=tnbytes;
ttnacc+=tnacc;
#elif defined(__alpha) || __ALPHA
fprintf(fp_top1,"TOTAL\t%ld\t%ld\t%ld\n",ttnbytes,ttnacc,ttnelap);
#else
- fprintf(fp_top1,"TOTAL\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",ttnbytes,ttnacc,ttnelap);
+ fprintf(fp_top1,"TOTAL\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)ttnbytes,(uint64_t)ttnacc,(uint64_t)ttnelap);
#endif
fclose(fp_top1);
#elif defined(__alpha) || __ALPHA
fprintf(fp_top3,"%-7s %20s %8ld %15s %8s %9s %10ld\n",_("TOTAL")," ",ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),ttnelap);
#else
- fprintf(fp_top3,"%-7s %20s %8"PRId64" %15s %8s %9s %10"PRId64"\n",_("TOTAL")," ",ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),ttnelap);
+ fprintf(fp_top3,"%-7s %20s %8"PRIu64" %15s %8s %9s %10"PRIu64"\n",_("TOTAL")," ",(uint64_t)ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),(uint64_t)ttnelap);
#endif
} else {
#if defined(__FreeBSD__)
#elif defined(__alpha) || __ALPHA
fprintf(fp_top3,"%7d %20s %8lld %15s %3.2lf%% %10s %10ld %3.2lf%%\n",posicao,user,nacc,fixnum(nbytes,1),perc,buildtime(elap),elap,perc2);
#else
- fprintf(fp_top3,"%7d %20s %8"PRId64" %15s %3.2lf%% %10s %10"PRId64" %3.2lf%%\n",posicao,user,nacc,fixnum(nbytes,1),perc,buildtime(elap),elap,perc2);
+ fprintf(fp_top3,"%7d %20s %8"PRIu64" %15s %3.2lf%% %10s %10"PRIu64" %3.2lf%%\n",posicao,user,(uint64_t)nacc,fixnum(nbytes,1),perc,buildtime(elap),(uint64_t)elap,perc2);
#endif
}
}
- tnbytes=(totuser) ? ttnbytes / totuser : 0;
+ if (totuser>0) {
+ tnbytes=(totuser) ? ttnbytes / totuser : 0;
+ avgacc=ttnacc/totuser;
+ avgelap=ttnelap/totuser;
+ } else {
+ tnbytes=0;
+ avgacc=0;
+ avgelap=0;
+ }
strcpy(strip1,_("AVERAGE"));
strip_latin(strip1);
#if defined(__FreeBSD__)
- fprintf(fp_top3,"%-7s %20s %8qu %15s %8s %9s %10qu\n",strip1," ",ttnacc/totuser,fixnum(tnbytes,1)," ",buildtime(ttnelap/totuser),ttnelap/totuser);
+ fprintf(fp_top3,"%-7s %20s %8qu %15s %8s %9s %10qu\n",strip1," ",avgacc,fixnum(tnbytes,1)," ",buildtime(avgelap),avgelap);
#elif defined(__alpha) || __ALPHA
- fprintf(fp_top3,"%-7s %20s %8ld %15s %8s %9s %10ld\n",strip1," ",ttnacc/totuser,fixnum(tnbytes,1)," ",buildtime(ttnelap/totuser),ttnelap/totuser);
+ fprintf(fp_top3,"%-7s %20s %8ld %15s %8s %9s %10ld\n",strip1," ",avgacc,fixnum(tnbytes,1)," ",buildtime(avgelap),avgelap);
#else
- fprintf(fp_top3,"%-7s %20s %8"PRId64" %15s %8s %9s %10"PRId64"\n",strip1," ",ttnacc/totuser,fixnum(tnbytes,1)," ",buildtime(ttnelap/totuser),ttnelap/totuser);
+ fprintf(fp_top3,"%-7s %20s %8"PRIu64" %15s %8s %9s %10"PRIu64"\n",strip1," ",(uint64_t)avgacc,fixnum(tnbytes,1)," ",buildtime(avgelap),(uint64_t)avgelap);
#endif
fclose(fp_top1);
if (sslen>gdata->string_size) {
sstring = (char *)realloc(gdata->string,sslen);
if (!sstring) {
- debuga(_("realloc error (%"PRIu64" bytes required)\n"),(unsigned long long int)sslen);
+ debuga(_("realloc error (%"PRIu64" bytes required)\n"),(uint64_t)sslen);
exit(EXIT_FAILURE);
}
gdata->string=(char *)sstring;
double ymag;
if (pdata->ymin<0.) {
- debuga(_("Minimum for Y scale of the graph is out of range: %"PRId64"\n"),pdata->ymin);
+ debuga(_("Minimum for Y scale of the graph is out of range: %"PRId64"\n"),(int64_t)pdata->ymin);
return(-1);
}
if (pdata->ymax<=0.) {
- debuga(_("Maximum for Y scale of the graph is out of range: %"PRId64"\n"),pdata->ymax);
+ debuga(_("Maximum for Y scale of the graph is out of range: %"PRId64"\n"),(int64_t)pdata->ymax);
return(-1);
}
}
if(strcmp(user_ip,olduserip) != 0) {
sprintf(wwork1,"%s",fixnum(unbytes,1));
- fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%"PRId64"</td></tr>\n",olduserip,wwork1,buildtime(unelap),unelap);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%"PRIu64"</td></tr>\n",olduserip,wwork1,buildtime(unelap),(uint64_t)unelap);
strcpy(olduserip,user_ip);
unacc=0;
unlink(tmp3);
sprintf(wwork1,"%s",fixnum(unbytes,1));
- fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%"PRId64"</td></tr>\n",olduserip,wwork1,buildtime(unelap),unelap);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"<tr><td></td><td class=\"data\">%s</td><td></td><td class=\"data\">%s</td><td></td><td></td><td></td><td class=\"data\">%s</td><td class=\"data\">%"PRIu64"</td></tr>\n",olduserip,wwork1,buildtime(unelap),(uint64_t)unelap);
}
unacc=0;
-#define VERSION PACKAGE_VERSION" May-27-2010"
+#define VERSION PACKAGE_VERSION" Jun-02-2010"
#define PGM PACKAGE_NAME
#define URL "http://sarg.sourceforge.net"
exit(EXIT_FAILURE);
}
- fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%s\t%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",nacc,nbytes,oldurl,oldmsg,nelap,incache,oucache);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"%"PRIu64"\t%"PRIu64"\t%s\t%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)nacc,(uint64_t)nbytes,oldurl,oldmsg,(uint64_t)nelap,(uint64_t)incache,(uint64_t)oucache);
fclose(fp_ou);
ttopen=0;
exit(EXIT_FAILURE);
}
- fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%s\t%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",nacc,nbytes,oldurl,oldmsg,nelap,incache,oucache);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"%"PRIu64"\t%"PRIu64"\t%s\t%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)nacc,(uint64_t)nbytes,oldurl,oldmsg,(uint64_t)nelap,(uint64_t)incache,(uint64_t)oucache);
if (fclose(fp_ou)==EOF) {
debuga(_("Failed to close file %s - %s\n"),wdirname,strerror(errno));
hour=atoi(hora);
fprintf(fp_ou,"%s\t%d",data,hour);
- if((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%"PRId64,bytes);
- if((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%"PRId64,elap);
+ if((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%"PRIu64,(uint64_t)bytes);
+ if((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%"PRIu64,(uint64_t)elap);
fputs("\n",fp_ou);
if (fclose(fp_ou)==EOF) {
exit(EXIT_FAILURE);
}
- fprintf(fp_ou,"%s\t%s\t%s\t%s\t%"PRId64"\t%"PRId64"\n",ip,url,data,hora,tam,elap);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"%s\t%s\t%s\t%s\t%"PRIu64"\t%"PRIu64"\n",ip,url,data,hora,(uint64_t)tam,(uint64_t)elap);
fclose(fp_ou);
static void gravager(FILE *fp_gen, const struct userinfostruct *uinfo, long long int nacc, const char *url, long long int nbytes, const char *ip, const char *hora, const char *dia, long long int nelap, long long int incache, long long int oucache)
{
- fprintf(fp_gen,"%s\t%"PRId64"\t%"PRId64"\t%s\t%s\t%s\t%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",uinfo->id,nacc,nbytes,url,ip,hora,dia,nelap,incache,oucache);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_gen,"%s\t%"PRIu64"\t%"PRIu64"\t%s\t%s\t%s\t%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",uinfo->id,(uint64_t)nacc,(uint64_t)nbytes,url,ip,hora,dia,(uint64_t)nelap,(uint64_t)incache,(uint64_t)oucache);
return;
}
}
if(strcmp(item.url,ourl) != 0) {
- fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%"PRId64"\t%s\n",tnacc,tnbytes,tntime,ourl);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%s\n",(uint64_t)tnacc,(uint64_t)tnbytes,(uint64_t)tntime,ourl);
url_len=strlen(item.url);
if (url_len>=ourl_size) {
ourl_size=url_len+1;
longline_destroy(&line);
if (ourl) {
- fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%"PRId64"\t%s\n",tnacc,tnbytes,tntime,ourl);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_ou,"%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%s\n",(uint64_t)tnacc,(uint64_t)tnbytes,(uint64_t)tntime,ourl);
free(ourl);
}
totuser++;
if (olduser[0] != '\0') {
- fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap,tnincache,tnoucache);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_top2,"%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",olduser,(uint64_t)tnbytes,(uint64_t)tnacc,(uint64_t)tnelap,(uint64_t)tnincache,(uint64_t)tnoucache);
ttnbytes+=tnbytes;
ttnacc+=tnacc;
longline_destroy(&line);
if (olduser[0] != '\0') {
- fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap,tnincache,tnoucache);
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ fprintf(fp_top2,"%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",olduser,(uint64_t)tnbytes,(uint64_t)tnacc,(uint64_t)tnelap,(uint64_t)tnincache,(uint64_t)tnoucache);
ttnbytes+=tnbytes;
ttnacc+=tnacc;
day=daynum%100;
month=(daynum/100)%100;
year=daynum/10000;
- fprintf(fp_ou,"%d/%d/%d\t%"PRId64"",day,month,year,hour);
- if ((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%"PRId64"",tbytes[i]);
- if ((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%"PRId64"",telap[i]);
+ fprintf(fp_ou,"%d/%d/%d\t%d",day,month,year,(int)hour);
+ if ((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%"PRIu64"",(uint64_t)tbytes[i]);
+ if ((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%"PRIu64"",(uint64_t)telap[i]);
fputs("\n",fp_ou);
}
exit(EXIT_FAILURE);
}
- if (fprintf(fp_in,"TOTAL\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",tnacc,tnbytes,telap,tincache,toucache)<0) {
+ /*
+ This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable
+ to print a long long int unless it is exactly 64-bits long.
+ */
+ if (fprintf(fp_in,"TOTAL\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)tnacc,(uint64_t)tnbytes,(uint64_t)telap,(uint64_t)tincache,(uint64_t)toucache)<0) {
debuga(_("Failed to write the total line in %s\n"),wger);
exit(EXIT_FAILURE);
}