@@ -953,7 +953,7 @@ static int run(int argc, char *argv[]) {
953953
954954 t = now (CLOCK_MONOTONIC );
955955
956- if (t >= last_refresh + arg_delay || immediate_refresh ) {
956+ if (t >= usec_add ( last_refresh , arg_delay ) || immediate_refresh ) {
957957
958958 r = refresh (root , a , b , iteration ++ );
959959 if (r < 0 )
@@ -976,9 +976,9 @@ static int run(int argc, char *argv[]) {
976976 fflush (stdout );
977977
978978 if (arg_batch )
979- (void ) usleep (last_refresh + arg_delay - t );
979+ (void ) usleep (usec_add ( usec_sub_unsigned ( last_refresh , t ), arg_delay ) );
980980 else {
981- r = read_one_char (stdin , & key , last_refresh + arg_delay - t , NULL );
981+ r = read_one_char (stdin , & key , usec_add ( usec_sub_unsigned ( last_refresh , t ), arg_delay ) , NULL );
982982 if (r == - ETIMEDOUT )
983983 continue ;
984984 if (r < 0 )
@@ -1053,10 +1053,7 @@ static int run(int argc, char *argv[]) {
10531053 break ;
10541054
10551055 case '+' :
1056- if (arg_delay < USEC_PER_SEC )
1057- arg_delay += USEC_PER_MSEC * 250 ;
1058- else
1059- arg_delay += USEC_PER_SEC ;
1056+ arg_delay = usec_add (arg_delay , arg_delay < USEC_PER_SEC ? USEC_PER_MSEC * 250 : USEC_PER_SEC );
10601057
10611058 fprintf (stdout , "\nIncreased delay to %s." , format_timespan (h , sizeof (h ), arg_delay , 0 ));
10621059 fflush (stdout );
@@ -1066,10 +1063,8 @@ static int run(int argc, char *argv[]) {
10661063 case '-' :
10671064 if (arg_delay <= USEC_PER_MSEC * 500 )
10681065 arg_delay = USEC_PER_MSEC * 250 ;
1069- else if (arg_delay < USEC_PER_MSEC * 1250 )
1070- arg_delay -= USEC_PER_MSEC * 250 ;
10711066 else
1072- arg_delay -= USEC_PER_SEC ;
1067+ arg_delay = usec_sub_unsigned ( arg_delay , arg_delay < USEC_PER_MSEC * 1250 ? USEC_PER_MSEC * 250 : USEC_PER_SEC ) ;
10731068
10741069 fprintf (stdout , "\nDecreased delay to %s." , format_timespan (h , sizeof (h ), arg_delay , 0 ));
10751070 fflush (stdout );
0 commit comments