Lines Matching refs:try
25 static int do_rm(struct dirtree *try) in do_rm() argument
27 int fd = dirtree_parentfd(try), flags = toys.optflags; in do_rm()
28 int dir = S_ISDIR(try->st.st_mode), or = 0, using = 0; in do_rm()
31 if (!dirtree_notdotdot(try)) return 0; in do_rm()
39 && (!S_ISLNK(try->st.st_mode) && faccessat(fd, try->name, W_OK, 0))) or++; in do_rm()
40 if (!(dir && try->again) && ((or && isatty(0)) || (flags & FLAG_i))) { in do_rm()
41 char *s = dirtree_path(try, 0); in do_rm()
53 if (faccessat(fd, try->name, R_OK, 0)) { in do_rm()
54 if (toys.optflags & FLAG_f) wfchmodat(fd, try->name, 0700); in do_rm()
57 if (!try->again) return DIRTREE_COMEAGAIN; in do_rm()
58 if (try->symlink) goto skip; in do_rm()
60 char *s = dirtree_path(try, 0); in do_rm()
71 if (unlinkat(fd, try->name, using)) { in do_rm()
72 if (!dir || try->symlink != (char *)2) perror_msg_raw(try->name); in do_rm()
74 if (try->parent) try->parent->symlink = (char *)2; in do_rm()