--- Timer.c.org 2005-04-24 18:14:52.000000000 +0200 +++ Timer.c 2005-04-24 18:17:45.000000000 +0200 @@ -102,10 +102,11 @@ static int update_timerqueue(Timer **queue, void *arg, int tdiff) { -int nap; Timer *t, *t_next; - nap = 10 * SECS_IN_MIN; + if (queue == NULL) + return 10 * SECS_IN_MIN; + for(t = *queue; t != NULL; t = t_next) { t_next = t->next; @@ -113,11 +114,9 @@ t->sleeptime -= tdiff; tdiff = 0; } - if (t->sleeptime > 0) { - if (t->sleeptime < nap) - nap = t->sleeptime; + if (t->sleeptime > 0) break; - } + if (t->sleeptime <= 0) { t->sleeptime = t->maxtime; @@ -134,7 +133,7 @@ add_Timer(queue, t); } } - return nap; + return (*queue == NULL) ? 10 * SECS_IN_MIN : (*queue)->sleeptime; } /*