Norme pour tout les builtins et env, et correction export
This commit is contained in:
parent
86f01779cc
commit
f20eab31dd
@ -6,15 +6,30 @@
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/20 14:27:36 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/02/28 13:37:18 by erey-bet ### ########.fr */
|
||||
/* Updated: 2023/03/09 20:13:05 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../minishell.h"
|
||||
|
||||
int move_folder(char **args, int fd)
|
||||
int make_move(char *path, int fd)
|
||||
{
|
||||
char *join;
|
||||
|
||||
join = ft_strjoin("/", path);
|
||||
join = ft_strfjoin(get_pwd(fd), join);
|
||||
if (chdir(join) == 0)
|
||||
{
|
||||
free(join);
|
||||
return (0);
|
||||
}
|
||||
free(join);
|
||||
write(2, "No suck file or directory", 25);
|
||||
return (1);
|
||||
}
|
||||
|
||||
int move_folder(char **args, int fd)
|
||||
{
|
||||
char *path;
|
||||
|
||||
if (args[1] != NULL)
|
||||
@ -31,34 +46,5 @@ int move_folder(char **args, int fd)
|
||||
return (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
join = ft_strjoin("/", path);
|
||||
join = ft_strfjoin(get_pwd(fd), join);
|
||||
if (chdir(join) == 0)
|
||||
{
|
||||
free(join);
|
||||
return (0);
|
||||
return (make_move(path, fd));
|
||||
}
|
||||
free(join);
|
||||
write(2, "No suck file or directory", 25);
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
|
||||
/*int main(int argc, char *argv[]) {
|
||||
char cwd[PATH_MAX];
|
||||
if (getcwd(cwd, sizeof(cwd)) != NULL) {
|
||||
printf("%s\n", cwd);
|
||||
} else {
|
||||
perror("getcwd() error");
|
||||
return 1;
|
||||
}
|
||||
move_folder(argv[1], 1);
|
||||
if (getcwd(cwd, sizeof(cwd)) != NULL) {
|
||||
printf("%s\n", cwd);
|
||||
} else {
|
||||
perror("getcwd() error");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}*/
|
||||
|
BIN
builtins/cd.o
Normal file
BIN
builtins/cd.o
Normal file
Binary file not shown.
BIN
builtins/echo.o
Normal file
BIN
builtins/echo.o
Normal file
Binary file not shown.
BIN
builtins/env.o
Normal file
BIN
builtins/env.o
Normal file
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/24 10:17:59 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/02/28 15:06:50 by erey-bet ### ########.fr */
|
||||
/* Updated: 2023/03/09 20:08:56 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -39,9 +39,3 @@ int ft_exit(char **args)
|
||||
return (error(err, "numeric argument required", args[0]));
|
||||
return ((ft_atoi(args[0]) % 256 + 256) % 256);
|
||||
}
|
||||
|
||||
/*int main(int argc, char *argv[])
|
||||
{
|
||||
(void)argc;
|
||||
return(ft_exit(argv + 1, 1));
|
||||
}*/
|
||||
|
BIN
builtins/exit.o
Normal file
BIN
builtins/exit.o
Normal file
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/14 14:27:08 by cchauvet #+# #+# */
|
||||
/* Updated: 2023/03/09 14:58:11 by erey-bet ### ########.fr */
|
||||
/* Updated: 2023/03/09 19:58:25 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -42,38 +42,49 @@ void print_export(t_list **env, int fd)
|
||||
}
|
||||
}
|
||||
|
||||
int set_key_value_export(t_list **env, char *args, char **key, char **value)
|
||||
{
|
||||
*key = ft_strndup(args, ft_strnchr(args, '='));
|
||||
if (*key == NULL)
|
||||
return (1);
|
||||
if (ft_strlen(*key) == 0)
|
||||
return (1);
|
||||
if (possible_key(*key) == 2)
|
||||
{
|
||||
(*key)[ft_strlen(*key) - 1] = '\0';
|
||||
if (get_value_by_key(*key, env) == NULL)
|
||||
*value = ft_strdup(ft_strchr(args, '=') + 1);
|
||||
else
|
||||
*value = ft_strjoin(get_value_by_key(*key, env),
|
||||
ft_strchr(args, '=') + 1);
|
||||
}
|
||||
else
|
||||
*value = ft_strdup(ft_strchr(args, '=') + 1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
int add_export(t_list **env, char *args, int fd)
|
||||
{
|
||||
char *key;
|
||||
char *value;
|
||||
|
||||
key = args;
|
||||
if (ft_strchr(args, '=') != NULL)
|
||||
{
|
||||
key = ft_strndup(args, ft_strnchr(args, '='));
|
||||
if (key == NULL)
|
||||
return (1);
|
||||
if (ft_strlen(key) == 0)
|
||||
if (set_key_value_export(env, args, &key, &value))
|
||||
return (error(args, fd));
|
||||
if (possible_key(key) == 2)
|
||||
{
|
||||
key[ft_strlen(key) - 1] = '\0';
|
||||
value = ft_strjoin(get_value_by_key(key, env), ft_strchr(args, '=') + 1);
|
||||
}
|
||||
else
|
||||
value = ft_strchr(args, '=') + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
key = ft_strdup(args);
|
||||
value = get_value_by_key(key, env);
|
||||
if (ft_strlen(value) == 0)
|
||||
value = NULL;
|
||||
if (value != NULL)
|
||||
value = ft_strdup(value);
|
||||
if (possible_key(key) == 2)
|
||||
return (error(key, fd));
|
||||
}
|
||||
if (!possible_key(key))
|
||||
return (error(key, fd));
|
||||
create_value_by_key_dup(key, value, env);
|
||||
return (error(args, fd));
|
||||
create_value_by_key(key, value, env);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
BIN
builtins/export.o
Normal file
BIN
builtins/export.o
Normal file
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/17 16:09:11 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/02/21 15:11:38 by cchauvet ### ########.fr */
|
||||
/* Updated: 2023/03/09 20:00:19 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
BIN
builtins/pwd.o
Normal file
BIN
builtins/pwd.o
Normal file
Binary file not shown.
BIN
builtins/unset.o
Normal file
BIN
builtins/unset.o
Normal file
Binary file not shown.
4
env.c
4
env.c
@ -6,7 +6,7 @@
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/02 14:39:56 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/03/09 15:06:44 by erey-bet ### ########.fr */
|
||||
/* Updated: 2023/03/09 19:01:05 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -48,7 +48,7 @@ char *get_value_by_key(char *key, t_list **head)
|
||||
return (((t_env *)current->content)->value);
|
||||
current = current->next;
|
||||
}
|
||||
return ("");
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
int set_value_by_key(char *key, char *value, t_list **head)
|
||||
|
5
env2.c
5
env2.c
@ -1,11 +1,12 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* env2.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/17 17:22:01 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/02/17 17:24:57 by erey-bet ### ########.fr */
|
||||
/* Created: 2023/03/09 19:59:03 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/03/09 19:59:10 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
4
env3.c
4
env3.c
@ -6,7 +6,7 @@
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/17 17:25:09 by erey-bet #+# #+# */
|
||||
/* Updated: 2023/03/09 14:57:26 by erey-bet ### ########.fr */
|
||||
/* Updated: 2023/03/09 19:58:55 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -99,5 +99,7 @@ int possible_key(char *key)
|
||||
return (0);
|
||||
if (key[i] == '+')
|
||||
return (2);
|
||||
else if (!ft_isalnum(key[i]) && key[i] != '_')
|
||||
return (0);
|
||||
return (1);
|
||||
}
|
||||
|
BIN
env_fill.o
Normal file
BIN
env_fill.o
Normal file
Binary file not shown.
BIN
execution.o
Normal file
BIN
execution.o
Normal file
Binary file not shown.
BIN
libftx/extra/extra.a
Normal file
BIN
libftx/extra/extra.a
Normal file
Binary file not shown.
BIN
libftx/extra/ft_contain_only.o
Normal file
BIN
libftx/extra/ft_contain_only.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_freer.o
Normal file
BIN
libftx/extra/ft_freer.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_is_in.o
Normal file
BIN
libftx/extra/ft_is_in.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_random_generator.o
Normal file
BIN
libftx/extra/ft_random_generator.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_strchri.o
Normal file
BIN
libftx/extra/ft_strchri.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_strcmp.o
Normal file
BIN
libftx/extra/ft_strcmp.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_strfjoin.o
Normal file
BIN
libftx/extra/ft_strfjoin.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_strgen.o
Normal file
BIN
libftx/extra/ft_strgen.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_strmerger.o
Normal file
BIN
libftx/extra/ft_strmerger.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_strndup.o
Normal file
BIN
libftx/extra/ft_strndup.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_swap.o
Normal file
BIN
libftx/extra/ft_swap.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_tabrealloc.o
Normal file
BIN
libftx/extra/ft_tabrealloc.o
Normal file
Binary file not shown.
BIN
libftx/extra/ft_ultoa_base.o
Normal file
BIN
libftx/extra/ft_ultoa_base.o
Normal file
Binary file not shown.
BIN
libftx/gnl/get_next_line.a
Normal file
BIN
libftx/gnl/get_next_line.a
Normal file
Binary file not shown.
BIN
libftx/gnl/get_next_line.o
Normal file
BIN
libftx/gnl/get_next_line.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_atoi.o
Normal file
BIN
libftx/libft/ft_atoi.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_bzero.o
Normal file
BIN
libftx/libft/ft_bzero.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_calloc.o
Normal file
BIN
libftx/libft/ft_calloc.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_isalnum.o
Normal file
BIN
libftx/libft/ft_isalnum.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_isalpha.o
Normal file
BIN
libftx/libft/ft_isalpha.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_isascii.o
Normal file
BIN
libftx/libft/ft_isascii.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_isdigit.o
Normal file
BIN
libftx/libft/ft_isdigit.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_isprint.o
Normal file
BIN
libftx/libft/ft_isprint.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_itoa.o
Normal file
BIN
libftx/libft/ft_itoa.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstadd_back.o
Normal file
BIN
libftx/libft/ft_lstadd_back.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstadd_front.o
Normal file
BIN
libftx/libft/ft_lstadd_front.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstclear.o
Normal file
BIN
libftx/libft/ft_lstclear.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstdelone.o
Normal file
BIN
libftx/libft/ft_lstdelone.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstiter.o
Normal file
BIN
libftx/libft/ft_lstiter.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstlast.o
Normal file
BIN
libftx/libft/ft_lstlast.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstmap.o
Normal file
BIN
libftx/libft/ft_lstmap.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstnew.o
Normal file
BIN
libftx/libft/ft_lstnew.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_lstsize.o
Normal file
BIN
libftx/libft/ft_lstsize.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_memchr.o
Normal file
BIN
libftx/libft/ft_memchr.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_memcmp.o
Normal file
BIN
libftx/libft/ft_memcmp.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_memcpy.o
Normal file
BIN
libftx/libft/ft_memcpy.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_memmove.o
Normal file
BIN
libftx/libft/ft_memmove.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_memset.o
Normal file
BIN
libftx/libft/ft_memset.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_putchar_fd.o
Normal file
BIN
libftx/libft/ft_putchar_fd.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_putendl_fd.o
Normal file
BIN
libftx/libft/ft_putendl_fd.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_putnbr_fd.o
Normal file
BIN
libftx/libft/ft_putnbr_fd.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_putstr_fd.o
Normal file
BIN
libftx/libft/ft_putstr_fd.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_split.o
Normal file
BIN
libftx/libft/ft_split.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strchr.o
Normal file
BIN
libftx/libft/ft_strchr.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strdup.o
Normal file
BIN
libftx/libft/ft_strdup.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_striteri.o
Normal file
BIN
libftx/libft/ft_striteri.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strjoin.o
Normal file
BIN
libftx/libft/ft_strjoin.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strlcat.o
Normal file
BIN
libftx/libft/ft_strlcat.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strlcpy.o
Normal file
BIN
libftx/libft/ft_strlcpy.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strlen.o
Normal file
BIN
libftx/libft/ft_strlen.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strmapi.o
Normal file
BIN
libftx/libft/ft_strmapi.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strncmp.o
Normal file
BIN
libftx/libft/ft_strncmp.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strnstr.o
Normal file
BIN
libftx/libft/ft_strnstr.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strrchr.o
Normal file
BIN
libftx/libft/ft_strrchr.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_strtrim.o
Normal file
BIN
libftx/libft/ft_strtrim.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_substr.o
Normal file
BIN
libftx/libft/ft_substr.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_tolower.o
Normal file
BIN
libftx/libft/ft_tolower.o
Normal file
Binary file not shown.
BIN
libftx/libft/ft_toupper.o
Normal file
BIN
libftx/libft/ft_toupper.o
Normal file
Binary file not shown.
BIN
libftx/libft/libft.a
Normal file
BIN
libftx/libft/libft.a
Normal file
Binary file not shown.
BIN
libftx/libftx.a
Normal file
BIN
libftx/libftx.a
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintX.o
Normal file
BIN
libftx/printf/ft_dprintX.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintarg.o
Normal file
BIN
libftx/printf/ft_dprintarg.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintflag.o
Normal file
BIN
libftx/printf/ft_dprintflag.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintl_base.o
Normal file
BIN
libftx/printf/ft_dprintl_base.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintptr.o
Normal file
BIN
libftx/printf/ft_dprintptr.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintstrtab.o
Normal file
BIN
libftx/printf/ft_dprintstrtab.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintul.o
Normal file
BIN
libftx/printf/ft_dprintul.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintul_base.o
Normal file
BIN
libftx/printf/ft_dprintul_base.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_dprintx.o
Normal file
BIN
libftx/printf/ft_dprintx.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_eprintf.o
Normal file
BIN
libftx/printf/ft_eprintf.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_isarg.o
Normal file
BIN
libftx/printf/ft_isarg.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_isdigit.o
Normal file
BIN
libftx/printf/ft_isdigit.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_printf.a
Normal file
BIN
libftx/printf/ft_printf.a
Normal file
Binary file not shown.
BIN
libftx/printf/ft_printf.o
Normal file
BIN
libftx/printf/ft_printf.o
Normal file
Binary file not shown.
BIN
libftx/printf/ft_putchar_fd.o
Normal file
BIN
libftx/printf/ft_putchar_fd.o
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user