diff options
Diffstat (limited to 'lib/libc/stdlib/putenv.c')
| -rw-r--r-- | lib/libc/stdlib/putenv.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/libc/stdlib/putenv.c b/lib/libc/stdlib/putenv.c new file mode 100644 index 00000000..b070cc4d --- /dev/null +++ b/lib/libc/stdlib/putenv.c @@ -0,0 +1,17 @@ +#include <stdlib.h> +#include <string.h> + +int putenv(char *string) +{ + const char *const name_end = strchr(string, '='); + + if (name_end) { + char name[name_end - string + 1]; + memcpy(name, string, name_end - string); + name[name_end - string] = '\0'; + return setenv(name, name_end + 1, 1); + } + + unsetenv(string); + return 0; +} |
