summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib/putenv.c
blob: b070cc4db3f4a60dba6faeb3ee2c77debcd7d347 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
}