svn commit: r211723 - in stable/8/usr.bin/calendar: . calendars
calendars/ru_RU.KOI8-R
Edwin Groothuis
edwin at FreeBSD.org
Mon Aug 23 22:09:26 UTC 2010
Author: edwin
Date: Mon Aug 23 22:09:25 2010
New Revision: 211723
URL: http://svn.freebsd.org/changeset/base/211723
Log:
MFC of r205821 r205827 r205828 r205862 r205872 r205937 r206568
MFC of r208825 r208826 r208827 r208828 r208829 r208943
r205821:
Long awaited update to the calendar system:
- Repeating events which span multiple years (because of -A, -B or
just the three days before the end of the year).
- Support for lunar events (full moon, new moon) and solar events
(equinox and solstice, chinese new year). Because of this, the
options -U (UTC offset) and -l (longitude) are available to
compensate if reality doesn't match the calculated values.
r205828:
Use local names for calendar.dutch
r205862:
Fix DST thingies in calendar.australia
r205872:
Make licenses 3 clause instead of 4 clause
r205937:
Make the dates in the Tasmanian part of calendar.australia properly
variable.
r206568:
Typo in Allerheiligen in calendar.dutch
r208825, r208826, r208827, r208828, r208829, r208943:
Coverity Prevent related fixes.
Modified:
stable/8/usr.bin/calendar/Makefile
stable/8/usr.bin/calendar/calendar.1
stable/8/usr.bin/calendar/calendar.c
stable/8/usr.bin/calendar/calendar.h
stable/8/usr.bin/calendar/calendars/calendar.australia
stable/8/usr.bin/calendar/calendars/calendar.dutch
stable/8/usr.bin/calendar/calendars/calendar.freebsd
stable/8/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common (contents, props changed)
stable/8/usr.bin/calendar/day.c
stable/8/usr.bin/calendar/io.c
stable/8/usr.bin/calendar/ostern.c
stable/8/usr.bin/calendar/paskha.c
stable/8/usr.bin/calendar/pathnames.h
Directory Properties:
stable/8/usr.bin/calendar/ (props changed)
Modified: stable/8/usr.bin/calendar/Makefile
==============================================================================
--- stable/8/usr.bin/calendar/Makefile Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/Makefile Mon Aug 23 22:09:25 2010 (r211723)
@@ -2,13 +2,17 @@
# $FreeBSD$
PROG= calendar
-SRCS= calendar.c io.c day.c ostern.c paskha.c
+SRCS= calendar.c locale.c events.c dates.c parsedata.c io.c day.c \
+ ostern.c paskha.c pom.c sunpos.c
+LDADD= -lm
INTER= de_AT.ISO_8859-15 de_DE.ISO8859-1 fr_FR.ISO8859-1 \
hr_HR.ISO8859-2 hu_HU.ISO8859-2 ru_RU.KOI8-R uk_UA.KOI8-U
DE_LINKS= de_DE.ISO8859-15
FR_LINKS= fr_FR.ISO8859-15
TEXTMODE?= 444
+WARNS?= 7
+
beforeinstall:
${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${TEXTMODE} \
${.CURDIR}/calendars/calendar.* ${DESTDIR}${SHAREDIR}/calendar
Modified: stable/8/usr.bin/calendar/calendar.1
==============================================================================
--- stable/8/usr.bin/calendar/calendar.1 Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendar.1 Mon Aug 23 22:09:25 2010 (r211723)
@@ -9,10 +9,6 @@
.\" 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.
@@ -54,6 +50,8 @@
.Ek
.Oc
.Op Fl W Ar num
+.Op Fl U Ar UTC-offset
+.Op Fl l Ar longitude
.Sh DESCRIPTION
The
.Nm
@@ -93,6 +91,12 @@ as the default calendar file.
.Sm on
.Xc
For test purposes only: set date directly to argument values.
+.It Fl l Ar longitude , Fl U Ar UTC-offset
+Only one is needed:
+Perform lunar and solar calculations from this longitude or from
+this UTC offset.
+If neither is specified, the calculations will be based on the
+difference between UTC time and localtime.
.It Fl W Ar num
Print lines from today and the next
.Ar num
@@ -103,12 +107,36 @@ Ignore weekends when calculating the num
To handle calendars in your national code table you can specify
.Dq LANG=<locale_name>
in the calendar file as early as possible.
-To handle national Easter
-names in the calendars
-.Dq Easter=<national_name>
-(for Catholic Easter) or
-.Dq Paskha=<national_name>
-(for Orthodox Easter) can be used.
+.Pp
+To handle the local name of sequences, you can specify them as:
+.Dq SEQUENCE=<first> <second> <third> <fourth> <fifth> <last>
+in the calendar file as early as possible.
+.Pp
+The names of the following special days are recognized:
+.Bl -tag -width 123456789012345 -compact
+.It Easter
+Catholic Easter.
+.It Paskha
+Orthodox Easter.
+.It NewMoon
+The lunar New Moon.
+.It FullMoon
+The lunar Full Moon.
+.It MarEquinox
+The solar equinox in March.
+.It JunSolstice
+The solar solstice in June.
+.It SepEquinox
+The solar equinox in March.
+.It DecSolstice
+The solar solstice in December.
+.It ChineseNewYear
+The first day of the Chinese year.
+.El
+These names may be reassigned to their local names via an assignment
+like
+.Dq Easter=Pasen
+in the calendar file.
.Pp
Other lines should begin with a month and day.
They may be entered in almost any format, either numeric or as character
@@ -122,11 +150,11 @@ Two numbers default to the month followe
Lines with leading tabs default to the last entered date, allowing
multiple line specifications for a single date.
.Pp
-``Easter'', is Easter for this year, and may be followed by a positive
-or negative integer.
-.Pp
-``Paskha'', is Orthodox Easter for this year, and may be followed by a
-positive or negative integer.
+The names of the recognized special days may be followed by a
+positive or negative integer, like:
+.Dq Easter+3
+or
+.Dq Pashka-4 .
.Pp
Weekdays may be followed by ``-4'' ...\& ``+5'' (aliases for
last, first, second, third, fourth) for moving events like
@@ -191,7 +219,8 @@ calendar file to use if no calendar file
do not send mail if this file exists.
.El
.Pp
-The following default calendar files are provided:
+The following default calendar files are provided in
+.Pa /usr/share/calendars:
.Pp
.Bl -tag -width calendar.southafrica -compact
.It Pa calendar.all
@@ -208,6 +237,8 @@ so that roving holidays are set correctl
Days of special significance to computer people.
.It Pa calendar.croatian
Calendar of events in Croatia.
+.It Pa calendar.dutch
+Calendar of events in the Netherlands.
.It Pa calendar.freebsd
Birthdays of
.Fx
@@ -259,7 +290,28 @@ A
.Nm
command appeared in
.At v7 .
+.Sh NOTES
+Chinese New Year is calculated at 120 degrees east of Greenwich,
+which roughly corresponds with the east coast of China.
+For people west of China, this might result that the start of Chinese
+New Year and the day of the related new moon might differ.
+.Pp
+The phases of the moon and the longitude of the sun are calculated
+against the local position which corresponds with 30 degrees times
+the time-difference towards Greenwich.
+.Pp
+The new and full moons are happening on the day indicated: They
+might happen in the time period in the early night or in the late
+evening.
+It doesn't indicate that they are starting in the night on that date.
+.Pp
+Because of minor differences between the output of the formulas
+used and other sources on the Internet, Druids and Werewolves should
+double-check the start and end time of solar and lunar events.
.Sh BUGS
The
.Nm
-utility does not handle Jewish holidays and moon phases.
+utility does not handle Jewish holidays.
+.Pp
+There is no possibility to properly specify the local position
+needed for solar and lunar calculations.
Modified: stable/8/usr.bin/calendar/calendar.c
==============================================================================
--- stable/8/usr.bin/calendar/calendar.c Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendar.c Mon Aug 23 22:09:25 2010 (r211723)
@@ -1,4 +1,4 @@
-/*
+/*-
* Copyright (c) 1989, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
@@ -10,10 +10,6 @@
* 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.
@@ -52,30 +48,38 @@ __FBSDID("$FreeBSD$");
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <time.h>
#include <unistd.h>
-#include "pathnames.h"
#include "calendar.h"
+#define UTCOFFSET_NOTSET 100 /* Expected between -24 and +24 */
+#define LONGITUDE_NOTSET 1000 /* Expected between -360 and +360 */
+
struct passwd *pw;
int doall = 0;
+int debug = 0;
+char *DEBUG = NULL;
time_t f_time = 0;
-
-int f_dayAfter = 0; /* days after current date */
-int f_dayBefore = 0; /* days before current date */
-int Friday = 5; /* day before weekend */
+double UTCOffset = UTCOFFSET_NOTSET;
+int EastLongitude = LONGITUDE_NOTSET;
static void usage(void) __dead2;
int
main(int argc, char *argv[])
{
+ int f_dayAfter = 0; /* days after current date */
+ int f_dayBefore = 0; /* days before current date */
+ int Friday = 5; /* day before weekend */
+
int ch;
+ struct tm tp1, tp2;
(void)setlocale(LC_ALL, "");
- while ((ch = getopt(argc, argv, "-A:aB:F:f:t:W:")) != -1)
+ while ((ch = getopt(argc, argv, "-A:aB:dD:F:f:l:t:U:W:")) != -1)
switch (ch) {
case '-': /* backward contemptible */
case 'a':
@@ -90,14 +94,10 @@ main(int argc, char *argv[])
calendarFile = optarg;
break;
- case 't': /* other date, undocumented, for tests */
- f_time = Mktime(optarg);
- break;
-
case 'W': /* we don't need no steenking Fridays */
Friday = -1;
-
/* FALLTHROUGH */
+
case 'A': /* days after current date */
f_dayAfter = atoi(optarg);
break;
@@ -106,9 +106,25 @@ main(int argc, char *argv[])
f_dayBefore = atoi(optarg);
break;
- case 'F':
+ case 'F': /* Change the time: When does weekend start? */
Friday = atoi(optarg);
break;
+ case 'l': /* Change longitudal position */
+ EastLongitude = strtol(optarg, NULL, 10);
+ break;
+ case 'U': /* Change UTC offset */
+ UTCOffset = strtod(optarg, NULL);
+ break;
+
+ case 'd':
+ debug = 1;
+ break;
+ case 'D':
+ DEBUG = optarg;
+ break;
+ case 't': /* other date, undocumented, for tests */
+ f_time = Mktime(optarg);
+ break;
case '?':
default:
@@ -125,7 +141,60 @@ main(int argc, char *argv[])
if (f_time <= 0)
(void)time(&f_time);
- settime(f_time);
+ /* if not set, determine where I could be */
+ {
+ if (UTCOffset == UTCOFFSET_NOTSET &&
+ EastLongitude == LONGITUDE_NOTSET) {
+ /* Calculate on difference between here and UTC */
+ time_t t;
+ struct tm tm;
+ long utcoffset, hh, mm, ss;
+ double uo;
+
+ time(&t);
+ localtime_r(&t, &tm);
+ utcoffset = tm.tm_gmtoff;
+ /* seconds -> hh:mm:ss */
+ hh = utcoffset / SECSPERHOUR;
+ utcoffset %= SECSPERHOUR;
+ mm = utcoffset / SECSPERMINUTE;
+ utcoffset %= SECSPERMINUTE;
+ ss = utcoffset;
+
+ /* hh:mm:ss -> hh.mmss */
+ uo = mm + (100.0 * (ss / 60.0));
+ uo /= 60.0 / 100.0;
+ uo = hh + uo / 100;
+
+ UTCOffset = uo;
+ EastLongitude = UTCOffset * 15;
+ } else if (UTCOffset == UTCOFFSET_NOTSET) {
+ /* Base on information given */
+ UTCOffset = EastLongitude / 15;
+ } else if (EastLongitude == LONGITUDE_NOTSET) {
+ /* Base on information given */
+ EastLongitude = UTCOffset * 15;
+ }
+ }
+
+ settimes(f_time, f_dayBefore, f_dayAfter, Friday, &tp1, &tp2);
+ generatedates(&tp1, &tp2);
+
+ /*
+ * FROM now on, we are working in UTC.
+ * This will only affect moon and sun related events anyway.
+ */
+ if (setenv("TZ", "UTC", 1) != 0)
+ errx(1, "setenv: %s", strerror(errno));
+ tzset();
+
+ if (debug)
+ dumpdates();
+
+ if (DEBUG != NULL) {
+ dodebug(DEBUG);
+ exit(0);
+ }
if (doall)
while ((pw = getpwent()) != NULL) {
@@ -146,9 +215,11 @@ static void __dead2
usage(void)
{
- fprintf(stderr, "%s\n%s\n",
+ fprintf(stderr, "%s\n%s\n%s\n",
"usage: calendar [-a] [-A days] [-B days] [-F friday] "
"[-f calendarfile]",
- " [-t dd[.mm[.year]]] [-W days]");
+ " [-d] [-t dd[.mm[.year]]] [-W days]",
+ " [-U utcoffset] [-l longitude]"
+ );
exit(1);
}
Modified: stable/8/usr.bin/calendar/calendar.h
==============================================================================
--- stable/8/usr.bin/calendar/calendar.h Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendar.h Mon Aug 23 22:09:25 2010 (r211723)
@@ -1,4 +1,4 @@
-/*
+/*-
* Copyright (c) 1989, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
@@ -10,10 +10,6 @@
* 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.
@@ -36,43 +32,163 @@
#include <sys/types.h>
#include <sys/uio.h>
+#define SECSPERDAY (24 * 60 * 60)
+#define SECSPERHOUR (60 * 60)
+#define SECSPERMINUTE (60)
+#define MINSPERHOUR (60)
+#define HOURSPERDAY (24)
+#define FSECSPERDAY (24.0 * 60.0 * 60.0)
+#define FSECSPERHOUR (60.0 * 60.0)
+#define FSECSPERMINUTE (60.0)
+#define FMINSPERHOUR (60.0)
+#define FHOURSPERDAY (24.0)
+
+#define DAYSPERYEAR 365
+#define DAYSPERLEAPYEAR 366
+
+/* Not yet categorized */
+
extern struct passwd *pw;
extern int doall;
-extern struct iovec header[];
-extern struct tm *tp;
+extern time_t t1, t2;
extern const char *calendarFile;
-extern int *cumdays;
extern int yrdays;
-extern struct fixs neaster, npaskha;
-
-void cal(void);
-void closecal(FILE *);
-int getday(char *);
-int getdayvar(char *);
-int getfield(char *, char **, int *);
-int getmonth(char *);
-int geteaster(char *, int);
-int getpaskha(char *, int);
-int easter(int);
-int isnow(char *, int *, int *, int *);
-FILE *opencal(void);
-void settime(time_t);
-time_t Mktime(char *);
-void setnnames(void);
+extern struct fixs neaster, npaskha, ncny, nfullmoon, nnewmoon;
+extern struct fixs nmarequinox, nsepequinox, njunsolstice, ndecsolstice;
+extern double UTCOffset;
+extern int EastLongitude;
#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
-/* some flags */
-#define F_ISMONTH 0x01 /* month (January ...) */
-#define F_ISDAY 0x02 /* day of week (Sun, Mon, ...) */
-#define F_ISDAYVAR 0x04 /* variables day of week, like SundayLast */
-#define F_EASTER 0x08 /* Easter or easter depending days */
-
-extern int f_dayAfter; /* days after current date */
-extern int f_dayBefore; /* days before current date */
-extern int Friday; /* day before weekend */
+/* Flags to determine the returned values by determinestyle() in parsedata.c */
+#define F_NONE 0x00000
+#define F_MONTH 0x00001
+#define F_DAYOFWEEK 0x00002
+#define F_DAYOFMONTH 0x00004
+#define F_MODIFIERINDEX 0x00008
+#define F_MODIFIEROFFSET 0x00010
+#define F_SPECIALDAY 0x00020
+#define F_ALLMONTH 0x00040
+#define F_ALLDAY 0x00080
+#define F_VARIABLE 0x00100
+#define F_EASTER 0x00200
+#define F_CNY 0x00400
+#define F_PASKHA 0x00800
+#define F_NEWMOON 0x01000
+#define F_FULLMOON 0x02000
+#define F_MAREQUINOX 0x04000
+#define F_SEPEQUINOX 0x08000
+#define F_JUNSOLSTICE 0x10000
+#define F_DECSOLSTICE 0x20000
+
+#define STRING_EASTER "Easter"
+#define STRING_PASKHA "Paskha"
+#define STRING_CNY "ChineseNewYear"
+#define STRING_NEWMOON "NewMoon"
+#define STRING_FULLMOON "FullMoon"
+#define STRING_MAREQUINOX "MarEquinox"
+#define STRING_SEPEQUINOX "SepEquinox"
+#define STRING_JUNSOLSTICE "JunSolstice"
+#define STRING_DECSOLSTICE "DecSolstice"
+
+#define MAXCOUNT 125 /* Random number of maximum number of
+ * repeats of an event. Should be 52
+ * (number of weeks per year), if you
+ * want to show two years then it
+ * should be 104. If you are seeing
+ * more than this you are using this
+ * program wrong.
+ */
+
+/*
+ * All the astronomical calculations are carried out for the meridian 120
+ * degrees east of Greenwich.
+ */
+#define UTCOFFSET_CNY 8.0
+
+extern int debug; /* show parsing of the input */
+extern int year1, year2;
+
+/* events.c */
+/*
+ * Event sorting related functions:
+ * - Use event_add() to create a new event
+ * - Use event_continue() to add more text to the last added event
+ * - Use event_print_all() to display them in time chronological order
+ */
+struct event *event_add(int, int, int, char *, int, char *, char *);
+void event_continue(struct event *events, char *txt);
+void event_print_all(FILE *fp);
+struct event {
+ int year;
+ int month;
+ int day;
+ int var;
+ char *date;
+ char *text;
+ char *extra;
+ struct event *next;
+};
+
+/* locale.c */
struct fixs {
char *name;
- int len;
+ size_t len;
};
+
+extern const char *days[];
+extern const char *fdays[];
+extern const char *fmonths[];
+extern const char *months[];
+extern const char *sequences[];
+extern struct fixs fndays[8]; /* full national days names */
+extern struct fixs fnmonths[13]; /* full national months names */
+extern struct fixs ndays[8]; /* short national days names */
+extern struct fixs nmonths[13]; /* short national month names */
+extern struct fixs nsequences[10];
+
+void setnnames(void);
+void setnsequences(char *);
+
+/* day.c */
+extern const struct tm tm0;
+extern char dayname[];
+void settimes(time_t,int before, int after, int friday, struct tm *tp1, struct tm *tp2);
+time_t Mktime(char *);
+
+/* parsedata.c */
+int parsedaymonth(char *, int *, int *, int *, int *, char **);
+void dodebug(char *type);
+
+/* io.c */
+void cal(void);
+void closecal(FILE *);
+FILE *opencal(void);
+
+/* ostern.c / pashka.c */
+int paskha(int);
+int easter(int);
+
+/* dates.c */
+extern int cumdaytab[][14];
+extern int mondaytab[][14];
+extern int debug_remember;
+void generatedates(struct tm *tp1, struct tm *tp2);
+void dumpdates(void);
+int remember_ymd(int y, int m, int d);
+int remember_yd(int y, int d, int *rm, int *rd);
+int first_dayofweek_of_year(int y);
+int first_dayofweek_of_month(int y, int m);
+int walkthrough_dates(struct event **e);
+void addtodate(struct event *e, int year, int month, int day);
+
+/* pom.c */
+#define MAXMOONS 18
+void pom(int year, double UTCoffset, int *fms, int *nms);
+void fpom(int year, double utcoffset, double *ffms, double *fnms);
+
+/* sunpos.c */
+void equinoxsolstice(int year, double UTCoffset, int *equinoxdays, int *solsticedays);
+void fequinoxsolstice(int year, double UTCoffset, double *equinoxdays, double *solsticedays);
+int calculatesunlongitude30(int year, int degreeGMToffset, int *ichinesemonths);
Modified: stable/8/usr.bin/calendar/calendars/calendar.australia
==============================================================================
--- stable/8/usr.bin/calendar/calendars/calendar.australia Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendars/calendar.australia Mon Aug 23 22:09:25 2010 (r211723)
@@ -10,49 +10,63 @@
LANG=en_AU.ISO8859-1
/* Australia */
-Jan 26 Australia Day
-Mar/SunLast Daylight Savings Time ends in ACT, NSW, SA, TAS and VIC.
-Apr 25 Anzac Day
+Jan 26 Australia Day
+Apr/SunFirst Daylight Savings Time ends in ACT, NSW, SA, TAS and VIC.
+Apr 25 Anzac Day
Jun/MonSecond Queen's Birthday Holiday (Australia, except WA)
-Oct/SunLast Daylight Savings Time starts in ACT, NSW, SA and VIC.
+Oct/SunFirst Daylight Savings Time starts in ACT, NSW, SA and VIC.
/* ACT, NSW, common */
-Mar 18 Canberra Day (ACT)
-8/MonFirst Bank Holiday (ACT, NSW)
-10/MonFirst Labour Day (ACT, NSW, SA)
+Mar 18 Canberra Day (ACT)
+Sep/MonLast Family & Community Day (ACT)
+Aug/MonFirst Bank Holiday (ACT, NSW)
+Oct/MonFirst Labour Day (ACT, NSW, SA)
/* Victoria */
-3/MonSecond Labour Day (Vic)
-Nov/TueFirst Melbourne Cup (Vic)
+Mar/MonSecond Labour Day (VIC)
+Nov/TueFirst Melbourne Cup (VIC)
-/* Tasmania */
-Feb 11 Regatta Day (Tas)
-Feb 27 Launceston Cup (Tas)
-Mar 11 Eight Hours Day (Tas)
-Oct/SunFirst Daylight Savings Time starts in TAS.
-Oct 10 Launceston Show Day (Tas)
-Oct 24 Hobart Show Day (Tas)
-Nov 04 Recreation Day (N Tas)
+/* Tasmania
+ * http://www.wst.tas.gov.au/employment_info/public_holidays/html/2010
+ */
+Feb/MonSecond Regatta Day (TAS)
+Feb/WedLast Launceston Cup (TAS)
+Mar/TueFirst King Island show (TAS)
+Mar/MonSecond Eight Hours Day (TAS)
+Oct 10 Launceston Show Day (TAS) /* Thursday preceding second Saturday in October */
+Oct 24 Hobart Show Day (TAS) /* Thursday preceding fourth Saturday in October */
+Nov/MonFirst Recreation Day (N TAS)
+
+/*
+Oct/SatSecond-2 Launceston Show Day (TAS) // Thursday preceding second Sat in October
+Oct/SatFourth-2 Hobart Show Day (TAS) // Thursday preceding fourth Sat in October
+May/ThuFirst+1 Agfest (Circular Head only) // Friday following the first Thursday in May
+Oct/SatFirst-1 Burnie Show // Friday preceding first Saturday in October
+Oct/SatThird-1 Flinders Island Show // Friday preceding third Saturday in October
+
+DEVONPORT CUP Wednesday not earlier than fifth and not later than eleventh day of January
+DEVONPORT SHOW Friday nearest last day in November, but not later than first day of December
+*/
/* South Australia */
May/MonThird Adelaide Cup (SA)
-Dec 26 Proclamation Day holiday (SA)
+Dec 26 Proclamation Day holiday (SA)
/* Western Australia */
-3/MonFirst Labour Day (WA)
-6/MonFirst Foundation Day (WA)
-Sep 30 Queen's Birthday (WA)
+Mar/MonFirst Labour Day (WA)
+Jun/MonFirst Foundation Day (WA)
+Sep 30 Queen's Birthday (WA)
/* Northern Territory */
-5/MonFirst May Day (NT)
-7/FriFirst Alice Springs Show Day (NT)
-7/FriSecond Tennant Creek Show Day (NT)
-7/FriThird Katherine Show Day (NT)
-7/FriLast Darwin Show Day (NT)
-8/MonFirst Picnic Day (NT)
+May/MonFirst May Day (NT)
+Jul/FriFirst Alice Springs Show Day (NT)
+Jul/FriSecond Tennant Creek Show Day (NT)
+Jul/FriThird Katherine Show Day (NT)
+Jul/FriLast Darwin Show Day (NT)
+Aug/MonFirst Picnic Day (NT)
/* Queensland */
-5/MonFirst Labour Day (Qld)
-Aug 14 RNA Show Day (Brisbane metro)
+May/MonFirst Labour Day (QLD)
+Aug/WedSecond RNA Show Day (Brisbane metro) /* Second Last Wednesday */
#endif
Modified: stable/8/usr.bin/calendar/calendars/calendar.dutch
==============================================================================
--- stable/8/usr.bin/calendar/calendars/calendar.dutch Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendars/calendar.dutch Mon Aug 23 22:09:25 2010 (r211723)
@@ -10,25 +10,25 @@ Easter=Pasen
/*
* Feestdagen
*/
-01/01 Nieuwjaar
-01/06 Driekoningen
-04/01 Een April
-04/30 Koninginendag
-05/01 Dag van de Arbeid
-05/04 Dodenherdenking
-05/05 Bevrijdingsdag
-10/04 Dierendag
-11/01 Allerheilingen
-11/02 Allerzielen
-11/11 Sint Maarten
-11/11 Elfde-van-de-elfde
-12/05 Sinterklaas avond
-12/15 Koninkrijksdag
-12/24 Kerstavond
-12/25 Eerste kerstdag
-12/26 Tweede kerstdag
-12/28 Feest der Onnozele Kinderen
-12/31 Oudjaar
+jan/01 Nieuwjaar
+jan/06 Driekoningen
+apr/01 1 april
+apr/30 Koninginnedag
+mei/01 Dag van de Arbeid
+mei/04 Dodenherdenking
+mei/05 Bevrijdingsdag
+okt/04 Dierendag
+nov/01 Allerheiligen
+nov/02 Allerzielen
+nov/11 Sint Maarten
+nov/11 Elfde-van-de-elfde
+dec/05 Sinterklaas avond
+dec/15 Koninkrijksdag
+dec/24 Kerstavond
+dec/25 Eerste kerstdag
+dec/26 Tweede kerstdag
+dec/28 Feest der Onnozele Kinderen
+dec/31 Oudjaar
/*
* Pasen gerelateerd
@@ -38,12 +38,12 @@ Pasen-49 Carnaval
Pasen-48 Carnaval
Pasen-47 Carnaval (Vastenavond)
Pasen-46 Aswoensdag
-Pasen-7 Palmzondag
-Pasen-3 Witte Donderdag
-Pasen-2 Goede vrijdag
-Pasen-1 Stille zaterdag
+Pasen-7 Palmzondag
+Pasen-3 Witte Donderdag
+Pasen-2 Goede vrijdag
+Pasen-1 Stille zaterdag
Pasen Eerste paasdag
-Pasen+1 Tweede paasdag
+Pasen+1 Tweede paasdag
Pasen+39 Hemelvaartsdag
Pasen+49 Eerste Pinksterdag
Pasen+50 Tweede Pinksterdag
@@ -52,28 +52,28 @@ Pasen+56 Trinitatis
/*
* Misc
*/
-05/SunSecond Moederdag
-06/SunThird Vaderdag
-09/TueThird Prinsjesdag
+mei/SunSecond Moederdag
+jun/SunThird Vaderdag
+sep/TueThird Prinsjesdag
/*
* Het koningshuis
*/
-01/19 Prinses Margriet (1943)
-01/31 Koningin Beatrix (1938)
-02/17 Prins Willem III (1817 - 1890)
-02/18 Prinses Christina (1947)
-04/10 Prinses Ariane (2007)
-04/19 Prins Hendrik (1876 - 1934)
-04/27 Kroonprins Willem Alexander (1967)
-04/30 Koningin Juliana (1909 - 2004)
-04/30 Mr. Pieter van Vollenhoven (1939)
-05/17 Prinses Maxima (1971)
-06/26 Prinses Alexia (2005)
-06/29 Prins Bernhard (1911 - 2004)
-08/05 Prinses Irene (1939)
-08/31 Prinses Wilhelmina (1880 - 1962)
-09/06 Prins Claus (1925 - 2002)
-09/25 Prins Johan Friso (1968)
-10/11 Prins Constantijn (1969)
-12/07 Prinses Catharina-Amalia (2003)
+jan/19 Prinses Margriet (1943)
+jan/31 Koningin Beatrix (1938)
+feb/17 Prins Willem III (1817 - 1890)
+feb/18 Prinses Christina (1947)
+apr/10 Prinses Ariane (2007)
+apr/19 Prins Hendrik (1876 - 1934)
+apr/27 Kroonprins Willem Alexander (1967)
+apr/30 Koningin Juliana (1909 - 2004)
+apr/30 Mr. Pieter van Vollenhoven (1939)
+mei/17 Prinses Maxima (1971)
+jun/26 Prinses Alexia (2005)
+jun/29 Prins Bernhard (1911 - 2004)
+aug/05 Prinses Irene (1939)
+aug/31 Prinses Wilhelmina (1880 - 1962)
+sep/06 Prins Claus (1925 - 2002)
+sep/25 Prins Johan Friso (1968)
+okt/11 Prins Constantijn (1969)
+dec/07 Prinses Catharina-Amalia (2003)
Modified: stable/8/usr.bin/calendar/calendars/calendar.freebsd
==============================================================================
--- stable/8/usr.bin/calendar/calendars/calendar.freebsd Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendars/calendar.freebsd Mon Aug 23 22:09:25 2010 (r211723)
@@ -72,6 +72,7 @@
03/03 Doug White <dwhite at FreeBSD.org> born in Eugene, Oregon, United States, 1977
03/03 Gordon Tetlow <gordon at FreeBSD.org> born in Reno, Nevada, United States, 1978
03/04 Oleksandr Tymoshenko <gonzo at FreeBSD.org> born in Chernihiv, Ukraine, 1980
+03/05 Baptiste Daroussin <bapt at FreeBSD.org> born in Beauvais, France, 1980
03/05 Philip Paeps <philip at FreeBSD.org> born in Leuven, Belgium, 1983
03/05 Ulf Lilleengen <lulf at FreeBSD.org> born in Hamar, Norway, 1985
03/06 Christopher Piazza <cpiazza at FreeBSD.org> born in Kamloops, British Columbia, Canada, 1981
@@ -82,6 +83,7 @@
03/12 Greg Lewis <glewis at FreeBSD.org> born in Adelaide, South Australia, Australia, 1969
03/13 Alexander Leidinger <netchild at FreeBSD.org> born in Neunkirchen, Saarland, Germany, 1976
03/13 Will Andrews <will at FreeBSD.org> born in Pontiac, Michigan, United States, 1982
+03/14 Bernhard Froehlich <decke at FreeBSD.org> born in Graz, Styria, Austria, 1985
03/15 Paolo Pisati <piso at FreeBSD.org> born in Lodi, Italy, 1977
03/15 Brian Fundakowski Feldman <green at FreeBSD.org> born in Alexandria, Virginia, United States, 1983
03/17 Michael Smith <msmith at FreeBSD.org> born in Bankstown, New South Wales, Australia, 1971
@@ -91,6 +93,7 @@
03/20 MANTANI Nobutaka <nobutaka at FreeBSD.org> born in Hiroshima, Japan, 1978
03/20 Cameron Grant <cg at FreeBSD.org> died in Hemel Hempstead, United Kingdom, 2005
03/20 Henrik Brix Andersen <brix at FreeBSD.org> born in Aarhus, Denmark, 1978
+03/20 Joseph S. Atkinson <jsa at FreeBSD.org> born in Batesville, Arkansas, United States, 1977
03/22 Brad Davis <brd at FreeBSD.org> born in Farmington, New Mexico, United States, 1983
03/23 Daniel C. Sobral <dcs at FreeBSD.org> born in Brasilia, Distrito Federal, Brazil, 1971
03/23 Benno Rice <benno at FreeBSD.org> born in Adelaide, South Australia, Australia, 1977
@@ -135,6 +138,7 @@
05/11 Jesus Rodriguez <jesusr at FreeBSD.org> born in Barcelona, Spain, 1972
05/11 Roman Kurakin <rik at FreeBSD.org> born in Moscow, USSR, 1979
05/13 Pete Fritchman <petef at FreeBSD.org> born in Lansdale, Pennsylvania, United States, 1983
+05/14 Bruce Cran <brucec at FreeBSD.org> born in Cambridge, United Kingdom, 1981
05/14 Tatsumi Hosokawa <hosokawa at FreeBSD.org> born in Tokyo, Japan, 1968
05/14 Shigeyuku Fukushima <shige at FreeBSD.org> born in Osaka, Japan, 1974
05/16 Johann Kois <jkois at FreeBSD.org> born in Wolfsberg, Austria, 1975
@@ -200,6 +204,7 @@
07/19 Masafumi NAKANE <max at FreeBSD.org> born in Okazaki, Aichi, Japan, 1972
07/19 Simon L. Nielsen <simon at FreeBSD.org> born in Copenhagen, Denmark, 1980
07/19 Gleb Smirnoff <glebius at FreeBSD.org> born in Kharkov, USSR, 1981
+07/20 Andrey V. Elsukov <ae at FreeBSD.org> born in Kotelnich, Russian Federation, 1981
07/22 James Housley <jeh at FreeBSD.org> born in Chicago, Illinois, United States, 1965
07/22 Jens Schweikhardt <schweikh at FreeBSD.org> born in Waiblingen, Baden-Wuerttemberg, Germany, 1967
07/22 Lukas Ertl <le at FreeBSD.org> born in Weissenbach/Enns, Steiermark, Austria, 1976
@@ -251,6 +256,7 @@
09/12 Benedict Christopher Reuschling <bcr at FreeBSD.org> born in Darmstadt, Germany, 1981
09/15 Dima Panov <fluffy at FreeBSD.org> born in Khabarovsk, Russian Federation, 1978
09/17 Maxim Bolotin <mb at FreeBSD.org> born in Rostov-on-Don, Russian Federation, 1976
+09/18 Matthew Fleming <mdf at FreeBSD.org> born in Cleveland, Ohio, United States, 1975
09/20 Kevin Lo <kevlo at FreeBSD.org> born in Taipei, Taiwan, Republic of China, 1972
09/27 Neil Blakey-Milner <nbm at FreeBSD.org> born in Port Elizabeth, South Africa, 1978
09/27 Renato Botelho <garga at FreeBSD.org> born in Araras, Sao Paulo, Brazil, 1979
@@ -284,6 +290,7 @@
11/10 Gregory Neil Shapiro <gshapiro at FreeBSD.org> born in Providence, Rhode Island, United States, 1970
11/13 John Baldwin <jhb at FreeBSD.org> born in Stuart, Virginia, United States, 1977
11/15 Lars Engels <lme at FreeBSD.org> born in Hilden, Nordrhein-Westfalen, Germany, 1980
+11/15 Tijl Coosemans <tijl at FreeBSD.org> born in Duffel, Belgium, 1983
11/16 Jose Maria Alcaide Salinas <jmas at FreeBSD.org> born in Madrid, Spain, 1962
11/17 Ralf S. Engelschall <rse at FreeBSD.org> born in Dachau, Bavaria, Germany, 1972
11/18 Thomas Quinot <thomas at FreeBSD.org> born in Paris, France, 1977
Modified: stable/8/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common
==============================================================================
--- stable/8/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common Mon Aug 23 22:09:25 2010 (r211723)
@@ -18,6 +18,7 @@ LANG=ru_RU.KOI8-R
10 ÆÅ× äÅÎØ ÄÉÐÌÏÍÁÔÉÞÅÓËÏÇÏ ÒÁÂÏÔÎÉËÁ
1 ÍÁÒ ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ÇÒÁÖÄÁÎÓËÏÊ ÏÂÏÒÏÎÙ
03/SunSecond äÅÎØ ÒÁÂÏÔÎÉËÏ× ÇÅÏÄÅÚÉÉ É ËÁÒÔÏÇÒÁÆÉÉ
+11 ÍÁÒ äÅÎØ ÒÁÂÏÔÎÉËÁ ÏÒÇÁÎÏ× ÎÁÒËÏËÏÎÔÒÏÌÑ
18 ÍÁÒ äÅÎØ ÎÁÌÏÇÏ×ÏÊ ÐÏÌÉÃÉÉ
03/SunThird äÅÎØ ÒÁÂÏÔÎÉËÏ× ÔÏÒÇÏ×ÌÉ, ÂÙÔÏ×ÏÇÏ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÎÁÓÅÌÅÎÉÑ É ÖÉÌÉÝÎÏ-ËÏÍÍÕÎÁÌØÎÏÇÏ ÈÏÚÑÊÓÔ×Á
27 ÍÁÒ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÔÅÁÔÒÁ
@@ -33,22 +34,28 @@ LANG=ru_RU.KOI8-R
17 ÍÁÊ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÔÅÌÅËÏÍÍÕÎÉËÁÃÉÊ
18 ÍÁÊ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÍÕÚÅÅ×
24 ÍÁÊ äÅÎØ ÓÌÁ×ÑÎÓËÏÊ ÐÉÓØÍÅÎÎÏÓÔÉ É ËÕÌØÔÕÒÙ
+26 ÍÁÊ äÅÎØ ÒÏÓÓÉÊÓËÏÇÏ ÐÒÅÄÐÒÉÎÉÍÁÔÅÌØÓÔ×Á
27 ÍÁÊ ïÂÝÅÒÏÓÓÉÊÓËÉÊ ÄÅÎØ ÂÉÂÌÉÏÔÅË
28 ÍÁÊ äÅÎØ ÐÏÇÒÁÎÉÞÎÉËÁ
+30 ÍÁÊ äÅÎØ ÐÏÖÁÒÎÏÊ ÏÈÒÁÎÙ
+31 ÍÁÊ äÅÎØ òÏÓÓÉÊÓËÏÊ áÄ×ÏËÁÔÕÒÙ
05/SunLast äÅÎØ ÈÉÍÉËÁ
1 ÉÀÎ äÅÎØ ÚÁÝÉÔÙ ÄÅÔÅÊ
+ 5 ÉÀÎ äÅÎØ ÜËÏÌÏÇÁ
6 ÉÀÎ ðÕÛËÉÎÓËÉÊ ÄÅÎØ
8 ÉÀÎ äÅÎØ ÓÏÃÉÁÌØÎÏÇÏ ÒÁÂÏÔÎÉËÁ
06/SunSecond äÅÎØ ÒÁÂÏÔÎÉËÏ× ÌÅÇËÏÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ
06/SunThird äÅÎØ ÍÅÄÉÃÉÎÓËÏÇÏ ÒÁÂÏÔÎÉËÁ
22 ÉÀÎ äÅÎØ ÐÁÍÑÔÉ É ÓËÏÒÂÉ (îÁÞÁÌÏ ÷ÅÌÉËÏÊ ïÔÅÞÅÓÔ×ÅÎÎÏÊ ÷ÏÊÎÙ, 1941 ÇÏÄ)
27 ÉÀÎ äÅÎØ ÍÏÌÏÄÅÖÉ
+29 ÉÀÎ äÅÎØ ÐÁÒÔÉÚÁÎ É ÐÏÄÐÏÌØÝÉËÏ×
06/SatLast äÅÎØ ÉÚÏÂÒÅÔÁÔÅÌÑ É ÒÁÃÉÏÎÁÌÉÚÁÔÏÒÁ
07/SunFirst äÅÎØ ÒÁÂÏÔÎÉËÏ× ÍÏÒÓËÏÇÏ É ÒÅÞÎÏÇÏ ÆÌÏÔÁ
07/SunSecond äÅÎØ ÒÙÂÁËÁ
07/SunSecond äÅÎØ ÒÏÓÓÉÊÓËÏÊ ÐÏÞÔÙ
07/SunThird äÅÎØ ÍÅÔÁÌÌÕÒÇÁ
07/SunLast äÅÎØ ÷ÏÅÎÎÏ-íÏÒÓËÏÇÏ æÌÏÔÁ
+28 ÉÀÌ äÅÎØ ËÒÅÝÅÎÉÑ òÕÓÉ
6 Á×Ç äÅÎØ ÖÅÌÅÚÎÏÄÏÒÏÖÎÙÈ ×ÏÊÓË
08/SunFirst äÅÎØ ÖÅÌÅÚÎÏÄÏÒÏÖÎÉËÁ
12 Á×Ç äÅÎØ ×ÏÅÎÎÏ-×ÏÚÄÕÛÎÙÈ ÓÉÌ
@@ -59,12 +66,16 @@ LANG=ru_RU.KOI8-R
08/SunLast äÅÎØ ÛÁÈÔÅÒÁ
1 ÓÅÎ äÅÎØ ÚÎÁÎÉÊ
2 ÓÅÎ äÅÎØ ÒÏÓÓÉÊÓËÏÊ Ç×ÁÒÄÉÉ
+ 3 ÓÅÎ äÅÎØ ÓÏÌÉÄÁÒÎÏÓÔÉ × ÂÏÒØÂÅ Ó ÔÅÒÒÏÒÉÚÍÏÍ
+ 4 ÓÅÎ äÅÎØ ÓÐÅÃÉÁÌÉÓÔÁ ÐÏ ÑÄÅÒÎÏÍÕ ÏÂÅÓÐÅÞÅÎÉÀ
09/SunFirst äÅÎØ ÒÁÂÏÔÎÉËÏ× ÎÅÆÔÑÎÏÊ É ÇÁÚÏ×ÏÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ
09/SunSecond äÅÎØ ÔÁÎËÉÓÔÁ
09/SunThird äÅÎØ ÒÁÂÏÔÎÉËÏ× ÌÅÓÁ
+28 ÓÅÎ äÅÎØ ÒÁÂÏÔÎÉËÁ ÁÔÏÍÎÏÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ
09/SunLast äÅÎØ ÍÁÛÉÎÏÓÔÒÏÉÔÅÌÑ
1 ÏËÔ äÅÎØ ÐÏÖÉÌÙÈ ÌÀÄÅÊ
- 4 ÏËÔ äÅÎØ ×ÏÅÎÎÏ-ËÏÓÍÉÞÅÓËÉÈ ÓÉÌ
+ 1 ÏËÔ äÅÎØ ÓÕÈÏÐÕÔÎÙÈ ×ÏÊÓË
+ 4 ÏËÔ äÅÎØ ËÏÓÍÉÞÅÓËÉÈ ×ÏÊÓË
5 ÏËÔ äÅÎØ ÕÞÉÔÅÌÑ
14 ÏËÔ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÓÔÁÎÄÁÒÔÉÚÁÃÉÉ
10/SunSecond äÅÎØ ÒÁÂÏÔÎÉËÏ× ÓÅÌØÓËÏÇÏ ÈÏÚÑÊÓÔ×Á É ÐÅÒÅÒÁÂÁÔÙ×ÁÀÝÅÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ
@@ -73,15 +84,19 @@ LANG=ru_RU.KOI8-R
25 ÏËÔ äÅÎØ ÔÁÍÏÖÅÎÎÉËÁ
30 ÏËÔ äÅÎØ ÐÁÍÑÔÉ ÖÅÒÔ× ÐÏÌÉÔÉÞÅÓËÉÈ ÒÅÐÒÅÓÓÉÊ
10/SunLast äÅÎØ ÒÁÂÏÔÎÉËÏ× Á×ÔÏÍÏÂÉÌØÎÏÇÏ ÔÒÁÎÓÐÏÒÔÁ
+ 7 ÎÏÑ äÅÎØ ÏËÔÑÂÒØÓËÏÊ ÒÅ×ÏÌÀÃÉÉ 1917 ÇÏÄÁ
9 ÎÏÑ ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ËÁÞÅÓÔ×Á
10 ÎÏÑ äÅÎØ ÍÉÌÉÃÉÉ
16 ÎÏÑ äÅÎØ ÍÏÒÓËÏÊ ÐÅÈÏÔÙ
17 ÎÏÑ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÓÔÕÄÅÎÔÏ×
-11/SunThird äÅÎØ ÒÁËÅÔÎÙÈ ×ÏÊÓË É ÁÒÔÉÌÌÅÒÉÉ
+19 ÎÏÑ äÅÎØ ÒÁËÅÔÎÙÈ ×ÏÊÓË É ÁÒÔÉÌÌÅÒÉÉ
21 ÎÏÑ äÅÎØ ÒÁÂÏÔÎÉËÏ× ÎÁÌÏÇÏ×ÙÈ ÏÒÇÁÎÏ×
26 ÎÏÑ ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ÉÎÆÏÒÍÁÃÉÉ
11/SunLast äÅÎØ ÍÁÔÅÒÉ
1 ÄÅË ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ÂÏÒØÂÙ ÓÏ óðéäÏÍ
+ 3 ÄÅË äÅÎØ ÀÒÉÓÔÁ
+ 9 ÄÅË äÅÎØ çÅÒÏÅ× ïÔÅÞÅÓÔ×Á
+12 ÄÅË äÅÎØ ëÏÎÓÔÉÔÕÃÉÉ
17 ÄÅË äÅÎØ ÒÁËÅÔÎÙÈ ×ÏÊÓË ÓÔÒÁÔÅÇÉÞÅÓËÏÇÏ ÎÁÚÎÁÞÅÎÉÑ
20 ÄÅË äÅÎØ ÒÁÂÏÔÎÉËÁ ÏÒÇÁÎÏ× ÂÅÚÏÐÁÓÎÏÓÔÉ
22 ÄÅË äÅÎØ ÜÎÅÒÇÅÔÉËÁ
Modified: stable/8/usr.bin/calendar/day.c
==============================================================================
--- stable/8/usr.bin/calendar/day.c Mon Aug 23 22:04:30 2010 (r211722)
+++ stable/8/usr.bin/calendar/day.c Mon Aug 23 22:09:25 2010 (r211723)
@@ -1,4 +1,4 @@
-/*
+/*-
* Copyright (c) 1989, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
@@ -10,10 +10,6 @@
* 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.
@@ -34,9 +30,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/uio.h>
-#include <ctype.h>
#include <err.h>
#include <locale.h>
#include <stdio.h>
@@ -44,123 +37,40 @@ __FBSDID("$FreeBSD$");
#include <string.h>
#include <time.h>
-#include "pathnames.h"
#include "calendar.h"
-struct tm *tp;
-static const struct tm tm0;
-int *cumdays, yrdays;
-char dayname[10];
-
-
-/* 1-based month, 0-based days, cumulative */
-int daytab[][14] = {
- {0, -1, 30, 58, 89, 119, 150, 180, 211, 242, 272, 303, 333, 364},
- {0, -1, 30, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365},
-};
-
-static char const *days[] = {
- "sun", "mon", "tue", "wed", "thu", "fri", "sat", NULL,
-};
-
-static const char *months[] = {
- "jan", "feb", "mar", "apr", "may", "jun",
- "jul", "aug", "sep", "oct", "nov", "dec", NULL,
-};
-
-static struct fixs fndays[8]; /* full national days names */
-static struct fixs ndays[8]; /* short national days names */
-
-static struct fixs fnmonths[13]; /* full national months names */
-static struct fixs nmonths[13]; /* short national month names */
+time_t time1, time2;
+const struct tm tm0;
+char dayname[100];
+int year1, year2;
void
-setnnames(void)
-{
- char buf[80];
- int i, l;
- struct tm tm;
-
- for (i = 0; i < 7; i++) {
- tm.tm_wday = i;
- strftime(buf, sizeof(buf), "%a", &tm);
- for (l = strlen(buf);
- l > 0 && isspace((unsigned char)buf[l - 1]);
- l--)
- ;
- buf[l] = '\0';
- if (ndays[i].name != NULL)
- free(ndays[i].name);
- if ((ndays[i].name = strdup(buf)) == NULL)
- errx(1, "cannot allocate memory");
- ndays[i].len = strlen(buf);
-
- strftime(buf, sizeof(buf), "%A", &tm);
- for (l = strlen(buf);
- l > 0 && isspace((unsigned char)buf[l - 1]);
- l--)
- ;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list