1515
1616typedef struct pending_call_s
1717{
18- int delta ;
18+ time_t delta ;
1919 string_or_func_t function ;
2020 object_t * ob ;
2121 array_t * vs ;
@@ -29,7 +29,8 @@ pending_call_t;
2929
3030static pending_call_t * call_list [CALLOUT_CYCLE_SIZE ];
3131static pending_call_t * call_list_free ;
32- static int num_call , call_out_time = 0 ;
32+ static time_t call_out_time = 0 ;
33+ static int num_call ;
3334static int unique = 0 ;
3435
3536static void free_call (pending_call_t * );
@@ -71,13 +72,10 @@ free_call (pending_call_t * cop)
7172}
7273
7374
74- /*
75+ /**
7576 * Setup a new call out.
7677 */
77- int
78- new_call_out (object_t * ob , svalue_t * fun , int delay , int num_args ,
79- svalue_t * arg )
80- {
78+ int new_call_out (object_t * ob , svalue_t * fun , time_t delay , int num_args , svalue_t * arg ) {
8179 pending_call_t * cop , * * copp ;
8280 int tm ;
8381
@@ -129,8 +127,7 @@ new_call_out (object_t * ob, svalue_t * fun, int delay, int num_args,
129127
130128 /* Find out which slot this one fits in */
131129 tm = (delay + current_time ) & (CALLOUT_CYCLE_SIZE - 1 );
132- delay =
133- (1 + (delay + current_time - call_out_time - 1 ) / CALLOUT_CYCLE_SIZE );
130+ delay = (1 + (delay + current_time - call_out_time - 1 ) / CALLOUT_CYCLE_SIZE );
134131
135132 for (copp = & call_list [tm ]; * copp ; copp = & (* copp )-> next )
136133 {
@@ -269,9 +266,7 @@ call_out ()
269266}
270267
271268
272- static int
273- time_left (int slot , int delay )
274- {
269+ static time_t time_left (int slot , time_t delay ) {
275270 int current_slot = call_out_time & (CALLOUT_CYCLE_SIZE - 1 );
276271 if (slot > current_slot )
277272 {
@@ -291,11 +286,9 @@ time_left (int slot, int delay)
291286 * The time left until execution is returned.
292287 * -1 is returned if no call out pending.
293288 */
294- int
295- remove_call_out (object_t * ob , char * fun )
296- {
289+ int remove_call_out (object_t * ob , char * fun ) {
297290 pending_call_t * * copp , * cop ;
298- int delay ;
291+ time_t delay ;
299292 int i ;
300293
301294 if (!ob )
@@ -313,21 +306,18 @@ remove_call_out (object_t * ob, char *fun)
313306 cop -> next -> delta += cop -> delta ;
314307 * copp = cop -> next ;
315308 free_call (cop );
316- return time_left (i , delay );
309+ return ( int ) time_left (i , delay );
317310 }
318311 }
319312 }
320313 return -1 ;
321314}
322315
323- int
324- remove_call_out_by_handle (int handle )
325- {
316+ int remove_call_out_by_handle (int handle ) {
326317 pending_call_t * * copp , * cop ;
327- int delay = 0 ;
318+ time_t delay = 0 ;
328319
329- for (copp = & call_list [handle & (CALLOUT_CYCLE_SIZE - 1 )]; * copp ;
330- copp = & (* copp )-> next )
320+ for (copp = & call_list [handle & (CALLOUT_CYCLE_SIZE - 1 )]; * copp ; copp = & (* copp )-> next )
331321 {
332322 delay += (* copp )-> delta ;
333323 if ((* copp )-> handle == handle )
@@ -337,33 +327,29 @@ remove_call_out_by_handle (int handle)
337327 cop -> next -> delta += cop -> delta ;
338328 * copp = cop -> next ;
339329 free_call (cop );
340- return time_left (handle & (CALLOUT_CYCLE_SIZE - 1 ), delay );
330+ return ( int ) time_left (handle & (CALLOUT_CYCLE_SIZE - 1 ), delay );
341331 }
342332 }
343333 return -1 ;
344334}
345335
346- int
347- find_call_out_by_handle (int handle )
348- {
336+ int find_call_out_by_handle (int handle ) {
349337 pending_call_t * cop ;
350- int delay = 0 ;
338+ time_t delay = 0 ;
351339
352340 for (cop = call_list [handle & (CALLOUT_CYCLE_SIZE - 1 )]; cop ;
353341 cop = cop -> next )
354342 {
355343 delay += cop -> delta ;
356344 if (cop -> handle == handle )
357- return time_left (handle & (CALLOUT_CYCLE_SIZE - 1 ), delay );
345+ return ( int ) time_left (handle & (CALLOUT_CYCLE_SIZE - 1 ), delay );
358346 }
359347 return -1 ;
360348}
361349
362- int
363- find_call_out (object_t * ob , char * fun )
364- {
350+ int find_call_out (object_t * ob , char * fun ) {
365351 pending_call_t * cop ;
366- int delay ;
352+ time_t delay ;
367353 int i ;
368354
369355 if (!ob )
@@ -375,7 +361,7 @@ find_call_out (object_t * ob, char *fun)
375361 {
376362 delay += cop -> delta ;
377363 if (cop -> ob == ob && strcmp (cop -> function .s , fun ) == 0 )
378- return time_left (i , delay );
364+ return ( int ) time_left (i , delay );
379365 }
380366 }
381367 return -1 ;
@@ -415,10 +401,9 @@ print_call_out_usage (outbuffer_t * ob, int verbose)
415401 * 1: The function (string).
416402 * 2: The delay.
417403 */
418- array_t *
419- get_all_call_outs ()
420- {
421- int i , j , delay , tm ;
404+ array_t * get_all_call_outs () {
405+ time_t delay ;
406+ int i , j , tm ;
422407 pending_call_t * cop ;
423408 array_t * v ;
424409
@@ -520,7 +505,7 @@ void f_call_out (void) {
520505
521506 if (!(current_object -> flags & O_DESTRUCTED ))
522507 {
523- ret = new_call_out (current_object , arg , arg [1 ].u .number , num , arg + 2 );
508+ ret = new_call_out (current_object , arg , ( time_t ) arg [1 ].u .number , num , arg + 2 );
524509 /* args have been transfered; don't free them;
525510 also don't need to free the int */
526511 sp -= num + 1 ;
@@ -537,7 +522,7 @@ void f_call_out (void) {
537522#else
538523 if (!(current_object -> flags & O_DESTRUCTED ))
539524 {
540- new_call_out (current_object , arg , arg [1 ].u .number , num , arg + 2 );
525+ new_call_out (current_object , arg , ( time_t ) arg [1 ].u .number , num , arg + 2 );
541526 sp -= num + 1 ;
542527 }
543528 else
@@ -557,7 +542,7 @@ void f_find_call_out (void) {
557542#ifdef CALLOUT_HANDLES
558543 if (sp -> type == T_NUMBER )
559544 {
560- i = find_call_out_by_handle (sp -> u .number );
545+ i = find_call_out_by_handle (( int ) sp -> u .number );
561546 }
562547 else
563548 { /* T_STRING */
@@ -588,7 +573,7 @@ void f_remove_call_out (void) {
588573 }
589574 else
590575 {
591- i = remove_call_out_by_handle (sp -> u .number );
576+ i = remove_call_out_by_handle (( int ) sp -> u .number );
592577 }
593578#endif
594579 }
0 commit comments