]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Print actual fractional seconds in time stamps, not just `.00000000'.
authorJim Meyering <jim@meyering.net>
Mon, 2 Feb 2004 07:59:58 +0000 (07:59 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 2 Feb 2004 07:59:58 +0000 (07:59 +0000)
(human_time): Add and use new parameter, t_ns.
(print_stat): Update callers.

src/stat.c

index b4f7040be799c1ee94492d6ba64799dace7e9016..57442dcbd18b3003989dde8cdf0dbf433da76b50 100644 (file)
@@ -326,7 +326,7 @@ human_access (struct stat const *statbuf)
 }
 
 static char *
-human_time (time_t const *t)
+human_time (time_t const *t, int t_ns)
 {
   static char str[80];
   struct tm *tm = localtime (t);
@@ -335,7 +335,7 @@ human_time (time_t const *t)
       G_fail = 1;
       return (char *) _("*** invalid date/time ***");
     }
-  nstrftime (str, sizeof str, "%Y-%m-%d %H:%M:%S.%N %z", tm, 0, 0);
+  nstrftime (str, sizeof str, "%Y-%m-%d %H:%M:%S.%N %z", tm, 0, t_ns);
   return str;
 }
 
@@ -525,7 +525,8 @@ print_stat (char *pformat, char m, char const *filename, void const *data)
       break;
     case 'x':
       strcat (pformat, "s");
-      printf (pformat, human_time (&(statbuf->st_atime)));
+      printf (pformat, human_time (&(statbuf->st_atime),
+                                  TIMESPEC_NS (statbuf->st_atim)));
       break;
     case 'X':
       strcat (pformat, "d");
@@ -533,7 +534,8 @@ print_stat (char *pformat, char m, char const *filename, void const *data)
       break;
     case 'y':
       strcat (pformat, "s");
-      printf (pformat, human_time (&(statbuf->st_mtime)));
+      printf (pformat, human_time (&(statbuf->st_mtime),
+                                  TIMESPEC_NS (statbuf->st_mtim)));
       break;
     case 'Y':
       strcat (pformat, "d");
@@ -541,7 +543,8 @@ print_stat (char *pformat, char m, char const *filename, void const *data)
       break;
     case 'z':
       strcat (pformat, "s");
-      printf (pformat, human_time (&(statbuf->st_ctime)));
+      printf (pformat, human_time (&(statbuf->st_ctime),
+                                  TIMESPEC_NS (statbuf->st_ctim)));
       break;
     case 'Z':
       strcat (pformat, "d");