Compare commits
	
		
			3 Commits
		
	
	
		
			f6e9c64b29
			...
			13d412ea71
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 13d412ea71 | |||
| 33cccda0ad | |||
| 1533fb8c65 | 
							
								
								
									
										
											BIN
										
									
								
								.env.c.swp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.env.c.swp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,4 +1,5 @@ | ||||
| SRCS = main.c | ||||
| UTILS_SRC = utils/ft_is_in_quote.c utils/ft_strncpy.c utils/ft_strreplace.c utils/ft_strnchr.c utils/ft_getstr.c  | ||||
| SRCS = env.c ${UTILS_SRC} | ||||
|  | ||||
| OBJS = ${SRCS:.c=.o} | ||||
|  | ||||
| @ -6,7 +7,7 @@ NAME = minishell | ||||
|  | ||||
| CC = clang | ||||
|  | ||||
| CFLAGS = -Wall -Werror -Wextra | ||||
| CFLAGS = -g -Wall -Werror -Wextra | ||||
|  | ||||
| LIBS = libftx/libftx.a | ||||
|  | ||||
| @ -16,6 +17,7 @@ LIBS = libftx/libftx.a | ||||
| all: ${NAME} | ||||
|  | ||||
| ${NAME}: ${OBJS} | ||||
| 	make -C libftx all | ||||
| 	${CC} ${OBJS} -o ${NAME} ${LIBS} | ||||
|  | ||||
| clean: | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								argprinter
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								argprinter
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										139
									
								
								env.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								env.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,139 @@ | ||||
| /* ************************************************************************** */ | ||||
| /*                                                                            */ | ||||
| /*                                                        :::      ::::::::   */ | ||||
| /*   env.c                                              :+:      :+:    :+:   */ | ||||
| /*                                                    +:+ +:+         +:+     */ | ||||
| /*   By: erey-bet <marvin@42.fr>                    +#+  +:+       +#+        */ | ||||
| /*                                                +#+#+#+#+#+   +#+           */ | ||||
| /*   Created: 2023/02/02 14:39:56 by erey-bet          #+#    #+#             */ | ||||
| /*   Updated: 2023/02/02 17:39:56 by erey-bet         ###   ########.fr       */ | ||||
| /*                                                                            */ | ||||
| /* ************************************************************************** */ | ||||
|  | ||||
| #include "env.h" | ||||
| #include "libftx/libftx.h" | ||||
|  | ||||
| void	print_export(t_list **head, int fd) | ||||
| { | ||||
| 	t_list	*current; | ||||
| 	char	*ctn; | ||||
|  | ||||
| 	current = *head; | ||||
| 	while (current != NULL) | ||||
| 	{ | ||||
| 		ctn = current->content; | ||||
| 		if (*(ft_strchr(ctn, '=') - 1) != '_') | ||||
| 		{ | ||||
| 			write(fd, "declare -x ", 11); | ||||
| 			ft_putstr_fd(ctn, fd); | ||||
| 			write(fd, "\n", 1); | ||||
| 		} | ||||
| 		current = current->next; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void	print_env(t_list **head, int fd) | ||||
| { | ||||
| 	t_list	*current; | ||||
|  | ||||
| 	current = *head; | ||||
| 	while (current != NULL) | ||||
| 	{ | ||||
| 		ft_putstr_fd(current->content, fd); | ||||
| 		write(fd, "\n", 1); | ||||
| 		current = current->next; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| int	strcmp_alphabet(char *s1, char *s2) | ||||
| { | ||||
| 	int	i; | ||||
|  | ||||
| 	if (!s1 || !s2) | ||||
| 		return (-2); | ||||
| 	i = 0; | ||||
| 	while (s1[i] && s2[i]) | ||||
| 	{ | ||||
| 		if (s1[i] < s2[i]) | ||||
| 			return (0); | ||||
| 		else if (s1[i] > s2[i]) | ||||
| 			return (1); | ||||
| 		i++; | ||||
| 	} | ||||
| 	return (-1); | ||||
| } | ||||
|  | ||||
| void	ft_double_swap(char **a, char **b) | ||||
| { | ||||
| 	void	*c; | ||||
|  | ||||
| 	c = *a; | ||||
| 	*a = *b; | ||||
| 	*b = c; | ||||
| } | ||||
|  | ||||
| void	exchange(char **a, char **b, char **c) | ||||
| { | ||||
| 	void	*d; | ||||
|  | ||||
| 	d = *a; | ||||
| 	*a = *b; | ||||
| 	*b = *c; | ||||
| 	*c = d; | ||||
| } | ||||
|  | ||||
| void	add_sort(t_list **head, char *str) | ||||
| { | ||||
| 	t_list	*current; | ||||
| 	char	*last; | ||||
|  | ||||
| 	current = *head; | ||||
| 	while (current->next != NULL && strcmp_alphabet(str, current->content) != 0) | ||||
| 		current = current->next; | ||||
| 	if (strcmp_alphabet(str, current->content) == 1) | ||||
| 		last = str; | ||||
| 	else | ||||
| 		exchange(&last, (char **)(¤t->content), &str); | ||||
| 	while (current != NULL) | ||||
| 	{ | ||||
| 		if (current->next == NULL) | ||||
| 			current->next = ft_calloc(1, sizeof(t_list)); | ||||
| 		if (current->next == NULL) | ||||
| 			return ; | ||||
| 		current = current->next; | ||||
| 		if (current->content == NULL) | ||||
| 		{ | ||||
| 			current->content = last; | ||||
| 			return ; | ||||
| 		} | ||||
| 		else | ||||
| 			ft_double_swap((char **)(¤t->content), &last); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| t_list	**init_env(char **env) | ||||
| { | ||||
| 	t_list	**head; | ||||
| 	int		i; | ||||
|  | ||||
| 	head = ft_calloc(1, sizeof(t_list *)); | ||||
| 	*head = ft_calloc(1, sizeof(t_list)); | ||||
| 	if (*head == NULL) | ||||
| 		return (NULL); | ||||
| 	i = -1; | ||||
| 	while (env[++i]) | ||||
| 	{ | ||||
| 		if (ft_strnstr(env[i], "XMODIFIERS=@im=ibus", 200)) | ||||
| 			write(1, "", 0); | ||||
| 		add_sort(head, env[i]); | ||||
| 	} | ||||
| 	return (head); | ||||
| } | ||||
|  | ||||
| /*int	main(int argc, char *argv[], char **env) | ||||
| { | ||||
| 	(void)argc; | ||||
| 	(void)argv; | ||||
| 	print_export(init_env(env)); | ||||
| 	return (0); | ||||
| }*/ | ||||
							
								
								
									
										21
									
								
								env.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								env.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| /* ************************************************************************** */ | ||||
| /*                                                                            */ | ||||
| /*                                                        :::      ::::::::   */ | ||||
| /*   env.h                                              :+:      :+:    :+:   */ | ||||
| /*                                                    +:+ +:+         +:+     */ | ||||
| /*   By: erey-bet <marvin@42.fr>                    +#+  +:+       +#+        */ | ||||
| /*                                                +#+#+#+#+#+   +#+           */ | ||||
| /*   Created: 2023/01/31 14:39:05 by erey-bet          #+#    #+#             */ | ||||
| /*   Updated: 2023/01/31 14:56:16 by erey-bet         ###   ########.fr       */ | ||||
| /*                                                                            */ | ||||
| /* ************************************************************************** */ | ||||
|  | ||||
| #ifndef ENV_H | ||||
| # define ENV_H | ||||
|  | ||||
| typedef struct s_env { | ||||
| 	void	*ctn; | ||||
| 	void	*next; | ||||
| }	t_env; | ||||
|  | ||||
| #endif | ||||
							
								
								
									
										49
									
								
								file1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								file1
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| COLORTERM=truecolor | ||||
| DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b' | ||||
| DBUS_STARTER_ADDRESS='unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b' | ||||
| DBUS_STARTER_BUS_TYPE=session | ||||
| DESKTOP_SESSION=ubuntu | ||||
| DISPLAY=:0 | ||||
| DOCKER_HOST=unix:///run/user/101231/docker.sock | ||||
| GDMSESSION=ubuntu | ||||
| GDM_LANG=en | ||||
| GNOME_DESKTOP_SESSION_ID=this-is-deprecated | ||||
| GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/dd4e2769_33dd_4e18_81b2_70c233dc78ce | ||||
| GNOME_TERMINAL_SERVICE=:1.96 | ||||
| GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 | ||||
| GTK_MODULES=gail:atk-bridge | ||||
| HOME=/nfs/homes/erey-bet | ||||
| IM_CONFIG_PHASE=1 | ||||
| INVOCATION_ID=4f6816c8fd9446809f7d454fd8bdc56a | ||||
| JOURNAL_STREAM=9:166232 | ||||
| KRB5CCNAME=FILE:/tmp/krb5cc_101231_TfpJ05 | ||||
| LANG=en_US.UTF-8 | ||||
| LANGUAGE=en | ||||
| LOGNAME=erey-bet | ||||
| MANAGERPID=38750 | ||||
| OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell | ||||
| PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin | ||||
| PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell | ||||
| QT_ACCESSIBILITY=1 | ||||
| QT_IM_MODULE=ibus | ||||
| SESSION_MANAGER=local/1C2.42angouleme.fr:@/tmp/.ICE-unix/39041,unix/1C2.42angouleme.fr:/tmp/.ICE-unix/39041 | ||||
| SHELL=/bin/zsh | ||||
| SHLVL=1 | ||||
| SSH_AGENT_PID=39003 | ||||
| SSH_AUTH_SOCK=/run/user/101231/keyring/ssh | ||||
| TERM=xterm-256color | ||||
| USER=erey-bet | ||||
| VTE_VERSION=6003 | ||||
| XAUTHORITY=/nfs/homes/erey-bet/.Xauthority | ||||
| XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg | ||||
| XDG_CURRENT_DESKTOP=ubuntu:GNOME | ||||
| XDG_DATA_DIRS=/usr/share/gnome:/usr/share/ubuntu:/nfs/homes/erey-bet/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop | ||||
| XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/erey-bet | ||||
| XDG_MENU_PREFIX=gnome- | ||||
| XDG_RUNTIME_DIR=/run/user/101231 | ||||
| XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 | ||||
| XDG_SESSION_CLASS=user | ||||
| XDG_SESSION_DESKTOP=ubuntu | ||||
| XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 | ||||
| XDG_SESSION_TYPE=x11 | ||||
| XMODIFIERS='@im=ibus' | ||||
							
								
								
									
										50
									
								
								file2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								file2
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | ||||
| COLORTERM=truecolor | ||||
| DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b | ||||
| DBUS_STARTER_ADDRESS=unix:path=/run/user/101231/bus,guid=2b19cb48c68a1a9a5df2465563da4d2b | ||||
| DBUS_STARTER_BUS_TYPE=session | ||||
| DESKTOP_SESSION=ubuntu | ||||
| DISPLAY=:0 | ||||
| DOCKER_HOST=unix:///run/user/101231/docker.sock | ||||
| GDMSESSION=ubuntu | ||||
| GDM_LANG=en | ||||
| GNOME_DESKTOP_SESSION_ID=this-is-deprecated | ||||
| GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/dd4e2769_33dd_4e18_81b2_70c233dc78ce | ||||
| GNOME_TERMINAL_SERVICE=:1.96 | ||||
| GPG_AGENT_INFO=/run/user/101231/gnupg/S.gpg-agent:0:1 | ||||
| GTK_MODULES=gail:atk-bridge | ||||
| HOME=/nfs/homes/erey-bet | ||||
| IM_CONFIG_PHASE=1 | ||||
| INVOCATION_ID=4f6816c8fd9446809f7d454fd8bdc56a | ||||
| JOURNAL_STREAM=9:166232 | ||||
| KRB5CCNAME=FILE:/tmp/krb5cc_101231_TfpJ05 | ||||
| LANG=en_US.UTF-8 | ||||
| LANGUAGE=en | ||||
| LOGNAME=erey-bet | ||||
| MANAGERPID=38750 | ||||
| OLDPWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell | ||||
| PATH=/nfs/homes/erey-bet/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin | ||||
| PWD=/nfs/homes/erey-bet/travaux/Cursus42/minishell | ||||
| QT_ACCESSIBILITY=1 | ||||
| QT_IM_MODULE=ibus | ||||
| SESSION_MANAGER=local/1C2.42angouleme.fr:@/tmp/.ICE-unix/39041,unix/1C2.42angouleme.fr:/tmp/.ICE-unix/39041 | ||||
| SHELL=/bin/zsh | ||||
| SHLVL=1 | ||||
| SSH_AGENT_PID=39003 | ||||
| TERM=xterm-256color | ||||
| USER=erey-bet | ||||
| VTE_VERSION=6003 | ||||
| XAUTHORITY=/nfs/homes/erey-bet/.Xauthority | ||||
| XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg | ||||
| XDG_CURRENT_DESKTOP=ubuntu:GNOME | ||||
| XDG_DATA_DIRS=/usr/share/gnome:/usr/share/ubuntu:/nfs/homes/erey-bet/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop | ||||
| XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/erey-bet | ||||
| XDG_MENU_PREFIX=gnome- | ||||
| XDG_RUNTIME_DIR=/run/user/101231 | ||||
| XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 | ||||
| XDG_SESSION_CLASS=user | ||||
| XDG_SESSION_DESKTOP=ubuntu | ||||
| XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 | ||||
| XDG_SESSION_TYPE=x11 | ||||
| XMODIFIERS=@im=ibus | ||||
| _=/nfs/homes/erey-bet/travaux/Cursus42/minishell/./minishell | ||||
| SSH_AUTH_SOCK=/run/user/101231/keyring/ssh | ||||
							
								
								
									
										
											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_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_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.
										
									
								
							| @ -6,7 +6,7 @@ | ||||
| /*   By: cchauvet <cchauvet@student.42angoulem      +#+  +:+       +#+        */ | ||||
| /*                                                +#+#+#+#+#+   +#+           */ | ||||
| /*   Created: 2022/09/26 14:47:54 by cchauvet          #+#    #+#             */ | ||||
| /*   Updated: 2023/01/18 19:21:40 by cchauvet         ###   ########.fr       */ | ||||
| /*   Updated: 2023/02/01 16:20:05 by cchauvet         ###   ########.fr       */ | ||||
| /*                                                                            */ | ||||
| /* ************************************************************************** */ | ||||
|  | ||||
| @ -18,6 +18,7 @@ | ||||
|  | ||||
| char	*ft_ultoa_base(unsigned long long n, char *base); | ||||
| int		ft_printf(const char *format, ...); | ||||
| int		ft_eprintf(const char *format, ...); | ||||
| char	*get_next_line(int fd); | ||||
| size_t	ft_random_generator(size_t start, size_t stop); | ||||
| void	ft_freer_tab_ultimate(size_t len, ...); | ||||
|  | ||||
| @ -6,13 +6,13 @@ | ||||
| #    By: cchauvet <cchauvet@student.42angoulem      +#+  +:+       +#+         # | ||||
| #                                                 +#+#+#+#+#+   +#+            # | ||||
| #    Created: 2022/09/27 08:39:27 by cchauvet          #+#    #+#              # | ||||
| #    Updated: 2023/01/05 18:25:05 by cchauvet         ###   ########.fr        # | ||||
| #    Updated: 2023/02/01 16:19:19 by cchauvet         ###   ########.fr        # | ||||
| #                                                                              # | ||||
| # **************************************************************************** # | ||||
|  | ||||
| CC = clang | ||||
|  | ||||
| SRCS   = ft_dprintarg.c ft_dprintflag.c ft_dprintl_base.c ft_dprintptr.c ft_dprintstrtab.c ft_dprintul_base.c ft_dprintul.c ft_dprintx.c ft_dprintX.c ft_isarg.c ft_isdigit.c ft_printf.c ft_putchar_fd.c ft_putstr_fd.c ft_skipflag.c ft_strlen.c ft_vdprintf.c | ||||
| SRCS   = ft_dprintarg.c ft_dprintflag.c ft_dprintl_base.c ft_dprintptr.c ft_dprintstrtab.c ft_dprintul_base.c ft_dprintul.c ft_dprintx.c ft_dprintX.c ft_isarg.c ft_isdigit.c ft_printf.c ft_putchar_fd.c ft_putstr_fd.c ft_skipflag.c ft_strlen.c ft_vdprintf.c ft_eprintf.c | ||||
|  | ||||
| OBJS = ${SRCS:.c=.o} | ||||
|  | ||||
|  | ||||
							
								
								
									
										
											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.
										
									
								
							
							
								
								
									
										24
									
								
								libftx/printf/ft_eprintf.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								libftx/printf/ft_eprintf.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| /* ************************************************************************** */ | ||||
| /*                                                                            */ | ||||
| /*                                                        :::      ::::::::   */ | ||||
| /*   ft_eprintf.c                                       :+:      :+:    :+:   */ | ||||
| /*                                                    +:+ +:+         +:+     */ | ||||
| /*   By: cchauvet <cchauvet@student.42angoulem      +#+  +:+       +#+        */ | ||||
| /*                                                +#+#+#+#+#+   +#+           */ | ||||
| /*   Created: 2022/10/06 22:01:28 by cchauvet          #+#    #+#             */ | ||||
| /*   Updated: 2023/02/01 16:18:46 by cchauvet         ###   ########.fr       */ | ||||
| /*                                                                            */ | ||||
| /* ************************************************************************** */ | ||||
|  | ||||
| #include "ft_printf.h" | ||||
|  | ||||
| int	ft_printf(const char *format, ...) | ||||
| { | ||||
| 	va_list	va; | ||||
| 	int		i; | ||||
|  | ||||
| 	va_start(va, format); | ||||
| 	i = ft_vdprintf(2, format, va); | ||||
| 	va_end(va); | ||||
| 	return (i); | ||||
| } | ||||
							
								
								
									
										
											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.
										
									
								
							| @ -6,7 +6,7 @@ | ||||
| /*   By: cchauvet <cchauvet@student.42angoulem      +#+  +:+       +#+        */ | ||||
| /*                                                +#+#+#+#+#+   +#+           */ | ||||
| /*   Created: 2022/09/26 14:47:54 by cchauvet          #+#    #+#             */ | ||||
| /*   Updated: 2023/01/05 17:36:39 by cchauvet         ###   ########.fr       */ | ||||
| /*   Updated: 2023/02/01 16:19:38 by cchauvet         ###   ########.fr       */ | ||||
| /*                                                                            */ | ||||
| /* ************************************************************************** */ | ||||
|  | ||||
| @ -32,6 +32,7 @@ int		ft_dprintarg(int fd, int c, va_list va); | ||||
| int		ft_dprintstrtab(int fd, char **tab); | ||||
|  | ||||
| int		ft_printf(const char *format, ...); | ||||
| int		ft_eprintf(const char *format, ...); | ||||
|  | ||||
| int		ft_vdprintf(int fd, const char *format, va_list va); | ||||
|  | ||||
|  | ||||
							
								
								
									
										
											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.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								libftx/printf/ft_putstr_fd.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								libftx/printf/ft_putstr_fd.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								libftx/printf/ft_skipflag.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								libftx/printf/ft_skipflag.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								libftx/printf/ft_strlen.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								libftx/printf/ft_strlen.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								libftx/printf/ft_vdprintf.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								libftx/printf/ft_vdprintf.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										47
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								main.c
									
									
									
									
									
								
							| @ -1,11 +1,56 @@ | ||||
| #include "minishell.h" | ||||
|  | ||||
| int	ft_get_infile(char **line) | ||||
| { | ||||
| 	size_t	i; | ||||
| 	char	*path; | ||||
|  | ||||
| 	path = NULL; | ||||
| 	i = 0; | ||||
| 	while ((*line)[i] != '\0') | ||||
| 	{ | ||||
| 		if ((*line)[i] == '<' && ft_is_in_quote(*line, i) == 0) | ||||
| 		{ | ||||
| 			if (path != NULL) | ||||
| 				free(path); | ||||
| 			path = ft_getstr(*line, i); | ||||
| 			if (path == NULL) | ||||
| 				return (-1); | ||||
| 			if (ft_file_is_readable(path) == 0) | ||||
| 			{ | ||||
| 				free(path); | ||||
| 				return (-1); | ||||
| 			} | ||||
| 		} | ||||
| 		i++; | ||||
| 	} | ||||
| 	return (open(path, O_RDONLY)); | ||||
| } | ||||
|  | ||||
| t_list	**ft_parse_cmd(char *line) | ||||
| { | ||||
| 	ft_split()		 | ||||
| 	char	infile; | ||||
| 	char	outfile; | ||||
| 	t_list	**cmds; | ||||
| 	size_t	i; | ||||
|  | ||||
| 	(void) outfile; | ||||
| 	(void) cmds; | ||||
| 	i = 0; | ||||
| 	while (line[i] != '\0') | ||||
| 	{ | ||||
|  | ||||
| 		i++; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| int	main(int ac, char **av) | ||||
| { | ||||
| 	int	fd; | ||||
| 	int	i; | ||||
|  | ||||
| 	if (ac == 1) | ||||
| 		return (1); | ||||
| 	ft_parse_cmd(av[1]); | ||||
| 	return (1); | ||||
| } | ||||
|  | ||||
							
								
								
									
										12
									
								
								minishell.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								minishell.h
									
									
									
									
									
								
							| @ -1,13 +1,13 @@ | ||||
| #ifndef FT_MINISHELL | ||||
| # define FT_MINISHELL | ||||
| # include "libftx/libftx.h" | ||||
| # include "utils/utils.h" | ||||
| # include <sys/types.h> | ||||
| # include <sys/stat.h> | ||||
| # include <fcntl.h> | ||||
|  | ||||
| typedef	struct s_list | ||||
| { | ||||
| 	void	*content; | ||||
| 	void	*next; | ||||
| 	int	tag; | ||||
| } t_list | ||||
| int	ft_file_is_readable(char *path); | ||||
| int	ft_file_is_writeable(char *path); | ||||
|  | ||||
| typedef struct cmd | ||||
| { | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								utils/.ft_is_a_quote.c.swp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								utils/.ft_is_a_quote.c.swp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										27
									
								
								utils/ft_getstr.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								utils/ft_getstr.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| #include "utils.h" | ||||
|  | ||||
| char	*ft_getstr(char *str, size_t n) | ||||
| { | ||||
| 	size_t	start; | ||||
| 	size_t	stop; | ||||
| 	char	c; | ||||
| 	int	quote; | ||||
|  | ||||
| 	start = n; | ||||
| 	stop = n; | ||||
| 	quote = ft_is_in_quote(str, n); | ||||
| 	if (quote == 0) | ||||
| 		c = ' '; | ||||
| 	else | ||||
| 	{ | ||||
| 		if (quote == 1) | ||||
| 			c = '\''; | ||||
| 		else | ||||
| 			c = '"'; | ||||
| 	} | ||||
| 	while (str[start - 1] != c && start > 0) | ||||
| 		start--; | ||||
| 	while (str[stop] != c && str[stop] != '\0') | ||||
| 		stop++; | ||||
| 	return (ft_strndup(str + start, stop - start)); | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								utils/ft_getstr.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								utils/ft_getstr.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										29
									
								
								utils/ft_is_in_quote.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								utils/ft_is_in_quote.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| #include "utils.h" | ||||
|  | ||||
| int	ft_is_in_quote(char *str, size_t n) | ||||
| { | ||||
| 	size_t	double_quoted; | ||||
| 	size_t	simple_quoted; | ||||
| 	size_t	i; | ||||
|  | ||||
| 	double_quoted = 0; | ||||
| 	simple_quoted = 0; | ||||
| 	i = 0; | ||||
| 	while (str[i] != '\0' && i < n) | ||||
| 	{ | ||||
| 		if (str[i] == '"') | ||||
| 		{ | ||||
| 			if (simple_quoted == 0) | ||||
| 				double_quoted = !double_quoted; | ||||
| 			 | ||||
| 		} | ||||
| 		if (str[i] == '\'') | ||||
| 		{ | ||||
| 			if (double_quoted == 0) | ||||
| 				simple_quoted = !simple_quoted; | ||||
| 			 | ||||
| 		} | ||||
| 		i++; | ||||
| 	} | ||||
| 	return (simple_quoted == 1 + (double_quoted == 1) * 2); | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								utils/ft_is_in_quote.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								utils/ft_is_in_quote.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										15
									
								
								utils/ft_strnchr.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								utils/ft_strnchr.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| #include "utils.h" | ||||
|  | ||||
| ssize_t	ft_strnchr(char *str, char c) | ||||
| { | ||||
| 	size_t	i; | ||||
|  | ||||
| 	i = 0; | ||||
| 	while (str[i] != '\0') | ||||
| 	{ | ||||
| 		if (str[i] == c) | ||||
| 			return (i); | ||||
| 		i++; | ||||
| 	} | ||||
| 	return (-1); | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								utils/ft_strnchr.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								utils/ft_strnchr.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										14
									
								
								utils/ft_strncpy.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								utils/ft_strncpy.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| #include "utils.h" | ||||
|  | ||||
| size_t	ft_strncpy(char *dst, char *src, size_t n) | ||||
| { | ||||
| 	size_t	i; | ||||
|  | ||||
| 	i = 0; | ||||
| 	while (i < n) | ||||
| 	{ | ||||
| 		dst[i] = src[i]; | ||||
| 		i++; | ||||
| 	} | ||||
| 	return (i); | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								utils/ft_strncpy.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								utils/ft_strncpy.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										17
									
								
								utils/ft_strreplace.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								utils/ft_strreplace.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| #include "utils.h" | ||||
|  | ||||
| char	*ft_strreplace(char *str, char *fill, size_t start, size_t stop) | ||||
| { | ||||
| 	char	*out; | ||||
| 	size_t	sum; | ||||
|  | ||||
| 	out = malloc((ft_strlen(str) + ft_strlen(fill) - (stop - start) + 1 * sizeof(char))); | ||||
| 	if (out == NULL) | ||||
| 		return (NULL); | ||||
| 	ft_strncpy(out, str, start); | ||||
| 	ft_strncpy(out + start, fill, ft_strlen(fill)); | ||||
| 	sum = start + ft_strlen(fill); | ||||
| 	ft_strncpy(out + sum, str + stop, ft_strlen(str) - stop); | ||||
| 	out[sum + ft_strlen(str) - stop] = '\0'; | ||||
| 	return (out); | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								utils/ft_strreplace.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								utils/ft_strreplace.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										12
									
								
								utils/utils.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								utils/utils.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| #ifndef FT_UTILS | ||||
| # define FT_UTILS | ||||
| # include <stdlib.h> | ||||
| # include "../libftx/libftx.h" | ||||
|  | ||||
| size_t		ft_strncpy(char *dst, char *src, size_t n); | ||||
| int		ft_is_in_quote(char *str, size_t n); | ||||
| char		*ft_strreplace(char *str, char *fill, size_t start, size_t stop); | ||||
| ssize_t		ft_strnchr(char *str, char c); | ||||
| char		*ft_getstr(char *str, size_t n); | ||||
|  | ||||
| #endif | ||||
		Reference in New Issue
	
	Block a user
	