| /netbsd/src/bin/pax/ |
| D | cpio.c | 100 cpio_subtrail(ARCHD *arcn) in cpio_subtrail() argument 105 if ((strcmp(arcn->name, TRAILER) == 0) && (arcn->sb.st_size == 0)) in cpio_subtrail() 118 com_rd(ARCHD *arcn) in com_rd() argument 120 arcn->skip = 0; in com_rd() 121 arcn->pat = NULL; in com_rd() 122 arcn->org_name = arcn->name; in com_rd() 123 switch(arcn->sb.st_mode & C_IFMT) { in com_rd() 125 arcn->type = PAX_FIF; in com_rd() 128 arcn->type = PAX_DIR; in com_rd() 131 arcn->type = PAX_BLK; in com_rd() [all …]
|
| D | ar_subs.c | 159 path_check(ARCHD *arcn, int level) in path_check() argument 164 if ((p = strrchr(arcn->name, '/')) == NULL) in path_check() 168 if (realpath(arcn->name, buf) == NULL) { in path_check() 170 error = path_check(arcn, level + 1); in path_check() 175 syswarn(1, 0, "Cannot resolve `%s'", arcn->name); in path_check() 182 arcn->name, buf, p + 1, cwdpath); in path_check() 198 ARCHD *arcn; in list() local 202 arcn = &archd; in list() 219 while (next_head(arcn) == 0) { in list() 220 if (arcn->type == PAX_GLL || arcn->type == PAX_GLF) { in list() [all …]
|
| D | tar.c | 457 tar_rd(ARCHD *arcn, char *buf) in tar_rd() argument 467 memset(arcn, 0, sizeof(*arcn)); in tar_rd() 468 arcn->org_name = arcn->name; in tar_rd() 469 arcn->pat = NULL; in tar_rd() 470 arcn->sb.st_nlink = 1; in tar_rd() 477 arcn->nlen = expandname(arcn->name, sizeof(arcn->name), in tar_rd() 480 arcn->ln_nlen = expandname(arcn->ln_name, sizeof(arcn->ln_name), in tar_rd() 484 arcn->sb.st_mode = (mode_t)(asc_u32(hd->mode,sizeof(hd->mode),OCT) & in tar_rd() 486 arcn->sb.st_uid = (uid_t)asc_u32(hd->uid, sizeof(hd->uid), OCT); in tar_rd() 487 arcn->sb.st_gid = (gid_t)asc_u32(hd->gid, sizeof(hd->gid), OCT); in tar_rd() [all …]
|
| D | file_subs.c | 110 file_creat(ARCHD *arcn, int write_to_hardlink) in file_creat() argument 121 if (arcn->nlen != 0 && arcn->name[arcn->nlen - 1] == '/') { in file_creat() 125 arcn->name); in file_creat() 141 return (open(arcn->name, O_TRUNC | O_EXCL | O_RDWR, 0)); in file_creat() 147 arcn->tmp_name = malloc(arcn->nlen + 8); in file_creat() 148 if (arcn->tmp_name == NULL) { in file_creat() 149 syswarn(1, errno, "Cannot malloc %d bytes", arcn->nlen + 8); in file_creat() 154 xtmp_name = arcn->tmp_name; in file_creat() 163 (void)snprintf(arcn->tmp_name, arcn->nlen + 8, "%s.XXXXXX", in file_creat() 164 arcn->name); in file_creat() [all …]
|
| D | pat_rep.c | 321 pat_sel(ARCHD *arcn) in pat_sel() argument 330 if ((pathead == NULL) || ((pt = arcn->pat) == NULL)) in pat_sel() 352 if (!dflag && ((pt->pend != NULL) || (arcn->type == PAX_DIR))) { in pat_sel() 369 if ((pt->pstr = strdup(arcn->name)) == NULL) { in pat_sel() 395 arcn->pat = pt; in pat_sel() 409 while ((pt != NULL) && (pt != arcn->pat)) { in pat_sel() 423 arcn->pat = NULL; in pat_sel() 440 pat_match(ARCHD *arcn) in pat_match() argument 444 arcn->pat = NULL; in pat_match() 472 if ((arcn->name[pt->plen] == '/') && in pat_match() [all …]
|
| D | ftree.c | 256 ftree_sel(ARCHD *arcn) in ftree_sel() argument 276 if (Mflag || !dflag || (arcn->type != PAX_DIR)) in ftree_sel() 407 next_file(ARCHD *arcn) in next_file() argument 643 arcn->skip = 0; in next_file() 644 arcn->pad = 0; in next_file() 645 arcn->ln_nlen = 0; in next_file() 646 arcn->ln_name[0] = '\0'; in next_file() 647 arcn->sb = *(ftent->fts_statp); in next_file() 659 switch(S_IFMT & arcn->sb.st_mode) { in next_file() 661 arcn->type = PAX_DIR; in next_file() [all …]
|
| D | tables.c | 141 chk_lnk(ARCHD *arcn) in chk_lnk() argument 152 if ((arcn->type == PAX_DIR) || (arcn->sb.st_nlink <= 1)) in chk_lnk() 158 indx = ((unsigned)arcn->sb.st_ino) % L_TAB_SZ; in chk_lnk() 165 if ((pt->ino == arcn->sb.st_ino) && in chk_lnk() 166 (pt->dev == arcn->sb.st_dev)) in chk_lnk() 179 arcn->ln_nlen = strlcpy(arcn->ln_name, pt->name, in chk_lnk() 180 sizeof(arcn->ln_name)); in chk_lnk() 181 if (arcn->type == PAX_REG) in chk_lnk() 182 arcn->type = PAX_HRG; in chk_lnk() 184 arcn->type = PAX_HLK; in chk_lnk() [all …]
|
| D | buf_subs.c | 613 wr_rdfile(ARCHD *arcn, int ifd, off_t *left) in wr_rdfile() argument 617 off_t size = arcn->sb.st_size; in wr_rdfile() 625 origsb = arcn->sb; in wr_rdfile() 627 syswarn(1, errno, "Failed stat on %s", arcn->org_name); in wr_rdfile() 650 syswarn(1, errno, "Read fault on %s", arcn->org_name); in wr_rdfile() 652 tty_warn(1, "File changed size during read %s", arcn->org_name); in wr_rdfile() 654 syswarn(1, errno, "Failed stat on %s", arcn->org_name); in wr_rdfile() 657 arcn->org_name); in wr_rdfile() 683 rd_wrfile(ARCHD *arcn, int ofd, off_t *left) in rd_wrfile() argument 686 off_t size = arcn->sb.st_size; in rd_wrfile() [all …]
|
| D | sel_subs.c | 91 sel_chk(ARCHD *arcn) in sel_chk() argument 93 if (((usrtb != NULL) && usr_match(arcn)) || in sel_chk() 94 ((grptb != NULL) && grp_match(arcn)) || in sel_chk() 95 ((trhead != NULL) && trng_match(arcn))) in sel_chk() 186 usr_match(ARCHD *arcn) in usr_match() argument 193 pt = usrtb[((unsigned)arcn->sb.st_uid) % USR_TB_SZ]; in usr_match() 195 if (pt->uid == arcn->sb.st_uid) in usr_match() 285 grp_match(ARCHD *arcn) in grp_match() argument 292 pt = grptb[((unsigned)arcn->sb.st_gid) % GRP_TB_SZ]; in grp_match() 294 if (pt->gid == arcn->sb.st_gid) in grp_match() [all …]
|
| D | gen_subs.c | 110 ls_list(ARCHD *arcn, time_t now, FILE *fp) in ls_list() argument 121 (void)fprintf(fp, "%s\n", arcn->name); in ls_list() 129 sbp = &(arcn->sb); in ls_list() 135 formattime(f_date, sizeof(f_date), arcn->sb.st_mtime); in ls_list() 148 if ((arcn->type == PAX_CHR) || (arcn->type == PAX_BLK)) in ls_list() 158 (void)fprintf(fp, "%s %s", f_date, arcn->name); in ls_list() 159 if ((arcn->type == PAX_HLK) || (arcn->type == PAX_HRG)) in ls_list() 160 (void)fprintf(fp, " == %s\n", arcn->ln_name); in ls_list() 161 else if (arcn->type == PAX_SLK) in ls_list() 162 (void)fprintf(fp, " -> %s\n", arcn->ln_name); in ls_list() [all …]
|