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.
This commit is contained in:
John "Elwin" Edwards 2017-09-15 19:57:54 -04:00
parent f8d1f422c8
commit c661fd79d4
33 changed files with 426 additions and 439 deletions

View file

@ -64,11 +64,11 @@
#include <string.h>
#include "rogue.h"
int rs_read_int(int inf, int *i);
int rs_read_int(FILE *inf, int *i);
int rs_write_int(FILE *savef, int c);
int list_size(struct linked_list *l);
int rs_write_object_list(FILE *savef, struct linked_list *l);
int rs_read_object_list(int inf, struct linked_list **list);
int rs_read_object_list(FILE *inf, struct linked_list **list);
#define READSTAT (format_error || read_error )
#define WRITESTAT (write_error)
@ -92,7 +92,7 @@ rs_write(FILE *savef, void *ptr, size_t size)
}
int
rs_read(int inf, void *ptr, size_t size)
rs_read(FILE *inf, void *ptr, size_t size)
{
if (read_error || format_error)
return(READSTAT);
@ -115,7 +115,7 @@ rs_write_uchar(FILE *savef, unsigned char c)
}
int
rs_read_uchar(int inf, unsigned char *c)
rs_read_uchar(FILE *inf, unsigned char *c)
{
if (read_error || format_error)
return(READSTAT);
@ -137,7 +137,7 @@ rs_write_char(FILE *savef, char c)
}
int
rs_read_char(int inf, char *c)
rs_read_char(FILE *inf, char *c)
{
if (read_error || format_error)
return(READSTAT);
@ -160,7 +160,7 @@ rs_write_chars(FILE *savef, char *c, int count)
}
int
rs_read_chars(int inf, char *i, int count)
rs_read_chars(FILE *inf, char *i, int count)
{
int value = 0;
@ -201,7 +201,7 @@ rs_write_int(FILE *savef, int c)
}
int
rs_read_int(int inf, int *i)
rs_read_int(FILE *inf, int *i)
{
unsigned char bytes[4];
int input = 0;
@ -244,7 +244,7 @@ rs_write_ints(FILE *savef, int *c, int count)
}
int
rs_read_ints(int inf, int *i, int count)
rs_read_ints(FILE *inf, int *i, int count)
{
int n, value;
@ -277,7 +277,7 @@ rs_write_boolean(FILE *savef, bool c)
}
int
rs_read_boolean(int inf, bool *i)
rs_read_boolean(FILE *inf, bool *i)
{
unsigned char buf = 0;
@ -309,7 +309,7 @@ rs_write_booleans(FILE *savef, bool *c, int count)
}
int
rs_read_booleans(int inf, bool *i, int count)
rs_read_booleans(FILE *inf, bool *i, int count)
{
int n = 0, value = 0;
@ -350,7 +350,7 @@ rs_write_short(FILE *savef, short c)
}
int
rs_read_short(int inf, short *i)
rs_read_short(FILE *inf, short *i)
{
unsigned char bytes[2];
short input;
@ -391,7 +391,7 @@ rs_write_shorts(FILE *savef, short *c, int count)
}
int
rs_read_shorts(int inf, short *i, int count)
rs_read_shorts(FILE *inf, short *i, int count)
{
int n = 0, value = 0;
@ -432,7 +432,7 @@ rs_write_ushort(FILE *savef, unsigned short c)
}
int
rs_read_ushort(int inf, unsigned short *i)
rs_read_ushort(FILE *inf, unsigned short *i)
{
unsigned char bytes[2];
unsigned short input;
@ -479,7 +479,7 @@ rs_write_uint(FILE *savef, unsigned int c)
}
int
rs_read_uint(int inf, unsigned int *i)
rs_read_uint(FILE *inf, unsigned int *i)
{
unsigned char bytes[4];
int input;
@ -535,7 +535,7 @@ rs_write_long(FILE *savef, long c)
}
int
rs_read_long(int inf, long *i)
rs_read_long(FILE *inf, long *i)
{
unsigned char bytes[4];
long input;
@ -577,7 +577,7 @@ rs_write_longs(FILE *savef, long *c, int count)
}
int
rs_read_longs(int inf, long *i, int count)
rs_read_longs(FILE *inf, long *i, int count)
{
int n = 0, value = 0;
@ -627,7 +627,7 @@ rs_write_ulong(FILE *savef, unsigned long c)
}
int
rs_read_ulong(int inf, unsigned long *i)
rs_read_ulong(FILE *inf, unsigned long *i)
{
unsigned char bytes[4];
unsigned long input;
@ -673,7 +673,7 @@ rs_write_ulongs(FILE *savef, unsigned long *c, int count)
}
int
rs_read_ulongs(int inf, unsigned long *i, int count)
rs_read_ulongs(FILE *inf, unsigned long *i, int count)
{
int n = 0, value = 0;
@ -704,7 +704,7 @@ rs_write_marker(FILE *savef, int id)
}
int
rs_read_marker(int inf, int id)
rs_read_marker(FILE *inf, int id)
{
int nid;
@ -739,7 +739,7 @@ rs_write_string(FILE *savef, char *s)
}
int
rs_read_string(int inf, char *s, int max)
rs_read_string(FILE *inf, char *s, int max)
{
int len = 0;
@ -757,7 +757,7 @@ rs_read_string(int inf, char *s, int max)
}
int
rs_read_new_string(int inf, char **s)
rs_read_new_string(FILE *inf, char **s)
{
int len=0;
char *buf=0;
@ -802,7 +802,7 @@ rs_write_strings(FILE *savef, char *s[], int count)
}
int
rs_read_strings(int inf, char **s, int count, int max)
rs_read_strings(FILE *inf, char **s, int count, int max)
{
int n = 0;
int value = 0;
@ -823,7 +823,7 @@ rs_read_strings(int inf, char **s, int count, int max)
}
int
rs_read_new_strings(int inf, char **s, int count)
rs_read_new_strings(FILE *inf, char **s, int count)
{
int n = 0;
int value = 0;
@ -859,7 +859,7 @@ rs_write_string_index(FILE *savef, char *master[], int max, const char *str)
}
int
rs_read_string_index(int inf, char *master[], int maxindex, char **str)
rs_read_string_index(FILE *inf, char *master[], int maxindex, char **str)
{
int i;
@ -891,7 +891,7 @@ rs_write_coord(FILE *savef, coord c)
}
int
rs_read_coord(int inf, coord *c)
rs_read_coord(FILE *inf, coord *c)
{
coord in;
@ -926,7 +926,7 @@ rs_write_coord_list(FILE *savef, struct linked_list *l)
}
int
rs_read_coord_list(int inf, struct linked_list **list)
rs_read_coord_list(FILE *inf, struct linked_list **list)
{
int i, cnt;
struct linked_list *l = NULL, *previous = NULL, *head = NULL;
@ -984,7 +984,7 @@ rs_write_window(FILE *savef, WINDOW *win)
}
int
rs_read_window(int inf, WINDOW *win)
rs_read_window(FILE *inf, WINDOW *win)
{
int row,col,maxlines,maxcols,value,width,height;
@ -1071,7 +1071,7 @@ rs_write_levtype(FILE *savef, LEVTYPE c)
}
int
rs_read_levtype(int inf, LEVTYPE *l)
rs_read_levtype(FILE *inf, LEVTYPE *l)
{
int lt;
@ -1114,7 +1114,7 @@ rs_write_stats(FILE *savef, struct stats *s)
}
int
rs_read_stats(int inf, struct stats *s)
rs_read_stats(FILE *inf, struct stats *s)
{
if (read_error || format_error)
return(READSTAT);
@ -1155,7 +1155,7 @@ rs_write_magic_items(FILE *savef, struct magic_item *i, int count)
}
int
rs_read_magic_items(int inf, struct magic_item *mi, int count)
rs_read_magic_items(FILE *inf, struct magic_item *mi, int count)
{
int n;
int value;
@ -1196,7 +1196,7 @@ rs_write_scrolls(FILE *savef)
}
int
rs_read_scrolls(int inf)
rs_read_scrolls(FILE *inf)
{
int i;
@ -1232,7 +1232,7 @@ rs_write_potions(FILE *savef)
}
int
rs_read_potions(int inf)
rs_read_potions(FILE *inf)
{
int i;
@ -1268,7 +1268,7 @@ rs_write_rings(FILE *savef)
}
int
rs_read_rings(int inf)
rs_read_rings(FILE *inf)
{
int i;
@ -1316,7 +1316,7 @@ rs_write_sticks(FILE *savef)
}
int
rs_read_sticks(int inf)
rs_read_sticks(FILE *inf)
{
int i = 0, j = 0, list = 0;
@ -1501,7 +1501,7 @@ rs_write_daemons(FILE *savef, struct delayed_action *d_list, int count)
}
int
rs_read_daemons(int inf, struct delayed_action *d_list, int count)
rs_read_daemons(FILE *inf, struct delayed_action *d_list, int count)
{
int i = 0;
int func = 0;
@ -1643,7 +1643,7 @@ rs_write_room(FILE *savef, struct room *r)
}
int
rs_read_room(int inf, struct room *r)
rs_read_room(FILE *inf, struct room *r)
{
int value = 0, n = 0, i = 0, index = 0, id = 0;
struct linked_list *fires=NULL, *item = NULL;
@ -1700,7 +1700,7 @@ rs_write_rooms(FILE *savef, struct room r[], int count)
}
int
rs_read_rooms(int inf, struct room *r, int count)
rs_read_rooms(FILE *inf, struct room *r, int count)
{
int value = 0, n = 0;
@ -1736,7 +1736,7 @@ rs_write_room_reference(FILE *savef, struct room *rp)
}
int
rs_read_room_reference(int inf, struct room **rp)
rs_read_room_reference(FILE *inf, struct room **rp)
{
int i;
@ -1783,7 +1783,7 @@ rs_write_door_reference(FILE *savef, coord *exit)
}
int
rs_read_door_reference(int inf, coord **exit)
rs_read_door_reference(FILE *inf, coord **exit)
{
int i, idx;
@ -1818,7 +1818,7 @@ rs_write_traps(FILE *savef, struct trap *trap,int count)
}
int
rs_read_traps(int inf, struct trap *trap, int count)
rs_read_traps(FILE *inf, struct trap *trap, int count)
{
int id = 0, value = 0, n = 0;
@ -1865,7 +1865,7 @@ rs_write_monsters(FILE *savef, struct monster *m, int count)
}
int
rs_read_monsters(int inf, struct monster *m, int count)
rs_read_monsters(FILE *inf, struct monster *m, int count)
{
int value = 0, n = 0;
@ -1917,7 +1917,7 @@ rs_write_object(FILE *savef, struct object *o)
}
int
rs_read_object(int inf, struct object *o)
rs_read_object(FILE *inf, struct object *o)
{
if (read_error || format_error)
return(READSTAT);
@ -1958,7 +1958,7 @@ rs_write_object_list(FILE *savef, struct linked_list *l)
}
int
rs_read_object_list(int inf, struct linked_list **list)
rs_read_object_list(FILE *inf, struct linked_list **list)
{
int i, cnt;
struct linked_list *l = NULL, *previous = NULL, *head = NULL;
@ -2010,7 +2010,7 @@ rs_write_object_reference(FILE *savef, struct linked_list *list, struct object *
}
int
rs_read_object_reference(int inf, struct linked_list *list, struct object **item)
rs_read_object_reference(FILE *inf, struct linked_list *list, struct object **item)
{
int i;
@ -2156,7 +2156,7 @@ rs_write_thing(FILE *savef, struct thing *t)
}
int
rs_read_thing(int inf, struct thing *t)
rs_read_thing(FILE *inf, struct thing *t)
{
int listid = 0, index = -1;
@ -2275,7 +2275,7 @@ rs_write_thing_list(FILE *savef, struct linked_list *l)
}
int
rs_read_thing_list(int inf, struct linked_list **list)
rs_read_thing_list(FILE *inf, struct linked_list **list)
{
int i, cnt;
struct linked_list *l = NULL, *previous = NULL, *head = NULL;
@ -2444,7 +2444,7 @@ rs_save_file(FILE *savef)
}
int
rs_restore_file(int inf)
rs_restore_file(FILE *inf)
{
int i;