]> Dogcows Code - chaz/tar/blobdiff - src/common.h
Merge changes from gnulib for file system sub-second time stamps.
[chaz/tar] / src / common.h
index e6860a105463c4419a27906a22f90bcccb7b3666..be7f35d15dbfa7f52c584c2eae362a1f7855fc20 100644 (file)
 /* The checksum field is filled with this while the checksum is computed.  */
 #define CHKBLANKS      "        "      /* 8 blanks, no null */
 
-/* Old GNU stores zero-terminated file name */
-#define OLDGNU_NAME_FIELD_SIZE   99
-
 /* Some constants from POSIX are given names.  */
 #define NAME_FIELD_SIZE   100
 #define PREFIX_FIELD_SIZE 155
 #define UNAME_FIELD_SIZE   32
 #define GNAME_FIELD_SIZE   32
 
-/* FIXME */
-#define MAXOCTAL11      017777777777L
-#define MAXOCTAL7       07777777
-
 
 \f
 /* Some various global definitions.  */
@@ -62,6 +55,7 @@
 #include <modechange.h>
 #include <quote.h>
 #include <safe-read.h>
+#include <stat-time.h>
 #include <timespec.h>
 #define obstack_chunk_alloc xmalloc
 #define obstack_chunk_free free
@@ -185,10 +179,6 @@ GLOBAL mode_t initial_umask;
 
 GLOBAL bool multi_volume_option;
 
-/* The same variable holds the time, whether mtime or ctime.  Just fake a
-   non-existing option, for making the code clearer, elsewhere.  */
-#define newer_ctime_option newer_mtime_option
-
 /* Specified threshold date and time.  Files having an older time stamp
    do not get archived (also see after_date_option above).  */
 GLOBAL struct timespec newer_mtime_option;
@@ -199,9 +189,7 @@ GLOBAL struct timespec newer_mtime_option;
 /* Return true if the struct stat ST's M time is less than
    newer_mtime_option.  */
 #define OLDER_STAT_TIME(st, m) \
-  ((st).st_##m##time < newer_mtime_option.tv_sec \
-   || ((st).st_##m##time == newer_mtime_option.tv_sec \
-       && TIMESPEC_NS ((st).st_##m##tim) < newer_mtime_option.tv_nsec))
+  (timespec_cmp (get_stat_##m##time (&st), newer_mtime_option) < 0)
 
 /* Zero if there is no recursion, otherwise FNM_LEADING_DIR.  */
 GLOBAL int recursion_option;
@@ -281,12 +269,7 @@ GLOBAL int archive;
 GLOBAL bool dev_null_output;
 
 /* Timestamp for when we started execution.  */
-#if HAVE_CLOCK_GETTIME
-  GLOBAL struct timespec start_timespec;
-# define start_time (start_timespec.tv_sec)
-#else
-  GLOBAL time_t start_time;
-#endif
+GLOBAL struct timespec start_time;
 
 GLOBAL struct tar_stat_info current_stat_info;
 
@@ -410,7 +393,7 @@ void size_to_chars (size_t, char *, size_t);
 void time_to_chars (time_t, char *, size_t);
 void uid_to_chars (uid_t, char *, size_t);
 void uintmax_to_chars (uintmax_t, char *, size_t);
-void string_to_chars (char *, char *, size_t);
+void string_to_chars (char const *, char *, size_t);
 
 /* Module diffarch.c.  */
 
@@ -436,6 +419,7 @@ char *get_directory_contents (char *, dev_t);
 void read_directory_file (void);
 void write_directory_file (void);
 void purge_directory (char const *);
+void list_dumpdir (char *buffer, size_t size);
 
 /* Module list.c.  */
 
@@ -464,7 +448,7 @@ extern size_t recent_long_link_blocks;
 
 void decode_header (union block *, struct tar_stat_info *,
                    enum archive_format *, int);
-char const *tartime (time_t);
+char const *tartime (struct timespec, bool);
 
 #define GID_FROM_HEADER(where) gid_from_header (where, sizeof (where))
 #define MAJOR_FROM_HEADER(where) major_from_header (where, sizeof (where))
@@ -505,6 +489,8 @@ void assign_string (char **, const char *);
 char *quote_copy_string (const char *);
 int unquote_string (char *);
 
+void code_ns_fraction (int, char *);
+
 size_t dot_dot_prefix_len (char const *);
 
 enum remove_option
@@ -621,7 +607,6 @@ void xheader_set_option (char *string);
 
 /* Module system.c */
 
-void sys_stat_nanoseconds (struct tar_stat_info *);
 void sys_detect_dev_null_output (void);
 void sys_save_archive_dev_ino (void);
 void sys_drain_input_pipe (void);
This page took 0.023483 seconds and 4 git commands to generate.