diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | src/ft_echo.c | 23 | ||||
| -rw-r--r-- | src/ft_process_arg.c | 13 | ||||
| -rw-r--r-- | src/ft_pwd.c | 2 | ||||
| -rw-r--r-- | src/main.c | 2 | 
5 files changed, 25 insertions, 17 deletions
| @@ -26,7 +26,7 @@ INCS_DIR		= -Iinc/ -Ilibft/  LIB_DIR			= -Llibft/  LIB				= -lft -CC				= gcc +CC				= clang  CFLAGS			= -Wall -Wextra -Werror  DEBUG			= -g3 diff --git a/src/ft_echo.c b/src/ft_echo.c index 66d803f..08fac36 100644 --- a/src/ft_echo.c +++ b/src/ft_echo.c @@ -12,21 +12,16 @@ ft_echo(char **com, uint8_t n)  	fd = 1;  	if (!com[1])  		ft_putendl_fd("", fd); -	else if (ft_strncmp(com[1], "-n", ft_strlen(com[1]))) +	else if (!ft_strncmp(com[1], "-n", ft_strlen(com[1]))) +		i = 2; +	while (i < n)  	{ -		while (i < n) -		{ -			ft_putendl_fd(com[i], fd); -			i++; -		} -	} -	else -	{ -		while (i < n) -		{ -			ft_putstr_fd(com[i], fd); -			i++; -		} +		ft_putstr_fd(com[i], fd); +		if (i != n - 1) +			ft_putchar_fd(' ', fd); +		i++;  	} +	if (ft_strncmp(com[1], "-n", ft_strlen(com[1]))) +		ft_putchar_fd('\n', fd);  	return (0);  } diff --git a/src/ft_process_arg.c b/src/ft_process_arg.c index d82f9da..e1b6f8f 100644 --- a/src/ft_process_arg.c +++ b/src/ft_process_arg.c @@ -3,11 +3,22 @@  #include <inttypes.h>  int +ft_not_found(const char *com) +{ +	ft_putstr("joe-sh: "); +	ft_putstr(com); +	ft_putendl(": command not found"); +	return (127); +} + +int  ft_process_arg(const char *arg)  {  	char **com;  	uint8_t i; +	if (arg[0] == '\0') +		return (0);  	i = 0;  	com = ft_split(arg, ' ');  	while (com[i]) @@ -18,5 +29,7 @@ ft_process_arg(const char *arg)  		ft_echo(com, i);  	else if (!ft_strncmp(com[0], "pwd", ft_strlen(com[0])))  		ft_pwd(); +	else +		ft_not_found(com[0]);  	return (0);  } diff --git a/src/ft_pwd.c b/src/ft_pwd.c index 24394fe..bd67873 100644 --- a/src/ft_pwd.c +++ b/src/ft_pwd.c @@ -8,6 +8,6 @@ ft_pwd(void)  	char *buff;  	buff = NULL; -	ft_putstr(getcwd(buff, 1000)); +	ft_putendl(getcwd(buff, 1000));  	return (0);  } @@ -29,6 +29,7 @@ int  	arg = NULL;  	while (1)  	{ +		write(1, "joe-sh~> ", 9);  		if (arg)  		{  			free(arg); @@ -36,7 +37,6 @@ int  		}  		if (!(arg = (char*)ft_calloc(129, sizeof(char))))  			return (1); -		write(1, "joe-shell~> ", 12);  		i = 0;  		while (read(1, &c, 1) > 0)  		{ | 
