fixed get_user and prompt

This commit is contained in:
whaffman 2025-02-11 16:19:26 +01:00
parent 71d1797a22
commit 83c50f511f
4 changed files with 26 additions and 16 deletions

View File

@ -5,7 +5,7 @@ A lot of amazing shell stuff
- libncurses-dev - libncurses-dev
## TODO ## TODO
- Find absolute path for command input ('/', './', 'cmd') -[x] Find absolute path for command input ('/', './', 'cmd')
- Add heredoc to tokenizer - Add heredoc to tokenizer
-[x] Environment to `t_list` -[x] Environment to `t_list`
-[x] Get environment array (export) -[x] Get environment array (export)

View File

@ -6,7 +6,7 @@
/* By: whaffman <whaffman@student.codam.nl> +#+ */ /* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */ /* +#+ */
/* Created: 2025/02/04 16:13:13 by whaffman #+# #+# */ /* Created: 2025/02/04 16:13:13 by whaffman #+# #+# */
/* Updated: 2025/02/11 14:09:23 by whaffman ######## odam.nl */ /* Updated: 2025/02/11 15:50:21 by whaffman ######## odam.nl */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -37,5 +37,6 @@
# define MAGENTA "\001\033[0;35m\002" # define MAGENTA "\001\033[0;35m\002"
# define CYAN "\001\033[0;36m\002" # define CYAN "\001\033[0;36m\002"
# define RESET "\001\033[0m\002" # define RESET "\001\033[0m\002"
# define PROMPT RESET "🐚" GREEN "minishell" RESET ": "
#endif #endif

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */ /* +#+ */
/* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */ /* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */
/* Updated: 2025/02/08 14:34:53 by willem ######## odam.nl */ /* Updated: 2025/02/11 16:06:17 by whaffman ######## odam.nl */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -14,19 +14,28 @@
char *get_user(t_list *environment) char *get_user(t_list *environment)
{ {
char *str1; const char guest[] = "guest";
char *str2; int len;
t_environment *user;
char *username;
char *result;
str1 = ft_strdup(environment_get(environment, "USER")->value); user = environment_get(environment, "USER");
if (str1 == NULL) if (user == NULL)
str1 = ft_strdup("guest"); username = (char *)guest;
if (str1 == NULL) else
username = user->value;
len = ft_strlen(username) + ft_strlen(PROMPT) + ft_strlen(GREEN) + 1;
result = (char *)malloc(len);
if (result == NULL)
{
perror("malloc");
return (NULL); return (NULL);
str2 = ft_strjoin(GREEN, str1); }
free(str1); ft_strlcpy(result, GREEN, ft_strlen(GREEN) + 1);
str1 = ft_strjoin(str2, RESET "🐚" GREEN "minishell" RESET ": "); ft_strlcat(result, username, ft_strlen(GREEN) + ft_strlen(username) + 1);
free(str2); ft_strlcat(result, PROMPT, len);
return (str1); return (result);
} }
char *get_path(t_list *environment) char *get_path(t_list *environment)

View File

@ -6,7 +6,7 @@
/* By: whaffman <whaffman@student.codam.nl> +#+ */ /* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */ /* +#+ */
/* Created: 2025/02/05 16:03:57 by whaffman #+# #+# */ /* Created: 2025/02/05 16:03:57 by whaffman #+# #+# */
/* Updated: 2025/02/05 16:04:18 by whaffman ######## odam.nl */ /* Updated: 2025/02/11 15:36:24 by whaffman ######## odam.nl */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -17,6 +17,6 @@ void free_minishell(t_minishell *minishell)
if (minishell->line) if (minishell->line)
free_minishell_line(minishell); free_minishell_line(minishell);
if (minishell->environment) if (minishell->environment)
environment_free(minishell->environment); environment_free_list(&minishell->environment);
free(minishell); free(minishell);
} }