summaryrefslogtreecommitdiffstats
path: root/usr.bin/tar/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/tar/read.c')
-rw-r--r--usr.bin/tar/read.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/usr.bin/tar/read.c b/usr.bin/tar/read.c
index 35cea89..3aa164f 100644
--- a/usr.bin/tar/read.c
+++ b/usr.bin/tar/read.c
@@ -384,10 +384,18 @@ list_item_verbose(struct bsdtar *bsdtar, FILE *out, struct archive_entry *entry)
/* Format the time using 'ls -l' conventions. */
tim = (time_t)st->st_mtime;
+#ifdef _WIN32
+ /* Windows' strftime function does not support %e format. */
+ if (abs(tim - now) > (365/2)*86400)
+ fmt = bsdtar->day_first ? "%d %b %Y" : "%b %d %Y";
+ else
+ fmt = bsdtar->day_first ? "%d %b %H:%M" : "%b %d %H:%M";
+#else
if (abs(tim - now) > (365/2)*86400)
fmt = bsdtar->day_first ? "%e %b %Y" : "%b %e %Y";
else
fmt = bsdtar->day_first ? "%e %b %H:%M" : "%b %e %H:%M";
+#endif
strftime(tmp, sizeof(tmp), fmt, localtime(&tim));
fprintf(out, " %s ", tmp);
safe_fprintf(out, "%s", archive_entry_pathname(entry));
OpenPOWER on IntegriCloud