aboutsummaryrefslogtreecommitdiff
path: root/lib/lib.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2018-10-10 05:28:06 -0500
committerRob Landley <rob@landley.net>2018-10-10 05:28:06 -0500
commitc349e6f2e19281903fd8666cfeafe2f081fef66a (patch)
tree951c3a17dc03f14902a9d73c8435ec93d0de3cd0 /lib/lib.c
parentc276b8a8c2a5181558b976b9cb1d60a0180d560e (diff)
downloadtoybox-c349e6f2e19281903fd8666cfeafe2f081fef66a.tar.gz
Trivial speedup to format_iso_time(), teach parsetime() leading garbage != 0.
Diffstat (limited to 'lib/lib.c')
-rw-r--r--lib/lib.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/lib.c b/lib/lib.c
index 9deadad9..03f0a24d 100644
--- a/lib/lib.c
+++ b/lib/lib.c
@@ -1404,8 +1404,11 @@ long long millitime(void)
// Formats `ts` in ISO format ("2018-06-28 15:08:58.846386216 -0700").
char *format_iso_time(char *buf, size_t len, struct timespec *ts)
{
- strftime(buf, len, "%F %T", localtime(&(ts->tv_sec)));
- sprintf(buf+strlen(buf), ".%09ld ", ts->tv_nsec);
- strftime(buf+strlen(buf), len-strlen(buf), "%z", localtime(&(ts->tv_sec)));
+ char *s = buf;
+
+ s += strftime(s, len, "%F %T", localtime(&(ts->tv_sec)));
+ s += sprintf(s, ".%09ld ", ts->tv_nsec);
+ s += strftime(s, len-strlen(buf), "%z", localtime(&(ts->tv_sec)));
+
return buf;
}