Mercurial > hg > early-roguelike
diff srogue/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/srogue/main.c Sun Sep 10 17:30:13 2017 -0400 +++ b/srogue/main.c Fri Sep 15 19:57:54 2017 -0400 @@ -21,6 +21,7 @@ #include <fcntl.h> #include <stdio.h> #include <limits.h> +#include <errno.h> #include <sys/stat.h> #include "rogue.h" @@ -37,7 +38,7 @@ char *roguehome(void); void open_records(void); -extern int scorefd; +extern FILE *scoreboard; extern FILE *logfile; int @@ -480,8 +481,11 @@ void open_records(void) { - if (scorefd < 0) - scorefd = open(scorefile, O_RDWR | O_CREAT, 0666); + if (scoreboard == NULL) + scoreboard = fopen(scorefile, "r+"); + if (scoreboard == NULL && errno == ENOENT) { + scoreboard = fopen(scorefile, "w+"); + } #ifdef LOGFILE if (logfile == NULL) logfile = fopen(LOGFILE, "a");