diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-15 18:24:54 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-15 18:24:54 +0100 |
| commit | 69e6fe89fa9baafeca3e3515bb50897cd8ee7c35 (patch) | |
| tree | 489046ce167b8b20d205f87f4ae1f4b680c19b43 /lib/libc/stdlib/setenv.c | |
| parent | 0d5bffe9d2caadc1215c875e560c52bca5161c54 (diff) | |
Add getauxval and cleanup libc startup
Diffstat (limited to 'lib/libc/stdlib/setenv.c')
| -rw-r--r-- | lib/libc/stdlib/setenv.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/lib/libc/stdlib/setenv.c b/lib/libc/stdlib/setenv.c index 3dfe3d22..22b7bef9 100644 --- a/lib/libc/stdlib/setenv.c +++ b/lib/libc/stdlib/setenv.c @@ -14,18 +14,15 @@ int setenv(const char *var, const char *value, int overwrite) for (; *env; env++) { char *eq = strchr(*env, '='); - if (eq && ((size_t)(eq - *env) == var_len) && - !strncmp(*env, var, var_len)) { + if (eq && ((size_t)(eq - *env) == var_len) && !strncmp(*env, var, var_len)) { if (overwrite) { size_t value_len = strlen(value); - char *new_env = - malloc(var_len + 1 + value_len + 1); + char *new_env = malloc(var_len + 1 + value_len + 1); if (!new_env) return -1; strcpy(new_env, var); new_env[var_len] = '='; - memcpy(new_env + var_len + 1, value, - value_len + 1); + memcpy(new_env + var_len + 1, value, value_len + 1); *env = new_env; } return 0; @@ -36,8 +33,7 @@ int setenv(const char *var, const char *value, int overwrite) while (environ[env_count]) env_count++; - char **new_envp = (char **)realloc((void *)environ, - (env_count + 2) * sizeof(char *)); + char **new_envp = (char **)realloc((void *)environ, (env_count + 2) * sizeof(char *)); if (!new_envp) return -1; @@ -52,10 +48,10 @@ int setenv(const char *var, const char *value, int overwrite) new_envp[env_count] = new_var; new_envp[env_count + 1] = NULL; - LIBC_LOCK(libc.lock.environ); + LIBC_LOCK(__libc.lock.environ); environ = new_envp; - LIBC_UNLOCK(libc.lock.environ); - libc.flags |= LIBC_ENVP_TOUCHED; + LIBC_UNLOCK(__libc.lock.environ); + __libc.flags |= LIBC_ENVP_TOUCHED; return 0; } |
