• Home
  • Raw
  • Download

Lines Matching refs:tar

546   struct tar_hdr tar;  in unpack_tar()  local
553 memcpy(&tar, first, i = 512); in unpack_tar()
558 i = readall(TT.fd, &tar, 512); in unpack_tar()
564 if (!i || !*tar.name) { in unpack_tar()
570 tar.padd[0] = and = 0; in unpack_tar()
573 if (!is_tar_header(&tar)) error_exit("bad header"); in unpack_tar()
574 TT.hdr.size = OTOI(tar.size); in unpack_tar()
577 if ((tar.type<'0' || tar.type>'7') && tar.type!='S' in unpack_tar()
578 && (*tar.magic && tar.type)) in unpack_tar()
581 if (tar.type == 'K') alloread(&TT.hdr.link_target, TT.hdr.size); in unpack_tar()
582 else if (tar.type == 'L') alloread(&TT.hdr.name, TT.hdr.size); in unpack_tar()
583 else if (tar.type == 'x') { in unpack_tar()
610 if (tar.type == 'S') { in unpack_tar()
617 s = 386+(char *)&tar; in unpack_tar()
626 if (!(*sparse ? sparse[504] : ((char *)&tar)[482])) break; in unpack_tar()
646 TT.hdr.mode = OTOI(tar.mode)&0xfff; in unpack_tar()
647 if (tar.type == 'S' || !tar.type) TT.hdr.mode |= 0x8000; in unpack_tar()
648 else TT.hdr.mode |= (char []){8,8,10,2,6,4,1,8}[tar.type-'0']<<12; in unpack_tar()
649 TT.hdr.uid = OTOI(tar.uid); in unpack_tar()
650 TT.hdr.gid = OTOI(tar.gid); in unpack_tar()
651 TT.hdr.mtime = OTOI(tar.mtime); in unpack_tar()
652 maj = OTOI(tar.major); in unpack_tar()
653 min = OTOI(tar.minor); in unpack_tar()
655 TT.hdr.uname = xstrndup(TT.owner ? TT.owner : tar.uname, sizeof(tar.uname)); in unpack_tar()
656 TT.hdr.gname = xstrndup(TT.group ? TT.group : tar.gname, sizeof(tar.gname)); in unpack_tar()
670 if (!TT.hdr.link_target && *tar.link) in unpack_tar()
671 TT.hdr.link_target = xstrndup(tar.link, sizeof(tar.link)); in unpack_tar()
674 i = (tar.type=='S') ? 0 : strnlen(tar.prefix, sizeof(tar.prefix)); in unpack_tar()
675 TT.hdr.name = xmprintf("%.*s%s%.*s", i, tar.prefix, in unpack_tar()
676 (i && tar.prefix[i-1] != '/') ? "/" : "", in unpack_tar()
677 (int)sizeof(tar.name), tar.name); in unpack_tar()
688 || (tar.type && !S_ISREG(TT.hdr.mode))) in unpack_tar()
721 if (tar.type=='3' || tar.type=='4') printf("%u,%u", maj, min); in unpack_tar()