| /freebsd-12-stable/bin/pax/ |
| D | cpio.c | 92 cpio_trail(ARCHD *arcn) in cpio_trail() argument 97 if ((strcmp(arcn->name, TRAILER) == 0) && (arcn->sb.st_size == 0)) in cpio_trail() 110 com_rd(ARCHD *arcn) in com_rd() argument 112 arcn->skip = 0; in com_rd() 113 arcn->pat = NULL; in com_rd() 114 arcn->org_name = arcn->name; in com_rd() 115 switch(arcn->sb.st_mode & C_IFMT) { in com_rd() 117 arcn->type = PAX_FIF; in com_rd() 120 arcn->type = PAX_DIR; in com_rd() 123 arcn->type = PAX_BLK; in com_rd() [all …]
|
| D | ar_subs.c | 77 ARCHD *arcn; in list() local 82 arcn = &archd; in list() 102 while (next_head(arcn) == 0) { in list() 107 if ((res = pat_match(arcn)) < 0) in list() 110 if ((res == 0) && (sel_chk(arcn) == 0)) { in list() 114 if (pat_sel(arcn) < 0) in list() 121 if ((res = mod_name(arcn)) < 0) in list() 124 ls_list(arcn, now, stdout); in list() 131 if (rd_skip(arcn->skip + arcn->pad) == 1) in list() 154 ARCHD *arcn; in extract() local [all …]
|
| D | tar.c | 372 tar_rd(ARCHD *arcn, char *buf) in tar_rd() argument 382 arcn->org_name = arcn->name; in tar_rd() 383 arcn->sb.st_nlink = 1; in tar_rd() 384 arcn->pat = NULL; in tar_rd() 395 arcn->nlen = l_strncpy(arcn->name, hd->name, in tar_rd() 396 MIN(sizeof(hd->name), sizeof(arcn->name)) - 1); in tar_rd() 397 arcn->name[arcn->nlen] = '\0'; in tar_rd() 398 arcn->sb.st_mode = (mode_t)(asc_ul(hd->mode,sizeof(hd->mode),OCT) & in tar_rd() 400 arcn->sb.st_uid = (uid_t)asc_ul(hd->uid, sizeof(hd->uid), OCT); in tar_rd() 401 arcn->sb.st_gid = (gid_t)asc_ul(hd->gid, sizeof(hd->gid), OCT); in tar_rd() [all …]
|
| D | file_subs.c | 77 file_creat(ARCHD *arcn) in file_creat() argument 94 file_mode = arcn->sb.st_mode & FILEBITS; in file_creat() 95 if ((fd = open(arcn->name, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, in file_creat() 104 if (unlnk_exist(arcn->name, arcn->type) != 0) in file_creat() 113 if ((fd = open(arcn->name, O_WRONLY | O_CREAT | O_TRUNC, in file_creat() 117 if (nodirs || chk_path(arcn->name,arcn->sb.st_uid,arcn->sb.st_gid) < 0) { in file_creat() 118 syswarn(1, oerrno, "Unable to create %s", arcn->name); in file_creat() 134 file_close(ARCHD *arcn, int fd) in file_close() argument 142 arcn->name); in file_close() 150 res = set_ids(arcn->name, arcn->sb.st_uid, arcn->sb.st_gid); in file_close() [all …]
|
| D | pat_rep.c | 303 pat_sel(ARCHD *arcn) argument 312 if ((pathead == NULL) || ((pt = arcn->pat) == NULL)) 334 if (!dflag && ((pt->pend != NULL) || (arcn->type == PAX_DIR))) { 351 if ((pt->pstr = strdup(arcn->name)) == NULL) { 377 arcn->pat = pt; 391 while ((pt != NULL) && (pt != arcn->pat)) { 405 arcn->pat = NULL; 422 pat_match(ARCHD *arcn) argument 426 arcn->pat = NULL; 454 if ((arcn->name[pt->plen] == '/') && [all …]
|
| D | ftree.c | 192 ftree_sel(ARCHD *arcn) in ftree_sel() argument 211 if (!dflag || (arcn->type != PAX_DIR)) in ftree_sel() 348 next_file(ARCHD *arcn) in next_file() argument 452 arcn->skip = 0; in next_file() 453 arcn->pad = 0; in next_file() 454 arcn->ln_nlen = 0; in next_file() 455 arcn->ln_name[0] = '\0'; in next_file() 457 arcn->sb = ftent->fts_statb; in next_file() 459 arcn->sb = *(ftent->fts_statp); in next_file() 472 switch(S_IFMT & arcn->sb.st_mode) { in next_file() [all …]
|
| D | tables.c | 131 chk_lnk(ARCHD *arcn) in chk_lnk() argument 142 if ((arcn->type == PAX_DIR) || (arcn->sb.st_nlink <= 1)) in chk_lnk() 148 indx = ((unsigned)arcn->sb.st_ino) % L_TAB_SZ; in chk_lnk() 155 if ((pt->ino == arcn->sb.st_ino) && in chk_lnk() 156 (pt->dev == arcn->sb.st_dev)) in chk_lnk() 169 arcn->ln_nlen = l_strncpy(arcn->ln_name, pt->name, in chk_lnk() 170 sizeof(arcn->ln_name) - 1); in chk_lnk() 171 arcn->ln_name[arcn->ln_nlen] = '\0'; in chk_lnk() 172 if (arcn->type == PAX_REG) in chk_lnk() 173 arcn->type = PAX_HRG; in chk_lnk() [all …]
|
| D | buf_subs.c | 605 wr_rdfile(ARCHD *arcn, int ifd, off_t *left) in wr_rdfile() argument 609 off_t size = arcn->sb.st_size; in wr_rdfile() 633 syswarn(1, errno, "Read fault on %s", arcn->org_name); in wr_rdfile() 635 paxwarn(1, "File changed size during read %s", arcn->org_name); in wr_rdfile() 637 syswarn(1, errno, "Failed stat on %s", arcn->org_name); in wr_rdfile() 638 else if (arcn->sb.st_mtime != sb.st_mtime) in wr_rdfile() 640 arcn->org_name); in wr_rdfile() 666 rd_wrfile(ARCHD *arcn, int ofd, off_t *left) in rd_wrfile() argument 669 off_t size = arcn->sb.st_size; in rd_wrfile() 671 char *fnm = arcn->name; in rd_wrfile() [all …]
|
| D | gen_subs.c | 77 ls_list(ARCHD *arcn, time_t now, FILE *fp) in ls_list() argument 88 (void)fprintf(fp, "%s\n", arcn->name); in ls_list() 98 sbp = &(arcn->sb); in ls_list() 121 if ((arcn->type == PAX_CHR) || (arcn->type == PAX_BLK)) in ls_list() 140 (void)fprintf(fp, "%s %s", f_date, arcn->name); in ls_list() 141 if ((arcn->type == PAX_HLK) || (arcn->type == PAX_HRG)) in ls_list() 142 (void)fprintf(fp, " == %s\n", arcn->ln_name); in ls_list() 143 else if (arcn->type == PAX_SLK) in ls_list() 144 (void)fprintf(fp, " => %s\n", arcn->ln_name); in ls_list() 157 ls_tty(ARCHD *arcn) in ls_tty() argument [all …]
|
| D | sel_subs.c | 79 sel_chk(ARCHD *arcn) in sel_chk() argument 81 if (((usrtb != NULL) && usr_match(arcn)) || in sel_chk() 82 ((grptb != NULL) && grp_match(arcn)) || in sel_chk() 83 ((trhead != NULL) && trng_match(arcn))) in sel_chk() 177 usr_match(ARCHD *arcn) in usr_match() argument 184 pt = usrtb[((unsigned)arcn->sb.st_uid) % USR_TB_SZ]; in usr_match() 186 if (pt->uid == arcn->sb.st_uid) in usr_match() 278 grp_match(ARCHD *arcn) in grp_match() argument 285 pt = grptb[((unsigned)arcn->sb.st_gid) % GRP_TB_SZ]; in grp_match() 287 if (pt->gid == arcn->sb.st_gid) in grp_match() [all …]
|