diff options
| -rw-r--r-- | include/pipex.h | 18 | ||||
| -rw-r--r-- | src/env_utils.c | 13 | ||||
| -rw-r--r-- | src/input_handling.c | 7 | ||||
| -rw-r--r-- | src/main.c | 22 |
4 files changed, 31 insertions, 29 deletions
diff --git a/include/pipex.h b/include/pipex.h index 8f24cc0..d1e9c77 100644 --- a/include/pipex.h +++ b/include/pipex.h @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/29 14:04:28 by dkaiser #+# #+# */ -/* Updated: 2024/05/07 15:29:47 by dkaiser ### ########.fr */ +/* Updated: 2024/05/07 16:36:21 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,14 +18,14 @@ typedef struct s_pxdata { - int in_fd; - int out_fd; - char **cmds; -} t_pxdata; + int in_fd; + int out_fd; + char **cmds; +} t_pxdata; -char **get_split_path(char *envp[]); -char *get_pwd(char *envp[]); -char *find_in_path(char *cmd, char **path); -char *get_cmd_path(char *cmd, char **path, char *pwd); +char **get_split_path(char *envp[]); +char *get_pwd(char *envp[]); +char *find_in_path(char *cmd, char **path); +char *get_cmd_path(char *cmd, char **path, char *pwd); t_pxdata *get_pxdata(int argc, char *argv[], char *envp[]); #endif // PIPEX_H diff --git a/src/env_utils.c b/src/env_utils.c index 5195c2f..065ffb3 100644 --- a/src/env_utils.c +++ b/src/env_utils.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/02 16:19:31 by dkaiser #+# #+# */ -/* Updated: 2024/05/07 16:02:38 by dkaiser ### ########.fr */ +/* Updated: 2024/05/07 16:36:32 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -61,12 +61,13 @@ char *find_in_path(char *cmd, char **path) char *get_cmd_path(char *cmd, char **path, char *pwd) { char *cur_dir; - char *lone_cmd; - int len; - char *res; + char *lone_cmd; + int len; + char *res; if (cmd[0] == '/') - return (cmd); // TODO: Maybe use duplicate instead, so there will be no problem on free() + return (cmd); + // TODO: Maybe use duplicate instead, so there will be no problem on free() else if (ft_strchr(cmd, '/')) { cur_dir = ft_strjoin(pwd, "/"); @@ -83,7 +84,7 @@ char *get_cmd_path(char *cmd, char **path, char *pwd) res = find_in_path(lone_cmd, path); if (!res) return (NULL); - return(ft_strjoin(res, ft_strchr(cmd, ' '))); + return (ft_strjoin(res, ft_strchr(cmd, ' '))); } else { diff --git a/src/input_handling.c b/src/input_handling.c index 2fbe564..aef1ec9 100644 --- a/src/input_handling.c +++ b/src/input_handling.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/02 12:13:23 by dkaiser #+# #+# */ -/* Updated: 2024/05/07 16:04:22 by dkaiser ### ########.fr */ +/* Updated: 2024/05/07 16:36:36 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,7 +36,7 @@ static char **get_cmds(int argc, char *argv[], char *envp[]) cmds[i - 2] = get_cmd_path(argv[i], path, pwd); i++; } - cmds[i - 2] = 0; + cmds[i - 2] = 0; i = 0; while (path[i]) free(path[i++]); @@ -52,7 +52,8 @@ t_pxdata *get_pxdata(int argc, char *argv[], char *envp[]) if (!result) return (NULL); // TODO: Check if an error message needs to be sent result->in_fd = open(argv[1], O_RDONLY); - result->out_fd = open(argv[--argc], O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWUSR); + result->out_fd = open(argv[--argc], O_WRONLY | O_CREAT | O_TRUNC, + S_IREAD | S_IWUSR); result->cmds = get_cmds(argc, argv, envp); return (result); } @@ -6,22 +6,22 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/29 13:35:21 by dkaiser #+# #+# */ -/* Updated: 2024/05/07 16:04:43 by dkaiser ### ########.fr */ +/* Updated: 2024/05/07 16:36:39 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ #include "pipex.h" +#include <stdio.h> #include <stdlib.h> #include <sys/_types/_pid_t.h> #include <unistd.h> -#include <stdio.h> -int pipex(t_pxdata *data, char *envp[]) +int pipex(t_pxdata *data, char *envp[]) { - int p[2]; - pid_t pid; - char **cmd; - int status; + int p[2]; + pid_t pid; + char **cmd; + int status; pipe(p); pid = fork(); @@ -56,12 +56,12 @@ int pipex(t_pxdata *data, char *envp[]) return (EXIT_SUCCESS); } -int main(int argc, char *argv[], char *envp[]) { - t_pxdata *data; +int main(int argc, char *argv[], char *envp[]) +{ + t_pxdata *data; if (argc != 5) return (1); - data = get_pxdata(argc, argv, envp); /* if (data->in_fd < 0 || data->out_fd < 0) */ /* return (1); */ @@ -72,5 +72,5 @@ int main(int argc, char *argv[], char *envp[]) { /* ft_printf("CMD [%d]: %s\n", i, data->cmds[i]); */ /* i++; */ /* } */ - return pipex(data, envp); + return (pipex(data, envp)); } |
