From 03814614955809d04cd2e21874d974f04a198ced Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Tue, 7 Apr 2026 12:51:49 +0300 Subject: [PATCH] Use PRI/SCN modifiers where possible --- CMakeLists.txt | 1 - Makefile.msvc | 2 +- Makefile.watcom | 2 +- src/3proxy.c | 2 +- src/datatypes.c | 2 +- src/log.c | 6 +++--- src/plugins/LdapPlugin/ldapauth.c | 6 +++--- src/plugins/TrafficPlugin/TrafficPlugin.c | 2 +- src/proxy.c | 10 +++++----- src/proxymain.c | 2 +- src/structures.h | 4 ++-- src/webadmin.c | 4 ++-- 12 files changed, 21 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d9dc64..059fae9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,7 +77,6 @@ if(WIN32) _WIN32 _MBCS _CONSOLE - PRINTF_INT64_MODIFIER="I64" ) if(COMPILER_IS_MSVC) diff --git a/Makefile.msvc b/Makefile.msvc index 142d78f..5921393 100644 --- a/Makefile.msvc +++ b/Makefile.msvc @@ -6,7 +6,7 @@ BUILDDIR = ../bin/ CC = cl -CFLAGS = /nologo /MT /W3 /Ox /GS /EHs- /GA /GF /D "MSVC" /D "WITH_WSAPOLL" /D "NDEBUG" /D "WIN32" /D "WITH_SSL" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "PRINTF_INT64_MODIFIER=\"I64\"" /Fp"proxy.pch" /FD /c +CFLAGS = /nologo /MT /W3 /Ox /GS /EHs- /GA /GF /D "MSVC" /D "WITH_WSAPOLL" /D "NDEBUG" /D "WIN32" /D "WITH_SSL" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "PRId64=\"I64d\"" /D "PRIu64=\"I64u\"" /D "SCNu64=\"I64u\"" /D "PRIx64=\"I64x\"" /Fp"proxy.pch" /FD /c !IFDEF RELEASE VERSION=/D VERSION=\"3proxy-$(RELEASE)\" !ENDIF diff --git a/Makefile.watcom b/Makefile.watcom index d0f3380..35b77e1 100644 --- a/Makefile.watcom +++ b/Makefile.watcom @@ -6,7 +6,7 @@ BUILDDIR = ../bin/ CC = cl -CFLAGS = /nologo /Ox /MT /D "NOIPV6" /D "NODEBUG" /D "NOODBC" /D "NORADIUS" /D"WATCOM" /D "MSVC" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "PRINTF_INT64_MODIFIER=\"I64\"" /c $(VERSION) $(BUILDDATE) +CFLAGS = /nologo /Ox /MT /D "NOIPV6" /D "NODEBUG" /D "NOODBC" /D "NORADIUS" /D"WATCOM" /D "MSVC" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "PRId64=\"I64d\"" /D "PRIu64=\"I64u\"" /D "SCNu64=\"I64u\"" /D "PRIx64=\"I64x\"" /c $(VERSION) $(BUILDDATE) COUT = /Fo LN = link LDFLAGS = /nologo /subsystem:console /incremental:no diff --git a/src/3proxy.c b/src/3proxy.c index a9ffa5d..e903dff 100644 --- a/src/3proxy.c +++ b/src/3proxy.c @@ -206,7 +206,7 @@ void dumpcounters(struct trafcount *tlin, int counterd){ if(cfp){ for(tl = tlin; cfp && tl; tl = tl->next){ if(tl->type >= conf.countertype) - fprintf(cfp, "%05d %020"PRINTF_INT64_MODIFIER"u%s%s\n", tl->number, tl->traf64, tl->comment?" #" : "", tl->comment? tl->comment : ""); + fprintf(cfp, "%05d %020"PRIu64"%s%s\n", tl->number, tl->traf64, tl->comment?" #" : "", tl->comment? tl->comment : ""); } fclose(cfp); } diff --git a/src/datatypes.c b/src/datatypes.c index ceb402d..a05dafc 100644 --- a/src/datatypes.c +++ b/src/datatypes.c @@ -9,7 +9,7 @@ static void pr_unsigned64(struct node *node, CBFUNC cbf, void*cb){ char buf[32]; - if(node->value)(*cbf)(cb, buf, sprintf(buf, "%"PRINTF_INT64_MODIFIER"u", *(uint64_t *)node->value)); + if(node->value)(*cbf)(cb, buf, sprintf(buf, "%"PRIu64"", *(uint64_t *)node->value)); } static void pr_integer(struct node *node, CBFUNC cbf, void*cb){ diff --git a/src/log.c b/src/log.c index be2ac85..3a4e661 100644 --- a/src/log.c +++ b/src/log.c @@ -246,15 +246,15 @@ int dobuf2(struct clientparam * param, unsigned char * buf, const unsigned char i += (int)strlen((char *)buf+i); break; case 'L': - sprintf((char *)buf+i, "%"PRINTF_INT64_MODIFIER"u", param->cycles); + sprintf((char *)buf+i, "%"PRIu64"", param->cycles); i += (int)strlen((char *)buf+i); break; case 'I': - sprintf((char *)buf+i, "%"PRINTF_INT64_MODIFIER"u", param->statssrv64); + sprintf((char *)buf+i, "%"PRIu64"", param->statssrv64); i += (int)strlen((char *)buf+i); break; case 'O': - sprintf((char *)buf+i, "%"PRINTF_INT64_MODIFIER"u", param->statscli64); + sprintf((char *)buf+i, "%"PRIu64"", param->statscli64); i += (int)strlen((char *)buf+i); break; case 'h': diff --git a/src/plugins/LdapPlugin/ldapauth.c b/src/plugins/LdapPlugin/ldapauth.c index 1572b4d..2d98bd0 100644 --- a/src/plugins/LdapPlugin/ldapauth.c +++ b/src/plugins/LdapPlugin/ldapauth.c @@ -61,7 +61,7 @@ int savecounters(void) unsigned char *tmpbuf,pat_file[]="%s%s.lc"; - /* timetoexit !=0 - будем завершаться.*/ + /* timetoexit !=0 - будем завершаться.*/ while (tc != NULL) { tcd = tc; @@ -72,7 +72,7 @@ int savecounters(void) sprintf(tmpbuf,pat_file,ldap_dircount,tcd->ace->users->user); f=fopen(tmpbuf,"w+b"); fseek(f,0,SEEK_SET); - fprintf(f,"%"PRINTF_INT64_MODIFIER"u %lu %lu\n",tcd->traf64, + fprintf(f,"%"PRIu64" %lu %lu\n",tcd->traf64, (unsigned long)tcd->cleared,(unsigned long)tcd->updated); fclose(f); @@ -387,7 +387,7 @@ int h_trafgroup(int argc, unsigned char ** argv) fseek(f,0,SEEK_SET); fgets(buf, 256, f); - sscanf(buf,"%"PRINTF_INT64_MODIFIER"u %lu %lu\n",&rcounter.traf64, + sscanf(buf,"%"SCNu64" %lu %lu\n",&rcounter.traf64, &rcounter.cleared, &rcounter.updated); diff --git a/src/plugins/TrafficPlugin/TrafficPlugin.c b/src/plugins/TrafficPlugin/TrafficPlugin.c index 3d61888..c8566ea 100644 --- a/src/plugins/TrafficPlugin/TrafficPlugin.c +++ b/src/plugins/TrafficPlugin/TrafficPlugin.c @@ -240,7 +240,7 @@ void mylogfunc(struct clientparam * param, const unsigned char * pz) { } if (DBGLEVEL == 1) { #ifndef NOPSTDINT - fprintf(stdout, "Port=%hd; Before: srv=%"PRINTF_INT64_MODIFIER"d, cli=%"PRINTF_INT64_MODIFIER"d; After: srv=%"PRINTF_INT64_MODIFIER"d, cli=%"PRINTF_INT64_MODIFIER"d; nreads=%ld; nwrites=%ld; Rule=%d\n",myhtons(*SAPORT(¶m->sinsr)), statssrv_before, statscli_before, param->statssrv64, param->statscli64,param->nreads,param->nwrites,rule); + fprintf(stdout, "Port=%hd; Before: srv=%"PRId64", cli=%"PRId64"; After: srv=%"PRId64", cli=%"PRId64"; nreads=%ld; nwrites=%ld; Rule=%d\n",myhtons(*SAPORT(¶m->sinsr)), statssrv_before, statscli_before, param->statssrv64, param->statscli64,param->nreads,param->nwrites,rule); #else fprintf(stdout, "Port=%hd; Before: srv=%lu, cli=%lu; After: srv=%lu, cli=%lu; nreads=%ld; nwrites=%ld; Rule=%d\n",myhtons(param->sins.sin_port), statssrv_before, statscli_before, param->statssrv, param->statscli,param->nreads,param->nwrites,rule); #endif diff --git a/src/proxy.c b/src/proxy.c index 5937586..1cbfc50 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -455,7 +455,7 @@ for(;;){ if(!sb)continue; ++sb; while(isspace(*sb))sb++; - sscanf((char *)sb, "%"PRINTF_INT64_MODIFIER"u",&contentlength64); + sscanf((char *)sb, "%"SCNu64"",&contentlength64); if(param->maxtrafout64 && (param->maxtrafout64 < param->statscli64 || contentlength64 > param->maxtrafout64 - param->statscli64)){ RETURN(10); } @@ -537,7 +537,7 @@ for(;;){ contentlength64 = param->cliinbuf; param->nolongdatfilter = 1; } - sprintf((char*)buf+strlen((char *)buf), "Content-Length: %"PRINTF_INT64_MODIFIER"u\r\n", contentlength64); + sprintf((char*)buf+strlen((char *)buf), "Content-Length: %"PRIu64"\r\n", contentlength64); } #endif @@ -911,7 +911,7 @@ for(;;){ if(!sb)continue; ++sb; while(isspace(*sb))sb++; - sscanf((char *)sb, "%"PRINTF_INT64_MODIFIER"u", &contentlength64); + sscanf((char *)sb, "%"SCNu64"", &contentlength64); hascontent = 1; if(param->unsafefilter && param->ndatfilterssrv > 0) { hascontent = 2; @@ -989,7 +989,7 @@ for(;;){ } if(action != PASS) RETURN(517); contentlength64 = param->srvinbuf; - sprintf((char*)buf+strlen((char *)buf), "Content-Length: %"PRINTF_INT64_MODIFIER"u\r\n", contentlength64); + sprintf((char*)buf+strlen((char *)buf), "Content-Length: %"PRIu64"\r\n", contentlength64); hascontent = 1; } } @@ -1036,7 +1036,7 @@ for(;;){ } smallbuf[i] = 0; contentlength64 = 0; - sscanf((char *)smallbuf, "%"PRINTF_INT64_MODIFIER"x", &contentlength64); + sscanf((char *)smallbuf, "%"SCNx64"", &contentlength64); if(contentlength64 == 0) { param->chunked = 2; } diff --git a/src/proxymain.c b/src/proxymain.c index 6696f7b..aa6aec8 100644 --- a/src/proxymain.c +++ b/src/proxymain.c @@ -718,7 +718,7 @@ int MODULEMAINFUNC (int argc, char** argv){ defparam.clisock = sock; if(!srv.silent && !iscbc){ - sprintf((char *)buf, "Accepting connections [%"PRINTF_INT64_MODIFIER"u/%"PRINTF_INT64_MODIFIER"u]", (uint64_t)getpid(), (uint64_t)pthread_self()); + sprintf((char *)buf, "Accepting connections [%"PRIu64"/%"PRIu64"]", (uint64_t)getpid(), (uint64_t)pthread_self()); dolog(&defparam, buf); } } diff --git a/src/structures.h b/src/structures.h index 11eb9ab..23c05de 100644 --- a/src/structures.h +++ b/src/structures.h @@ -15,8 +15,8 @@ #include #include #include -#ifndef PRINTF_INT64_MODIFIER -#define PRINTF_INT64_MODIFIER "ll" +#ifndef PRId64 +#include #endif #ifdef __cplusplus extern "C" { diff --git a/src/webadmin.c b/src/webadmin.c index 695f7c4..b3548bf 100644 --- a/src/webadmin.c +++ b/src/webadmin.c @@ -510,9 +510,9 @@ void * adminchild(struct clientparam* param) { } else { inbuf += sprintf(buf+inbuf, - "%"PRINTF_INT64_MODIFIER"u" + "%"PRIu64"" "MB%s" - "%"PRINTF_INT64_MODIFIER"u.%"PRINTF_INT64_MODIFIER"u" + "%"PRIu64".%"PRIu64"" "%s", cp->traflim64 / (1024 * 1024), rotations[cp->type],