diff arogue5/main.c @ 279:d3968e9cb98d

Use C stdio functions for score files and save files. Switching from Unix file descriptor operations to C standard FILE* functions will reduce portability problems.
author John "Elwin" Edwards
date Fri, 15 Sep 2017 19:57:54 -0400
parents 3d4252fa2ed3
children 17005af49963
line wrap: on
line diff
--- a/arogue5/main.c	Sun Sep 10 17:30:13 2017 -0400
+++ b/arogue5/main.c	Fri Sep 15 19:57:54 2017 -0400
@@ -20,6 +20,7 @@
 #include <limits.h>
 #include <signal.h>
 #include <time.h>
+#include <errno.h>
 #include "mach_dep.h"
 #include "network.h"
 #include "rogue.h"
@@ -245,10 +246,22 @@
 }
 
 void
+reopen_score(void)
+{
+    if (scoreboard != NULL)
+        fclose(scoreboard);
+    scoreboard = fopen(score_file, "r+");
+    if (scoreboard == NULL && errno == ENOENT) {
+        scoreboard = fopen(score_file, "w+");
+    }
+}
+
+
+void
 open_records(void)
 {
-    if (scorefd == -1)
-        md_reopen_score();
+    if (scoreboard == NULL)
+        reopen_score();
 #ifdef LOGFILE
     if (logfile == NULL)
         logfile = fopen(LOGFILE, "a");