/*
 * setenv.c
 */

#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "env.h"

int setenv(const char *name, const char *val, int overwrite)
{
  const char *z;
  char *s;
  size_t l1, l2;

  if ( !name || !name[0] ) {
    errno = EINVAL;
    return -1;
  }

  l1 = 0;
  for ( z = name ; *z ; z++ ) {
    l1++;
    if ( *z == '=' ) {
      errno = EINVAL;
      return -1;
    }
  }

  l2 = strlen(val);

  s = malloc(l1+l2+2);
  if ( !s )
    return -1;

  memcpy(s, name, l1);
  s[l1] = '=';
  memcpy(s+l1+1, val, l2+1);

  return __put_env(s, l1+1, overwrite);
}
