From f08325f76ba4aac15dc3125b7779045956863a4b Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 12 Jun 2020 09:05:28 +0200 Subject: Added preprocess escape with backslash, sticky str merge, travis CI before merge --- src/env.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/env.c') diff --git a/src/env.c b/src/env.c index 326caa9..2557e35 100644 --- a/src/env.c +++ b/src/env.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/28 09:21:24 by cacharle #+# #+# */ -/* Updated: 2020/06/09 16:15:47 by charles ### ########.fr */ +/* Updated: 2020/06/12 10:51:10 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -67,8 +67,9 @@ char *env_search(t_env env, char *key) char *env_search_first_match(t_env env, const char *haystack) { - int len; + size_t len; size_t i; + size_t key_len; if (ft_isdigit(*haystack)) return (NULL); @@ -76,13 +77,15 @@ char *env_search_first_match(t_env env, const char *haystack) while (ft_isalnum(haystack[len]) || haystack[len] == '_') len++; if (len == 0) - return ("$"); - i = 0; - while (i < env->size - 1) + return (NULL); + i = -1; + while (++i < env->size - 1) { + key_len = ft_strchr(env->data[i], '=') - (char*)env->data[i]; + if (len != key_len) + continue ; if (ft_strncmp((char*)env->data[i], haystack, len) == 0) - return (ft_strchr((char*)env->data[i], '=') + 1); - i++; + return (ft_strchr(env->data[i], '=') + 1); } return (NULL); } -- cgit