enum archive_format current_format; /* recognized format */
union block *recent_long_name; /* recent long name header and contents */
union block *recent_long_link; /* likewise, for long link */
-size_t recent_long_name_blocks; /* number of blocks in recent_long_name */
-size_t recent_long_link_blocks; /* likewise, for long link */
+idx_t recent_long_name_blocks; /* number of blocks in recent_long_name */
+idx_t recent_long_link_blocks; /* likewise, for long link */
static union block *recent_global_header; /* Recent global header block */
#define GID_FROM_HEADER(where) gid_from_header (where, sizeof (where))
#define TIME_FROM_HEADER(where) time_from_header (where, sizeof (where))
#define UID_FROM_HEADER(where) uid_from_header (where, sizeof (where))
-static gid_t gid_from_header (const char *buf, size_t size);
-static major_t major_from_header (const char *buf, size_t size);
-static minor_t minor_from_header (const char *buf, size_t size);
-static mode_t mode_from_header (const char *buf, size_t size, bool *hbits);
-static time_t time_from_header (const char *buf, size_t size);
-static uid_t uid_from_header (const char *buf, size_t size);
-static intmax_t from_header (const char *, size_t, const char *,
+static gid_t gid_from_header (const char *buf, idx_t size);
+static major_t major_from_header (const char *buf, idx_t size);
+static minor_t minor_from_header (const char *buf, idx_t size);
+static mode_t mode_from_header (const char *buf, idx_t size, bool *hbits);
+static time_t time_from_header (const char *buf, idx_t size);
+static uid_t uid_from_header (const char *buf, idx_t size);
+static intmax_t from_header (const char *, idx_t, const char *,
intmax_t, uintmax_t, bool, bool);
/* Table of base-64 digit values + 1, indexed by unsigned chars.
union block *header;
char *bp;
union block *data_block;
- size_t size, written;
+ idx_t size, written;
union block *next_long_name = NULL;
union block *next_long_link = NULL;
- size_t next_long_name_blocks = 0;
- size_t next_long_link_blocks = 0;
+ idx_t next_long_name_blocks = 0;
+ idx_t next_long_link_blocks = 0;
enum read_header status = HEADER_SUCCESS;
while (1)
numbers instead of the other GNU extensions. Return -1 on error,
diagnosing the error if TYPE is nonnull and if !SILENT. */
static intmax_t
-from_header (char const *where0, size_t digs, char const *type,
+from_header (char const *where0, idx_t digs, char const *type,
intmax_t minval, uintmax_t maxval,
bool octal_only, bool silent)
{
}
static gid_t
-gid_from_header (const char *p, size_t s)
+gid_from_header (const char *p, idx_t s)
{
return from_header (p, s, "gid_t",
TYPE_MINIMUM (gid_t), TYPE_MAXIMUM (gid_t),
}
static major_t
-major_from_header (const char *p, size_t s)
+major_from_header (const char *p, idx_t s)
{
return from_header (p, s, "major_t",
TYPE_MINIMUM (major_t), TYPE_MAXIMUM (major_t),
}
static minor_t
-minor_from_header (const char *p, size_t s)
+minor_from_header (const char *p, idx_t s)
{
return from_header (p, s, "minor_t",
TYPE_MINIMUM (minor_t), TYPE_MAXIMUM (minor_t),
/* Convert P to the file mode, as understood by tar.
Set *HBITS if there are any unrecognized bits. */
static mode_t
-mode_from_header (const char *p, size_t s, bool *hbits)
+mode_from_header (const char *p, idx_t s, bool *hbits)
{
intmax_t u = from_header (p, s, "mode_t",
INTMAX_MIN, UINTMAX_MAX,
}
off_t
-off_from_header (const char *p, size_t s)
+off_from_header (const char *p, idx_t s)
{
/* Negative offsets are not allowed in tar files, so invoke
from_header with minimum value 0, not TYPE_MINIMUM (off_t). */
}
static time_t
-time_from_header (const char *p, size_t s)
+time_from_header (const char *p, idx_t s)
{
return from_header (p, s, "time_t",
TYPE_MINIMUM (time_t), TYPE_MAXIMUM (time_t),
}
static uid_t
-uid_from_header (const char *p, size_t s)
+uid_from_header (const char *p, idx_t s)
{
return from_header (p, s, "uid_t",
TYPE_MINIMUM (uid_t), TYPE_MAXIMUM (uid_t),
}
uintmax_t
-uintmax_from_header (const char *p, size_t s)
+uintmax_from_header (const char *p, idx_t s)
{
return from_header (p, s, "uintmax_t", 0, UINTMAX_MAX, false, false);
}
{
if (full_time)
{
- size_t n = strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M:%S", tm);
+ idx_t n = strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M:%S", tm);
code_ns_fraction (ns, buffer + n);
}
else