| 268 |
GLOBAL time_t start_time; |
GLOBAL time_t start_time; |
| 269 |
#endif |
#endif |
| 270 |
|
|
| 271 |
/* Name of file read from the archive header */ |
GLOBAL struct tar_stat_info current_stat_info; |
|
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; |
|
| 272 |
|
|
| 273 |
/* List of tape drive names, number of such tape drives, allocated number, |
/* List of tape drive names, number of such tape drives, allocated number, |
| 274 |
and current cursor in list. */ |
and current cursor in list. */ |
| 409 |
HEADER_FAILURE /* ill-formed header, or bad checksum */ |
HEADER_FAILURE /* ill-formed header, or bad checksum */ |
| 410 |
}; |
}; |
| 411 |
|
|
| 412 |
|
struct xheader |
| 413 |
|
{ |
| 414 |
|
int nblocks; |
| 415 |
|
union block *blocks; |
| 416 |
|
}; |
| 417 |
|
|
| 418 |
|
GLOBAL struct xheader extended_header; |
| 419 |
extern union block *current_header; |
extern union block *current_header; |
|
extern struct stat current_stat; |
|
| 420 |
extern enum archive_format current_format; |
extern enum archive_format current_format; |
| 421 |
extern size_t recent_long_name_blocks; |
extern size_t recent_long_name_blocks; |
| 422 |
extern size_t recent_long_link_blocks; |
extern size_t recent_long_link_blocks; |
| 423 |
|
|
| 424 |
void decode_header (union block *, struct stat *, |
void decode_header (union block *, struct tar_stat_info *, |
| 425 |
enum archive_format *, int); |
enum archive_format *, int); |
| 426 |
#define STRINGIFY_BIGINT(i, b) \ |
#define STRINGIFY_BIGINT(i, b) \ |
| 427 |
stringify_uintmax_t_backwards ((uintmax_t) (i), (b) + UINTMAX_STRSIZE_BOUND) |
stringify_uintmax_t_backwards ((uintmax_t) (i), (b) + UINTMAX_STRSIZE_BOUND) |
| 428 |
char *stringify_uintmax_t_backwards (uintmax_t, char *); |
char *stringify_uintmax_t_backwards (uintmax_t, char *); |