1 |
Douglas Thrift |
194 |
// Feeping Creaturism |
2 |
|
|
// |
3 |
|
|
// Douglas Thrift |
4 |
|
|
// |
5 |
|
|
// $Id$ |
6 |
|
|
|
7 |
|
|
#include "Environment.hpp" |
8 |
|
|
|
9 |
Douglas Thrift |
203 |
ext::String Environment::get(const ext::String& name) const |
10 |
Douglas Thrift |
194 |
{ |
11 |
Douglas Thrift |
243 |
char* value(::getenv(name.NullTerminate())); |
12 |
Douglas Thrift |
194 |
|
13 |
|
|
return value != NULL ? value : ""; |
14 |
|
|
} |
15 |
|
|
|
16 |
douglas |
307 |
int Environment::set(const ext::String& name, const ext::String& value, bool overwrite) |
17 |
Douglas Thrift |
194 |
{ |
18 |
Douglas Thrift |
243 |
return ::setenv(name.NullTerminate(), value.NullTerminate(), overwrite); |
19 |
Douglas Thrift |
194 |
} |
20 |
|
|
|
21 |
Douglas Thrift |
203 |
int Environment::put(const ext::String& env) |
22 |
Douglas Thrift |
194 |
{ |
23 |
|
|
std::istringstream input(env); |
24 |
|
|
std::string name, value; |
25 |
|
|
|
26 |
|
|
std::getline(input, name, '='); |
27 |
|
|
std::getline(input, value); |
28 |
|
|
|
29 |
|
|
return set(name, value); |
30 |
|
|
} |
31 |
|
|
|
32 |
|
|
Environment env; |