Remove old version of zic.

This commit is contained in:
jtc 1995-03-11 01:28:11 +00:00
parent fe94427322
commit b781d165f2
6 changed files with 0 additions and 2799 deletions

View File

@ -1,77 +0,0 @@
@(#)README 7.3
[ this is the README that appears with the tz package as distributed by
ADO. if you find problems with the contents of the datfiles' subdir,
talk to them about it. if you find problems with anything else here,
don't -- it's not their fault. -- cgd ]
"What time is it?" -- Richard Deacon as The King
"Any time you want it to be." -- Frank Baxter as The Scientist
(from the Bell System film on time)
The 1989 update of the time zone package featured
* POSIXization (including interpretation of POSIX-style TZ environment
variables, provided by Guy Harris),
* ANSIfication (including versions of "mktime" and "difftime"),
* SVIDulation (an "altzone" variable)
* MACHination (the "gtime" function)
* corrections to some time zone data (including corrections to the rules
for Great Britain and New Zealand)
* reference data from the United States Naval Observatory for folks who
want to do additional time zones
* and the 1989 data for Saudi Arabia.
(Since this code will be treated as "part of the implementation" in some places
and as "part of the application" in others, there's no good way to name
functions, such as timegm, that are not part of the proposed ANSI C standard;
such functions have kept their old, underscore-free names in this update.)
Support for the tz_abbr variable has been eliminated from this version
(to forestall "kitchen sink" complaints from certain quarters :-).
Support for Turbo C compilation has also been eliminated; it was present to
allow checking in an ANSI-style environment, and such checking is now done with
gcc.
And the "dysize" function has disappeared; it was present to allow compilation
of the "date" command on old BSD systems, and a version of "date" is now
provided in the package. The "date" command is not created when you "make all"
since it may lack options provided by the version distributed with your
operating system, or may not interact with the system in the same way the
native version does.
Since POSIX frowns on correct leap second handling, the default behavior of
the "zic" command (in the absence of a "-L" option) has been changed to omit
leap second information from its output files.
Be sure to read the comments in "Makefile" and make any changes
needed to make things right for your system.
To use the new functions, use a "-lz" option when compiling or linking.
Historical local time information has been included here not because it
is particularly useful, but rather to:
* give an idea of the variety of local time rules that have
existed in the past and thus an idea of the variety that may be
expected in the future;
* provide a test of the generality of the local time rule description
system.
The information in the time zone data files is by no means authoritative;
if you know that the rules are different from those in a file, by all means
feel free to change file (and please send the changed version to
ado@ncifcrf.gov for use in the future). Europeans take note!
Thanks to these Timezone Caballeros who've made major contributions to the
time conversion package: Keith Bostic; Bob Devine; Robert Elz; Guy Harris;
Mark Horton; John Mackin; and Bradley White. Thanks also to Michael Bloom,
Art Neilson, Stephen Prince, John Sovereign, and Frank Wales for testing work.
None of them are responsible for remaining errors.
Look in the ~ftp/pub directory of elsie.nci.nih.gov (128.231.16.1)
for updated versions of these files.
Please send comments or information to ado@elsie.nci.nih.gov.

View File

@ -1,141 +0,0 @@
/*-
* Copyright (c) 1991 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Arthur David Olson of the National Cancer Institute.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
/*static char sccsid[] = "from: @(#)ialloc.c 5.3 (Berkeley) 4/20/91";*/
static char rcsid[] = "$Id: ialloc.c,v 1.2 1993/08/01 18:23:07 mycroft Exp $";
#endif /* not lint */
#ifdef notdef
static char elsieid[] = "@(#)ialloc.c 8.18";
#endif
/*LINTLIBRARY*/
#include <string.h>
#include <stdlib.h>
#ifdef MAL
#define NULLMAL(x) ((x) == NULL || (x) == MAL)
#else /* !defined MAL */
#define NULLMAL(x) ((x) == NULL)
#endif /* !defined MAL */
#define nonzero(n) (((n) == 0) ? 1 : (n))
char * icalloc __P((int nelem, int elsize));
char * icatalloc __P((char * old, const char * new));
char * icpyalloc __P((const char * string));
char * imalloc __P((int n));
char * irealloc __P((char * pointer, int size));
void ifree __P((char * pointer));
char *
imalloc(n)
const int n;
{
#ifdef MAL
register char * result;
result = malloc((size_t) nonzero(n));
return NULLMAL(result) ? NULL : result;
#else /* !defined MAL */
return malloc((size_t) nonzero(n));
#endif /* !defined MAL */
}
char *
icalloc(nelem, elsize)
int nelem;
int elsize;
{
if (nelem == 0 || elsize == 0)
nelem = elsize = 1;
return calloc((size_t) nelem, (size_t) elsize);
}
char *
irealloc(pointer, size)
char * const pointer;
const int size;
{
if (NULLMAL(pointer))
return imalloc(size);
return realloc((void *) pointer, (size_t) nonzero(size));
}
char *
icatalloc(old, new)
char * const old;
const char * const new;
{
register char * result;
register oldsize, newsize;
newsize = NULLMAL(new) ? 0 : strlen(new);
if (NULLMAL(old))
oldsize = 0;
else if (newsize == 0)
return old;
else oldsize = strlen(old);
if ((result = irealloc(old, oldsize + newsize + 1)) != NULL)
if (!NULLMAL(new))
(void) strcpy(result + oldsize, new);
return result;
}
char *
icpyalloc(string)
const char * const string;
{
return icatalloc((char *) NULL, string);
}
void
ifree(p)
char * const p;
{
if (!NULLMAL(p))
(void) free(p);
}
void
icfree(p)
char * const p;
{
if (!NULLMAL(p))
(void) free(p);
}

View File

@ -1,100 +0,0 @@
/*-
* Copyright (c) 1991 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Arthur David Olson of the National Cancer Institute.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
/*static char sccsid[] = "from: @(#)scheck.c 5.3 (Berkeley) 4/20/91";*/
static char rcsid[] = "$Id: scheck.c,v 1.2 1993/08/01 18:23:08 mycroft Exp $";
#endif /* not lint */
#ifdef notdef
static char elsieid[] = "@(#)scheck.c 8.9";
#endif
/*LINTLIBRARY*/
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
char *
scheck(string, format)
const char * const string;
const char * const format;
{
register char * fbuf;
register const char * fp;
register char * tp;
register int c;
register char * result;
char dummy;
result = "";
if (string == NULL || format == NULL)
return result;
fbuf = malloc(2 * strlen(format) + 4);
if (fbuf == NULL)
return result;
fp = format;
tp = fbuf;
while ((*tp++ = c = *fp++) != '\0') {
if (c != '%')
continue;
if (*fp == '%') {
*tp++ = *fp++;
continue;
}
*tp++ = '*';
if (*fp == '*')
++fp;
while (isascii(*fp) && isdigit(*fp))
*tp++ = *fp++;
if (*fp == 'l' || *fp == 'h')
*tp++ = *fp++;
else if (*fp == '[')
do *tp++ = *fp++;
while (*fp != '\0' && *fp != ']');
if ((*tp++ = *fp++) == '\0')
break;
}
*(tp - 1) = '%';
*tp++ = 'c';
*tp = '\0';
if (sscanf((char *)string, fbuf, &dummy) != 1)
result = (char *) format;
ifree(fbuf);
return result;
}

View File

@ -1,161 +0,0 @@
.\" Copyright (c) 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Arthur David Olson of the National Cancer Institute.
.\" modification, are permitted provided that the following conditions
.\" are met:
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)tzfile.5 5.3 (Berkeley) 5/10/91
.\" $Id: tzfile.5,v 1.2 1993/08/01 07:34:27 mycroft Exp $
.\"
.Dd May 10, 1991
.Dt TZFILE 5
.Sh NAME
.Nm tzfile
.Nd time zone information
.Sh SYNOPSIS
.Fd #include <tzfile.h>
.Sh DESCRIPTION
The time zone information files used by
.Xr tzset 3
begin with bytes reserved for future use,
followed by four four-byte values of type
.Em long ,
written in a ``standard'' byte order
(the high-order byte of the value is written first).
These values are,
in order:
.Bl -tag -width tzh_ttisstdcnt
.It Fa tzh_ttisstdcnt
The number of standard/wall indicators stored in the file.
.It Fa tzh_leapcnt
The number of leap seconds for which data is stored in the file.
.It Fa tzh_timecnt
The number of "transition times" for which data is stored
in the file.
.It Fa tzh_typecnt
The number of "local time types" for which data is stored
in the file (must not be zero).
.It Fa tzh_charcnt
The number of characters of "time zone abbreviation strings"
stored in the file.
.El
.Pp
The above header is followed by
.Fa tzh_timecnt
four-byte values of type
.Em long ,
sorted in ascending order.
These values are written in ``standard'' byte order.
Each is used as a transition time (as returned by
.Xr time 2 )
at which the rules for computing local time change.
Next come
.Fa tzh_timecnt
one-byte values of type
.Fa unsigned char ;
each one tells which of the different types of ``local time'' types
described in the file is associated with the same-indexed transition time.
These values serve as indices into an array of
.Fa ttinfo
structures that appears next in the file;
these structures are defined as follows:
.Bd -literal -offset indent
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
.Ed
.Pp
Each structure is written as a four-byte value for
.Fa tt_gmtoff
of type
.Em long ,
in a standard byte order, followed by a one-byte value for
.Fa tt_isdst
and a one-byte value for
.Fa tt_abbrind .
In each structure,
.Fa tt_gmtoff
gives the number of seconds to be added to GMT,
.Fa tt_isdst
tells whether
.Fa tm_isdst
should be set by
.Xr localtime 3
and
.Fa tt_abbrind
serves as an index into the array of time zone abbreviation characters
that follow the
.Fa ttinfo
structure(s) in the file.
.Pp
Then there are
.Fa tzh_leapcnt
pairs of four-byte values, written in standard byte order;
the first value of each pair gives the time
(as returned by
.Xr time 2 )
at which a leap second occurs;
the second gives the
.Em total
number of leap seconds to be applied after the given time.
The pairs of values are sorted in ascending order by time.
.Pp
Finally there are
.Fa tzh_ttisstdcnt
standard/wall indicators, each stored as a one-byte value;
they tell whether the transition times associated with local time types
were specified as standard time or wall clock time,
and are used when a time zone file is used in handling
.Tn POSIX Ns -style
time zone environment variables.
.Pp
.Fa Localtime
uses the first standard-time
.Fa ttinfo
structure in the file
(or simply the first
.Fa ttinfo
structure in the absence of a standard-time structure)
if either
.Fa tzh_timecnt
is zero or the time argument is less than the first transition time recorded
in the file.
.Sh SEE ALSO
.Xr ctime 3
.Sh HISTORY
The
.Nm tzfile
file format appeared in
.Bx 4.3 tahoe.

View File

@ -1,425 +0,0 @@
.\" Copyright (c) 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Arthur David Olson of the National Cancer Institute.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)zic.8 5.2 (Berkeley) 4/20/91
.\" $Id: zic.8,v 1.2 1993/08/01 07:34:26 mycroft Exp $
.\"
.TH ZIC 8
.SH NAME
zic \- time zone compiler
.SH SYNOPSIS
.B zic
[
.B \-v
] [
.B \-d
.I directory
] [
.B \-l
.I localtime
] [
.B \-p
.I posixrules
] [
.B \-L
.I leapsecondfilename
] [
.B \-s
] [
.I filename
\&... ]
.SH DESCRIPTION
.if t .ds lq ``
.if t .ds rq ''
.if n .ds lq \&"\"
.if n .ds rq \&"\"
.de q
\\$3\*(lq\\$1\*(rq\\$2
..
.I Zic
reads text from the file(s) named on the command line
and creates the time conversion information files specified in this input.
If a
.I filename
is
.BR \- ,
the standard input is read.
.PP
These options are available:
.TP
.BI "\-d " directory
Create time conversion information files in the named directory rather than
in the standard directory named below.
.TP
.BI "\-l " timezone
Use the given time zone as local time.
.I Zic
will act as if the input contained a link line of the form
.sp
.ti +.5i
Link \fItimezone\fP localtime
.TP
.BI "\-p " timezone
Use the given time zone's rules when handling POSIX-format
time zone environment variables.
.I Zic
will act as if the input contained a link line of the form
.sp
.ti +.5i
Link \fItimezone\fP posixrules
.TP
.BI "\-L " leapsecondfilename
Read leap second information from the file with the given name.
If this option is not used,
no leap second information appears in output files.
.TP
.B \-v
Complain if a year that appears in a data file is outside the range
of years representable by
.IR time (2)
values.
.TP
.B \-s
Limit time values stored in output files to values that are the same
whether they're taken to be signed or unsigned.
You can use this option to generate SVVS-compatible files.
.sp
Input lines are made up of fields.
Fields are separated from one another by any number of white space characters.
Leading and trailing white space on input lines is ignored.
An unquoted sharp character (#) in the input introduces a comment which extends
to the end of the line the sharp character appears on.
White space characters and sharp characters may be enclosed in double quotes
(") if they're to be used as part of a field.
Any line that is blank (after comment stripping) is ignored.
Non-blank lines are expected to be of one of three types:
rule lines, zone lines, and link lines.
.PP
A rule line has the form
.nf
.B
.ti +.5i
.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
.sp
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
.sp
For example:
.ti +.5i
.sp
Rule USA 1969 1973 \- Apr lastSun 2:00 1:00 D
.sp
.fi
The fields that make up a rule line are:
.TP "\w'LETTER/S'u"
.B NAME
Gives the (arbitrary) name of the set of rules this rule is part of.
.TP
.B FROM
Gives the first year in which the rule applies.
The word
.B minimum
(or an abbreviation) means the minimum year with a representable time value.
The word
.B maximum
(or an abbreviation) means the maximum year with a representable time value.
.TP
.B TO
Gives the final year in which the rule applies.
In addition to
.B minimum
and
.B maximum
(as above),
the word
.B only
(or an abbreviation)
may be used to repeat the value of the
.B FROM
field.
.TP
.B TYPE
Gives the type of year in which the rule applies.
If
.B TYPE
is
.B \-
then the rule applies in all years between
.B FROM
and
.B TO
inclusive;
if
.B TYPE
is
.BR uspres ,
the rule applies in U.S. Presidential election years;
if
.B TYPE
is
.BR nonpres ,
the rule applies in years other than U.S. Presidential election years.
If
.B TYPE
is something else, then
.I zic
executes the command
.ti +.5i
\fByearistype\fP \fIyear\fP \fItype\fP
.br
to check the type of a year:
an exit status of zero is taken to mean that the year is of the given type;
an exit status of one is taken to mean that the year is not of the given type.
.TP
.B IN
Names the month in which the rule takes effect.
Month names may be abbreviated.
.TP
.B ON
Gives the day on which the rule takes effect.
Recognized forms include:
.nf
.in +.5i
.sp
.ta \w'Sun<=25\0\0'u
5 the fifth of the month
lastSun the last Sunday in the month
lastMon the last Monday in the month
Sun>=8 first Sunday on or after the eighth
Sun<=25 last Sunday on or before the 25th
.fi
.in -.5i
.sp
Names of days of the week may be abbreviated or spelled out in full.
Note that there must be no spaces within the
.B ON
field.
.TP
.B AT
Gives the time of day at which the rule takes effect.
Recognized forms include:
.nf
.in +.5i
.sp
.ta \w'1:28:13\0\0'u
2 time in hours
2:00 time in hours and minutes
15:00 24-hour format time (for times after noon)
1:28:14 time in hours, minutes, and seconds
.fi
.in -.5i
.sp
Any of these forms may be followed by the letter
.B w
if the given time is local
.q "wall clock"
time or
.B s
if the given time is local
.q standard
time; in the absence of
.B w
or
.BR s ,
wall clock time is assumed.
.TP
.B SAVE
Gives the amount of time to be added to local standard time when the rule is in
effect.
This field has the same format as the
.B AT
field
(although, of course, the
.B w
and
.B s
suffixes are not used).
.TP
.B LETTER/S
Gives the
.q "variable part"
(for example, the
.q S
or
.q D
in
.q EST
or
.q EDT )
of time zone abbreviations to be used when this rule is in effect.
If this field is
.BR \- ,
the variable part is null.
.PP
A zone line has the form
.sp
.nf
.ti +.5i
.ta \w'Zone\0\0'u +\w'Australia/South\-west\0\0'u +\w'GMTOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
.sp
For example:
.sp
.ti +.5i
Zone Australia/South\-west 9:30 Aus CST 1987 Mar 15 2:00
.sp
.fi
The fields that make up a zone line are:
.TP "\w'GMTOFF'u"
.B NAME
The name of the time zone.
This is the name used in creating the time conversion information file for the
zone.
.TP
.B GMTOFF
The amount of time to add to GMT to get standard time in this zone.
This field has the same format as the
.B AT
and
.B SAVE
fields of rule lines;
begin the field with a minus sign if time must be subtracted from GMT.
.TP
.B RULES/SAVE
The name of the rule(s) that apply in the time zone or,
alternately, an amount of time to add to local standard time.
If this field is
.B \-
then standard time always applies in the time zone.
.TP
.B FORMAT
The format for time zone abbreviations in this time zone.
The pair of characters
.B %s
is used to show where the
.q "variable part"
of the time zone abbreviation goes.
.TP
.B UNTIL
The time at which the GMT offset or the rule(s) change for a location.
It is specified as a year, a month, a day, and a time of day.
If this is specified,
the time zone information is generated from the given GMT offset
and rule change until the time specified.
.IP
The next line must be a
.q continuation
line; this has the same form as a zone line except that the
string
.q Zone
and the name are omitted, as the continuation line will
place information starting at the time specified as the
.B UNTIL
field in the previous line in the file used by the previous line.
Continuation lines may contain an
.B UNTIL
field, just as zone lines do, indicating that the next line is a further
continuation.
.PP
A link line has the form
.sp
.nf
.ti +.5i
.if t .ta \w'Link\0\0'u +\w'LINK-FROM\0\0'u
.if n .ta \w'Link\0\0'u +\w'US/Eastern\0\0'u
Link LINK-FROM LINK-TO
.sp
For example:
.sp
.ti +.5i
Link US/Eastern EST5EDT
.sp
.fi
The
.B LINK-FROM
field should appear as the
.B NAME
field in some zone line;
the
.B LINK-TO
field is used as an alternate name for that zone.
.PP
Except for continuation lines,
lines may appear in any order in the input.
.PP
Lines in the file that describes leap seconds have the following form:
.nf
.B
.ti +.5i
.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u
Leap YEAR MONTH DAY HH:MM:SS CORR R/S
.sp
For example:
.ti +.5i
.sp
Leap 1974 Dec 31 23:59:60 + S
.sp
.fi
The
.BR YEAR ,
.BR MONTH ,
.BR DAY ,
and
.B HH:MM:SS
fields tell when the leap second happened.
The
.B CORR
field
should be
.q +
if a second was added
or
.q -
if a second was skipped.
The
.B R/S
field
should be (an abbreviation of)
.q Stationary
if the leap second time given by the other fields should be interpreted as GMT
or
(an abbreviation of)
.q Rolling
if the leap second time given by the other fields should be interpreted as
local wall clock time.
.SH NOTE
For areas with more than two types of local time,
you may need to use local standard time in the
.B AT
field of the earliest transition time's rule to ensure that
the earliest transition time recorded in the compiled file is correct.
.SH FILE
/etc/zoneinfo standard directory used for created files
.SH "SEE ALSO"
newctime(3), tzfile(5), zdump(8)
.. @(#)zic.8 4.4

File diff suppressed because it is too large Load Diff