/***************************************************************************
*
* Copyright 2024 by Sean Conner.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, see .
*
* Comments, questions and criticisms can be sent to: sean@conman.org
*
*************************************************************************/
#include
#include
void env(void)
{
extern char **environ;
FILE *fp = fopen("/tmp/env.txt","w");
if (fp != NULL)
{
for (size_t i = 0 ; environ[i] != NULL ; i++)
{
char *p = strchr(environ[i],'=');
if (p != NULL)
{
fputs("export ",fp);
fwrite(environ[i],1,(size_t)(p - environ[i]),fp);
fputc(*p++,fp);
fputc('"',fp);
for ( ; *p ; p++)
{
switch(*p)
{
case '&':
case ';':
case '?':
case '*':
case '[':
case ']':
case '(':
case ')':
case '{':
case '}':
case '<':
case '>':
case '"':
case '\\':
fputc('\\',fp);
break;
default:
break;
}
fputc(*p,fp);
}
fputc('"',fp);
fputc('\n',fp);
}
}
fclose(fp);
}
}
.