#include <stdlib.h>
#include <string.h>
#include <errno.h>

int __putenv(char* s, int a);

int setenv(const char* var, const char* value, int overwrite) {
  char* s;
  int l1, l2;

  if (!var || !*var || strchr(var, '=')) {
    errno = EINVAL;
    return -1;
  }
  if (!overwrite && getenv(var))
    return 0;

  l1 = strlen(var);
  l2 = strlen(value);
  s = malloc(l1 + l2 + 2);
  if (s) {
    memcpy(s, var, l1);
    s[l1] = '=';
    memcpy(s + l1 + 1, value, l2);
    s[l1 + l2 + 1] = 0;
    if (!__putenv(s, 1))
      return 0;
  }
  free(s);
  return -1;
}
