X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=nucleus%2Flibrary%2Fbasis%2Fenvironment.cpp;h=50d7042f9f7ea106ba7322f57e2347d53dac2a13;hb=1d6a91214fafe93f190d8dd974e478ac5d416d01;hp=5e50abfbe861913a7fe7d6230a672cff7b5bddfd;hpb=3ea085ec301ed1399dfa1e9f3a240312dc95410b;p=feisty_meow.git diff --git a/nucleus/library/basis/environment.cpp b/nucleus/library/basis/environment.cpp index 5e50abfb..50d7042f 100644 --- a/nucleus/library/basis/environment.cpp +++ b/nucleus/library/basis/environment.cpp @@ -17,21 +17,44 @@ #include #include -#ifdef __UNIX__ +#ifndef _MSC_VER #include #include #endif -#ifdef __WIN32__ +#ifdef _MSC_VER #define _WINSOCKAPI_ // make windows.h happy about winsock. + // winsock support... +// #undef FD_SETSIZE +// #define FD_SETSIZE 1000 + // if you don't set this, you can only select on a default of 64 sockets. + #include #include #include #endif namespace basis { -astring environment::get(const astring &variable_name) +astring environment::TMP() { + const static astring TMP_VARIABLE_NAME("TMP"); + astring to_return = get(TMP_VARIABLE_NAME); + if (!to_return) { + // they did not see fit to set this in the environment. let's make something up. #ifdef __WIN32__ + // windows default does not necessarily exist. + to_return = "c:/tmp"; +#else + // most reasonable OSes have a /tmp directory. + to_return = "/tmp"; +#endif + if (!!to_return) set("TMP", to_return); + } + return to_return; +} + +astring environment::get(const astring &variable_name) +{ +#ifdef _MSC_VER char *value = getenv(variable_name.upper().observe()); // dos & os/2 require upper case for the name, so we just do it that way. #else @@ -47,7 +70,7 @@ astring environment::get(const astring &variable_name) bool environment::set(const astring &variable_name, const astring &value) { int ret = 0; -#ifdef __WIN32__ +#ifdef _MSC_VER astring assignment = variable_name + "=" + value; ret = _putenv(assignment.s()); #else @@ -58,7 +81,7 @@ bool environment::set(const astring &variable_name, const astring &value) basis::un_int environment::system_uptime() { -#ifdef __WIN32__ +#ifdef _MSC_VER return timeGetTime(); #else static clock_t __ctps = sysconf(_SC_CLK_TCK); // clock ticks per second.