From f2c2836301d4dc59242d09f08a5473341c4d692c Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Tue, 24 Dec 2019 01:55:47 -0800
Subject: [PATCH] Overwrite an already existing symlink

---
 src/sdl/i_main.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c
index af34da8d1..f798ca6cd 100644
--- a/src/sdl/i_main.c
+++ b/src/sdl/i_main.c
@@ -142,6 +142,7 @@ int main(int argc, char **argv)
 		const char *reldir;
 		int left;
 		boolean fileabs;
+		const char *link;
 
 		logdir = D_Home();
 
@@ -201,11 +202,12 @@ int main(int argc, char **argv)
 #ifdef __unix__
 		logstream = fopen(logfilename, "w");
 #ifdef DEFAULTDIR
-		if (symlink(logfilename,
-					va("%s/"DEFAULTDIR"/latest-log.txt", logdir)) == -1)
+		link = va("%s/"DEFAULTDIR"/latest-log.txt", logdir);
 #else
-		if (symlink(logfilename, va("%s/latest-log.txt", logdir)) == -1)
+		link = va("%s/latest-log.txt", logdir);
 #endif/*DEFAULTDIR*/
+		unlink(link);
+		if (symlink(logfilename, link) == -1)
 		{
 			I_OutputMsg("Error symlinking latest-log.txt: %s\n", strerror(errno));
 		}
-- 
GitLab