diff options
Diffstat (limited to '')
-rw-r--r-- | src/p_subst_home.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/p_subst_home.c b/src/p_subst_home.c new file mode 100644 index 0000000..ee9ed42 --- /dev/null +++ b/src/p_subst_home.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* p_subst_home.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> +#include <stddef.h> +#include <limits.h> + +#include "d_define.h" +#include "s_struct.h" +#include "u_vars.h" + +char **p_subst_home(char *words[], t_msh *msh) +{ + char path[PATH_MAX]; + char **ptr; + + u_get_var_value(path, "$HOME", PATH_MAX, msh); + if (path[0] == C_NUL) + return (words); + ptr = words; + while (*ptr != NULL) + { + if (*ptr[0] == '~') + { + *ptr = ft_strsubst(*ptr, "~", path); + } + ptr++; + } + return (words); +} |