diff -r a4c3f27b6be7 -r 1581a99ab33f c++/parameter-lister/CLI.cpp --- a/c++/parameter-lister/CLI.cpp Sun May 03 17:05:51 2015 +0200 +++ b/c++/parameter-lister/CLI.cpp Sun May 03 18:08:40 2015 +0200 @@ -2,12 +2,31 @@ #include #include #include +#include -#include "info/globalcode/terminalCodes/TerminalCodes.h" +#include "info/globalcode/parameterLister/terminalCodes/TerminalCodes.h" using namespace std; using namespace info::globalcode::parameterLister; +namespace info { +namespace globalcode { +namespace parameterLister { + +boost::optional getenv(const string name) { + const char * value = ::getenv(name.c_str()); + if (value == 0) { + return boost::optional(); + } else { + return boost::optional(value); + } +} + + +} +} +} + int main(int argc, char* argv[]) { terminalCodes::Modifier fgGreen(terminalCodes::FG_GREEN); terminalCodes::Modifier fgReset(terminalCodes::FG_DEFAULT); @@ -31,24 +50,17 @@ cout << i + 1 << ":" << s.length() << " = \"" << s << "\"" << endl; } + { + string envName = args[0]; + boost::optional outputModule = getenv(envName); + if (outputModule.is_initialized()) { + cout << "ENV: " << envName << " = " << outputModule.get(); + } else { + cout << "ENV: " << envName << " is missing"; + } + } return 0; -} - - - -namespace info { -namespace globalcode { -namespace parameterLister { - - - - - -} -} -} - - +} \ No newline at end of file