Daemons and fuses now return void.

Functions for starting and stopping daemons and fuses now expect the
type 'void (*func)()'.  Only a few functions in XRogue needed to be
modified to fit.  Determining the type of the argument is left for a
later date.

Building with GCC5 should now produce less than 200 lines of warnings
per game.
This commit is contained in:
John "Elwin" Edwards 2016-03-05 20:49:37 -05:00
parent 6dfde944f0
commit 0a354903e0
14 changed files with 91 additions and 96 deletions

View file

@ -78,7 +78,7 @@ f_slot(void)
* Find a particular slot in the table
*/
struct delayed_action *
find_slot(int (*func)())
find_slot(void (*func)())
{
reg int i;
reg struct delayed_action *dev;
@ -95,7 +95,7 @@ find_slot(int (*func)())
* Start a daemon, takes a function.
*/
void
start_daemon(int (*func)(), int arg, int type)
start_daemon(void (*func)(), int arg, int type)
{
reg struct delayed_action *dev;
@ -115,7 +115,7 @@ start_daemon(int (*func)(), int arg, int type)
* Remove a daemon from the list
*/
void
kill_daemon(int (*func)())
kill_daemon(void (*func)())
{
reg struct delayed_action *dev;
reg int i;
@ -163,7 +163,7 @@ do_daemons(int flag)
* Start a fuse to go off in a certain number of turns
*/
void
fuse(int (*func)(), int arg, int time, int type)
fuse(void (*func)(), int arg, int time, int type)
{
reg struct delayed_action *wire;
@ -183,7 +183,7 @@ fuse(int (*func)(), int arg, int time, int type)
* Increase the time until a fuse goes off
*/
void
lengthen(int (*func)(), int xtime)
lengthen(void (*func)(), int xtime)
{
reg struct delayed_action *wire;
@ -198,7 +198,7 @@ lengthen(int (*func)(), int xtime)
* Put out a fuse
*/
void
extinguish(int (*func)())
extinguish(void (*func)())
{
reg struct delayed_action *wire;

View file

@ -1113,7 +1113,7 @@ struct quill {
struct delayed_action {
int d_type;
int (*d_func)();
void (*d_func)();
union {
int arg;
void *varg;
@ -1212,18 +1212,18 @@ int encread(char *start, unsigned int size, int inf);
int encwrite(char *start, unsigned int size, int outf);
void endmsg(void);
void explode(struct thing *tp);
void extinguish(int (*func)());
void extinguish(void (*func)());
void fall(struct linked_list *item, bool pr);
coord *fallpos(coord *pos, bool be_clear, int range);
void fatal(char *s);
bool fight(coord *mp, struct object *weap, bool thrown);
struct linked_list *find_mons(int y, int x);
struct linked_list *find_obj(int y, int x);
struct delayed_action *find_slot(int (*func)());
struct delayed_action *find_slot(void (*func)());
int findmindex(char *name);
void fix_stick(struct object *cur);
void fumble(void);
void fuse(int (*func)(), int arg, int time, int type);
void fuse(void (*func)(), int arg, int time, int type);
void genmonsters(int least, bool treas);
coord get_coordinates(void);
bool get_dir(coord *direction);
@ -1256,11 +1256,11 @@ bool is_current(struct object *obj);
bool is_magic(struct object *obj);
bool isatrap(char ch);
int itemweight(struct object *wh);
void kill_daemon(int (*func)());
void kill_daemon(void (*func)());
void killed(struct linked_list *item, bool pr, bool points, bool treasure);
void lake_check(coord *place);
void land(void);
void lengthen(int (*func)(), int xtime);
void lengthen(void (*func)(), int xtime);
void light(coord *cp);
bool lit_room(struct room *rp);
void look(bool wakeup, bool runend);
@ -1357,7 +1357,7 @@ bool skirmish(struct thing *attacker, coord *mp, struct object *weap,
bool thrown);
struct linked_list *spec_item(int type, int which, int hit, int damage);
void spell_recovery(void);
void start_daemon(int (*func)(), int arg, int type);
void start_daemon(void (*func)(), int arg, int type);
void status(bool display);
void steal(void);
bool step_ok(int y, int x, int can_on_monst, struct thing *flgptr);

View file

@ -1504,7 +1504,7 @@ rs_write_daemons(FILE *savef, struct delayed_action *d_list, int count)
func = 15;
else if (d_list[i].d_func == unstink)
func = 16;
else if (d_list[i].d_func == (int (*)()) res_strength)
else if (d_list[i].d_func == res_strength)
func = 17;
else if (d_list[i].d_func == undance)
func = 18;
@ -1644,7 +1644,7 @@ rs_read_daemons(int inf, struct delayed_action *d_list, int count)
break;
case 16: d_list[i].d_func = unstink;
break;
case 17: d_list[i].d_func = (int (*)()) res_strength;
case 17: d_list[i].d_func = res_strength;
break;
case 18: d_list[i].d_func = undance;
break;