projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix mknod and mknodat to accept large dev_t values
[musl]
/
src
/
env
/
putenv.c
diff --git
a/src/env/putenv.c
b/src/env/putenv.c
index
181a418
..
d141db1
100644
(file)
--- 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;
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;
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 *));
if (a) {
if (!__env_map) {
__env_map = calloc(2, sizeof(char *));