/freebsd/bin/pax/ |
H A D | ar_subs.c | 69 ARCHD *arcn; in list() local 74 arcn = &archd; in list() 94 while (next_head(arcn) == 0) { in list() 99 if ((res = pat_match(arcn)) < 0) in list() 102 if ((res == 0) && (sel_chk(arcn) == 0)) { in list() 106 if (pat_sel(arcn) < 0) in list() 113 if ((res = mod_name(arcn)) < 0) in list() 116 ls_list(arcn, now, stdout); in list() 123 if (rd_skip(arcn->skip + arcn->pad) == 1) in list() 146 ARCHD *arcn; in extract() local [all …]
|
H A D | file_subs.c | 69 file_creat(ARCHD *arcn) in file_creat() argument 86 file_mode = arcn->sb.st_mode & FILEBITS; in file_creat() 87 if ((fd = open(arcn->name, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, in file_creat() 96 if (unlnk_exist(arcn->name, arcn->type) != 0) in file_creat() 105 if ((fd = open(arcn->name, O_WRONLY | O_CREAT | O_TRUNC, in file_creat() 109 if (nodirs || chk_path(arcn->name,arcn->sb.st_uid,arcn->sb.st_gid) < 0) { in file_creat() 110 syswarn(1, oerrno, "Unable to create %s", arcn->name); in file_creat() 126 file_close(ARCHD *arcn, int fd) in file_close() argument 134 arcn->name); in file_close() 142 res = set_ids(arcn->name, arcn->sb.st_uid, arcn->sb.st_gid); in file_close() [all …]
|
H A D | pat_rep.c | 273 pat_sel(ARCHD *arcn) in pat_sel() argument 282 if ((pathead == NULL) || ((pt = arcn->pat) == NULL)) in pat_sel() 304 if (!dflag && ((pt->pend != NULL) || (arcn->type == PAX_DIR))) { in pat_sel() 321 if ((pt->pstr = strdup(arcn->name)) == NULL) { in pat_sel() 347 arcn->pat = pt; in pat_sel() 361 while ((pt != NULL) && (pt != arcn->pat)) { in pat_sel() 375 arcn->pat = NULL; in pat_sel() 392 pat_match(ARCHD *arcn) in pat_match() argument 396 arcn->pat = NULL; in pat_match() 424 if ((arcn->name[pt->plen] == '/') && in pat_match() [all …]
|
H A D | ftree.c | 180 ftree_sel(ARCHD *arcn) in ftree_sel() argument 199 if (!dflag || (arcn->type != PAX_DIR)) in ftree_sel() 336 next_file(ARCHD *arcn) in next_file() argument 423 arcn->skip = 0; in next_file() 424 arcn->pad = 0; in next_file() 425 arcn->ln_nlen = 0; in next_file() 426 arcn->ln_name[0] = '\0'; in next_file() 427 arcn->sb = *(ftent->fts_statp); in next_file() 439 switch(S_IFMT & arcn->sb.st_mode) { in next_file() 441 arcn->type = PAX_DIR; in next_file() [all …]
|
H A D | tables.c | 123 chk_lnk(ARCHD *arcn) in chk_lnk() argument 134 if ((arcn->type == PAX_DIR) || (arcn->sb.st_nlink <= 1)) in chk_lnk() 140 indx = ((unsigned)arcn->sb.st_ino) % L_TAB_SZ; in chk_lnk() 147 if ((pt->ino == arcn->sb.st_ino) && in chk_lnk() 148 (pt->dev == arcn->sb.st_dev)) in chk_lnk() 161 arcn->ln_nlen = l_strncpy(arcn->ln_name, pt->name, in chk_lnk() 162 sizeof(arcn->ln_name) - 1); in chk_lnk() 163 arcn->ln_name[arcn->ln_nlen] = '\0'; in chk_lnk() 164 if (arcn->type == PAX_REG) in chk_lnk() 165 arcn->type = PAX_HRG; in chk_lnk() [all …]
|
H A D | buf_subs.c | 597 wr_rdfile(ARCHD *arcn, int ifd, off_t *left) in wr_rdfile() argument 601 off_t size = arcn->sb.st_size; in wr_rdfile() 625 syswarn(1, errno, "Read fault on %s", arcn->org_name); in wr_rdfile() 627 paxwarn(1, "File changed size during read %s", arcn->org_name); in wr_rdfile() 629 syswarn(1, errno, "Failed stat on %s", arcn->org_name); in wr_rdfile() 630 else if (arcn->sb.st_mtime != sb.st_mtime) in wr_rdfile() 632 arcn->org_name); in wr_rdfile() 658 rd_wrfile(ARCHD *arcn, int ofd, off_t *left) in rd_wrfile() argument 661 off_t size = arcn->sb.st_size; in rd_wrfile() 663 char *fnm = arcn->name; in rd_wrfile() [all …]
|
H A D | gen_subs.c | 69 ls_list(ARCHD *arcn, time_t now, FILE *fp) in ls_list() argument 80 (void)fprintf(fp, "%s\n", arcn->name); in ls_list() 90 sbp = &(arcn->sb); in ls_list() 113 if ((arcn->type == PAX_CHR) || (arcn->type == PAX_BLK)) in ls_list() 123 (void)fprintf(fp, "%s %s", f_date, arcn->name); in ls_list() 124 if ((arcn->type == PAX_HLK) || (arcn->type == PAX_HRG)) in ls_list() 125 (void)fprintf(fp, " == %s\n", arcn->ln_name); in ls_list() 126 else if (arcn->type == PAX_SLK) in ls_list() 127 (void)fprintf(fp, " => %s\n", arcn->ln_name); in ls_list() 140 ls_tty(ARCHD *arcn) in ls_tty() argument [all …]
|
H A D | sel_subs.c | 74 sel_chk(ARCHD *arcn) in sel_chk() argument 76 if (((usrtb != NULL) && usr_match(arcn)) || in sel_chk() 77 ((grptb != NULL) && grp_match(arcn)) || in sel_chk() 78 ((trhead != NULL) && trng_match(arcn))) in sel_chk() 168 usr_match(ARCHD *arcn) in usr_match() argument 175 pt = usrtb[((unsigned)arcn->sb.st_uid) % USR_TB_SZ]; in usr_match() 177 if (pt->uid == arcn->sb.st_uid) in usr_match() 265 grp_match(ARCHD *arcn) in grp_match() argument 272 pt = grptb[((unsigned)arcn->sb.st_gid) % GRP_TB_SZ]; in grp_match() 274 if (pt->gid == arcn->sb.st_gid) in grp_match() [all …]
|