1N/A/*********************************************************************** 1N/A* This software is part of the ast package * 1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property * 1N/A* and is licensed under the * 1N/A* Common Public License, Version 1.0 * 1N/A* by AT&T Intellectual Property * 1N/A* A copy of the License is available at * 1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1N/A* Information and Software Systems Research * 1N/A* Glenn Fowler <gsf@research.att.com> * 1N/A* David Korn <dgk@research.att.com> * 1N/A* Phong Vo <kpv@research.att.com> * 1N/A***********************************************************************/ 1N/A * put name=value in the environment 1N/A * pointer to value returned 1N/A * setenviron("N=V") add N=V 1N/A * setenviron("N") delete N 1N/A * setenviron(0) expect more (pre-fork optimization) 1N/A * _ always placed at the top 1N/A static char**
envv;
/* recorded environ */ 1N/A static char**
next;
/* next free slot */ 1N/A static char**
last;
/* last free slot (0) */ 1N/A else if (p != v || !v)
1N/A * kick 3d initialization 1N/A if (v && v[0] && v[0][0] ==
'_' && v[0][
1] ==
'=')
1N/A if (p[0][0] ==
'_' && p[0][
1] ==
'=')
1N/A if (!*t || *t ==
'=')
1N/A while (*v++ = *p++);
1N/A }
while (*t++ == *s++);