/*
 *	Copyright 1988 by Rayan S. Zachariassen, all rights reserved.
 *	This will be free software, but only when it is finished.
 */

/*
 * A routine to clean out the environment from strings that the mail_*()
 * library pays attention to.  This is usually only called from detach()
 * since all the daemons call that at an appropriate time.  Transport
 * agents usually don't need to call this since the scheduler already has.
 */

#include "mailer.h"
#include "libz.h"

extern char **environ;

const char *nukelist[] = { "LOGNAME", "USER", "FULLNAME", "PRETTYLOGIN",
			   "IFS", (char *)0 };

void
cleanenv()
{
	const char **np;
	const char **ep;

	for (ep = (const char **)environ; *ep != NULL; ++ep) {
		for (np = nukelist; *np != NULL; ++np) {
			int len = strlen(*np);
			if (strncmp(*np, *ep, len) == 0 && (*ep)[len] == '=')
				*ep = "SHELL=/bin/sh";
		}
	}
}


syntax highlighted by Code2HTML, v. 0.9.1