Index: fusl/src/env/unsetenv.c |
diff --git a/fusl/src/env/unsetenv.c b/fusl/src/env/unsetenv.c |
index 356933546a31a41ad859c3bc08709aa76a5a2644..02e5339d03fd814cc8194d35a815b7054735208d 100644 |
--- a/fusl/src/env/unsetenv.c |
+++ b/fusl/src/env/unsetenv.c |
@@ -2,30 +2,33 @@ |
#include <string.h> |
#include <errno.h> |
-extern char **__environ; |
-extern char **__env_map; |
+extern char** __environ; |
+extern char** __env_map; |
-int unsetenv(const char *name) |
-{ |
- int i, j; |
- size_t l = strlen(name); |
+int unsetenv(const char* name) { |
+ int i, j; |
+ size_t l = strlen(name); |
- if (!*name || strchr(name, '=')) { |
- errno = EINVAL; |
- return -1; |
- } |
+ if (!*name || strchr(name, '=')) { |
+ errno = EINVAL; |
+ return -1; |
+ } |
again: |
- for (i=0; __environ[i] && (memcmp(name, __environ[i], l) || __environ[i][l] != '='); i++); |
- if (__environ[i]) { |
- if (__env_map) { |
- for (j=0; __env_map[j] && __env_map[j] != __environ[i]; j++); |
- free (__env_map[j]); |
- for (; __env_map[j]; j++) |
- __env_map[j] = __env_map[j+1]; |
- } |
- for (; __environ[i]; i++) |
- __environ[i] = __environ[i+1]; |
- goto again; |
- } |
- return 0; |
+ for (i = 0; __environ[i] && |
+ (memcmp(name, __environ[i], l) || __environ[i][l] != '='); |
+ i++) |
+ ; |
+ if (__environ[i]) { |
+ if (__env_map) { |
+ for (j = 0; __env_map[j] && __env_map[j] != __environ[i]; j++) |
+ ; |
+ free(__env_map[j]); |
+ for (; __env_map[j]; j++) |
+ __env_map[j] = __env_map[j + 1]; |
+ } |
+ for (; __environ[i]; i++) |
+ __environ[i] = __environ[i + 1]; |
+ goto again; |
+ } |
+ return 0; |
} |