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