Hi, Today I came a cross a strange tar archive which couldn't been extracted by tar from busybox (tested on recent snapshot). I checked that this archive has files/directories with creation date about 1920. Looks like very old dates are stored in different manner then dates above 1970.
Here is what I changed to solve my problem file: /archival/libunarchive/get_header_tar.c @@ -301,7 +303,9 @@ file_header->uname = tar.uname[0] ? xstrndup(tar.uname, sizeof(tar.uname)) : NULL; file_header->gname = tar.gname[0] ? xstrndup(tar.gname, sizeof(tar.gname)) : NULL; #endif - file_header->mtime = GET_OCTAL(tar.mtime); + file_header->mtime = *tar.mtime == 0xFF /* positive base256? */ + ? getBase256_len12(tar.mtime) + : GET_OCTAL(tar.mtime); /* Size field: handle GNU tar's "base256 encoding" */ file_header->size = (*tar.size & 0xc0) == 0x80 /* positive base256? */ ? getBase256_len12(tar.size) Don't know if the condition is good for all situation, but it did work in my case T4 _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
