summaryrefslogtreecommitdiffstats
path: root/src/m_init.c
diff options
context:
space:
mode:
authorsalad <fmoenne-@student.le-101.fr>2020-10-26 13:42:56 +0100
committersalad <fmoenne-@student.le-101.fr>2020-10-26 13:42:56 +0100
commit0277ddfac754ab4ad5bdd2b692e31a717efbe569 (patch)
tree49d7c5fd3a12248af85e2c3a3254bc1538ae5775 /src/m_init.c
parentreqdy for MERGE (diff)
parentTODO update (diff)
download42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.gz
42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.bz2
42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.xz
42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.tar.zst
42-minishell-0277ddfac754ab4ad5bdd2b692e31a717efbe569.zip
merge wif master
Diffstat (limited to 'src/m_init.c')
-rw-r--r--src/m_init.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/m_init.c b/src/m_init.c
index c145063..91baf7c 100644
--- a/src/m_init.c
+++ b/src/m_init.c
@@ -10,17 +10,33 @@
/* */
/* ************************************************************************** */
+#include <libft.h>
#include <stdlib.h>
+#include <limits.h>
+#include "d_define.h"
#include "s_struct.h"
+#include "u_vars.h"
#include "u_vars_next.h"
void
m_init_custom_vars(t_msh *msh)
{
+ char home[PATH_MAX];
+ char fmt[PATH_MAX];
+
u_subst_var_value("$PS1", FT_DEFAULT_PS_ONE, msh);
u_subst_var_value("$PS2", FT_DEFAULT_PS_TWO, msh);
u_subst_var_value("$PS3", FT_DEFAULT_PS_THR, msh);
u_subst_var_value("$PS4", FT_DEFAULT_PS_FOU, msh);
- u_subst_var_value("$HISTFILE", FT_DEFAULT_HISTFILE, msh);
+ u_get_var_value(home, "$HISTFILE", PATH_MAX, msh);
+ if (home[0] == C_NUL)
+ {
+ u_get_var_value(home, "$HOME", PATH_MAX, msh);
+ if (home[0] != C_NUL)
+ {
+ ft_sprintf(fmt, "%s/%s", home, FT_DEFAULT_HISTFILE);
+ u_subst_var_value("$HISTFILE", fmt, msh);
+ }
+ }
}