tmlib revision 3e14f97f673e8a630f076077de35afdd43dc1587
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinset prototyped
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner_cc_export_dynamic = note{ probe CC.EXPORT.DYNAMIC supported }end run{
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner case `{ probe -l C make cc | grep '^CC.EXPORT.DYNAMIC = .'; } 2>/dev/null` in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintst tzset_environ note{ tzset() bypasses user getenv() }end execute{
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner #if _UWIN || !_cc_export_dynamic
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin extern char** environ;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin extern char* tzname[2];
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin extern char* getenv(char* s)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin extern char* getenv(s)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return "foo0bar";
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int main()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin return tzname[0] && !strcmp(tzname[0], "foo") &&
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin tzname[1] && !strcmp(tzname[1], "bar");
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinif ( _tzset_environ ) {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #define tmlocaltime(p) _tm_localtime(p)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin extern struct tm* _tm_localtime(const time_t*);
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin #define tmlocaltime(p) localtime(p)