]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
Rewrite struct tm formatting
authorSergey Poznyakoff <gray@gnu.org>
Sat, 7 Apr 2018 07:33:27 +0000 (10:33 +0300)
committerSergey Poznyakoff <gray@gnu.org>
Sat, 7 Apr 2018 07:33:27 +0000 (10:33 +0300)
* src/list.c (tartime): Use strftime instead of manually formatting
fields of the struct tm. This should also suppress some gcc warnings.

src/list.c

index 14388a557ae67a67dc2cb7e67c077c42a266357d..2cc5d400a91c2271d393c7ab9b22dcc7d188c689 100644 (file)
@@ -23,7 +23,7 @@
 #include <system.h>
 #include <inttostr.h>
 #include <quotearg.h>
-
+#include <time.h>
 #include "common.h"
 
 union block *current_header;   /* points to current archive header */
@@ -1049,15 +1049,11 @@ tartime (struct timespec t, bool full_time)
     {
       if (full_time)
        {
-         sprintf (buffer, "%04ld-%02d-%02d %02d:%02d:%02d",
-                  tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
-                  tm->tm_hour, tm->tm_min, tm->tm_sec);
+         strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M:%S", tm);
          code_ns_fraction (ns, buffer + strlen (buffer));
        }
       else
-       sprintf (buffer, "%04ld-%02d-%02d %02d:%02d",
-                tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
-                tm->tm_hour, tm->tm_min);
+       strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M", tm);
       return buffer;
     }