comparison rogue5/state.c @ 124:d10fc4a065ac

rogue5: ignore the file name stored in the save file. state.c had put file_name into the save file. The saved value was used to overwrite file_name on restore. If the save file had been renamed, unlink(file_name) would then fail, because file_name held the old name. To avoid breaking savefile compatibility, file_name is still saved, but it is read back into a temporary buffer and then ignored. I thought I fixed this already.
author John "Elwin" Edwards
date Fri, 16 Jan 2015 13:42:30 -0500
parents 7f8f43943b1f
children 696277507a2e
comparison
equal deleted inserted replaced
123:8dd4b06a9155 124:d10fc4a065ac
1387 } 1387 }
1388 1388
1389 int 1389 int
1390 rs_restore_file(FILE *savef) 1390 rs_restore_file(FILE *savef)
1391 { 1391 {
1392 char fake_file_name[MAXSTR];
1392 THING *mitem; 1393 THING *mitem;
1393 encclearerr(); 1394 encclearerr();
1394 1395
1395 rs_read_int(savef, &noscore); 1396 rs_read_int(savef, &noscore);
1396 rs_read_int(savef, &seenstairs); 1397 rs_read_int(savef, &seenstairs);
1400 rs_read_int(savef, &passgo); 1401 rs_read_int(savef, &passgo);
1401 rs_read_int(savef, &see_floor); 1402 rs_read_int(savef, &see_floor);
1402 rs_read_int(savef, &terse); 1403 rs_read_int(savef, &terse);
1403 rs_read_int(savef, &tombstone); 1404 rs_read_int(savef, &tombstone);
1404 rs_read_ints(savef, pack_used, 26); 1405 rs_read_ints(savef, pack_used, 26);
1405 rs_read_chars(savef, file_name, MAXSTR); 1406 rs_read_chars(savef, fake_file_name, MAXSTR);
1406 rs_read_chars(savef, huh, MAXSTR); 1407 rs_read_chars(savef, huh, MAXSTR);
1407 rs_read_potions(savef); 1408 rs_read_potions(savef);
1408 rs_read_rings(savef); 1409 rs_read_rings(savef);
1409 rs_read_scrolls(savef); 1410 rs_read_scrolls(savef);
1410 rs_read_chars(savef, whoami, MAXSTR); 1411 rs_read_chars(savef, whoami, MAXSTR);