summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/util.c b/src/util.c
index f1b0710e..a195cfc9 100644
--- a/src/util.c
+++ b/src/util.c
@@ -4417,7 +4417,7 @@ void scansubdir(cptr dir)
/*
* Timers
*/
-timer_type *new_timer(cptr callback, s32b delay)
+static timer_type *new_timer_init(s32b delay)
{
timer_type *t_ptr;
@@ -4425,7 +4425,8 @@ timer_type *new_timer(cptr callback, s32b delay)
t_ptr->next = gl_timers;
gl_timers = t_ptr;
- t_ptr->callback = string_make(callback);
+ t_ptr->callback_c = NULL;
+ t_ptr->callback = NULL;
t_ptr->delay = delay;
t_ptr->countdown = delay;
t_ptr->enabled = FALSE;
@@ -4433,6 +4434,20 @@ timer_type *new_timer(cptr callback, s32b delay)
return t_ptr;
}
+timer_type *new_timer(cptr callback, s32b delay)
+{
+ timer_type *t_ptr = new_timer_init(delay);
+ t_ptr->callback = string_make(callback);
+ return t_ptr;
+}
+
+timer_type *new_timer_c(void (*callback)(), s32b delay)
+{
+ timer_type *t_ptr = new_timer_init(delay);
+ t_ptr->callback_c = callback;
+ return t_ptr;
+}
+
void del_timer(timer_type *t_ptr)
{
timer_type *i, *old;