summaryrefslogtreecommitdiffstats
path: root/src/ft_u_vars.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-07-27 18:55:07 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-07-27 18:55:07 +0200
commit487a66394061f2d14a2fa421302966b5442d643f (patch)
tree34237d4e9cb85f94bcefd46f399d2224dff3f6b3 /src/ft_u_vars.c
parentCorrect shell prompt (diff)
download42-minishell-487a66394061f2d14a2fa421302966b5442d643f.tar.gz
42-minishell-487a66394061f2d14a2fa421302966b5442d643f.tar.bz2
42-minishell-487a66394061f2d14a2fa421302966b5442d643f.tar.xz
42-minishell-487a66394061f2d14a2fa421302966b5442d643f.tar.zst
42-minishell-487a66394061f2d14a2fa421302966b5442d643f.zip
I couldn't see shit
Diffstat (limited to 'src/ft_u_vars.c')
-rw-r--r--src/ft_u_vars.c163
1 files changed, 0 insertions, 163 deletions
diff --git a/src/ft_u_vars.c b/src/ft_u_vars.c
deleted file mode 100644
index cb020e3..0000000
--- a/src/ft_u_vars.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* ************************************************************************** */
-/* */
-/* ::: :::::::: */
-/* ft_u_vars.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 <stdlib.h>
-#include <stdint.h>
-
-#include "ft_d_define.h"
-#include "ft_f_fail.h"
-#include "ft_s_destroy.h"
-#include "ft_s_lcom.h"
-#include "ft_s_struct.h"
-
-
-static char
- *ft_set_rva(const char varname[],
- t_msh *msh)
-{
- char *rvarname;
-
- if (!(rvarname = (char*)malloc((ft_strlen(varname) + 1) * sizeof(char))))
- {
- ft_lcom_clear(&msh->curr);
- ft_s_destroy(msh);
- ft_fail_alloc(msh);
- }
- ft_memcpy((char*)rvarname, (const char*)varname + 1,
- ft_strlen(varname + 1));
- *(rvarname + ft_strlen(varname + 1)) = '=';
- *(rvarname + ft_strlen(varname + 1) + 1) = '\0';
- return (rvarname);
-}
-
-static char
- *ft_dup_env(char *p_env,
- char *rvarname,
- t_msh *msh)
-{
- char *varval;
-
- if (!(varval = ft_strdup(p_env)))
- {
- ft_memdel((void*)&rvarname);
- ft_lcom_clear(&msh->curr);
- ft_s_destroy(msh);
- ft_fail_alloc(msh);
- }
- ft_memdel((void*)&rvarname);
- return (varval);
-}
-
-static char
- *ft_get_frm_env(char rvarname[],
- t_msh *msh)
-{
- char **p_env;
- char *pp_env;
- char *varval;
-
- p_env = msh->envp;
- while (*p_env)
- {
- if (!ft_strncmp(rvarname, *p_env, ft_strlen(rvarname)))
- {
- pp_env = *p_env;
- while (*pp_env != '\0' && *pp_env != '=')
- pp_env += 1;
- if (*pp_env == '=')
- pp_env += 1;
- varval = ft_dup_env(pp_env, rvarname, msh);
- return (varval);
- }
- p_env += 1;
- }
- return (NULL);
-}
-
-static char
- *ft_get_special_var(const char varname[],
- t_msh *msh)
-{
- char *varval;
-
- if (!ft_strncmp(varname, FT_RET_VAR, 3))
- {
- if (!(varval = ft_uitoa(msh->ret)))
- {
- ft_lcom_clear(&msh->curr);
- ft_s_destroy(msh);
- ft_fail_alloc(msh);
- }
- return (varval);
- }
- else if (!ft_strncmp(varname, FT_ZER_VAR, 3))
- {
- if (!(varval = ft_strdup(msh->shname)))
- {
- ft_lcom_clear(&msh->curr);
- ft_s_destroy(msh);
- ft_fail_alloc(msh);
- }
- return (varval);
- }
- return (NULL);
-}
-
-static char
- *ft_get_cstm_vr(const char varname[],
- t_msh *msh)
-{
- (void)varname;
- (void)msh;
- return (NULL);
-}
-
-/*
-** char *
-** ft_subst_var_value(const char varname[], const t_msh *msh);
-**
-** DESCRIPTION
-** The ft_subst_var_value() function returns
-** a heap-allocated, null-terminated string
-** that may later be free'd containing the
-** value of the variable varname[] including
-** the '$' prefix. NULL is returned if varname[]
-** wasn't found.
-*/
-
-char
- *ft_subst_var_value(const char varname[],
- t_msh *msh)
-{
- /* TODO: check behaviour on empty vars -> "QWE=" */
- /* TODO: add support for global variables -> "$hey $nigga..." */
- char *varval;
- char *rvarname;
-
- varval = NULL;
- if ((varval = ft_get_special_var(varname, msh)) != NULL)
- {
- return (varval);
- }
- else if ((varval = ft_get_cstm_vr(varname, msh)) != NULL)
- {
- return (varval);
- }
- else
- {
- rvarname = ft_set_rva(varname, msh);
- varval = ft_get_frm_env(rvarname, msh);
- return (varval);
- }
- return (NULL);
-}