minishell/src/minishell.c

51 lines
1.5 KiB
C
Raw Normal View History

2025-02-06 13:44:55 +01:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* minishell.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: kcolin <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/06 13:44:06 by kcolin #+# #+# */
2025-02-06 14:21:01 +01:00
/* Updated: 2025/02/06 14:19:04 by kcolin ### ########.fr */
2025-02-06 13:44:55 +01:00
/* */
/* ************************************************************************** */
2025-02-06 14:21:01 +01:00
#include <readline/history.h>
#include <readline/readline.h>
2025-02-06 14:21:01 +01:00
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
2025-02-06 14:21:01 +01:00
/*
** get a command line using readline.
**
** returned buffer must be freed by caller.
** will add command to history if appropriate.
*/
static char *get_command(void)
{
char *line;
line = readline("$ ");
if (line != NULL && line[0] != '\0')
add_history(line);
return (line);
}
2025-02-06 13:44:55 +01:00
int main(int argc, char *argv[], char **envp)
{
char *line;
2025-02-06 13:44:55 +01:00
(void)argc;
(void)argv;
(void)envp;
2025-02-06 14:21:01 +01:00
line = get_command();
while (line != NULL)
{
2025-02-06 14:21:01 +01:00
printf("%s\n", line); // FIXME
free(line);
2025-02-06 14:21:01 +01:00
line = get_command();
}
2025-02-06 13:44:55 +01:00
return (0);
}