diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2020-12-30 23:48:01 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-12-30 23:48:01 +0100 |
commit | 3c13da3dab539eac948de48640d8862857d0c8d0 (patch) | |
tree | 9cf3ae59b79ca89cbcfe08ce6b2b121f37d54a66 /networking | |
parent | 89a55972fd5d7f0ab815c2a62be69a8f34718353 (diff) | |
download | busybox-w32-3c13da3dab539eac948de48640d8862857d0c8d0.tar.gz busybox-w32-3c13da3dab539eac948de48640d8862857d0c8d0.tar.bz2 busybox-w32-3c13da3dab539eac948de48640d8862857d0c8d0.zip |
libbb: introduce and use xgettimeofday(), do not truncate 64-bit time_t in shells
function old new delta
xgettimeofday - 11 +11
get_local_var_value 280 281 +1
svlogd_main 1323 1322 -1
change_epoch 67 66 -1
timestamp_and_log 461 458 -3
hwclock_main 301 298 -3
fmt_time_bernstein_25 135 132 -3
step_time 331 326 -5
script_main 1207 1202 -5
machtime 34 28 -6
curtime 61 54 -7
ts_main 423 415 -8
nmeter_main 761 751 -10
gettime1900d 67 46 -21
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/12 up/down: 12/-73) Total: -61 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking')
-rw-r--r-- | networking/inetd.c | 2 | ||||
-rw-r--r-- | networking/ntpd.c | 4 | ||||
-rw-r--r-- | networking/traceroute.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/networking/inetd.c b/networking/inetd.c index 9f5a436d6..febfb7b73 100644 --- a/networking/inetd.c +++ b/networking/inetd.c | |||
@@ -1701,7 +1701,7 @@ static uint32_t machtime(void) | |||
1701 | { | 1701 | { |
1702 | struct timeval tv; | 1702 | struct timeval tv; |
1703 | 1703 | ||
1704 | gettimeofday(&tv, NULL); | 1704 | xgettimeofday(&tv); |
1705 | return htonl((uint32_t)(tv.tv_sec + 2208988800U)); | 1705 | return htonl((uint32_t)(tv.tv_sec + 2208988800U)); |
1706 | } | 1706 | } |
1707 | /* ARGSUSED */ | 1707 | /* ARGSUSED */ |
diff --git a/networking/ntpd.c b/networking/ntpd.c index 5a540a391..46d8f3495 100644 --- a/networking/ntpd.c +++ b/networking/ntpd.c | |||
@@ -560,7 +560,7 @@ static double | |||
560 | gettime1900d(void) | 560 | gettime1900d(void) |
561 | { | 561 | { |
562 | struct timeval tv; | 562 | struct timeval tv; |
563 | gettimeofday(&tv, NULL); /* never fails */ | 563 | xgettimeofday(&tv); |
564 | G.cur_time = tv.tv_sec + (1.0e-6 * tv.tv_usec) + OFFSET_1900_1970; | 564 | G.cur_time = tv.tv_sec + (1.0e-6 * tv.tv_usec) + OFFSET_1900_1970; |
565 | return G.cur_time; | 565 | return G.cur_time; |
566 | } | 566 | } |
@@ -1144,7 +1144,7 @@ step_time(double offset) | |||
1144 | char buf[sizeof("yyyy-mm-dd hh:mm:ss") + /*paranoia:*/ 4]; | 1144 | char buf[sizeof("yyyy-mm-dd hh:mm:ss") + /*paranoia:*/ 4]; |
1145 | time_t tval; | 1145 | time_t tval; |
1146 | 1146 | ||
1147 | gettimeofday(&tvc, NULL); /* never fails */ | 1147 | xgettimeofday(&tvc); |
1148 | dtime = tvc.tv_sec + (1.0e-6 * tvc.tv_usec) + offset; | 1148 | dtime = tvc.tv_sec + (1.0e-6 * tvc.tv_usec) + offset; |
1149 | d_to_tv(dtime, &tvn); | 1149 | d_to_tv(dtime, &tvn); |
1150 | xsettimeofday(&tvn); | 1150 | xsettimeofday(&tvn); |
diff --git a/networking/traceroute.c b/networking/traceroute.c index 3f1a9ab46..bd63e4449 100644 --- a/networking/traceroute.c +++ b/networking/traceroute.c | |||
@@ -505,7 +505,7 @@ send_probe(int seq, int ttl) | |||
505 | struct outdata6_t *pkt = (void *) outdata; | 505 | struct outdata6_t *pkt = (void *) outdata; |
506 | pkt->ident6 = ident; | 506 | pkt->ident6 = ident; |
507 | pkt->seq6 = htonl(seq); | 507 | pkt->seq6 = htonl(seq); |
508 | /*gettimeofday(&pkt->tv, &tz);*/ | 508 | /*xgettimeofday(&pkt->tv);*/ |
509 | icp = outicmp6; | 509 | icp = outicmp6; |
510 | } else | 510 | } else |
511 | #endif | 511 | #endif |