This commit is contained in:
Loic Deridder
2025-01-28 10:56:15 +01:00
parent 5c3cd44e5a
commit 66ebd61d6f
17 changed files with 252 additions and 254 deletions

View File

@@ -6,14 +6,14 @@
/* By: lderidde <lderidde@student.s19.be> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/24 08:23:27 by lderidde #+# #+# */
/* Updated: 2025/01/27 14:15:24 by lderidde ### ########.fr */
/* Updated: 2025/01/28 10:49:53 by lderidde ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef AST_H
# define AST_H
# include "env.h"
# include "../lib/libft/libft.h"
typedef enum e_state
{

View File

@@ -1,3 +1,15 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* builtins.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lderidde <lderidde@student.s19.be> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/28 09:01:33 by lderidde #+# #+# */
/* Updated: 2025/01/28 10:35:06 by lderidde ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef BUILTINS_H
# define BUILTINS_H
@@ -13,13 +25,13 @@
# include <string.h>
// void echo(char *msg, int flag);
void builtin_echo(char **arg, char **envp);
void builtin_exit(char *arg, bool depth);
void builtin_pwd(char *arg);
void builtin_env(char *str, char **envp);
int builtin_unset(char **arg, t_data *data);
int builtin_cd(char **arg, t_data *data);
void builtin_export(char **arg, t_data *data);
int builtin_echo(char **arg, char **envp);
int builtin_exit(char **arg, bool depth);
int builtin_pwd(char **arg);
int builtin_env(char **arg, char **envp);
int builtin_unset(char **arg, t_ast_n *head);
int builtin_cd(char **arg, t_ast_n *head);
int builtin_export(char **arg, t_ast_n *head);
//UTILS
int count_char(char *str);

View File

@@ -1,25 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* env.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lderidde <lderidde@student.s19.be> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/28 10:11:07 by lderidde #+# #+# */
/* Updated: 2025/01/28 10:31:54 by lderidde ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef ENV_H
# define ENV_H
# include "../lib/libft/libft.h"
# include "ast.h"
# include <unistd.h>
# include <stdlib.h>
# include <stdbool.h>
typedef struct s_data
{
char **env;
} t_data;
//VAR
int count_var(char **envp);
int get_var_index(char *key, t_data *data);
int get_var_index(char *key, t_ast_n *head);
void free_null_ptr(void *ptr);
char **copy_env_var(char **envp, int count);
char *get_var_value(char *key, char **envp);
bool is_valid_key(char *key, t_data *data);
int remove_env_var(char *key, t_data *data);
void set_var_env(char *key, char *value, t_data *t_data);
bool is_valid_key(char *key, t_ast_n *head);
int remove_env_var(char *key, t_ast_n *head);
void set_var_env(char *key, char *value, t_ast_n *head);
char **init_env(char **envp);
#endif