From: Frédéric Marchal Date: Tue, 1 Jun 2010 14:42:03 +0000 (+0000) Subject: Use portable long long format specifiers. X-Git-Tag: v2.3-pre5~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b8642c01943f9fd63086880a1a2d06a146e580bd;p=thirdparty%2Fsarg.git Use portable long long format specifiers. Use correct char type with iconv --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fb0a815..791381d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -177,25 +177,41 @@ IF(ENABLE_ICONV) ENDIF(ICONV_LIBRARY) CHECK_FUNCTION_EXISTS(iconv_open HAVE_ICONV) - SET(ICONV_CONST_FILE ${CMAKE_BINARY_DIR}/consticonv.c) - FILE(WRITE ${ICONV_CONST_FILE} " -#include + IF(NOT USE_CONST_ICONV) + SET(ICONV_CONST_FILE ${CMAKE_BINARY_DIR}/consticonv.c) + FILE(WRITE ${ICONV_CONST_FILE} " #include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#ifdef __CLASSIC_C__ +int main(){ + int ac; + char*av[]; #else -size_t iconv(); +int main(int ac, char*av[]){ #endif + iconv_t localtoutf=(iconv_t)-1; + const char *str=\"\"; + char *sstr=\"\"; + size_t slen=0, sslen=0; + + iconv (localtoutf, (const char **)&str, &slen, &sstr, &sslen); + if(ac > 1000) + { + return *av[0]; + } + return 0; +} ") - TRY_COMPILE(USE_CONST_ICONV ${CMAKE_BINARY_DIR} ${ICONV_CONST_FILE}) - FILE(REMOVE ${ICONV_CONST_FILE}) - IF(USE_CONST_ICONV) - SET(ICONV_CONST "\"const\"") - ENDIF(USE_CONST_ICONV) + TRY_COMPILE(USE_CONST_ICONV ${CMAKE_BINARY_DIR} ${ICONV_CONST_FILE} CMAKE_FLAGS -DLINK_LIBRARIES="iconv") + FILE(REMOVE ${ICONV_CONST_FILE}) + IF(USE_CONST_ICONV) + SET(ICONV_CONST "const" CACHE STRING "The type of char to use with iconv") + MESSAGE(STATUS "iconv requires const char **") + ELSEIF(USE_CONST_ICONV) + SET(ICONV_CONST "" CACHE STRING "The type of char to use with iconv") + MESSAGE(STATUS "iconv requires char **") + ENDIF(USE_CONST_ICONV) + SET(USE_CONST_ICONV TRUE CACHE BOOL "Use const char ** with iconv") + ENDIF(NOT USE_CONST_ICONV) ENDIF(HAVE_ICONV_H) ENDIF(ENABLE_ICONV) diff --git a/email.c b/email.c index 2bb3940..e722759 100644 --- a/email.c +++ b/email.c @@ -82,7 +82,7 @@ int geramail(const char *dirname, int debug, const char *outdir, const char *ema #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%lld\t%lld\t%lld\n",olduser,tnbytes,tnacc,tnelap); + fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap); #endif ttnbytes+=tnbytes; ttnacc+=tnacc; @@ -105,7 +105,7 @@ int geramail(const char *dirname, int debug, const char *outdir, const char *ema #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%lld\t%lld\t%lld\n",olduser,tnbytes,tnacc,tnelap); + fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap); #endif ttnbytes+=tnbytes; ttnacc+=tnacc; @@ -134,7 +134,7 @@ int geramail(const char *dirname, int debug, const char *outdir, const char *ema #elif defined(__alpha) || __ALPHA fprintf(fp_top1,"TOTAL\t%ld\t%ld\t%ld\n",ttnbytes,ttnacc,ttnelap); #else - fprintf(fp_top1,"TOTAL\t%lld\t%lld\t%lld\n",ttnbytes,ttnacc,ttnelap); + fprintf(fp_top1,"TOTAL\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",ttnbytes,ttnacc,ttnelap); #endif fclose(fp_top1); @@ -210,7 +210,7 @@ int geramail(const char *dirname, int debug, const char *outdir, const char *ema #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 %8lld %15s %8s %9s %10lld\n",_("TOTAL")," ",ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),ttnelap); + fprintf(fp_top3,"%-7s %20s %8"PRId64" %15s %8s %9s %10"PRId64"\n",_("TOTAL")," ",ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),ttnelap); #endif } else { #if defined(__FreeBSD__) @@ -218,7 +218,7 @@ int geramail(const char *dirname, int debug, const char *outdir, const char *ema #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 %8lld %15s %3.2lf%% %10s %10lld %3.2lf%%\n",posicao,user,nacc,fixnum(nbytes,1),perc,buildtime(elap),elap,perc2); + 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); #endif } } @@ -232,7 +232,7 @@ int geramail(const char *dirname, int debug, const char *outdir, const char *ema #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); #else - fprintf(fp_top3,"%-7s %20s %8lld %15s %8s %9s %10lld\n",strip1," ",ttnacc/totuser,fixnum(tnbytes,1)," ",buildtime(ttnelap/totuser),ttnelap/totuser); + fprintf(fp_top3,"%-7s %20s %8"PRId64" %15s %8s %9s %10"PRId64"\n",strip1," ",ttnacc/totuser,fixnum(tnbytes,1)," ",buildtime(ttnelap/totuser),ttnelap/totuser); #endif fclose(fp_top1); diff --git a/grepday.c b/grepday.c index f0336af..122fd74 100644 --- a/grepday.c +++ b/grepday.c @@ -141,7 +141,7 @@ static void Sarg_gdImageStringFT (struct GraphDataStruct *gdata, int fg, char *f if (sslen>gdata->string_size) { sstring = (char *)realloc(gdata->string,sslen); if (!sstring) { - debuga(_("realloc error (%zu bytes required)\n"),sslen); + debuga(_("realloc error (%"PRIu64" bytes required)\n"),(unsigned long long int)sslen); exit(EXIT_FAILURE); } gdata->string=(char *)sstring; @@ -293,11 +293,11 @@ static int greport_compute_yaxis(struct PlotStruct *pdata,struct GraphDataStruct double ymag; if (pdata->ymin<0.) { - debuga(_("Minimum for Y scale of the graph is out of range: %lld\n"),pdata->ymin); + debuga(_("Minimum for Y scale of the graph is out of range: %"PRId64"\n"),pdata->ymin); return(-1); } if (pdata->ymax<=0.) { - debuga(_("Maximum for Y scale of the graph is out of range: %lld\n"),pdata->ymax); + debuga(_("Maximum for Y scale of the graph is out of range: %"PRId64"\n"),pdata->ymax); return(-1); } diff --git a/html.c b/html.c index 5ae585f..22a9439 100644 --- a/html.c +++ b/html.c @@ -424,7 +424,7 @@ void htmlrel(void) } if(strcmp(user_ip,olduserip) != 0) { sprintf(wwork1,"%s",fixnum(unbytes,1)); - fprintf(fp_ou,"%s%s%s%lld\n",olduserip,wwork1,buildtime(unelap),unelap); + fprintf(fp_ou,"%s%s%s%"PRId64"\n",olduserip,wwork1,buildtime(unelap),unelap); strcpy(olduserip,user_ip); unacc=0; @@ -443,7 +443,7 @@ void htmlrel(void) unlink(tmp3); sprintf(wwork1,"%s",fixnum(unbytes,1)); - fprintf(fp_ou,"%s%s%s%lld\n",olduserip,wwork1,buildtime(unelap),unelap); + fprintf(fp_ou,"%s%s%s%"PRId64"\n",olduserip,wwork1,buildtime(unelap),unelap); } unacc=0; diff --git a/report.c b/report.c index b4ff0e9..b073154 100644 --- a/report.c +++ b/report.c @@ -475,7 +475,7 @@ void gravatmp(const struct userinfostruct *uinfo, const char *oldurl, long long exit(EXIT_FAILURE); } - fprintf(fp_ou,"%lld\t%lld\t%s\t%s\t%lld\t%lld\t%lld\n",nacc,nbytes,oldurl,oldmsg,nelap,incache,oucache); + fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%s\t%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",nacc,nbytes,oldurl,oldmsg,nelap,incache,oucache); fclose(fp_ou); ttopen=0; @@ -507,7 +507,7 @@ static void gravatmpf(const struct userinfostruct *uinfo,const char *oldurl, lon exit(EXIT_FAILURE); } - fprintf(fp_ou,"%lld\t%lld\t%s\t%s\t%lld\t%lld\t%lld\n",nacc,nbytes,oldurl,oldmsg,nelap,incache,oucache); + fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%s\t%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",nacc,nbytes,oldurl,oldmsg,nelap,incache,oucache); if (fclose(fp_ou)==EOF) { debuga(_("Failed to close file %s - %s\n"),wdirname,strerror(errno)); @@ -547,8 +547,8 @@ static void gravatmp_hora(const char *dirname, const struct userinfostruct *uinf hour=atoi(hora); fprintf(fp_ou,"%s\t%d",data,hour); - if((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%lld",bytes); - if((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%lld",elap); + if((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%"PRId64,bytes); + if((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%"PRId64,elap); fputs("\n",fp_ou); if (fclose(fp_ou)==EOF) { @@ -578,7 +578,7 @@ static void gravaporuser(const struct userinfostruct *uinfo, const char *dirname exit(EXIT_FAILURE); } - fprintf(fp_ou,"%s\t%s\t%s\t%s\t%lld\t%lld\n",ip,url,data,hora,tam,elap); + fprintf(fp_ou,"%s\t%s\t%s\t%s\t%"PRId64"\t%"PRId64"\n",ip,url,data,hora,tam,elap); fclose(fp_ou); @@ -589,7 +589,7 @@ static void gravaporuser(const struct userinfostruct *uinfo, const char *dirname 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%lld\t%lld\t%s\t%s\t%s\t%s\t%lld\t%lld\t%lld\n",uinfo->id,nacc,nbytes,url,ip,hora,dia,nelap,incache,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); return; } diff --git a/topsites.c b/topsites.c index 842ccb6..3742825 100644 --- a/topsites.c +++ b/topsites.c @@ -114,7 +114,7 @@ void topsites(void) } if(strcmp(item.url,ourl) != 0) { - fprintf(fp_ou,"%lld\t%lld\t%lld\t%s\n",tnacc,tnbytes,tntime,ourl); + fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%"PRId64"\t%s\n",tnacc,tnbytes,tntime,ourl); url_len=strlen(item.url); if (url_len>=ourl_size) { ourl_size=url_len+1; @@ -139,7 +139,7 @@ void topsites(void) longline_destroy(&line); if (ourl) { - fprintf(fp_ou,"%lld\t%lld\t%lld\t%s\n",tnacc,tnbytes,tntime,ourl); + fprintf(fp_ou,"%"PRId64"\t%"PRId64"\t%"PRId64"\t%s\n",tnacc,tnbytes,tntime,ourl); free(ourl); } diff --git a/topuser.c b/topuser.c index f02c83e..8913863 100644 --- a/topuser.c +++ b/topuser.c @@ -88,7 +88,7 @@ void topuser(void) totuser++; if (olduser[0] != '\0') { - fprintf(fp_top2,"%s\t%lld\t%lld\t%lld\t%lld\t%lld\n",olduser,tnbytes,tnacc,tnelap,tnincache,tnoucache); + fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap,tnincache,tnoucache); ttnbytes+=tnbytes; ttnacc+=tnacc; @@ -114,7 +114,7 @@ void topuser(void) longline_destroy(&line); if (olduser[0] != '\0') { - fprintf(fp_top2,"%s\t%lld\t%lld\t%lld\t%lld\t%lld\n",olduser,tnbytes,tnacc,tnelap,tnincache,tnoucache); + fprintf(fp_top2,"%s\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",olduser,tnbytes,tnacc,tnelap,tnincache,tnoucache); ttnbytes+=tnbytes; ttnacc+=tnacc; diff --git a/totday.c b/totday.c index 61472e2..36ff220 100644 --- a/totday.c +++ b/totday.c @@ -124,9 +124,9 @@ void day_totalize(const char *tmp, const struct userinfostruct *uinfo, int index day=daynum%100; month=(daynum/100)%100; year=daynum/10000; - fprintf(fp_ou,"%d/%d/%d\t%lld",day,month,year,hour); - if ((datetimeby & DATETIME_BYTE)!=0) fprintf(fp_ou,"\t%lld",tbytes[i]); - if ((datetimeby & DATETIME_ELAP)!=0) fprintf(fp_ou,"\t%lld",telap[i]); + 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]); fputs("\n",fp_ou); } diff --git a/totger.c b/totger.c index 7691072..7742239 100644 --- a/totger.c +++ b/totger.c @@ -67,7 +67,7 @@ int totalger(const char *dirname, int debug, const char *outdir) exit(EXIT_FAILURE); } - if (fprintf(fp_in,"TOTAL\t%lld\t%lld\t%lld\t%lld\t%lld\n",tnacc,tnbytes,telap,tincache,toucache)<0) { + if (fprintf(fp_in,"TOTAL\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\t%"PRId64"\n",tnacc,tnbytes,telap,tincache,toucache)<0) { debuga(_("Failed to write the total line in %s\n"),wger); exit(EXIT_FAILURE); } diff --git a/util.c b/util.c index 6999631..e0e7104 100644 --- a/util.c +++ b/util.c @@ -1118,7 +1118,7 @@ void zdate(char *ftime,int ftimesize, const char *DateFormat) if(strcmp(DateFormat,"e") == 0) strftime(ftime, ftimesize, "%d/%b/%Y-%H:%M", local); if(strcmp(DateFormat,"w") == 0) - strftime(ftime, ftimesize, "%V-%H-%M", local); + strftime(ftime, ftimesize, "%W-%H-%M", local); return; }