From eecbea50bbc53e1339d364cc62db472cdd07e514 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Tue, 29 Nov 2005 22:34:13 +0000
Subject: [PATCH] <DigitalMan> closing the file before referencing file.error
 would be bd <DigitalMan> bad <DigitalMan> and referencing file.length could
 very well reset the ferror() value, so sample and save the file.error value
 immediately after error

---
 exec/loadfont.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/exec/loadfont.js b/exec/loadfont.js
index 02d70e39b8..6dfb38f348 100644
--- a/exec/loadfont.js
+++ b/exec/loadfont.js
@@ -160,12 +160,14 @@ for (i in filenames) {
 
 	// Doesn't work on Win32.. Win32 sucks.
 	var fontdata=font.read(font.length);
+	var fonterr=font.error;
 
-	font.close();
 	if(fontdata.length != font.length) {
-		log(LOG_ERR,"!ERROR Error "+font.error+" reading font data (read "+fontdata.length+", expected "+font.length+") errno="+errno);
+		log(LOG_ERR,"!ERROR Error "+fonterr+" reading font data (read "+fontdata.length+", expected "+font.length+") errno="+errno);
+		font.close();
 		continue;
 	}
+	font.close();
 
 	client.socket.send("\x1b[="+(firstslot+parseInt(i))+";"+fontsize+"{");
 
-- 
GitLab