my_vars
char *cached_value = my_vars[which].value;
my_vars[which].name = name;
FreeIfNeeded(my_vars[which].value);
my_vars[which].value = value;
result = my_vars[which].value;
if (my_vars[n].name != 0
&& update_getenv(my_vars[n].name, n)) {
my_vars[which].name = 0;
FreeIfNeeded(my_vars[which].value);
my_vars[which].value = 0;