diff options
Diffstat (limited to 'lib/getsockopt.c')
-rw-r--r-- | lib/getsockopt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/getsockopt.c b/lib/getsockopt.c index 565c38ef07..06302652af 100644 --- a/lib/getsockopt.c +++ b/lib/getsockopt.c @@ -53,13 +53,14 @@ rpl_getsockopt (int fd, int level, int optname, void *optval, socklen_t *optlen) { int milliseconds; int milliseconds_len = sizeof (int); - struct timeval tv; size_t n; r = getsockopt (sock, level, optname, (char *) &milliseconds, &milliseconds_len); - tv.tv_sec = milliseconds / 1000; - tv.tv_usec = (milliseconds - 1000 * tv.tv_sec) * 1000; + struct timeval tv = { + .tv_sec = milliseconds / 1000, + .tv_usec = (milliseconds % 1000) * 1000 + }; n = sizeof (struct timeval); if (n > *optlen) n = *optlen; |