#include <stdlib.h> /* for size_t, calloc(), free() */
#include <string.h> /* for strlen(), strcmp(), memcpy() */
#include <stdint.h> /* for uint8_t, uint16_t */
-#include "readwrite.h" /* for try_fopen(), try_fclose(), get_linemax(),
- * try_fputc()
+#include "readwrite.h" /* for try_fopen(), try_fclose(), textfile_sizes(),
+ * try_fputc(), try_fgetc()
*/
#include "map_objects.h" /* for struct MapObj, get_player(), read_map_objects(),
* write_map_objects()
{
FILE * file_old = try_fopen(recordfile, "r", f_name);
FILE * file_new = try_fopen(recordfile_tmp, "w", f_name);
- char c = fgetc(file_old);
+ int c = try_fgetc(file_old, f_name);
while (EOF != c)
{
- try_fputc(c, file_new, f_name);
- c = fgetc(file_old);
+ try_fputc((uint8_t) c, file_new, f_name);
+ c = try_fgetc(file_old, f_name);
}
try_fclose(file_old, f_name);
try_fputc(action, file_new, f_name);
char * f_name = "load_game2()";
char * filename = "savefile";
FILE * file = try_fopen(filename, "r", f_name);
- uint16_t linemax = get_linemax(file, f_name);
+ uint16_t linemax = textfile_sizes(file, NULL);
char line[linemax + 1];
try_fgets(line, linemax + 1, file, f_name);
world.mapseed = atoi(line);