From 30fbd496a1793b4374873144432f9b7a996a689d Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 24 Jul 2019 12:35:35 +0200 Subject: cleanup: remove atime/ctime processing code This commit removes all the code for parsing and processing atime/ctime and values and related test code. Caring about those is kind of pointless because squashfs can only store mtime in inodes. The only relevant place is when generating a struct stat from a squashfs inode or an fstree node. Signed-off-by: David Oberhollenzer --- lib/tar/read_header.c | 62 --------------------------------------------------- 1 file changed, 62 deletions(-) (limited to 'lib/tar/read_header.c') diff --git a/lib/tar/read_header.c b/lib/tar/read_header.c index 4843bb5..043b5ff 100644 --- a/lib/tar/read_header.c +++ b/lib/tar/read_header.c @@ -125,17 +125,6 @@ static int read_pax_header(int fd, uint64_t entsize, unsigned int *set_by_pax, if (out->link_target == NULL) goto fail_errno; *set_by_pax |= PAX_SLINK_TARGET; - } else if (!strncmp(line, "atime=", 6)) { - if (line[6] == '-') { - if (pax_read_decimal(line + 7, &field)) - goto fail; - out->sb.st_atime = -((int64_t)field); - } else { - if (pax_read_decimal(line + 6, &field)) - goto fail; - out->sb.st_atime = field; - } - *set_by_pax |= PAX_ATIME; } else if (!strncmp(line, "mtime=", 6)) { if (line[6] == '-') { if (pax_read_decimal(line + 7, &field)) @@ -147,17 +136,6 @@ static int read_pax_header(int fd, uint64_t entsize, unsigned int *set_by_pax, out->sb.st_mtime = field; } *set_by_pax |= PAX_MTIME; - } else if (!strncmp(line, "ctime=", 6)) { - if (line[6] == '-') { - if (pax_read_decimal(line + 7, &field)) - goto fail; - out->sb.st_ctime = -((int64_t)field); - } else { - if (pax_read_decimal(line + 6, &field)) - goto fail; - out->sb.st_ctime = field; - } - *set_by_pax |= PAX_CTIME; } else if (!strncmp(line, "GNU.sparse.name=", 16)) { free(out->name); out->name = strdup(line + 5); @@ -312,46 +290,6 @@ static int decode_header(const tar_header_t *hdr, unsigned int set_by_pax, } } - if (!(set_by_pax & PAX_ATIME)) { - field = out->sb.st_mtime; - - if (version == ETV_PRE_POSIX && - ((uint8_t)hdr->tail.gnu.atime[0] == 0x80 || - (uint8_t)hdr->tail.gnu.atime[0] == 0xFF || - isdigit(hdr->tail.gnu.atime[0]))) { - if (read_number(hdr->tail.gnu.atime, - sizeof(hdr->tail.gnu.atime), &field)) - return -1; - } - - if (field & 0x8000000000000000UL) { - field = ~field + 1; - out->sb.st_atime = -((int64_t)field); - } else { - out->sb.st_atime = field; - } - } - - if (!(set_by_pax & PAX_CTIME)) { - field = out->sb.st_mtime; - - if (version == ETV_PRE_POSIX && - ((uint8_t)hdr->tail.gnu.ctime[0] == 0x80 || - (uint8_t)hdr->tail.gnu.ctime[0] == 0xFF || - isdigit(hdr->tail.gnu.ctime[0]))) { - if (read_number(hdr->tail.gnu.ctime, - sizeof(hdr->tail.gnu.atime), &field)) - return -1; - } - - if (field & 0x8000000000000000UL) { - field = ~field + 1; - out->sb.st_ctime = -((int64_t)field); - } else { - out->sb.st_ctime = field; - } - } - if (read_octal(hdr->mode, sizeof(hdr->mode), &field)) return -1; -- cgit v1.2.3