Lines Matching refs:arcn

75 	ARCHD *arcn;
80 arcn = &archd;
100 while (next_head(arcn) == 0) {
105 if ((res = pat_match(arcn)) < 0)
108 if ((res == 0) && (sel_chk(arcn) == 0)) {
112 if (pat_sel(arcn) < 0)
119 if ((res = mod_name(arcn)) < 0)
122 ls_list(arcn, now, stdout);
129 if (rd_skip(arcn->skip + arcn->pad) == 1)
152 ARCHD *arcn;
160 arcn = &archd;
183 while (next_head(arcn) == 0) {
189 if ((res = pat_match(arcn)) < 0)
192 if ((res > 0) || (sel_chk(arcn) != 0)) {
197 (void)rd_skip(arcn->skip + arcn->pad);
211 if ((uflag || Dflag) && ((lstat(arcn->name, &sb) == 0))) {
213 if ((arcn->sb.st_mtime <= sb.st_mtime) &&
214 (arcn->sb.st_ctime <= sb.st_ctime)) {
215 (void)rd_skip(arcn->skip + arcn->pad);
219 if (arcn->sb.st_ctime <= sb.st_ctime) {
220 (void)rd_skip(arcn->skip + arcn->pad);
223 } else if (arcn->sb.st_mtime <= sb.st_mtime) {
224 (void)rd_skip(arcn->skip + arcn->pad);
232 if ((pat_sel(arcn) < 0) || ((res = mod_name(arcn)) < 0))
238 purg_lnk(arcn);
239 (void)rd_skip(arcn->skip + arcn->pad);
247 if ((Yflag || Zflag) && ((lstat(arcn->name, &sb) == 0))) {
249 if ((arcn->sb.st_mtime <= sb.st_mtime) &&
250 (arcn->sb.st_ctime <= sb.st_ctime)) {
251 (void)rd_skip(arcn->skip + arcn->pad);
255 if (arcn->sb.st_ctime <= sb.st_ctime) {
256 (void)rd_skip(arcn->skip + arcn->pad);
259 } else if (arcn->sb.st_mtime <= sb.st_mtime) {
260 (void)rd_skip(arcn->skip + arcn->pad);
267 ls_list(arcn, now, listf);
269 (void)fputs(arcn->name, listf);
277 if ((arcn->pat != NULL) && (arcn->pat->chdname != NULL))
278 if (chdir(arcn->pat->chdname) != 0)
280 arcn->pat->chdname);
285 if ((arcn->type != PAX_REG) && (arcn->type != PAX_CTG)) {
291 if ((arcn->type == PAX_HLK) || (arcn->type == PAX_HRG))
292 res = lnk_creat(arcn);
294 res = node_creat(arcn);
296 (void)rd_skip(arcn->skip + arcn->pad);
298 purg_lnk(arcn);
310 if ((fd = file_creat(arcn)) < 0) {
311 (void)rd_skip(arcn->skip + arcn->pad);
312 purg_lnk(arcn);
319 res = (*frmt->rd_data)(arcn, fd, &cnt);
320 file_close(arcn, fd);
326 (void)rd_skip(cnt + arcn->pad);
331 if ((arcn->pat != NULL) && (arcn->pat->chdname != NULL))
356 wr_archive(ARCHD *arcn, int is_app)
397 while (next_file(arcn) == 0) {
401 if (sel_chk(arcn) != 0) {
411 if ((res = chk_ftime(arcn)) < 0)
421 ftree_sel(arcn);
422 if (hlk && (chk_lnk(arcn) < 0))
425 if ((arcn->type == PAX_REG) || (arcn->type == PAX_HRG) ||
426 (arcn->type == PAX_CTG)) {
433 if ((fd = open(arcn->org_name, O_RDONLY, 0)) < 0) {
435 arcn->org_name);
436 purg_lnk(arcn);
444 if ((res = mod_name(arcn)) < 0) {
449 rdfile_close(arcn, &fd);
450 purg_lnk(arcn);
454 if ((res > 0) || (docrc && (set_crc(arcn, fd) < 0))) {
459 rdfile_close(arcn, &fd);
460 purg_lnk(arcn);
466 ls_list(arcn, now, listf);
468 (void)fputs(arcn->name, listf);
478 if ((res = (*wrf)(arcn)) < 0) {
479 rdfile_close(arcn, &fd);
492 rdfile_close(arcn, &fd);
504 res = (*frmt->wr_data)(arcn, fd, &cnt);
505 rdfile_close(arcn, &fd);
517 ((arcn->pad > 0) && (wr_skip(arcn->pad) < 0)))
563 ARCHD *arcn;
570 arcn = &archd;
627 while (next_head(arcn) == 0) {
631 if (sel_chk(arcn) != 0) {
632 if (rd_skip(arcn->skip + arcn->pad) == 1)
642 if ((res = chk_ftime(arcn)) < 0)
645 if (rd_skip(arcn->skip + arcn->pad) == 1)
657 if ((udev && (add_dev(arcn) < 0)) ||
658 (rd_skip(arcn->skip + arcn->pad) == 1))
688 wr_archive(arcn, 1);
725 ARCHD *arcn;
736 arcn = &archd;
782 while (next_file(arcn) == 0) {
788 if (sel_chk(arcn) != 0) {
807 if (*(arcn->name) == '/')
811 if ((arcn->nlen - res) > drem) {
813 arcn->name);
816 (void)strncpy(dest_pt, arcn->name + res, drem);
827 if ((arcn->sb.st_mtime<=sb.st_mtime) &&
828 (arcn->sb.st_ctime<=sb.st_ctime))
831 if (arcn->sb.st_ctime <= sb.st_ctime)
833 } else if (arcn->sb.st_mtime <= sb.st_mtime)
843 ftree_sel(arcn);
844 if ((chk_lnk(arcn) < 0) || ((res = mod_name(arcn)) < 0))
846 if ((res > 0) || (set_dest(arcn, dirbuf, dlen) < 0)) {
850 purg_lnk(arcn);
858 if ((Yflag || Zflag) && ((lstat(arcn->name, &sb) == 0))) {
860 if ((arcn->sb.st_mtime <= sb.st_mtime) &&
861 (arcn->sb.st_ctime <= sb.st_ctime))
864 if (arcn->sb.st_ctime <= sb.st_ctime)
866 } else if (arcn->sb.st_mtime <= sb.st_mtime)
871 (void)fputs(arcn->name, listf);
881 res = cross_lnk(arcn);
883 res = chk_same(arcn);
895 if ((arcn->type != PAX_REG) && (arcn->type != PAX_CTG)) {
899 if ((arcn->type == PAX_HLK) || (arcn->type == PAX_HRG))
900 res = lnk_creat(arcn);
902 res = node_creat(arcn);
904 purg_lnk(arcn);
916 if ((fdsrc = open(arcn->org_name, O_RDONLY, 0)) < 0) {
918 arcn->org_name);
919 purg_lnk(arcn);
922 if ((fddest = file_creat(arcn)) < 0) {
923 rdfile_close(arcn, &fdsrc);
924 purg_lnk(arcn);
931 cp_file(arcn, fdsrc, fddest);
932 file_close(arcn, fddest);
933 rdfile_close(arcn, &fdsrc);
972 next_head(ARCHD *arcn)
1047 if ((*frmt->rd)(arcn, hdbuf) == 0)
1100 if (frmt->inhead && ((*frmt->trail_cpio)(arcn) == 0)) {