// Time Zones // // Douglas Thrift // // $Id$ #ifndef _TimeZones_hpp_ #define _TimeZones_hpp_ #include #include #include #include #include using namespace std; inline string sgetenv(const string& name) { char* value = getenv(name.c_str()); return value != NULL ? value : ""; } inline int sputenv(const string& name) { char* value = new char[name.size() + 1]; sprintf(value, name.c_str()); int code = putenv(value); delete [] value; return code; } inline void sunsetenv(const string& name) { unsetenv(name.c_str()); } #ifdef __CYGWIN__ inline time_t timegm(struct tm* time) { string zone = sgetenv("TZ"); sputenv("TZ="); tzset(); time_t when = mktime(time); sputenv("TZ=" + zone); tzset(); return when; } #endif class TimeZones { private: // public: TimeZones(); ~TimeZones() {} }; #endif // _TimeZones_hpp_