redirect greatand / lessand execution done (parsing not functional yet)
This commit is contained in:
parent
23cdcb2dbb
commit
40aebb29b2
7 changed files with 30 additions and 34 deletions
|
|
@ -161,7 +161,7 @@ struct s_redir
|
||||||
t_flag type;
|
t_flag type;
|
||||||
int n;
|
int n;
|
||||||
char *word;
|
char *word;
|
||||||
int close;
|
/* int close; */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct s_cmd
|
struct s_cmd
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/03 13:46:40 by jhalford #+# #+# */
|
/* Created: 2017/02/03 13:46:40 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/02/06 22:54:19 by jhalford ### ########.fr */
|
/* Updated: 2017/03/05 19:44:16 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2016/11/29 16:04:18 by jhalford #+# #+# */
|
/* Created: 2016/11/29 16:04:18 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/05 15:59:06 by jhalford ### ########.fr */
|
/* Updated: 2017/03/05 19:40:54 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/06 22:03:53 by jhalford #+# #+# */
|
/* Created: 2017/02/06 22:03:53 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/05 18:07:25 by ariard ### ########.fr */
|
/* Updated: 2017/03/05 19:35:02 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/06 22:12:31 by jhalford #+# #+# */
|
/* Created: 2017/02/06 22:12:31 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/05 18:12:26 by ariard ### ########.fr */
|
/* Updated: 2017/03/05 19:44:10 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -17,26 +17,25 @@ int redirect_greatand(t_redir *redir)
|
||||||
int fdold;
|
int fdold;
|
||||||
int fdnew;
|
int fdnew;
|
||||||
|
|
||||||
(void)redir;
|
if (ft_strcmp(redir->word, "-"))
|
||||||
(void)fdold;
|
|
||||||
(void)fdnew;
|
|
||||||
DG("redir greatand");
|
|
||||||
/*
|
|
||||||
if (redir->close)
|
|
||||||
{
|
{
|
||||||
close(redir->n);
|
close(redir->n);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if (redir->word.fd == redir->n)
|
if (!ft_stris(redir->word, ft_isdigit))
|
||||||
return (0);
|
{
|
||||||
if (redir->word.fd > 9)
|
ft_dprintf(2, "%s: %s: can only be digits", SHELL_NAME, redir->word);
|
||||||
return (bad_fd(redir->word.fd));
|
return (1);
|
||||||
fdold = redir->word.fd;
|
}
|
||||||
|
fdold = ft_atoi(redir->word);
|
||||||
fdnew = redir->n;
|
fdnew = redir->n;
|
||||||
|
if (fdold == fdnew)
|
||||||
|
return (0);
|
||||||
|
if (fdold > 9)
|
||||||
|
return (bad_fd(fdold));
|
||||||
if (fd_is_valid(fdold))
|
if (fd_is_valid(fdold))
|
||||||
dup2_close(fdold, fdnew);
|
dup2_close(fdold, fdnew);
|
||||||
else
|
else
|
||||||
return (bad_fd(fdold));
|
return (bad_fd(fdold));
|
||||||
*/
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/06 22:11:18 by jhalford #+# #+# */
|
/* Created: 2017/02/06 22:11:18 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/05 18:13:11 by ariard ### ########.fr */
|
/* Updated: 2017/03/05 19:43:42 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -17,28 +17,25 @@ int redirect_lessand(t_redir *redir)
|
||||||
int fdold;
|
int fdold;
|
||||||
int fdnew;
|
int fdnew;
|
||||||
|
|
||||||
(void)redir;
|
if (ft_strcmp(redir->word, "-"))
|
||||||
(void)fdold;
|
|
||||||
(void)fdnew;
|
|
||||||
/*
|
|
||||||
if (redir->close)
|
|
||||||
{
|
{
|
||||||
close(redir->n);
|
close(redir->n);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if (redir->word.fd == redir->n)
|
if (!ft_stris(redir->word, ft_isdigit))
|
||||||
return (0);
|
|
||||||
if (redir->word.fd > 9)
|
|
||||||
return (bad_fd(redir->word.fd));
|
|
||||||
fdold = redir->word.fd;
|
|
||||||
fdnew = redir->n;
|
|
||||||
if (fd_is_valid(fdold))
|
|
||||||
{
|
{
|
||||||
dup2(fdold, fdnew);
|
ft_dprintf(2, "%s: %s: can only be digits", SHELL_NAME, redir->word);
|
||||||
close(fdold);
|
return (1);
|
||||||
}
|
}
|
||||||
|
fdold = ft_atoi(redir->word);
|
||||||
|
fdnew = redir->n;
|
||||||
|
if (fdold == fdnew)
|
||||||
|
return (0);
|
||||||
|
if (fdold > 9)
|
||||||
|
return (bad_fd(fdold));
|
||||||
|
if (fd_is_valid(fdold))
|
||||||
|
dup2_close(fdold, fdnew);
|
||||||
else
|
else
|
||||||
return (bad_fd(fdold));
|
return (bad_fd(fdold));
|
||||||
*/
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/09 17:08:51 by jhalford #+# #+# */
|
/* Created: 2017/02/09 17:08:51 by jhalford #+# #+# */
|
||||||
/* Updated: 2017/03/05 19:30:00 by jhalford ### ########.fr */
|
/* Updated: 2017/03/05 19:31:21 by jhalford ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue