GLOBAL time_t start_time;
#endif
-/* Name of file read from the archive header */
-GLOBAL char *orig_file_name;
-
-/* Name of file for the current archive entry after being normalized. */
-GLOBAL char *current_file_name;
-
-/* Nonzero if the current archive entry had a trailing slash before it
- was normalized. */
-GLOBAL int current_trailing_slash;
-
-/* Name of link for the current archive entry. */
-GLOBAL char *current_link_name;
+GLOBAL struct tar_stat_info current_stat_info;
/* List of tape drive names, number of such tape drives, allocated number,
and current cursor in list. */
HEADER_FAILURE /* ill-formed header, or bad checksum */
};
+struct xheader
+{
+ int nblocks;
+ union block *blocks;
+};
+
+GLOBAL struct xheader extended_header;
extern union block *current_header;
-extern struct stat current_stat;
extern enum archive_format current_format;
extern size_t recent_long_name_blocks;
extern size_t recent_long_link_blocks;
-void decode_header (union block *, struct stat *,
- enum archive_format *, int);
+void decode_header (union block *, struct tar_stat_info *,
+ enum archive_format *, int);
#define STRINGIFY_BIGINT(i, b) \
stringify_uintmax_t_backwards ((uintmax_t) (i), (b) + UINTMAX_STRSIZE_BOUND)
char *stringify_uintmax_t_backwards (uintmax_t, char *);