diff options
Diffstat (limited to 'src/p_lblock_next.c')
-rw-r--r-- | src/p_lblock_next.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/src/p_lblock_next.c b/src/p_lblock_next.c index 9def230..485d4ee 100644 --- a/src/p_lblock_next.c +++ b/src/p_lblock_next.c @@ -26,75 +26,6 @@ #include "u_vars.h" #include "u_vars_next.h" -static char *p_double_them_bs(char varval[]) -{ - char *ptr; - - ptr = varval; - while (*ptr != C_NUL) - { - if (*ptr == C_BACKS) - { - ptr = ft_memmove(ptr + 1, ptr, ft_strlen(ptr) + 1); - varval[ptr - varval] = C_BACKS; - } - ptr++; - } - return (varval); -} - -static void p_subst_this_var(char **p, int64_t i, char word[], t_msh *msh) -{ - char tmp[ARG_MAX]; - char varval[ARG_MAX]; - char *ptr; - size_t varlen; - - ptr = word; - varlen = i + 1; - while (ptr[varlen] != C_NUL && - ft_ischarset("$=\\/@%^*+{}[]<>(),.-", ptr[varlen]) == FALSE && - ft_iswhitespace(ptr[varlen]) == FALSE) - varlen += 1; - ft_strlcpy(tmp, ptr + i, varlen + 1 - i); - u_get_var_value(varval, tmp, ARG_MAX, msh); - p_double_them_bs(varval); - (void)ft_memmove(ptr + (i + ft_strlen(varval)), - ptr + varlen, - (ft_strlen(ptr + varlen) + 1) * sizeof(char)); - (void)ft_memmove(word + i, varval, ft_strlen(varval) * sizeof(char)); - *(p) = word + (i + ft_strlen(varval) - 1); -} - -void p_subst_vars(char word[], t_msh *msh) -{ - char *ptr; - t_quote_mode mode; - - mode = Q_NONE; - ptr = word; - while (*ptr != C_NUL) - { - if (*ptr == C_DQUOTE) - mode = u_meet_dquote(word, ptr, mode); - else if (*ptr == C_SQUOTE) - mode = u_meet_squote(word, ptr, mode); - if ((mode == Q_NONE || mode == Q_DOUBLE) && *ptr == C_DOLLAR && - u_is_not_escaped(word, ptr) == TRUE) - { - p_subst_this_var(&ptr, (ptr - word), word, msh); - } - ptr++; - } -} - - - - - - - - static char **p_alloc_rewords(char *words[], int64_t j, t_msh *msh) { char **rewords; |