first signals in minshell
This commit is contained in:
parent
2add37e72a
commit
9f5c134517
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -1,5 +1,6 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"minishell.h": "c"
|
||||
"minishell.h": "c",
|
||||
"signal.h": "c"
|
||||
}
|
||||
}
|
||||
16
Makefile
16
Makefile
@ -1,12 +1,12 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# Makefile :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/15 11:48:46 by whaffman #+# #+# #
|
||||
# Updated: 2025/02/11 15:06:22 by qmennen ### ########.fr #
|
||||
# :::::::: #
|
||||
# Makefile :+: :+: #
|
||||
# +:+ #
|
||||
# By: qmennen <qmennen@student.codam.nl> +#+ #
|
||||
# +#+ #
|
||||
# Created: 2024/10/15 11:48:46 by whaffman #+# #+# #
|
||||
# Updated: 2025/02/19 12:18:18 by whaffman ######## odam.nl #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -22,7 +22,7 @@ LIBFT = $(LIBFT_PATH)/libft.a
|
||||
|
||||
OBJ_PATH = obj
|
||||
|
||||
VPATH = src:src/environment:src/prompt:src/lexer:src/token:src/utils:src/executor:src/parser
|
||||
VPATH = src:src/environment:src/prompt:src/lexer:src/token:src/utils:src/executor:src/parser:src/signal
|
||||
SOURCES = $(shell basename -a $(shell find $(SRC_PATH) -type f -name "*.c"))
|
||||
|
||||
OBJECTS = $(addprefix $(OBJ_PATH)/, $(SOURCES:.c=.o))
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/02/04 16:13:13 by whaffman #+# #+# */
|
||||
/* Updated: 2025/02/12 10:59:38 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/02/19 12:38:57 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
# include "allowed.h"
|
||||
# include "libft.h"
|
||||
# include "typedef.h"
|
||||
# include "signals.h"
|
||||
# include "environment.h"
|
||||
# include "prompt.h"
|
||||
# include "tokenizer.h"
|
||||
|
||||
21
inc/signals.h
Normal file
21
inc/signals.h
Normal file
@ -0,0 +1,21 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* signals.h :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/02/19 12:26:09 by whaffman #+# #+# */
|
||||
/* Updated: 2025/02/19 12:32:26 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef SIGNALS_H
|
||||
# define SIGNALS_H
|
||||
|
||||
# include "minishell.h"
|
||||
|
||||
void signal_init_minishell(void);
|
||||
void sigint_minishell_handler(int signum);
|
||||
|
||||
#endif // SIGNALS_H
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/02/04 16:19:22 by whaffman #+# #+# */
|
||||
/* Updated: 2025/02/13 13:36:23 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/02/19 12:41:05 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -31,10 +31,13 @@ int main(int argc, char **argv, char **envp)
|
||||
print_banner();
|
||||
history_load();
|
||||
minishell = init_minishell();
|
||||
signal_init_minishell();
|
||||
environment_parse(envp, &(minishell->environment));
|
||||
while (TRUE)
|
||||
{
|
||||
minishell->line = ft_prompt(minishell);
|
||||
if (minishell->line == NULL)
|
||||
break ;
|
||||
minishell->lexer = ft_lexer_new(minishell->line);
|
||||
minishell->tokens = ft_parse_input(minishell->lexer);
|
||||
ft_lstiter(minishell->tokens, token_print);
|
||||
|
||||
28
src/signal/signal.c
Normal file
28
src/signal/signal.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* signal.c :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/02/19 12:18:47 by whaffman #+# #+# */
|
||||
/* Updated: 2025/02/19 12:39:05 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "minishell.h"
|
||||
|
||||
|
||||
void signal_init_minishell(void)
|
||||
{
|
||||
signal(SIGINT, sigint_minishell_handler);
|
||||
signal(SIGQUIT, SIG_IGN);
|
||||
}
|
||||
|
||||
void sigint_minishell_handler(int signum)
|
||||
{
|
||||
(void)signum;
|
||||
ft_putstr_fd("\n", 1);
|
||||
rl_on_new_line();
|
||||
rl_redisplay();
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user