From 1080ab0d8a0d5dca15dcbaa2e1016e299b1b12d4 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Thu, 14 Apr 2022 17:30:05 -0700 Subject: [PATCH] Fix new function: fopenlog() ftello() returns 0 after fnopen(..., O_APPEND). Use filelength() instead. --- src/sbbs3/nopen.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/nopen.c b/src/sbbs3/nopen.c index 890d551ff2..35554f1069 100644 --- a/src/sbbs3/nopen.c +++ b/src/sbbs3/nopen.c @@ -216,12 +216,13 @@ BOOL backup(const char *fname, int backup_level, BOOL ren) FILE* fopenlog(scfg_t* cfg, const char* path) { const int mode = O_WRONLY|O_CREAT|O_APPEND; + int file; FILE* fp; - if((fp = fnopen(NULL, path, mode)) == NULL) + if((fp = fnopen(&file, path, mode)) == NULL) return NULL; - if(cfg->max_log_size && cfg->max_logs_kept && ftello(fp) >= (off_t)cfg->max_log_size) { + if(cfg->max_log_size && cfg->max_logs_kept && filelength(file) >= (off_t)cfg->max_log_size) { #ifdef _WIN32 // Can't rename an open file on Windows fclose(fp); #endif -- GitLab