Lines Matching defs:arcn

287  *	pattern as having selected an archive member. arcn->pat points at the
288 * pattern that was matched. arcn->pat is set in pat_match()
296 * 0 if the pattern pointed at by arcn->pat was tagged as creating a
301 pat_sel(ARCHD *arcn)
310 if ((pathead == NULL) || ((pt = arcn->pat) == NULL))
332 if (!dflag && ((pt->pend != NULL) || (arcn->type == PAX_DIR))) {
338 * into arcn->name and arcn->name has not been modified.
349 if ((pt->pstr = strdup(arcn->name)) == NULL) {
375 arcn->pat = pt;
389 while ((pt != NULL) && (pt != arcn->pat)) {
403 arcn->pat = NULL;
410 * is found, arcn->pat is set to point at the potential pattern. Later if
420 pat_match(ARCHD *arcn)
424 arcn->pat = NULL;
452 if ((arcn->name[pt->plen] == '/') &&
453 (strncmp(pt->pstr, arcn->name, pt->plen) == 0))
455 } else if (fn_match(pt->pstr, arcn->name, &pt->pend) == 0)
472 arcn->pat = pt;
476 if (pat_sel(arcn) < 0)
478 arcn->pat = NULL;
608 mod_name(ARCHD *arcn)
616 if (rmleadslash && arcn->name[0] == '/') {
617 if (arcn->name[1] == '\0') {
618 arcn->name[0] = '.';
620 (void)memmove(arcn->name, &arcn->name[1],
621 strlen(arcn->name));
622 arcn->nlen--;
629 if (rmleadslash && arcn->ln_name[0] == '/' &&
630 (arcn->type == PAX_HLK || arcn->type == PAX_HRG)) {
631 if (arcn->ln_name[1] == '\0') {
632 arcn->ln_name[0] = '.';
634 (void)memmove(arcn->ln_name, &arcn->ln_name[1],
635 strlen(arcn->ln_name));
636 arcn->ln_nlen--;
668 if ((res = rep_name(arcn->name, &(arcn->nlen), 1)) != 0)
671 if (((arcn->type == PAX_SLK) || (arcn->type == PAX_HLK) ||
672 (arcn->type == PAX_HRG)) &&
673 ((res = rep_name(arcn->ln_name, &(arcn->ln_nlen), 0)) != 0))
681 if ((res = tty_rename(arcn)) != 0)
683 if ((arcn->type == PAX_SLK) || (arcn->type == PAX_HLK) ||
684 (arcn->type == PAX_HRG))
685 sub_name(arcn->ln_name, &(arcn->ln_nlen), sizeof(arcn->ln_name));
701 tty_rename(ARCHD *arcn)
715 ls_tty(arcn);
750 res = add_name(arcn->name, arcn->nlen, tmpname);
751 arcn->nlen = l_strncpy(arcn->name, tmpname, sizeof(arcn->name) - 1);
752 arcn->name[arcn->nlen] = '\0';
767 set_dest(ARCHD *arcn, char *dest_dir, int dir_len)
769 if (fix_path(arcn->name, &(arcn->nlen), dest_dir, dir_len) < 0)
777 if ((arcn->type != PAX_HLK) && (arcn->type != PAX_HRG))
780 if (fix_path(arcn->ln_name, &(arcn->ln_nlen), dest_dir, dir_len) < 0)