summaryrefslogtreecommitdiffstats
path: root/src/m_init.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-09-06 21:56:20 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-09-06 21:56:20 +0200
commit4543c3ba3222d47780ad3e091cfe6f3098cc2bca (patch)
treefb8a70bf05464a6fa2c820cc43ea34421340c903 /src/m_init.c
parentCommit from minishell (diff)
download42-minishell-4543c3ba3222d47780ad3e091cfe6f3098cc2bca.tar.gz
42-minishell-4543c3ba3222d47780ad3e091cfe6f3098cc2bca.tar.bz2
42-minishell-4543c3ba3222d47780ad3e091cfe6f3098cc2bca.tar.xz
42-minishell-4543c3ba3222d47780ad3e091cfe6f3098cc2bca.tar.zst
42-minishell-4543c3ba3222d47780ad3e091cfe6f3098cc2bca.zip
Stacked
Diffstat (limited to '')
-rw-r--r--src/m_init.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/m_init.c b/src/m_init.c
index 8b8a994..91baf7c 100644
--- a/src/m_init.c
+++ b/src/m_init.c
@@ -12,7 +12,9 @@
#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"
@@ -20,17 +22,21 @@
void
m_init_custom_vars(t_msh *msh)
{
- char *home;
- char fmt[255];
+ 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);
- if ((home = u_get_var_value("$HOME", msh)) != NULL)
+ u_get_var_value(home, "$HISTFILE", PATH_MAX, msh);
+ if (home[0] == C_NUL)
{
- ft_sprintf(fmt, "%s/%s", home, FT_DEFAULT_HISTFILE);
- u_subst_var_value("$HISTFILE", fmt, msh);
- ft_memdel((void*)&home);
+ 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);
+ }
}
}