1*4887Schinset prototyped 2*4887Schin 3*4887Schintst tzset_environ note{ tzset() bypasses user getenv() }end execute{ 4*4887Schin #include <time.h> 5*4887Schin extern char** environ; 6*4887Schin extern char* tzname[2]; 7*4887Schin #if _STD_ 8*4887Schin extern char* getenv(char* s) 9*4887Schin #else 10*4887Schin extern char* getenv(s) 11*4887Schin char* s; 12*4887Schin #endif 13*4887Schin { 14*4887Schin return "foo0bar"; 15*4887Schin } 16*4887Schin int main() 17*4887Schin { 18*4887Schin tzset(); 19*4887Schin return tzname[0] && !strcmp(tzname[0], "foo") && 20*4887Schin tzname[1] && !strcmp(tzname[1], "bar"); 21*4887Schin } 22*4887Schin}end 23*4887Schin 24*4887Schinif ( _tzset_environ ) { 25*4887Schin #define tmlocaltime(p) _tm_localtime(p) 26*4887Schin 27*4887Schin extern struct tm* _tm_localtime(const time_t*); 28*4887Schin} 29*4887Schinelse { 30*4887Schin #define tmlocaltime(p) localtime(p) 31*4887Schin} 32*4887Schinendif 33