[Freeciv-Dev] Re: (PR#4732) worklists get saved full of garbage
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Jason Short wrote:
> If you use a worklist, the unused values (after the end of the wl) can
> get filled with garbage. If you then save the game garbage will be
> saved. But if you reload it the garbage will of course be ignored. The
> result is ugly but not harmful.
>
> To see this in action, use a worklist and save your game. Then reload
> the game and immediately save it again. The savegames will differ.
The same patch, without the bug.
jason
Index: server/savegame.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/server/savegame.c,v
retrieving revision 1.127
diff -u -r1.127 savegame.c
--- server/savegame.c 2003/07/23 13:46:04 1.127
+++ server/savegame.c 2003/08/01 05:00:24
@@ -1307,6 +1307,16 @@
for (i = 0; i < MAX_LEN_WORKLIST; i++) {
secfile_insert_int(file, pwl->wlefs[i], efpath, plrno, wlinx, i);
secfile_insert_int(file, pwl->wlids[i], idpath, plrno, wlinx, i);
+ if (pwl->wlefs[i] == WEF_END) {
+ break;
+ }
+ }
+
+ /* Fill out remaining worklist entries. */
+ for (i++; i < MAX_LEN_WORKLIST; i++) {
+ /* These values match what worklist_load fills in for unused entries. */
+ secfile_insert_int(file, WEF_END, efpath, plrno, wlinx, i);
+ secfile_insert_int(file, 0, idpath, plrno, wlinx, i);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Freeciv-Dev] Re: (PR#4732) worklists get saved full of garbage,
Jason Short <=
|
|