* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
- * \author João Luis M. Assirati
- * \author Lars Gullik Bjønnes
+ * \author João Luis M. Assirati
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
{
// f.ex. what about error checking?
char const * const ch = getenv(envname.c_str());
- string const envstr = !ch ? "" : ch;
- return envstr;
+ return ch ? to_utf8(from_local8bit(ch)) : string();
}
// CHECK Look at and fix this.
// f.ex. what about error checking?
+ string const encoded(to_local8bit(from_utf8(value)));
#if defined (HAVE_SETENV)
- int const retval = ::setenv(name.c_str(), value.c_str(), true);
+ int const retval = ::setenv(name.c_str(), encoded.c_str(), true);
#elif defined (HAVE_PUTENV)
static std::map<string, char *> varmap;
- string envstr = name + '=' + value;
+ string envstr = name + '=' + encoded;
char * newptr = new char[envstr.size() + 1];
envstr.copy(newptr, envstr.length());
newptr[envstr.length()] = '\0';