Lines Matching refs:name

42     --numeric-owner  Save/use/display uid and gid, not user/group name
71 char *name, *link_target, *uname, *gname;
82 char name[100], mode[8], uid[8], gid[8],size[12], mtime[12], chksum[8],
116 static void write_longname(char *name, char type)
119 int sz = strlen(name) +1;
122 strcpy(tmp.name, "././@LongLink");
140 // write header and name, padded with NUL to block size
142 xwrite(TT.fd, name, sz);
146 static struct double_list *filter(struct double_list *lst, char *name)
152 do if (!fnmatch(lst->data, name, 1<<3)) return lst;
183 char *name, *lnk, *hname;
187 error_msg("'%s' file is the archive; not dumped", node->name);
192 name = dirtree_path(node, &i);
195 for (lnk = name; *lnk;) {
202 if (S_ISDIR(st->st_mode) && name[i-1] != '/') strcat(name, "/");
204 // remove leading / and any .. entries from saved name
205 for (hname = name; *hname == '/'; hname++);
215 if (TT.warn && hname != name) {
217 (int)(hname-name), name);
227 strncpy(hdr.name, hname, sizeof(hdr.name));
261 lnk = xreadlink(name);
267 if (i==2 && !(lnk = xreadlink(name))) {
288 if (strlen(hname) > sizeof(hdr.name)) write_longname(hname, 'L');
300 if ((fd = open(name, O_RDONLY)) < 0) {
301 perror_msg("can't open '%s'", name);
368 perror_msg("%s: seek %lld", name, TT.sparse[i*2]);
375 free(name);
389 static int dirflush(char *name)
393 // Barf if name not in TT.cwd
394 if (name) {
395 ss = s = xabspath(name, -1);
397 error_msg("'%s' not under '%s'", name, TT.cwd);
415 if (name && strstart(&ss, ss = s) && (!*ss || *ss=='/')) break;
422 // name was under TT.cwd
467 char *name = TT.hdr.name;
470 if (dirflush(name)) {
477 if (strrchr(name, '/') && mkpath(name) && errno !=EEXIST)
478 return perror_msg(":%s: can't mkdir", name);
481 if (!FLAG(k) && !S_ISDIR(ala) && unlink(name) && errno!=ENOENT)
482 return perror_msg("can't remove: %s", name);
487 if (link(TT.hdr.link_target, name))
488 return perror_msg("can't link '%s' -> '%s'", name, TT.hdr.link_target);
491 int fd = xcreate(name, O_WRONLY|O_CREAT|(FLAG(overwrite)?O_TRUNC:O_EXCL),
497 if ((mkdir(name, 0700) == -1) && errno != EEXIST)
498 return perror_msg("%s: can't create", TT.hdr.name);
500 if (symlink(TT.hdr.link_target, TT.hdr.name))
501 return perror_msg("can't link '%s' -> '%s'", name, TT.hdr.link_target);
502 } else if (mknod(name, ala, TT.hdr.device))
503 return perror_msg("can't create '%s'", name);
521 if (lchown(name, u, g)) perror_msg("chown %d:%d '%s'", u, g, name);;
524 if (!S_ISLNK(ala)) chmod(TT.hdr.name, FLAG(p) ? ala : ala&0777);
534 sl = xmalloc(sizeof(struct string_list)+sizeof(long long)+strlen(name)+1);
536 strcpy(sl->str+sizeof(long long), name);
539 } else wsettime(TT.hdr.name, TT.hdr.mtime);
564 if (!i || !*tar.name) {
580 // Long name extension header?
582 else if (tar.type == 'L') alloread(&TT.hdr.name, TT.hdr.size);
597 TT.hdr.name = xstrdup(p+n);
672 if (!TT.hdr.name) {
673 // Glue prefix and name fields together with / if necessary
675 TT.hdr.name = xmprintf("%.*s%s%.*s", i, tar.prefix,
677 (int)sizeof(tar.name), tar.name);
681 if (S_ISREG(TT.hdr.mode) && (s = strend(TT.hdr.name, "/"))) {
694 if ((delete = filter(TT.incl, TT.hdr.name)) && TT.incl != TT.seen) {
708 if (filter(TT.excl, TT.hdr.name) || (TT.incl && !delete))
727 printf("%s", TT.hdr.name);
732 if (FLAG(v)) printf("%s\n", TT.hdr.name);
741 xsetenv("TAR_FILENAME", TT.hdr.name);
757 free(TT.hdr.name);
761 TT.hdr.name = TT.hdr.link_target = 0;
915 // autodetect compression type based on -f name. (Use > to avoid.)