# 2.11BSD#431 - /usr/src/libexec/tcpd/setenv.c

##### Functions

    setenv            X

       1:  /*
       2:   * Some systems do not have setenv(). This one is modeled after 4.4 BSD, but
       3:   * is implemented in terms of portable primitives only: getenv(), putenv()
       4:   * and malloc(). It should therefore be safe to use on every UNIX system.
       5:   *
       6:   * If clobber == 0, do not overwrite an existing variable.
       7:   *
       8:   * Returns nonzero if memory allocation fails.
       9:   *
      10:   * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
      11:   */
      12:
      13: #ifndef lint
      14: static char sccsid[] = "@(#) setenv.c 1.1 93/03/07 22:47:58";
      15: #endif
      16:
      17: /* setenv - update or insert environment (name,value) pair */
      18:
      19: int     setenv(name, value, clobber)
      20: char   *name;
      21: char   *value;
      22: int     clobber;
      23: {
      24:     char   *malloc();
      25:     char   *getenv();
      26:     char   *cp;
      27:
      28:     if (clobber == 0 && getenv(name) != 0)
      29:     return (0);
      30:     if ((cp = malloc(strlen(name) + strlen(value) + 2)) == 0)
      31:     return (1);
      32:     sprintf(cp, "%s=%s", name, value);
      33:     return (putenv(cp));
      34: }

#### Defined functions

setenv defined in line 19; never used

#### Defined variables

sccsid defined in line 14; never used

Last modified: 1994-12-28 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 435 |