# $Id: getenv.pl,v 1.2 2000/01/24 13:02:45 friedman Exp $

sub envp ($)
{
  my $var = shift;
  return 1 if (exists $ENV{$var} && $ENV{$var} ne '');
  return 0;
}

# This automatically "untaints" any values returned from the environment.
# This only matters when running setuid.
sub getenv ($)
{
  my $var = shift;
  return undef unless envp ($var);
  my $taintval = $ENV{$var};
  $taintval =~ /^(.*)$/o;
  return $1; # $1 is always untainted
}

sub unsetenv ($)
{
  my $var = shift;
  delete $ENV{$var};
}
