From 0aac66f7caececa43d761fafac76d5ce980d2416 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 12 Mar 2002 17:32:23 +0000 Subject: [PATCH] Added code to putusername() to automatically fix a corrupted name.dat file. --- src/sbbs3/userdat.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c index d405a97fec..a873df7934 100644 --- a/src/sbbs3/userdat.c +++ b/src/sbbs3/userdat.c @@ -523,6 +523,7 @@ int DLLCALL putusername(scfg_t* cfg, int number, char *name) char str[256]; int file; long length; + uint total_users; if (number<1) return(-1); @@ -531,6 +532,12 @@ int DLLCALL putusername(scfg_t* cfg, int number, char *name) if((file=nopen(str,O_RDWR|O_CREAT))==-1) return(-2); length=filelength(file); + + /* Truncate corrupted name.dat */ + total_users=lastuser(cfg); + if((uint)(length/(LEN_ALIAS+2))>total_users) + chsize(file,total_users*(LEN_ALIAS+2)); + if(length && length%(LEN_ALIAS+2)) { close(file); return(-3); -- GitLab