diff options
Diffstat (limited to 'src/m_prompt.c')
-rw-r--r-- | src/m_prompt.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/m_prompt.c b/src/m_prompt.c index 34aae09..3bffffd 100644 --- a/src/m_prompt.c +++ b/src/m_prompt.c @@ -11,20 +11,33 @@ /* ************************************************************************** */ #include <libft.h> +#include <stdint.h> #include <unistd.h> #include "m_prompt.h" #include "s_struct.h" +#include "u_vars.h" -void - m_cont_prompt(void) +static void + m_update_psx(uint8_t x, t_msh *msh) { - ft_dprintf(STDIN_FILENO, "> "); - /* TODO :ft_printf("%s", msh->ps_two); */ + char *var; + char psx[5]; + + ft_sprintf(psx, "$PS%hhu", x); + if ((var = u_get_var_value(psx, msh)) == NULL) + { + msh->ps[x - 1][0] = '\0'; + return ; + } + ft_strlcpy(msh->ps[x - 1], var, ft_strlen(var) + 1); + ft_memdel((void*)&var); } void - m_prompt(t_msh *msh) + m_prompt_psx(uint8_t x, t_msh *msh) { - ft_dprintf(STDIN_FILENO, "%s", msh->ps_one); + + m_update_psx(1, msh); + ft_dprintf(STDERR_FILENO, "%s", msh->ps[x - 1]); } |