From 65b65341dc591de4374c3b45e14bc4e556a111b3 Mon Sep 17 00:00:00 2001 From: Markus Uhlin Date: Mon, 4 Aug 2025 20:16:52 +0200 Subject: plogins: fixed bogus behavior --- FICS/comproc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'FICS/comproc.c') diff --git a/FICS/comproc.c b/FICS/comproc.c index 09fe357..b2504fd 100644 --- a/FICS/comproc.c +++ b/FICS/comproc.c @@ -766,6 +766,8 @@ plogins(int p, char *fname) FILE *fp = NULL; char ipstr[20] = { '\0' }; char loginName[MAX_LOGIN_NAME + 1] = { '\0' }; + const char *v_scan_fmt = "%" SCNu16 " %19s " "%" SCNd64 " " + "%d %19s\n"; int registered = 0; int64_t lval = 0; time_t tval = 0; @@ -779,10 +781,9 @@ plogins(int p, char *fname) _Static_assert(19 < ARRAY_SIZE(ipstr), "'ipstr' too small"); _Static_assert(19 < ARRAY_SIZE(loginName), "'loginName' too small"); -#define SCAN_FMT ("%" SCNu16 " %19s " "%" SCNd64 " " "%d %19s\n") while (!feof(fp)) { - if (fscanf(fp, SCAN_FMT, &inout, loginName, &lval, ®istered, - ipstr) != 5) { + if (fscanf(fp, v_scan_fmt, &inout, loginName, &lval, + ®istered, ipstr) != 5) { fprintf(stderr, "FICS: Error in login info format. " "%s\n", fname); fclose(fp); -- cgit v1.2.3