cd en cours

This commit is contained in:
Antoine Riard 2017-03-25 18:05:09 +01:00
parent 9cb51bbd8c
commit 5ebf38bf12
10 changed files with 30 additions and 32 deletions

View file

@ -43,7 +43,6 @@ builtin/builtin_func.c\
builtin/builtin_hash.c\
builtin/builtin_history.c\
builtin/builtin_math.c\
builtin/builtin_new_cd.c\
builtin/builtin_read.c\
builtin/builtin_setenv.c\
builtin/builtin_unset.c\

10
42sh/STDUG Normal file
View file

@ -0,0 +1,10 @@
41830 main.c 47 
41830 main.c 24 before readline
41830 readline.c 28 readline stind
41830 readline.c 30 after stdin
41830 main.c 26 after readline
41830 main.c 50 
41830 main.c 53 
41830 main.c 47 
41830 main.c 24 before readline
41830 readline.c 28 readline stind

View file

@ -0,0 +1,5 @@
objs/cliopts/cliopts_getmap.o: src/cliopts/cliopts_getmap.c \
includes/cliopts.h includes/libft.h includes/ft_types.h \
includes/error.h includes/color.h includes/lst.h includes/dlst.h \
includes/btree.h includes/str.h includes/sstr.h includes/math.h \
includes/mytime.h includes/get_next_line.h includes/sys.h

View file

@ -1,5 +0,0 @@
objs/cliopts/cliopts_has.o: src/cliopts/cliopts_has.c includes/cliopts.h \
includes/libft.h includes/ft_types.h includes/error.h includes/color.h \
includes/lst.h includes/dlst.h includes/btree.h includes/str.h \
includes/sstr.h includes/math.h includes/mytime.h \
includes/get_next_line.h includes/sys.h

View file

@ -1,11 +0,0 @@
objs/builtin/builtin_new_cd.o: src/builtin/builtin_new_cd.c \
includes/minishell.h includes/../libft/includes/libft.h \
libft/includes/ft_types.h libft/includes/error.h \
libft/includes/libft.h libft/includes/color.h libft/includes/cliopts.h \
libft/includes/lst.h libft/includes/dlst.h libft/includes/btree.h \
libft/includes/str.h libft/includes/sstr.h libft/includes/math.h \
libft/includes/mytime.h libft/includes/get_next_line.h \
libft/includes/sys.h includes/types.h includes/lexer.h \
includes/parser.h includes/ft_readline.h includes/job_control.h \
includes/exec.h includes/builtin.h includes/builtin_read.h \
includes/glob.h includes/completion.h includes/hash.h

View file

@ -1,11 +0,0 @@
objs/builtin/error_msg.o: src/builtin/error_msg.c includes/minishell.h \
includes/../libft/includes/libft.h libft/includes/ft_types.h \
libft/includes/error.h libft/includes/libft.h libft/includes/color.h \
libft/includes/cliopts.h libft/includes/lst.h libft/includes/dlst.h \
libft/includes/btree.h libft/includes/str.h libft/includes/sstr.h \
libft/includes/math.h libft/includes/mytime.h \
libft/includes/get_next_line.h libft/includes/sys.h includes/types.h \
includes/lexer.h includes/parser.h includes/ft_readline.h \
includes/job_control.h includes/exec.h includes/builtin.h \
includes/builtin_read.h includes/glob.h includes/completion.h \
includes/hash.h

View file

@ -6,7 +6,7 @@
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2017/03/25 15:14:55 by ariard #+# #+# */
/* Updated: 2017/03/25 17:05:24 by ariard ### ########.fr */
/* Updated: 2017/03/25 17:07:16 by ariard ### ########.fr */
/* */
/* ************************************************************************** */

View file

@ -6,7 +6,7 @@
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2017/03/25 02:00:40 by ariard #+# #+# */
/* Updated: 2017/03/25 16:59:37 by ariard ### ########.fr */
/* Updated: 2017/03/25 17:08:31 by ariard ### ########.fr */
/* */
/* ************************************************************************** */
@ -83,12 +83,16 @@ int builtin_cd(const char *path, char *const av[],
(void)envp;
(void)path;
data.flag = CD_OPT_L;
DG();
if (cliopts_get((char **)av, g_cdopts, &data))
return (1);
DG("after parsing opt");
if (data.av_data[0] && data.av_data[1])
return (SH_ERR(CD_USAGE));
if (!(target = cd_operand_exist(*data.av_data)))
return (1);
DG();
return (0);
setwd("OLDPWD");
if (!target)
target = cd_operand_begin(*data.av_data);

View file

@ -6,7 +6,7 @@
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/15 14:19:48 by gwojda #+# #+# */
/* Updated: 2017/03/22 16:49:30 by gwojda ### ########.fr */
/* Updated: 2017/03/25 17:18:41 by ariard ### ########.fr */
/* */
/* ************************************************************************** */
@ -25,7 +25,9 @@ int readline(int has_prompt, char **input)
return (ret);
}
readline_init(has_prompt);
DG("readline stind");
ret = ft_read_stdin(input);
DG("after stdin");
if (ret < 0)
return (ret);
if (data_singleton()->line.input)

View file

@ -6,7 +6,7 @@
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2017/03/20 14:45:40 by gwojda #+# #+# */
/* Updated: 2017/03/24 22:52:56 by ariard ### ########.fr */
/* Updated: 2017/03/25 17:14:28 by ariard ### ########.fr */
/* */
/* ************************************************************************** */
@ -21,7 +21,9 @@ static int do_readline_routine(char **stream)
data = data_singleton();
has_prompt = !(get_lexer_stack(data->lexer)
|| data->parser.state == UNDEFINED || data->lexer.state == HEREDOC);
DG("before readline");
ret = readline(has_prompt, stream);
DG("after readline");
if (ret == -1)
{
ft_strdel(stream);
@ -42,10 +44,13 @@ static int handle_instruction(t_list **token, t_btree **ast)
data = data_singleton();
while (1)
{
DG();
if ((ret = do_readline_routine(&stream)) > 0)
return (ret);
DG();
if (do_lexer_routine(token, stream) > 0)
continue ;
DG();
if ((ret = do_parser_routine(token, ast)) == 1
&& SH_NO_INTERACTIVE(data->opts))
return (ret);