factor out time_t-to-string conversion idiom
authorJim Meyering <meyering@redhat.com>
Fri, 27 Jun 2008 08:54:23 +0000 (10:54 +0200)
committerJim Meyering <meyering@redhat.com>
Fri, 27 Jun 2008 08:54:23 +0000 (10:54 +0200)
* src/system.h: Include "inttostr.h".
(timetostr): New function, factored out of...
* src/date.c (show_date): Use timetostr.
* src/du.c (show_date): Likewise.
* src/ls.c (print_long_format): Likewise.
* src/pinky.c (time_string): Likewise.
* src/stat.c (human_time): Likewise.
* src/*.c: Don't include inttostr.h, since system.h does.
* src/c99-to-c89.diff: Adjust offsets.

21 files changed:
src/c99-to-c89.diff
src/chown-core.c
src/cksum.c
src/csplit.c
src/date.c
src/df.c
src/du.c
src/expr.c
src/factor.c
src/head.c
src/ls.c
src/pinky.c
src/shred.c
src/sort.c
src/split.c
src/stat.c
src/system.h
src/tail.c
src/test.c
src/wc.c
src/who.c

index 9268d38..51b0a42 100644 (file)
@@ -159,7 +159,7 @@ diff -upr src/seq.c src/seq.c
 diff -upr src/shred.c src/shred.c
 --- src/shred.c        1970-01-01 00:00:00.000000000 +0000
 +++ src/shred.c        1970-01-01 00:00:00.000000000 +0000
-@@ -469,7 +469,7 @@ dopass (int fd, char const *qname, off_t
+@@ -468,7 +468,7 @@ dopass (int fd, char const *qname, off_t
                     out.  Thus, it shouldn't give up on bad blocks.  This
                     code works because lim is always a multiple of
                     SECTOR_SIZE, except at the end.  */
index d915ae4..4ab52ac 100644 (file)
@@ -25,7 +25,6 @@
 #include "system.h"
 #include "chown-core.h"
 #include "error.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "root-dev-ino.h"
 #include "xfts.h"
index ce6e9c0..a2d49c5 100644 (file)
@@ -108,7 +108,6 @@ main (void)
 # include <getopt.h>
 # include "long-options.h"
 # include "error.h"
-# include "inttostr.h"
 
 /* Number of bytes to read at once.  */
 # define BUFLEN (1 << 16)
index 7e63ca8..55489c3 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "error.h"
 #include "fd-reopen.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "safe-read.h"
 #include "stdio--.h"
index 2439052..9592bf8 100644 (file)
@@ -28,7 +28,6 @@
 #include "argmatch.h"
 #include "error.h"
 #include "getdate.h"
-#include "inttostr.h"
 #include "posixtm.h"
 #include "quote.h"
 #include "stat-time.h"
@@ -540,10 +539,7 @@ show_date (const char *format, struct timespec when)
   if (! tm)
     {
       char buf[INT_BUFSIZE_BOUND (intmax_t)];
-      error (0, 0, _("time %s is out of range"),
-            (TYPE_SIGNED (time_t)
-             ? imaxtostr (when.tv_sec, buf)
-             : umaxtostr (when.tv_sec, buf)));
+      error (0, 0, _("time %s is out of range"), timetostr (when.tv_sec, buf));
       return false;
     }
 
index 66e9207..0769a1e 100644 (file)
--- a/src/df.c
+++ b/src/df.c
@@ -28,7 +28,6 @@
 #include "error.h"
 #include "fsusage.h"
 #include "human.h"
-#include "inttostr.h"
 #include "mountlist.h"
 #include "quote.h"
 #include "save-cwd.h"
index d974991..ee24269 100644 (file)
--- a/src/du.c
+++ b/src/du.c
@@ -35,7 +35,6 @@
 #include "fprintftime.h"
 #include "hash.h"
 #include "human.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "quotearg.h"
 #include "readtokens0.h"
@@ -413,10 +412,7 @@ show_date (const char *format, struct timespec when)
   if (! tm)
     {
       char buf[INT_BUFSIZE_BOUND (intmax_t)];
-      error (0, 0, _("time %s is out of range"),
-            (TYPE_SIGNED (time_t)
-             ? imaxtostr (when.tv_sec, buf)
-             : umaxtostr (when.tv_sec, buf)));
+      error (0, 0, _("time %s is out of range"), timetostr (when.tv_sec, buf));
       fputs (buf, stdout);
       return;
     }
index bbcb5a9..c342291 100644 (file)
@@ -35,7 +35,6 @@
 #include <regex.h>
 #include "long-options.h"
 #include "error.h"
-#include "inttostr.h"
 #include "quotearg.h"
 #include "strnumcmp.h"
 #include "xstrtol.h"
index f46953c..08fa2a5 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "system.h"
 #include "error.h"
-#include "inttostr.h"
 #include "long-options.h"
 #include "quote.h"
 #include "readtokens.h"
index 7a0e2ad..0ef912a 100644 (file)
@@ -34,7 +34,6 @@
 #include "error.h"
 #include "full-write.h"
 #include "full-read.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "safe-read.h"
 #include "xstrtol.h"
index 4e044a9..4b69f7d 100644 (file)
--- a/src/ls.c
+++ b/src/ls.c
@@ -91,7 +91,6 @@
 #include "human.h"
 #include "filemode.h"
 #include "idcache.h"
-#include "inttostr.h"
 #include "ls.h"
 #include "lstat.h"
 #include "mbswidth.h"
@@ -3596,9 +3595,7 @@ print_long_format (const struct fileinfo *f)
       sprintf (p, "%*s ", long_time_expected_width (),
               (! f->stat_ok
                ? "?"
-               : (TYPE_SIGNED (time_t)
-                  ? imaxtostr (when_timespec.tv_sec, hbuf)
-                  : umaxtostr (when_timespec.tv_sec, hbuf))));
+               : timetostr (when_timespec.tv_sec, hbuf)));
       /* FIXME: (maybe) We discarded when_timespec.tv_nsec. */
       p += strlen (p);
     }
index 9c80d94..382f30f 100644 (file)
@@ -27,7 +27,6 @@
 #include "canon-host.h"
 #include "error.h"
 #include "hard-locale.h"
-#include "inttostr.h"
 #include "readutmp.h"
 
 /* The official name of this program (e.g., no `g' prefix).  */
@@ -197,7 +196,7 @@ time_string (const STRUCT_UTMP *utmp_ent)
       return buf;
     }
   else
-    return TYPE_SIGNED (time_t) ? imaxtostr (t, buf) : umaxtostr (t, buf);
+    return timetostr (t, buf);
 }
 
 /* Display a line of information about UTMP_ENT. */
index 765e1b5..9e82cf2 100644 (file)
@@ -97,7 +97,6 @@
 #include "error.h"
 #include "fcntl--.h"
 #include "human.h"
-#include "inttostr.h"
 #include "quotearg.h"          /* For quotearg_colon */
 #include "randint.h"
 #include "randread.h"
index 2039dab..9f998a6 100644 (file)
@@ -31,7 +31,6 @@
 #include "error.h"
 #include "hard-locale.h"
 #include "hash.h"
-#include "inttostr.h"
 #include "md5.h"
 #include "physmem.h"
 #include "posixver.h"
index 181d837..c70e0c4 100644 (file)
@@ -32,7 +32,6 @@
 #include "fcntl--.h"
 #include "full-read.h"
 #include "full-write.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "safe-read.h"
 #include "xstrtol.h"
index 0124c54..a97687a 100644 (file)
@@ -62,7 +62,6 @@
 #include "file-type.h"
 #include "fs.h"
 #include "getopt.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "quotearg.h"
 #include "stat-time.h"
@@ -415,9 +414,7 @@ human_time (struct timespec t)
                        + sizeof "-MM-DD HH:MM:SS.NNNNNNNNN +ZZZZ"))];
   struct tm const *tm = localtime (&t.tv_sec);
   if (tm == NULL)
-    return (TYPE_SIGNED (time_t)
-           ? imaxtostr (t.tv_sec, str)
-           : umaxtostr (t.tv_sec, str));
+    return timetostr (t.tv_sec, str);
   nstrftime (str, sizeof str, "%Y-%m-%d %H:%M:%S.%N %z", tm, 0, t.tv_nsec);
   return str;
 }
index c69ddca..4b8e58e 100644 (file)
@@ -619,3 +619,13 @@ emit_bug_reporting_address (void)
      bugs (typically your translation team's web or email address).  */
   printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
+
+#include "inttostr.h"
+
+static inline char *
+timetostr (time_t t, char *buf)
+{
+  return (TYPE_SIGNED (time_t)
+         ? imaxtostr (t, buf)
+         : umaxtostr (t, buf));
+}
index 1ce207e..2fcd4cf 100644 (file)
@@ -35,7 +35,6 @@
 #include "c-strtod.h"
 #include "error.h"
 #include "fcntl--.h"
-#include "inttostr.h"
 #include "isapipe.h"
 #include "posixver.h"
 #include "quote.h"
index 858a837..833b254 100644 (file)
@@ -39,7 +39,6 @@
 
 #include "system.h"
 #include "euidaccess.h"
-#include "inttostr.h"
 #include "quote.h"
 #include "stat-time.h"
 #include "strnumcmp.h"
index e6b9a1e..0bb1929 100644 (file)
--- a/src/wc.c
+++ b/src/wc.c
@@ -27,7 +27,6 @@
 
 #include "system.h"
 #include "error.h"
-#include "inttostr.h"
 #include "mbchar.h"
 #include "quote.h"
 #include "quotearg.h"
index 9bf437c..5529618 100644 (file)
--- a/src/who.c
+++ b/src/who.c
@@ -34,7 +34,6 @@
 #include "readutmp.h"
 #include "error.h"
 #include "hard-locale.h"
-#include "inttostr.h"
 #include "quote.h"
 
 /* The official name of this program (e.g., no `g' prefix).  */
@@ -231,7 +230,7 @@ time_string (const STRUCT_UTMP *utmp_ent)
       return buf;
     }
   else
-    return TYPE_SIGNED (time_t) ? imaxtostr (t, buf) : umaxtostr (t, buf);
+    return timetostr (t, buf);
 }
 
 /* Print formatted output line. Uses mostly arbitrary field sizes, probably