mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-13 06:20:28 +00:00
b049f3997a
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9197 a592a061-630c-0410-9148-cb99ea01b6c8
39 lines
794 B
C
39 lines
794 B
C
/**
|
|
* \file putenv.C
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Lars Gullik Bjønnes
|
|
* \author João Luis M. Assirati
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#include "support/lyxlib.h"
|
|
|
|
#include <cstdlib>
|
|
#include <string>
|
|
#include <map>
|
|
|
|
using std::string;
|
|
using std::map;
|
|
|
|
bool lyx::support::putenv(string const & varname, string const & value)
|
|
{
|
|
static map<string, char *> varmap;
|
|
|
|
string str = varname + '=' + value;
|
|
char * newptr = new char[str.size() + 1];
|
|
newptr[str.copy(newptr, string::npos)] = '\0';
|
|
bool status = (::putenv(newptr) == 0);
|
|
|
|
char * oldptr = varmap[varname];
|
|
if (oldptr)
|
|
delete oldptr;
|
|
varmap[varname] = newptr;
|
|
|
|
return status;
|
|
}
|