--- ls.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ls.c b/ls.c index 3268a99..8cc285b 100644 --- a/ls.c +++ b/ls.c _AT_@ -118,6 +118,7 @@ output(const struct entry *ent) { struct group *gr; struct passwd *pw; + struct tm *tm; ssize_t len; size_t l; char *name, *c, *u, *fmt, buf[BUFSIZ], _AT_@ -194,7 +195,10 @@ output(const struct entry *ent) else fmt = "%b %d %H:%M"; - strftime(buf, sizeof(buf), fmt, localtime(&ent->t.tv_sec)); + if ((tm = localtime(&ent->t.tv_sec))) + strftime(buf, sizeof(buf), fmt, tm); + else + snprintf(buf, sizeof(buf), "%lld", (long long)(ent->t.tv_sec)); printf("%s %4ld %-8.8s %-8.8s ", mode, (long)ent->nlink, pwname, grname); if (S_ISBLK(ent->mode) || S_ISCHR(ent->mode)) -- 2.7.4Received on Sun Mar 27 2016 - 19:56:11 CEST
This archive was generated by hypermail 2.3.0 : Sun Mar 27 2016 - 20:00:22 CEST