update: functions done: echo + echo -n, pwd, exit with and without arguments / parser appears to work, test with commands and local files (only tested with ls -l)

This commit is contained in:
2025-08-04 00:38:53 +02:00
parent e89de4e20b
commit 3e7dd56340
14 changed files with 718 additions and 84 deletions

60
include/builtins.h Normal file
View File

@@ -0,0 +1,60 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* builtins.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: sede-san <sede-san@student.42madrid.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/08/01 17:18:21 by sede-san #+# #+# */
/* Updated: 2025/08/02 17:55:22 by sede-san ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef BUILTINS_H
# define BUILTINS_H
# include <string.h>
# include <stdio.h>
typedef int (*t_builtin_func)(int argc, char const *argv[]);
typedef struct s_builtin
{
const char *name;
t_builtin_func function;
} t_builtin;
// cd.c
int cd_builtin(int argc, char const *argv[]);
// echo.c
typedef struct s_echo_flags
{
int newline; // print newline after everything has been printed
} t_echo_flags;
int echo_builtin(int argc, char const *argv[]);
// env.c
int env_builtin(int argc, char const *argv[]);
// exit.c
int exit_builtin(int argc, char const *argv[]);
// export.c
int export_builtin(int argc, char const *argv[]);
// pwd.c
int pwd_builtin(int argc, char const *argv[]);
// unset.c
int unset_builtin(int argc, char const *argv[]);
#endif