diff options
| -rw-r--r-- | src/env/putenv.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/src/env/putenv.c b/src/env/putenv.c index 181a4181..d141db13 100644 --- a/src/env/putenv.c +++ b/src/env/putenv.c @@ -9,14 +9,14 @@ char **__env_map;  int __putenv(char *s, int a)  {  	int i=0, j=0; -	char *end = strchr(s, '='); -	size_t l = end-s+1; +	char *z = strchr(s, '=');  	char **newenv = 0;  	char **newmap = 0;  	static char **oldenv; -	 -	if (!end || l == 1) return -1; -	for (; __environ[i] && memcmp(s, __environ[i], l); i++); + +	if (!z) return unsetenv(s); +	if (z==s) return -1; +	for (; __environ[i] && memcmp(s, __environ[i], z-s+1); i++);  	if (a) {  		if (!__env_map) {  			__env_map = calloc(2, sizeof(char *)); | 
