#include "setenv.h"
#include <stdlib.h>
#include <string.h>

#ifndef HASSETENV
int setenv(const char* name, const char* value, int overwrite)
{
  char* newenv;
  size_t namelen;
  size_t valuelen;
  if (!overwrite && getenv(name)) return 0;
  namelen = strlen(name);
  valuelen = strlen(value);
  newenv = malloc(namelen+1+valuelen+1);
  memcpy(newenv, name, namelen);
  newenv[namelen] = '=';
  memcpy(newenv+namelen+1, value, valuelen+1);
  return putenv(newenv);
}
#endif


syntax highlighted by Code2HTML, v. 0.9.1