1N/A/*********************************************************************** 1N/A* This software is part of the ast package * 1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property * 1N/A* and is licensed under the * 1N/A* Common Public License, Version 1.0 * 1N/A* by AT&T Intellectual Property * 1N/A* A copy of the License is available at * 1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1N/A* Information and Software Systems Research * 1N/A* Glenn Fowler <gsf@research.att.com> * 1N/A* David Korn <dgk@research.att.com> * 1N/A* Phong Vo <kpv@research.att.com> * 1N/A***********************************************************************/ 1N/A * time conversion support 1N/A * 2007-03-19 move tm_info from _tm_info_ to (*_tm_infop_) 1N/A * to allow future Tm_info_t growth 1N/A * by 2009 _tm_info_ can be static 1N/A * return minutes west of GMT for local time clock 1N/A * isdst will point to non-zero if DST is in effect 1N/A * this routine also kicks in the local initialization 1N/A * convert to GMT assuming local time 1N/A * some systems return 0 for negative time_t 1N/A * tmlocaltime() handles DST and GMT offset 1N/A * stropt() option handler 1N/Atmopt(
void* a,
const void* p,
int n,
const char* v)
1N/A * initialize the local timezone 1N/A * compute local DST offset by roaming 1N/A * through the last 12 months until tzwest() changes 1N/A for (i = 0; i <
12; i++)
1N/A * now get the time zone names 1N/A * POSIX style but skipped by tmlocaltime() 1N/A if (*++s && *++s && *++s)
1N/A * tm_data.zone table lookup 1N/A * the time zone type is probably related to the locale 1N/A * initialize tm data