@@ -36,16 +36,16 @@ static struct timer_spec timer_spec_to_real(struct itimerspec_ itspec) {
3636
3737static struct itimerspec_ timer_spec_from_real (struct timer_spec spec ) {
3838 struct itimerspec_ itspec = {
39- .value .sec = spec .value .tv_sec ,
40- .value .nsec = spec .value .tv_nsec ,
41- .interval .sec = spec .interval .tv_sec ,
42- .interval .nsec = spec .interval .tv_nsec ,
39+ .value .sec = ( dword_t ) spec .value .tv_sec ,
40+ .value .nsec = ( dword_t ) spec .value .tv_nsec ,
41+ .interval .sec = ( dword_t ) spec .interval .tv_sec ,
42+ .interval .nsec = ( dword_t ) spec .interval .tv_nsec ,
4343 };
4444 return itspec ;
4545};
4646
4747dword_t sys_time (addr_t time_out ) {
48- dword_t now = time (NULL );
48+ dword_t now = ( dword_t ) time (NULL );
4949 if (time_out != 0 )
5050 if (user_put (time_out , now ))
5151 return _EFAULT ;
@@ -73,8 +73,9 @@ dword_t sys_clock_gettime(dword_t clock, addr_t tp) {
7373 return errno_map ();
7474 }
7575 struct timespec_ t ;
76- t .sec = ts .tv_sec ;
77- t .nsec = ts .tv_nsec ;
76+ t .sec = (dword_t )ts .tv_sec ;
77+ t .nsec = (dword_t )ts .tv_nsec ;
78+
7879 if (user_put (tp , t ))
7980 return _EFAULT ;
8081 STRACE (" {%lds %ldns}" , t .sec , t .nsec );
@@ -91,8 +92,8 @@ dword_t sys_clock_getres(dword_t clock, addr_t res_addr) {
9192 if (err < 0 )
9293 return errno_map ();
9394 struct timespec_ t ;
94- t .sec = res .tv_sec ;
95- t .nsec = res .tv_nsec ;
95+ t .sec = ( dword_t ) res .tv_sec ;
96+ t .nsec = ( dword_t ) res .tv_nsec ;
9697 if (user_put (res_addr , t ))
9798 return _EFAULT ;
9899 return 0 ;
@@ -150,10 +151,10 @@ int_t sys_setitimer(int_t which, addr_t new_val_addr, addr_t old_val_addr) {
150151
151152 if (old_val_addr != 0 ) {
152153 struct itimerval_ old_val ;
153- old_val .interval .sec = old_spec .interval .tv_sec ;
154- old_val .interval .usec = old_spec .interval .tv_nsec / 1000 ;
155- old_val .value .sec = old_spec .value .tv_sec ;
156- old_val .value .usec = old_spec .value .tv_nsec / 1000 ;
154+ old_val .interval .sec = ( dword_t ) old_spec .interval .tv_sec ;
155+ old_val .interval .usec = ( dword_t ) old_spec .interval .tv_nsec / 1000 ;
156+ old_val .value .sec = ( dword_t ) old_spec .value .tv_sec ;
157+ old_val .value .usec = ( dword_t ) old_spec .value .tv_nsec / 1000 ;
157158 if (user_put (old_val_addr , old_val ))
158159 return _EFAULT ;
159160 }
@@ -176,7 +177,7 @@ uint_t sys_alarm(uint_t seconds) {
176177 return err ;
177178
178179 // Round up, and make sure to not return 0 if old_spec is > 0
179- seconds = old_spec .value .tv_sec ;
180+ seconds = ( dword_t ) old_spec .value .tv_sec ;
180181 if (old_spec .value .tv_nsec >= 500000000 )
181182 seconds ++ ;
182183 if (seconds == 0 && !timespec_is_zero (old_spec .value ))
@@ -203,8 +204,8 @@ dword_t sys_nanosleep(addr_t req_addr, addr_t rem_addr) {
203204 return errno_map ();
204205 if (rem_addr != 0 ) {
205206 struct timespec_ rem_ts ;
206- rem_ts .sec = rem .tv_sec ;
207- rem_ts .nsec = rem .tv_nsec ;
207+ rem_ts .sec = ( dword_t ) rem .tv_sec ;
208+ rem_ts .nsec = ( dword_t ) rem .tv_nsec ;
208209 if (user_put (rem_addr , rem_ts ))
209210 return _EFAULT ;
210211 }
@@ -235,8 +236,8 @@ dword_t sys_gettimeofday(addr_t tv, addr_t tz) {
235236 }
236237 struct timeval_ tv_ ;
237238 struct timezone_ tz_ ;
238- tv_ .sec = timeval .tv_sec ;
239- tv_ .usec = timeval .tv_usec ;
239+ tv_ .sec = ( dword_t ) timeval .tv_sec ;
240+ tv_ .usec = ( dword_t ) timeval .tv_usec ;
240241 tz_ .minuteswest = timezone .tz_minuteswest ;
241242 tz_ .dsttime = timezone .tz_dsttime ;
242243 if ((tv && user_put (tv , tv_ )) || (tz && user_put (tz , tz_ ))) {
0 commit comments