Lines Matching refs:redir
1267 struct redir_struct *redir;
1269 for (redir = prog->redirects; redir; redir = redir->next) {
1270 if (redir->dup == -1 && redir->word.gl_pathv == NULL) {
1274 if (redir->dup == -1) {
1275 mode = redir_table[redir->type].mode;
1276 openfd = open_or_warn(redir->word.gl_pathv[0], mode);
1283 openfd = redir->dup;
1286 if (openfd != redir->fd) {
1287 if (squirrel && redir->fd < 3) {
1288 squirrel[redir->fd] = dup(redir->fd);
1293 dup2(openfd, redir->fd);
1294 if (redir->dup == -1)
2755 struct redir_struct *redir = child->redirects;
2759 while (redir) {
2760 last_redir = redir;
2761 redir = redir->next;
2763 redir = xmalloc(sizeof(struct redir_struct));
2764 redir->next = NULL;
2765 redir->word.gl_pathv = NULL;
2767 last_redir->next = redir;
2769 child->redirects = redir;
2772 redir->type = style;
2773 redir->fd = (fd == -1) ? redir_table[style].default_fd : fd;
2775 debug_printf("Redirect type %d%s\n", redir->fd, redir_table[style].descrip);
2778 redir->dup = redirect_dup_num(input);
2779 if (redir->dup == -2) return 1; /* syntax error */
2780 if (redir->dup != -1) {
2784 debug_printf("Duplicating redirect '%d>&%d'\n", redir->fd, redir->dup);
2790 ctx->pending_redirect = redir;