arogue5: fix some daemon-related pointer/int casting.
Daemons and fuses take a single argument, nominally an int but either ignored or unsafely cast to a pointer. Its type has now been changed to void*. The save/restore code no longer tries to store this argument in the savefile. For doctor(), this is not a problem, because player is the only argument it is ever given as a daemon. However, alchemy() will fail to do anything when passed NULL. Fixing this would be complicated but possible. Summary: the code is slightly safer, but alchemy jugs are guaranteed to stop working after save and restore, instead of just extremely likely.
This commit is contained in:
parent
dff96acf36
commit
7b0ec1230e
3 changed files with 9 additions and 10 deletions
|
|
@ -725,7 +725,7 @@
|
|||
struct delayed_action {
|
||||
int d_type;
|
||||
int (*d_func)();
|
||||
int d_arg;
|
||||
void *d_arg;
|
||||
int d_time;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue