bsdmainutils-9.0.6ubuntu3/0000775000000000000000000000000012665277472012464 5ustar bsdmainutils-9.0.6ubuntu3/config.mk0000664000000000000000000000262711512674015014251 0ustar # config.mk # $Id$ # Configuration variables for bsdmainutils build system. These variables # can be set here or through the environment. CC ?= cc CFLAGS ?= -O2 -g DESTDIR ?= # Each directory in usr.bin has the following targets avaiable: (none), # install, clean. These targets also exist in the top level Makefile. # Programs are able to specify additional libraries to link against, and # are able to specify additional installation rules. # * To set additional linker flags, set the LDFLAGS variable in the # program Makefile. # * To specify a non-standard manpage, set the MAN variable. # * To add post-installation commands, define an install-2 target. # * To add additional sources, set the SRC variable. # setup some defaults SRC ?= $(PROG).c MAN ?= $(PROG).1 sysconfdir=$(DESTDIR)/etc datadir=$(DESTDIR)/usr/share bindir=$(DESTDIR)/usr/bin mandir=$(datadir)/man/man1 # rule for building the program ifneq ($(findstring .sh,$(SRC)),) $(PROG): $(SRC) cp $< $@ chmod 0755 $@ else objs=$(subst .c,.o,$(SRC)) $(PROG): $(objs) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) endif .c.o: $(CC) -include $(topdir)/freebsd.h $(FLAGS) $(CFLAGS) -c -o $@ $< # normal installation rule install-1: $(PROG) install -o root -g root -m 755 $(PROG) $(bindir) install -o root -g root -m 644 $(MAN) $(mandir) install: install-1 install-2 clean: -rm -f $(PROG) *.o .PHONY: install-1 install-2 install clean # vim:sw=4:ts=4: bsdmainutils-9.0.6ubuntu3/debian/0000775000000000000000000000000012665277473013707 5ustar bsdmainutils-9.0.6ubuntu3/debian/source/0000775000000000000000000000000012442073611015164 5ustar bsdmainutils-9.0.6ubuntu3/debian/source/format0000664000000000000000000000000411377172625016404 0ustar 1.0 bsdmainutils-9.0.6ubuntu3/debian/lintian/0000775000000000000000000000000012442073611015322 5ustar bsdmainutils-9.0.6ubuntu3/debian/lintian/bsdmainutils0000664000000000000000000000007411371260565017752 0ustar bsdmainutils: setgid-binary usr/bin/bsd-write 2755 root/tty bsdmainutils-9.0.6ubuntu3/debian/calendarJudaic.py0000664000000000000000000001264312442073025017134 0ustar #! /usr/bin/python # Filename: calendarJudaic.py # # License: no warranty close + no license (public domain) # # Author: Ron Varburg # # Creates a calendar.judaic file, which is suitable for inclusion # in Debian's bsdmainutils package. Up to the introductory of # this script the calendar.judaic file was not updated regularly. # Probably because updating it is time consuming. This python # script let anyone create that file, for any year. Its output is # written to stdout. It requires the libhdate-python package. # A small part of the holidays might require manual editing # because the state of Israel modifies the actual date by a few # days due to various considerations. # References: # http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58169.html # http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58321.html # http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg58451.html from string import Template import hdate, optparse, sys, time def main(): description = '''Description: Creates a calendar.judaic file, which is suitable for inclusion in Debian's bsdmainutils package. Up to the introductory of this script the calendar.judaic file was not updated regulary. Probably because updating it is time consuming. This python script let anyone create that file, for any year. Its output is written to stdout. It requires the libhdate-python package. A small part of the holydays might require manual editing because the state of Israel modifies the actual date by a few days due to various considerations. ''' usage = "Usage: %prog [year]\n"\ " %prog [--help|--version]\n"\ "\n"\ "Example: %prog" version = "29-May-2010" parser = optparse.OptionParser(description=description, usage=usage, version=version) (options, args) = parser.parse_args() if len(args)> 1: parser.error("\n " + str(len(args)) + " arguments were " "given. At most 1, an integer represnting a year, " "is expected." ) elif len(args) == 1: # An integer represnting a year is expected. try: year = int(args[0]) except ValueError: parser.error("\n Could not convert the argument " + args[0] + ", which should represent a year, to an integer." ) else: # len(args) == 0, no args were given. Use the current year. year = time.localtime().tm_year h = hdate.Hdate() template_for_header = '''/* * Judaic Calendar. Created by calendar.judaic.py. * Collaboratively authored by linux-il@cs.huji.ac.il. * * $$Debian GNU\Linux$$ * */ /* * $$Id: calendarJudaic.py,v ${PLACE_HOLDER_FOR_VERSION}$$ */ #ifndef _calendar_judaic_ #define _calendar_judaic_ LANG=UTF-8 /* * Jewish calendar for the CE year ${PLACE_HOLDER_FOR_THR_CE_YEAR} * ${PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR} - ${PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR} */ ''' footer = ''' #endif /* !_calendar_judaic_ */''' substitutions_for_header = { 'PLACE_HOLDER_FOR_VERSION' : version, 'PLACE_HOLDER_FOR_THR_CE_YEAR' : str(year) } h.set_gdate(1, 1, year) substitutions_for_header[ 'PLACE_HOLDER_FOR_THE_JEWISH_START_OF_THE_CE_YEAR'] = \ h.get_format_date(h.get_julian()) + ' ' + \ h.get_hebrew_year_string() h.set_gdate(31, 12, year) substitutions_for_header[ 'PLACE_HOLDER_FOR_THE_JEWISH_END_OF_THE_CE_YEAR'] = \ h.get_format_date(h.get_julian()) + ' ' + \ h.get_hebrew_year_string() header = Template(template_for_header).substitute( substitutions_for_header) print header h.set_gdate(1, 1, year) julian = h.get_julian() for i in range(0, 365): h.set_jd(julian) julian += 1 day = h.get_gday() month = h.get_gmonth() holyday = { 'Israel' : None, 'diaspora' : None } parasha = { 'Israel' : None, 'diaspora' : None } h.set_israel holyday['Israel'] = h.get_holyday_string(0) parasha['Israel'] = h.get_parasha_string(0) h.set_diaspora holyday['diaspora'] = h.get_holyday_string(0) parasha['diaspora'] = h.get_parasha_string(0) if holyday['Israel']: if holyday['Israel'] == holyday['diaspora']: print "%02d/%02d* %s" % (day, month, holyday['Israel']) else: print "%02d/%02d* %s (Israel only)" % \ (day, month, holyday['Israel']) elif holyday['diaspora']: print "%02d/%02d* %s (diaspora only)" % \ (day, month, holyday['diaspora']) if parasha['Israel'] and parasha['Israel'] != 'none': if parasha['Israel'] == parasha['diaspora']: print "%02d/%02d* Parshat %s" % \ (day, month, parasha['Israel']) else: print "%02d/%02d* %s (Israel only)" % \ (day, month, parasha['Israel']) elif parasha['diaspora'] and parasha['diaspora'] != 'none': # See http://bugs.debian.org/583092 why 'none' is required here. print "%02d/%02d* Parshat %s (diaspora only)" % \ (day, month, parasha['diaspora']) print footer sys.exit() if __name__ == "__main__": main() else: # The following is useful from within an interactive Python # interpreter, where calendarJudaic.py is in the same `pwd`: # >>> import calendarJudaic pass bsdmainutils-9.0.6ubuntu3/debian/control0000664000000000000000000000242612442073063015274 0ustar Source: bsdmainutils Section: utils Priority: important Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Bsdmainutils Team Uploaders: Giacomo Catenazzi , Michael Meskes Build-Depends: debhelper (>= 7), libncurses5-dev, quilt (>= 0.40), python:any, python-hdate Standards-Version: 3.9.5 Vcs-Git: git://anonscm.debian.org/bsdmainutils/bsdmainutils.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=bsdmainutils/bsdmainutils.git Package: bsdmainutils Architecture: any Multi-Arch: foreign Depends: ${shlibs:Depends}, ${misc:Depends}, bsdutils (>= 3.0-0), debianutils (>= 1.8) Breaks: bsdutils (<< 1:2.13-11) Suggests: cpp, wamerican | wordlist, whois, vacation Description: collection of more utilities from FreeBSD This package contains lots of small programs many people expect to find when they use a BSD-style Unix system. . It provides banner (as printerbanner), calendar, col, colcrt, colrm, column, from (as bsd-from), hexdump (or hd), look, lorder, ncal (or cal), ul, and write (as bsd-write). . This package used to contain whois and vacation, which are now distributed in their own packages. Also here was tsort, which is now in the "coreutils" package. bsdmainutils-9.0.6ubuntu3/debian/cron.daily0000775000000000000000000000054311756711411015662 0ustar #!/bin/sh # /etc/cron.daily/calendar: BSD mainutils calendar daily maintenance script # Written by Austin Donnelly . /etc/default/bsdmainutils [ x$RUN_DAILY = xtrue ] || exit 0 [ -x /usr/sbin/sendmail ] || exit 0 if [ ! -x /usr/bin/cpp ]; then echo "The cpp package is needed to run calendar." exit 1 fi /usr/bin/calendar -a bsdmainutils-9.0.6ubuntu3/debian/install0000664000000000000000000000521512442073025015257 0ustar usr.bin/calendar/calendars/de_DE.ISO8859-1/* /usr/share/calendar/de_DE usr.bin/calendar/calendars/fr_FR.ISO8859-1/* /usr/share/calendar/fr_FR usr.bin/calendar/calendars/ru_RU.KOI8-R/* /usr/share/calendar/ru_RU usr.bin/calendar/calendars/hr_HR.ISO8859-2/* /usr/share/calendar/hr_HR usr.bin/calendar/calendars/de_AT.ISO_8859-15/* /usr/share/calendar/de_AT usr.bin/calendar/calendars/hu_HU.ISO8859-2/* /usr/share/calendar/hu_HU usr.bin/calendar/calendars/uk_UA.KOI8-U/* /usr/share/calendar/uk_UA usr.bin/calendar/calendars/calendar.southafrica /usr/share/calendar usr.bin/calendar/calendars/calendar.holiday /usr/share/calendar usr.bin/calendar/calendars/calendar.french /usr/share/calendar usr.bin/calendar/calendars/calendar.newzealand /usr/share/calendar usr.bin/calendar/calendars/calendar.lotr /usr/share/calendar usr.bin/calendar/calendars/calendar.world /usr/share/calendar usr.bin/calendar/calendars/calendar.german /usr/share/calendar usr.bin/calendar/calendars/calendar.croatian /usr/share/calendar usr.bin/calendar/calendars/calendar.christian /usr/share/calendar usr.bin/calendar/calendars/calendar.computer /usr/share/calendar usr.bin/calendar/calendars/calendar.russian /usr/share/calendar usr.bin/calendar/calendars/calendar.freebsd /usr/share/calendar usr.bin/calendar/calendars/calendar.usholiday /usr/share/calendar usr.bin/calendar/calendars/calendar.birthday /usr/share/calendar usr.bin/calendar/calendars/calendar.hungarian /usr/share/calendar usr.bin/calendar/calendars/calendar.music /usr/share/calendar usr.bin/calendar/calendars/calendar.australia /usr/share/calendar usr.bin/calendar/calendars/calendar.dutch /usr/share/calendar usr.bin/calendar/calendars/calendar.history /usr/share/calendar usr.bin/calendar/calendars/calendar.ukrainian /usr/share/calendar debian/calendars/calendar.debian /usr/share/calendar debian/calendars/calendar.all /usr/share/calendar debian/calendars/calendar.world /usr/share/calendar debian/calendars/calendar.ubuntu /usr/share/calendar debian/calendars/calendar.discordian /usr/share/calendar debian/calendars/calendar.eu /usr/share/calendar debian/calendars/calendar.argentina /usr/share/calendar debian/calendars/calendar.pagan /usr/share/calendar debian/calendars/calendar.belgium /usr/share/calendar debian/calendars/calendar.kazakhstan /usr/share/calendar debian/calendars/calendar.thai /usr/share/calendar debian/calendars/calendar.judaic* /usr/share/calendar debian/calendars/calendar.unitedkingdom /usr/share/calendar debian/calendars/default /etc/calendar debian/lintian/bsdmainutils /usr/share/lintian/overrides debian/calendarJudaic.py /usr/share/doc/bsdmainutils bsdmainutils-9.0.6ubuntu3/debian/calendars/0000775000000000000000000000000012665277472015642 5ustar bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.argentina0000664000000000000000000001445411371260565021301 0ustar /* * History of Argentina * Prepared by J. Alejandro Noli * $Id$ */ #ifndef _calendar_argentina_ #define _calendar_argentina_ LANG=utf-8 Jan 01 Comienza a regir el Código Civil Argentino, obra de Vélez Sarsfield, 1871 Jan 03 Usurpación de las Islas Malvinas, 1833 Jan 18 Argentina y Chile reconocen la teoría de "las más altas cumbres", 1878 Jan 31 Nacimiento Atahualpa Yupanqui, 1908 Feb 03 Combate de San Lorenzo, 1813 Feb 03 Batalla de Caseros, 1852 Feb 10 Se sanciona la Ley Nacional de Elecciones, ley "Saenz Peña", 1912 Feb 12 San Martín libra la Batalla de Chacabuco (Chile), 1817 Feb 15 Nace Domingo Faustino Sarmiento, 1811 Feb 18 Muere asesinado Juan Facundo Quiroga, 1835 Feb 20 Batalla de Salta, al mando de Manuel Belgrano, 1813 Feb 25 Nace José de San Martín en Yapeyú provincia de Corrientes, 1778 Feb 27 Manuel Belgrano enarbola por primera vez la bandera celeste y blanca, 1812 Mar 01 Muere en Mendoza el pionero de la aviación Jorge Newbery, 1914 Mar 02 Pedro del Castillo funda la ciudad de Mendoza, 1561 Mar 08 Belgrano y sus hombres derrotados en Tacuarí, 1811 Mar 08 Día internacional de la mujer Mar 14 Muere en Southampton (Inglaterra) Juan Manuel de Rosas, 1877 Mar 16 Se inaugura, fundada por Mariano Moreno, la Biblioteca Nacional, 1812 Mar 20 Un terremoto destruye casi totalmente Mendoza, 1861 Mar 21 Se funda la Universidad Nacional de Cuyo, 1939 Apr 01 Primera misa en territorio argentino, 1520 Apr 02 Fuerzas militares argentinas intentan recuperar las Islas Malvinas, 1982 Apr 05 José de San Martín derrota a las fuerzas realistas en Maipo, 1818 Apr 11 Es asesinado Justo J. de Urquiza en el Palacio San José, 1870 May 01 Día de la Constitución Argentina, 1853 May 07 Nacimiento Eva Perón en Los Toldos (Buenos Aires), 1919 May 11 Día del Himno Nacional Argentino, 1813 May 17 Día de la Armada, 1960 May 18 Día de la Escarapela, 1935 May 26 Formación del Primer Gobierno Patrio, 1810 May 31 Primera fundación de la ciudad de San Miguel de Tucumán, 1565 May 31 Se firma el Acuerdo de San Nicolás de los Arroyos, 1852 May 31 Día Nacional de la Energía Atómica May 31 Día Nacional del Ecoturismo Jun 02 Día del Bombero Voluntario Argentino Jun 03 Nacimiento de Manuel Belgrano, 1770 Jun 06 Día de la Ingeniería Argentina, 1870 Jun 10 Guillermo Rawson funda la Cruz Roja Argentina, 1880 Jun 10 Afirmación de los Derechos Argentinos sobre las Malvinas, 1973 Jun 11 Juan de Garay funda por segunda vez Buenos Aires, 1580 Jun 16 Muere Estanislao López, caudillo y gobernador de Santa Fe, 1838 Jun 17 Día Nacional de la Libertad Latinoamericana Jun 19 Muere en Francia Juan Bautista Alberdi, 1884 Jun 20 Día de la Bandera Jun 20 Fallecimiento de Manuel Belgrano, 1820 Jun 22 Nacimiento del almirante Guillermo Brown en Irlanda, 1777 Jun 24 Muere en un accidente de aviación Carlos Gardel, 1935 Jun 26 Nacimiento de Bartolomé Mitre, 1821 Jun 30 Día de la Prefectura Naval Argentina Jul 01 Muere Juan Domingo Perón, 1974 Jul 03 Muere el político argentino Hipólito Yrigoyen, 1933 Jul 04 Día Nacional del Médico Rural Jul 05 Segunda Invasión Inglesa rechazada por Liniers y la población, 1807 Jul 08 Se promula la Ley 1420 de Educación común gratuita, 1884 Jul 09 Declaración de la Independencia Argentina, 1816 Jul 09 Se jura en Santa Fe la Constitución Nacional, 1853 Jul 13 Día Nacional de las Telecomunicaciones Jul 17 Fallecimiento de Juan M. Fangio, 1995 Jul 17 Día Nacional del Automovilismo Deportivo Jul 23 Día del Payador Jul 26 Entrevista en Guayaquil entre San Martín y Bolívar, 1822 Jul 26 Muere en Buenos Aires Eva Perón, 1952 Jul 28 Día de la Gendarmería Nacional Jul 29 Día de la Cultura Nacional Aug 12 Día de la Reconquista de Buenos Aires Aug 17 Paso a la inmortalidad de José Francisco de San Martín, 1850 Aug 22 Día del Folklore Argentino Aug 23 El general Manuel Belgrano inicia la retirada hacia Tucumán, 1812 Aug 24 Nace en Buenos Aires Jorge Luis Borges, 1899 Aug 26 Nace en Bruselas el escritor Julio Cortázar, 1914 Aug 26 Día Nacional de la Solidaridad Aug 27 Primera transmisión radiofónica, 1920 Aug 29 Nace en Tucumán Juan Bautista Alberdi, 1810 Aug 29 Viaje inaugural de la locomotora "La Porteña", 1857 Aug 31 Delegados de 9 provincias suscriben el Pacto o Liga Unitaria, 1830 Sep 02 Nace en Buenos Aires el escritor Esteban Echeverría, 1805 Sep 02 Muere Bernardino Rivadavia, primer presidente argentino, 1845 Sep 04 Día del inmigrante Sep 06 Nace el investigador argentino Luis Federico Leloir, 1906 Sep 07 Mariano Moreno funda la Biblioteca Pública de Bs. As., 1810 Sep 08 Día del agrigultor Sep 09 Muere en La Plata el político radical Ricardo Balbín, 1981 Sep 11 Día del maestro en honor a la memoria de Domingo F. Sarmiento Sep 18 Nace en Buenos Aires Armando Discépolo, 1887 Sep 22 Se inaugura en la Argentina la comunicación telegráfica, 1875 Sep 23 Nace Mariano Moreno, secretario de la Primera Junta, 1778 Sep 23 Se promulga la ley que establece el voto femenino, 1947 Sep 24 Belgrano venció a los realistas en la Batalla de Tucumán, 1812 Sep 27 Día Nacional de la Conciencia Ambiental Oct 08 Nace Juan Domingo Perón, 1895 Oct 09 Día del Guardaparque Nacional Oct 10 Día Nacional de la Danza Oct 11 Día Nacional de la Patagonia Oct 14 Se crea la Universidad Tecnológica Nacional, 1959 Oct 15 Se es concedido el Nobel de Medicina a César Milstein, 1984 Oct 17 Nace en Buenos Aires el General Juan Lavalle, 1797 Oct 18 Nace en Talar de Arroyo Largo (Entre Ríos) Justo José de Urquiza, 1801 Oct 23 José de San Martín declara la libertad de imprenta en el Perú, 1821 Oct 24 Día Nacional de la Astronomía Oct 29 Fundación de la Base Aérea Vice Comodoro Marambio de la Antártida Argentina, 1969 Nov 05 Día Nacional de la Aviación Civil Nov 07 Día del Canillita Nov 09 Primera Transfusión de Sangre realizada por el argentino Dr. Luis Agote, 1914 Nov 10 Día de la Tradición Nov 11 Se firma el Pacto de San José de Flores, 1859 Nov 12 Muere Ángel Vicente Peñaloza, "El Chacho", 1863 Nov 17 Día Nacional del Escultor Nov 20 Combate de la Vuelta de Obligado, 1845 Nov 22 Día de la flor nacional: El Ceibo Dec 13 Por orden de Juan Lavalle es fusilado Manuel Dorrego, 1828 Dec 13 Se descubre petróleo en Comodoro Rivadavia (Chubut), 1907 Dec 25 Nace Rosario Vera Peñaloza, destacada educadora argentina, 1873 #endif /* !_calendar_argentina_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.pagan0000664000000000000000000000456011512674040020406 0ustar /* * Pagan * * $OpenBSD: calendar.pagan,v 1.2 2002/03/20 22:53:40 mickey Exp $ */ #ifndef _calendar_pagan_ #define _calendar_pagan_ 01/02 Frigg's Distaff 01/06 Celtic day of the Three-Fold Goddess 01/10 Geraints Day 01/13 Midvintersblot 01/20 Midvintersblot 01/22 Festival of the Muses 01/25 Old Disting Feast 01/TueLast Upelly - old fire festival 01/31 Honoring the Valkyries 02/02 1st Cross-Quarter Day 02/02 Imbolg / Imbolc (other Celtic names) / Brighid / Oimelc 02/11 The Day the Birds Begin to Sing 02/14 Festival of Vali 03/02 Day of the Crows 03/13 Burgsonndeg - festival of rebirth of the sun and the approach of spring 03/17 Celebration of Trefuilnid Treochar (St.Patrick's day) 03/18 Sheela's Day 03/19 1st Quarter Day - Spring (Vernal) Equinox 03/20 Festival of Iduna 03/21 Ostara / Eostre (Saxon goddess of Spring) 04/30 May Eve / Walpurgisnacht (witches' Sabbath) / Walpurgis Night (after St. Walpurga) 05/01 May Day / Beltane / Bealtaine - Celtic bonfire festival 05/04 2nd Cross-Quarter Day 05/12 The Cat Parade 05/14 Midnight Sun Festival 05/18 Festival of the Horned God Cennunos 05/20 Festival of Mjollnir, Thor's Hammer 05/24 Mother's Day, in celebration of the Triple Goddes 06/20 2nd Quarter Day - Summer Solstice 06/21 Litha (Norse/Anglo-Saxon for "longest day") 06/23 St. John's Eve - European Midsummer celebration 08/01 Lugnasad / Lughnasada / Lunasa - Gaelic summer "games of Lug" (sun-god) 08/02 Lady Godiva Day 08/04 Loch mo Naire 08/05 3rd Cross-Quarter Day 08/10 Puck Faire 08/14 Day of the Burryma 08/17 Odin's Ordeal 08/23 Feast of Ilmatar 08/28 Frey Faxi 08/29 Festival of Urda 09/21 3rd Quarter Day - Fall (Autumnal) Equinox 10/08 Day of Remembrance for Erik the Red 10/09 Leif Erikson Day 10/11 Old Lady of the Trees 10/14 Winter Nights - festival celebrating the harvest 10/18 Great Horn Faire 10/24 Feast of the Spirits of the Air 10/27 Allan Apple Day 10/31 Hallowmas / Allhallowmas / Allhallows 11/01 Samhain - Celtic feast of departing Sun & new year 11/05 4th Cross-Quarter Day 12/06 Festival of Nicolas, an aspect of Odin, leader of the hunt 12/09 Yule Cleansing - The Danish fetch water for brewing the Yule-Ale 12/13 Wodan's Jag - the Wild Hunt of Odin and his Army 12/18 Festival of Epona 12/20 4th Quarter Day - Winter Solstice 12/21 Festival of Beiwe / Nertha / Alban Athuan 12/21 Yule (Norse for "wheel") - Germanic 12-day feast #endif /* !_calendar_pagan_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.debian0000664000000000000000000000651612153362543020551 0ustar /* Interesting dates around Debian, originally compiled by Infodrom */ #ifndef _calendar_infodrom_debian_ #define _calendar_infodrom_debian_ /* Project leaders */ Dec 1 Ian Jackson became Debian Project Leader, 1997 Jan 1 Wichert Akkerman became Debian Project Leader, 1999 Apr 1 Ben Collins became Debian Project Leader, 2001 Apr 17 Bdale Garbee became Debian Project Leader, 2002 Apr 17 Martin Michlmayr became Debian Project Leader, 2003 Apr 17 Branden Robinson became Debian Project Leader, 2005 Apr 17 Anthony Towns became Debian Project Leader, 2006 Apr 17 Sam Hocevar became Debian Project Leader, 2007 Apr 17 Steve McIntyre became Debian Project Leader, 2008 Apr 17 Stefano Zacchiroli became Debian Project Leader, 2010 Apr 17 Lucas Nussbaum became Debian Project Leader, 2013 /* Days of death */ Jul 11 Joel 'Espy' Klecker died at the age of 21, 2000 Mar 1 Christopher Matthew Rutter died at the age of 19, 2001 Mar 28 Fabrizio Polacco passed away, 2001 Jul 21 Martin 'blendi' Butterweck died after battling leukemia, 2002 May 9 Manuel 'ranty' Estrada Sainz died in car accident, 2004 May 9 Andres 'ErConde' Garcia died in car accident, 2004 Jul 30 Jens 'jensen' Schmalzig died in tragic accident, 2005 Dec 26 Thiemo Seufer, died in a car accident, 2008 Aug 20 Frans Pop, 2010 Apr 17 Adrian 'cmot' von Bidder passed away, 2011 /* Debian releases */ Oct 26 Debian GNU/Linux 0.93R6 released, 1995 Dec 11 Infomagic and Debian announce the botching of Debian 1.0, 1995 Jun 17 Debian GNU/Linux 1.1 alias ``buzz'' released, 1996 Dec 12 Debian GNU/Linux 1.2 alias ``rex'' released, 1996 Jun 5 Debian GNU/Linux 1.3 alias ``bo'' released, 1997 Jul 24 Debian GNU/Linux 2.0 alias ``hamm'' released, 1998 Mar 9 Debian GNU/Linux 2.1 alias ``slink'' released, 1999 Aug 15 Debian GNU/Linux 2.2 alias ``potato'' relased, 2000 Jul 19 Debian GNU/Linux 3.0 alias ``woody'' released, 2002 Jun 6 Debian GNU/Linux 3.1 alias ``sarge'' released, 2005 Apr 8 Debian GNU/Linux 4.0 alias ``etch'' released, 2007 Feb 14 Debian GNU/Linux 5.0 alias ``lenny'' released, 2009 Feb 6 Debian GNU/Linux 6.0 alias ``squeeze'' released, 2011 May 5 Debian GNU/Linux 7.0 alias ``wheezy'' released, 2013 /* Notable bug report numbers */ Jun 7 Debian Bug#100000 reported by David B. Harris, 2001 Jul 4 Debian Bug#200000 reported by Michel Grentzinger, 2003 Mar 17 Debian Bug#300000 reported by Florian Zumbiehl, 2005 Nov 23 Debian Bug#400000 reported by Christian Perrier, 2006 Sep 24 Debian Bug#500000 reported by Nobuhiro Iwamatsu, 2008 Oct 12 Debian Bug#600000 reported by Cyril Brulebois, 2010 Feb 7 Debian Bug#700000 reported by C=E9dric Boutillier, 2013 /* Notable other dates */ Aug 16 Ian Murdock founded Debian, 1993 Jun 6 Incorporation of Software in the Public Interest completed, 1997 Jul 5 Debian Social Contract ratified, 1997 Aug 26 Open Hardware Certification Program started, 1997 Feb 24 SPI applies to register the term OpenSource, 1998 Jan 4 Joey Hess releases the first issue of DWN, 1999 May 3 Debian Logo chosen, 1999 Jun 2 Non-Profit status of SPI approved, 1999 Apr 26 Debian Social Contract v1.1 ratified, 2004 Jul 29 Debian adopts time-based release freezes, 2009 Sep 5 Backports provided as an official Debian service, 2010 Mar 3 Debian joins the Open Source Initiative as an affiliate, 2012 Jun 3 Debian's Diversity Statement ratified, 2012 #endif /* !_calendar_infodrom_debian_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.thai0000664000000000000000000000524411377172625020260 0ustar /* * Observances in Thailand */ #ifndef _calendar_thai_ #define _calendar_thai_ LANG=UTF-8 /* National Observances */ 01/SatSecond National Children's Day (วันเด็กแห่งชาติ) in Thailand 01/14 National Forest Conservation Day (วันอนุรักษ์ทรัพยากรป่าไม้ของชาติ) in Thailand 01/16 Teacher's Day (วันครู) in Thailand 01/18 Elephant Dual Day (วันยุทธหัตถี) in Thailand 01/18 Royal Thai Armed Forces Day (วันกองทัพไทย) in Thailand 02/02 Inventor's Day (วันนักประดิษฐ์) in Thailand 02/03 Veterans' Day (วันทหารผ่านศึก) in Thailand 02/24 National Artist Day (วันศิลปินแห่งชาติ) in Thailand 03/31 King Nangklao Memorial Day (วันที่ระลึกพระบาทสมเด็จพระนั่งเกล้าเจ้าอยู่หัว) in Thailand 04/01 Civil Service Day (วันข้าราชการพลเรือน) in Thailand 04/02 Thai Heritage Conservation Day (วันอนุรักษ์มรดกไทย) in Thailand 04/30 Consumer Protection Day (วันคุ้มครองผู้บริโภค) in Thailand 06/26 Sunthorn Phu Day (วันสุนทรภู่) in Thailand 07/29 National Thai Language Day (วันภาษาไทยแห่งชาติ) in Thailand 08/18 National Science Day (วันวิทยาศาสตร์แห่งชาติ) in Thailand 09/20 National Youth Day (วันเยาวชนแห่งชาติ) in Thailand 09/24 Mahidol Day (วันมหิดล) in Thailand 10/13 National Police Day (วันตำรวจ) in Thailand 10/21 National Nurses' Day (วันพยาบางแห่งชาติ) in Thailand 11/25 Vajiravudh Day (วันวชิราวุธ) in Thailand 12/01 Damrong Rajanubhab Day (วันดำรงราชานุภาพ) in Thailand 12/04 Thai Environment Day (วันสิ่งแวดล้อมไทย) in Thailand 12/16 National Sports Day (วันกีฬาแห่งชาติ) in Thailand 12/28 King Taksin Memorial Day (วันสมเด็จพระเจ้าตากสินมหาราช) in Thailand /* Other observances */ 02/02 National Agriculture Day (วันเกษตรแห่งชาติ) in Thailand 07/01 National Scout Day (วันลูกเสือแห่งชาติ) in Thailand 07/01 Mid-year Bank Holiday (วันหยุดกลางปีธนาคาร) in Thailand #endif /* !_calendar_thai_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.ubuntu0000664000000000000000000000243112442073525020641 0ustar /* * Interesting dates in Ubuntu history * Matt Zimmerman , 2005-10-24 */ #ifndef _calendar_ubuntu #define _calendar_ubuntu LANG=utf-8 /* Ubuntu releases */ Oct 20 Ubuntu 4.10 (Warty Warthog) released, 2004 Apr 08 Ubuntu 5.04 (Hoary Hedgehog) released, 2005 Oct 13 Ubuntu 5.10 (Breezy Badger) released, 2005 Jun 1 Ubuntu 6.06 LTS (Dapper Drake) released, 2006 Oct 26 Ubuntu 6.10 (Edgy Eft) released, 2006 Apr 19 Ubuntu 7.04 (Feisty Fawn) released, 2007 Oct 18 Ubuntu 7.10 (Gutsy Gibbon) released, 2007 Apr 24 Ubuntu 8.04 LTS (Hardy Heron) released, 2008 Oct 30 Ubuntu 8.10 (Intrepid Ibex) released, 2008 Apr 23 Ubuntu 9.04 (Jaunty Jackalope) released, 2009 Oct 29 Ubuntu 9.10 (Karmic Koala) released, 2009 Apr 29 Ubuntu 10.04 LTS (Lucid Lynx) released, 2010 Oct 10 Ubuntu 10.10 (Maverick Meerkat) released, 2010 Apr 28 Ubuntu 11.04 (Natty Narwhal) released, 2011 Oct 13 Ubuntu 11.10 (Oneiric Ocelot) released, 2011 Apr 26 Ubuntu 12.04 LTS (Precise Pangolin) released, 2012 Oct 18 Ubuntu 12.10 (Quantal Quetzal) released, 2012 Apr 25 Ubuntu 13.04 (Raring Ringtail) released, 2013 Oct 17 Ubuntu 13.10 (Saucy Salamander) released, 2013 Apr 17 Ubuntu 14.04 LTS (Trusty Tahr) released, 2014 Oct 23 Ubuntu 14.10 (Utopic Unicorn) released, 2014 /* Misc */ #endif /* !_calendar_ubuntu_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.all0000664000000000000000000000243112153362543020067 0ustar /* * International and national calendar files * * This is the calendar master file. In the standard setup, it is * included by /etc/calendar/default, so you can make any system-wide * changes there and they will be kept when you upgrade. If you want * to edit this file, copy it into /etc/calendar/calendar.all and * edit it there. * */ #ifndef _calendar_all_ #define _calendar_all_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif /* !_calendar_all_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.eu0000664000000000000000000000423411371260565017735 0ustar /* European Union history * submitted by Nicolas Évrard */ #ifndef _calendar_eu_ #define _calendar_eu_ LANG=utf-8 01 Jan Creation of the Benelux (BElgium, the NEtherlands, LUXemburg), 1948 01 Jan United Kingdom, Denmark and Ireland enter in the EEC, 1973 01 Jan Greece enters the EEC, 1981 01 Jan Spain and Portugal join the EEC, 1982 01 Jan EEC becomes the EC by Maastricht's Treaty, 1993 01 Jan Austria, Finland and Sweden join the EC, 1995 01 Jan European Monetary Union between 11 countries of the EC (Denmark, United Kingdom and Sweden refuse it, Greece does not match the criteria), 1999 01 Jan Greece enters the European Monetary Union, 2001 01 Jan Euro becomes fiduciary, 2002 19 Feb Shengen's Agreement signed, 1990 18 Feb Signing of the European Sole Deed, 1986 13 Mar Creation of the ECU (European Community Currency), 1979 16 Mar First european demonstration in Bruxelles, 1997 21 Mar W. Churchill proposes a European Council, 1943 25 Mar Belgium, France, Germany, Italy, Luxemburg and the Netherlands sign the Rome's treaty founding the EEC and the Euratom, 1957 08 Apr Treaty on the fusion between the EEC, the CECA and the Euratom, 1965 08 Apr Meeting of the Ministers of Finances on the European Currency, 1995 18 Apr Paris' treaty instituting the CECA (an idea of R. Schuman), 1951 24 Apr European Monetary System founded, 1972 05 May Creation of the European Council, 1949 20 May Benelux proposes the Common Market, 1954 27 May European Community of Defense signed in Paris, 1952 29 May European Flag first appearance, 1986 01 Jun Summit of Messine, Foreign Ministers talk about the Common Market, 1955 10 Jun First election of the European Parliament, 1979 01 Jul Customs Union on some agricultural products, 1968 01 Jul Extension of the Customs Union, 1977 01 Jul Sole Market launched in EEC, 1981 25 Jul Belgo-luxemburger economical union, 1921 05 Aug European Monetary Agreement signed, 1955 19 Sep W. Churchill's speech suggesting United States of Europe, 1946 23 Oct UEO signed in Paris (military cooperation), 1954 25 Oct Creation of the PESC (military and security policy), 1998 03 Dec The ECU becomes the euro (€), 1995 #endif /* _calendar_eu_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.kazakhstan0000664000000000000000000000337511735567653021504 0ustar /* * Republic of Kazakhstan holidays / Қазақстан Республикасының мейрамдары * Timur Birsh * 2006-03-14 */ #ifndef _calendar_kazakhstan_ #define _calendar_kazakhstan_ LANG=utf-8 01 Jan Жаңа жыл 02 Jan Жаңа жыл 08 Mar Халықаралық әйелдер күні 22 Mar Наурыз мейрамы 01 May Қазақстан халқының бірлігі мерекесі 09 May Жеңіс қүні 06 Jul Астана күні 30 Aug Қазақстан Республикасының Конституциясы күні 16 Dec Тәуелсіздік күні 07 May Отан қорғаушы күні 31 May Саяси қуғын-сүргіндер құрбандарын еске 04 Jun Қазақстан Республикасының мемлекеттік 23 Jun Полиция күні SunThird Jun Медицина қызметкері күні SunLast Jun Баспасөз, теледидар және радио күнi 02 Jul Дипломатиялық қызмет күні SunThird Jul Металлург күні SunFirst Aug Көлік және байланыс қызметкерлері күні SunSecond Aug Құрылысшы күні SunThird Aug Спорт күні SunLast Aug Шахтер күні 01 Sep Бiлiм күнi SunFirst Sep Мұнай-газ кешені қызметкерлерінің күні SunThird Sep Қазақстан Республикасының халықтары 28 Sep Атом саласының қызметкерлері күні SunFirst Oct Мұғалiм күнi 15 Nov Ұлттық валюта күні SunThird Nov Ауыл шаруашылығы қызметкерлерінің күні SunThird Dec Энергетик күні #endif bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.world0000664000000000000000000000113311371260565020446 0ustar /* * World wide calendar files, except national calendars * * $FreeBSD: src/usr.bin/calendar/calendars/calendar.world,v 1.5 2003/02/15 10:57:20 seanc Exp $ */ #ifndef _calendar_world_ #define _calendar_world_ #include #include #include #include #include #include #include #include #include #include #include #include #include #endif /* !_calendar_world_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.discordian0000664000000000000000000000141411371260565021440 0ustar /* * Discordian Holidays as outlined in the Principia Discordia * Prepared by Nick Rusnov */ LANG=utf-8 Jan 05 Mungday (5th of the Season of Chaos) Festival of Hung Mung Feb 19 Chaoflux (50th of the Season of Chaos) Feb 29 St. Tibb's Day Mar 19 Mojoday (5th of the Season of Discord) Festival of Dr. Van Van Mojo May 03 Discoflux (50th of the Season of Discord) May 31 Syaday (5th of the Season of Confusion) Festival of Sri Syadasti Jul 15 Confuflux (50th of the Season of Confusion) Aug 12 Zaraday (5th of the Season of Bureaucracy) Festival of Zarathud the Staunch Sep 26 Bureflux (50th of the Season of Bureaucracy) Oct 24 Maladay (5th of the Season of The Aftermath) Festival of The Elder Malaclypse Dec 08 Afflux (50th of the Season of The Aftermath) bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.unitedkingdom0000664000000000000000000000445212072764145022171 0ustar /* * United Kingdom of Great Britain and Northern Ireland * compiled by Peter R Tynan * * $FreeBSD$ */ #ifndef _calendar_unitedkingdom_ #define _calendar_unitedkingdom_ LANG=UTF-8 01/01 New Year's Day bank holiday (If falls on the weekend the following Monday is a bank holiday) 01/02 2nd January (Scotland bank holiday (If falls on the weekend the following Monday or Tuesday is a bank holiday)) 01/05 Twelfth Night 01/25 Burns Night 02/14 Valentine's Day MarEquinox Vernal Equinox 037MonSecond Commonwealth Day 03/SunLast British Summer Time begins 03/01 Saint David's day (Wales) 03/17 St Patrick's Day (Northern Ireland bank holiday (If falls on the weekend the following Monday is a bank holiday)) 03/28 Lady Day (quarter day) 04/01 April Fool's Day 04/06 Start of the Tax year 04/23 St. George's Day (England) 05/MonFirst Early May bank holiday 05/MonLast Spring bank holiday 05/25 Towel Day JunSolstice Summer Solstice (longest day of the year) 06/SunThird Father's Day 06/SatLast Armed Forces Day 06/18 Waterloo Day 06/24 Midsummer (quarter day) 07/12 Battle of the Boyne (Northern Ireland bank holiday (If falls on the weekend the following Monday is a bank holiday)) 08/SunFirst Grandparents Day 08/MonFirst Summer bank holiday (Scotland) 08/MonLast Summer bank holiday (England, Wales and Northern Ireland) 08/12* Glorious Twelfth (the start of the Grouse shooting season (cannot fall on a Sunday)) SepEquinox Autumnal Equinox 09/15 Battle of Britain Day 09/19 Talk Like a Pirate Day 09/29 Michaelmas (quarter day) 10/LastSun British Summer Time ends 10/21 Trafalgar Day 10/31 Halloween (All Hollows' Eve) 11/SunSecond Remembrance Sunday 11/05 Guy Fawkes Night 11/11 Armistice Day 11/17 Queene's Day 11/30 St Andrew's Day (Scotland bank holiday ((If falls on the weekend the following Monday is a bank holiday)) DecSolstice Winter Solstice (shortest day of the year) 12/24 Christmas Eve 12/25 Christmas day bank holiday (If falls on the weekend the following Monday is a bank holiday) (quarter day) 12/26 Boxing day bank holiday (If falls on the weekend the following Monday or Tuesday is a bank holiday) 12/31 Hogmanay Easter-47 Pancake Day (Shrove Tuesday) Easter-21 Mothering Sunday Easter-2 Good Friday bank holiday Easter+0 Easter Sunday Easter+1 Easter Monday bank holiday #endif /* !_calendar_unitedkingdom_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/calendar.belgium0000664000000000000000000000527511371260565020756 0ustar /* Belgian history * submitted by Nicolas Évrard */ #ifndef _calendar_belgium_ #define _calendar_belgium_ LANG=utf-8 01 Jan Regionalisation of Belgium, 1970 11 Jan Independance of the Belgian United States, 1790 21 Jan Austrian troops invade the Belgian United States, 1790 06 Jan Belgium becomes a federal state, 1993 27 Feb Belgian congressmen reveal the horrors in Congo, 1906 01 Mar France annexes the 'Province belgiques unies', 1793 12 Mar Referendum on the return of Leopold III (yes wins with 57.68%). Huge differences between the Flemish (72% of yes) and the Walloon (42% of yes), 1950 29 Mar The parliament vote the law legalizing abortion, 1990 Apr World fair in Bruxelles : 45,000,000 of visitors, 1958 21 Apr Women can vote for the first time, 1921 07 May Leopold III liberated in Austria, then transfered to Switzerland, 1945 10 May Nazi Germany invades Belgium, 1940 10 May A delegation tells Leopold III his return would be illtimed, 1945 13 May Baudouin abdicates. He does not want to sign the law on abortion, 1990 22 May Fire in the store "L'inno", 325 deaths, 1967 25 May The belgian government moves to France, 1940 29 May English hooligans in Heysel cause 39 deaths, 1985 30 May Belgian government moves to London, Leopold III stays in Laeken, 1940 03 May Letter from J. Destrée to the King : 'Sire, there is no belgian. There is only Flemish and Walloon', 1912 05 Jun The parliament restores Baudouin, 1990 07 Jun Leopold III taken in Germany by Hitler's forces, 1944 30 Jun Congo gets its independence from Belgium, 1960 03 Jul Abolition of conscription, 1993 16 Jul Leopold III abdicates, 1951 21 Jul Oath of Leopold I, 1831 21 Jul Eddy Merckx wins his 5th 'Tour de France', 1974 22 Jul Return of Leopold III, 1950 30 Jul 3 deaths in a demonstration against Leopold III, 1950 30 Jul Law transfering some power from the belgian states to the regions, 1988 02 Aug Belgium refuses the German ultimatum, 1914 04 Aug Germany violates the neutrality of Belgium, 1914 08 Aug Fire in the mine 'Le bois du Casier', 263 deaths, 1956 11 Aug Oath of Baudouin, son of Leopold III, 1950 13 Aug Dutroux Marc arrested (paedophiliac), 1996 25 Aug The opera "La muette de Portici" starts the belgian revolution, 1830 03 Aug Bruxelles liberated from Nazi forces, 1944 08 Aug Belgian parliament in exile comes back to Bruxelles, 1944 09 Aug Leopold III meets Hitler which grants freedom to the flemish POW, 1940 22 Aug Regency of the Prince Charles, 1944 04 Oct Belgium's declaration of independance, 1830 10 Oct Demonstrators against paedophilia are 300,000 in Bruxelles, 1996 15 Nov Congo becomes a property of Leopold II, 1884 18 Nov Leopold II leaves the Congo to Belgium, 1907 #endif /* _calendar_belgium_ */ bsdmainutils-9.0.6ubuntu3/debian/calendars/default0000664000000000000000000000114411377172625017202 0ustar /* This is the system-wide default calendar file, used if calendar(1) * is invoked by a user without a ~/calendar or ~/.calendar/calendar file. * It may be edited or even deleted to reflect local policy. * * In the standard setup, we simply include the default calendar * definitions from /usr/share/calendar/calendar.all. If you want * only some of those definitions, copy calendar.all to /etc/calendar * and edit it there. That way, your changes will be kept next time * you upgrade. * * The search path for include files is: * /etc/calendar * /usr/share/calendar */ #include "calendar.all" bsdmainutils-9.0.6ubuntu3/debian/dirs0000664000000000000000000000030511371260565014554 0ustar /etc/calendar /usr/share/calendar/de_AT /usr/share/calendar/de_DE /usr/share/calendar/fr_FR /usr/share/calendar/hr_HR /usr/share/calendar/hu_HU /usr/share/calendar/ru_RU /usr/share/calendar/uk_UA bsdmainutils-9.0.6ubuntu3/debian/patches/0000775000000000000000000000000012665277400015324 5ustar bsdmainutils-9.0.6ubuntu3/debian/patches/ncal_mfdow.diff0000664000000000000000000000363511512674040020265 0ustar Description: Add option to set first day of week. Author: Michael Meskes --- bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:50:39.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:52:27.000000000 +0100 @@ -273,7 +273,7 @@ #endif before = after = -1; - while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wy")) != -1) + while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wySM")) != -1) switch (ch) { case '3': flag_3months = 1; @@ -362,6 +362,16 @@ case 'y': flag_wholeyear = 1; break; + case 'S': + if (flag_backward) + usage(); + weekstart = 0; + break; + case 'M': + if (flag_backward) + usage(); + weekstart = 1; + break; default: usage(); } @@ -528,8 +538,8 @@ fputs( "Usage: cal [general options] [-hjy] [[month] year]\n" " cal [general options] [-hj] [-m month] [year]\n" -" ncal [general options] [-hJjpwy] [-s country_code] [[month] year]\n" -" ncal [general options] [-hJeo] [year]\n" +" ncal [general options] [-hJjpwySM] [-s country_code] [[month] year]\n" +" ncal [general options] [-hJeoSM] [year]\n" "General options: [-NC3] [-A months] [-B months]\n" "For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]\n", stderr); --- bsdmainutils/usr.bin/ncal/ncal.1 2011-01-03 13:52:56.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.1 2011-01-03 13:54:07.000000000 +0100 @@ -47,7 +47,7 @@ .Fl m Ar month .Op Ar year .Nm ncal -.Op Fl 3hjJpwy +.Op Fl 3hjJpwySM .Op Fl A Ar number .Op Fl B Ar number .Op Fl s Ar country_code @@ -56,7 +56,7 @@ .Ar year .Oc .Nm ncal -.Op Fl 3hJeo +.Op Fl 3hJeoSM .Op Fl A Ar number .Op Fl B Ar number .Op Ar year @@ -147,6 +147,10 @@ Use .Ar yyyy-mm-dd as the current date (for debugging of highlighting). +.It Fl M +Weeks start on Monday. +.It Fl S +Weeks start on Sunday. .El .Pp A single parameter specifies the year (1\(en9999) to be displayed; bsdmainutils-9.0.6ubuntu3/debian/patches/fix-big-1stweek.patch0000664000000000000000000000146212665277351021263 0ustar Description: fix retreiving non-standard _NL_TIME_WEEK_1STDAY Bug-Ubuntu: https://bugs.launchpad.net/glibc/+bug/1549850 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=11828 Index: bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/ncal.c =================================================================== --- bsdmainutils-9.0.6ubuntu3.orig/usr.bin/ncal/ncal.c +++ bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/ncal.c @@ -263,7 +263,10 @@ main(int argc, char *argv[]) date first_week_d; date sunday = { .y = 1997, .m = 11, .d = 30 }; - first_week_i = (intptr_t) nl_langinfo(_NL_TIME_WEEK_1STDAY); + union { char *str; unsigned int word; } u; + u.str = nl_langinfo(_NL_TIME_WEEK_1STDAY); + + first_week_i = u.word; first_week_d.d = first_week_i % 100; first_week_i /= 100; first_week_d.m = first_week_i % 100; bsdmainutils-9.0.6ubuntu3/debian/patches/from.diff0000664000000000000000000000562011455310267017117 0ustar Description: Make program compile on Debian and work with Maildirs Author: Michael Meskes --- freebsd/usr.bin/from/from.c 2009-12-19 20:46:26.000000000 +0100 +++ bsdmainutils/usr.bin/from/from.c 2010-01-21 11:43:20.000000000 +0100 @@ -43,9 +43,10 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include +#include +#include #include #include #include @@ -57,6 +58,7 @@ int match(const char *, const char *); static void usage(void); +static int handle_file (char*, int, FILE *); int main(int argc, char **argv) @@ -66,6 +68,9 @@ int ch, count, newline; const char *file; char *sender, *p; + struct dirent *dent; + DIR *dir; + struct stat statbuf; #if MAXPATHLEN > BUFSIZ char buf[MAXPATHLEN]; #else @@ -111,6 +116,24 @@ } } + if (strcmp(file, "-") != 0 && !lstat(file, &statbuf) && S_ISDIR(statbuf.st_mode)) { /* maildir */ + if (!chdir(file) && !chdir("cur")) { + dir = opendir("."); + if (dir) { + while (dent = readdir(dir)) { + if (lstat(dent->d_name, &statbuf)) + continue; + if (!S_ISREG(statbuf.st_mode)) + continue; + if ((mbox = fopen(dent->d_name, "r")) == NULL) { + errx(1, "can't read %s", dent->d_name); + } + count = handle_file(sender, count, mbox); + } + } + } + } + else { /* read from stdin */ if (strcmp(file, "-") == 0) { mbox = stdin; @@ -118,25 +141,48 @@ else if ((mbox = fopen(file, "r")) == NULL) { errx(1, "can't read %s", file); } + count = handle_file(sender, count, mbox); + } + if (count != -1) + printf("There %s %d message%s in your incoming mailbox.\n", + count == 1 ? "is" : "are", count, count == 1 ? "" : "s"); + exit(0); +} + +static int +handle_file(char *sender, int count, FILE *mbox) +{ + int newline; +#if MAXPATHLEN > BUFSIZ + char buf[MAXPATHLEN]; +#else + char buf[BUFSIZ]; +#endif for (newline = 1; fgets(buf, sizeof(buf), mbox);) { if (*buf == '\n') { newline = 1; continue; } - if (newline && !strncmp(buf, "From ", 5) && - (!sender || match(buf + 5, sender))) { - if (count != -1) - count++; - else - printf("%s", buf); + if (newline) { + if (!strncmp(buf, "Return-Path: <", 14)) { + /* maildir format does not have a From line, the address is only listed as Return-Path */ + int i, j; + + sprintf(buf, "From "); + for (i = 14, j = 5; buf[i] != '>'; buf[j++] = buf[i++]); + sprintf(buf + j, "\n"); + } + if (!strncmp(buf, "From ", 5) && + (!sender || match(buf + 5, sender))) { + if (count != -1) + count++; + else + printf("%s", buf); + } + newline = 0; } - newline = 0; } - if (count != -1) - printf("There %s %d message%s in your incoming mailbox.\n", - count == 1 ? "is" : "are", count, count == 1 ? "" : "s"); - fclose(mbox); - exit(0); + return count; } static void bsdmainutils-9.0.6ubuntu3/debian/patches/ul.1.diff0000664000000000000000000000102511735567653016744 0ustar Description: Document that ul changes some special characters. Author: Michael Meskes --- bsdmainutils/usr.bin/ul/ul.1.orig 2011-06-06 07:34:49.000000000 +0200 +++ bsdmainutils/usr.bin/ul/ul.1 2011-06-06 07:37:56.000000000 +0200 @@ -62,6 +62,8 @@ degenerates to .Xr cat 1 . If the terminal cannot underline, underlining is ignored. +During the translation some other special characters also get translated. +E.g. TAB gets expanded to spaces. .Pp The following options are available: .Bl -tag -width indent bsdmainutils-9.0.6ubuntu3/debian/patches/ncal_year.diff0000664000000000000000000000103511756711411020105 0ustar Description: Correctly parse year argument. Author: Michael Meskes --- bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:29:22.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:34:40.000000000 +0100 @@ -378,7 +378,9 @@ m = strtol(flag_month, NULL, 10); /* FALLTHROUGH */ case 1: - y = atoi(*argv); + y = strtol(*argv, &cp, 10); + if (*cp != '\0') + errx(EX_USAGE, "not a valid year %s", *argv); if (y < 1 || y > 9999) errx(EX_USAGE, "year `%s' not in range 1..9999", *argv); argv++; bsdmainutils-9.0.6ubuntu3/debian/patches/colcrt.diff0000664000000000000000000000241511455310267017441 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- freebsd/usr-bin/colcrt/colcrt.c 2009-09-23 14:51:28.000000000 +0200 +++ bsdmainutils/usr.bin/colcrt/colcrt.c 2009-09-23 14:51:34.000000000 +0200 @@ -44,7 +44,6 @@ #endif #include -__FBSDID("$FreeBSD$"); #include #include @@ -90,19 +89,22 @@ setlocale(LC_ALL, ""); - while ((ch = getopt(argc, argv, "-2")) != -1) - switch (ch) { - case '-': - suppresul = 1; - break; - case '2': - printall = 1; - break; - default: - usage(); - } - argc -= optind; - argv += optind; + /* do not use getopt() here because the GNU version differs + * significantly from the BSD version when using an option name "-" */ + for (argv++, argc--; *argv; argv++, argc--) { + if (!strcmp (*argv, "-")) + suppresul = 1; + else if (!strcmp (*argv, "-2")) + printall = 1; + else if (!strcmp (*argv, "--")) { + argv++; + argc--; + break; + } else if (**argv == '-') + usage(); + else + break; + } do { if (argc > 0) { bsdmainutils-9.0.6ubuntu3/debian/patches/col.diff0000664000000000000000000000053011455310267016724 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- freebsd/usr-bin/col/col.c 2009-09-23 12:51:50.000000000 +0200 +++ bsdmainutils/usr.bin/col/col.c 2009-09-23 12:51:58.000000000 +0200 @@ -47,7 +47,6 @@ #endif #include -__FBSDID("$FreeBSD$"); #include #include bsdmainutils-9.0.6ubuntu3/debian/patches/column_tab.diff0000664000000000000000000000070312442073025020267 0ustar Desription: Process tabs Author: Michael Meskes --- bsdmainutils/usr.bin/column/column.c 2014-10-17 14:30:43.249452663 +0200 +++ bsdmainutils/usr.bin/column/column.c 2014-10-17 14:29:54.153556563 +0200 @@ -367,8 +367,12 @@ int w, cw; for (w = 0; *wcs != L'\0'; wcs++) - if ((cw = wcwidth(*wcs)) > 0) + { + if (*wcs == L'\t') + w = (w|(TAB-1))+1; + else if ((cw = wcwidth(*wcs)) > 0) w += cw; + } return (w); } bsdmainutils-9.0.6ubuntu3/debian/patches/lorder.diff0000664000000000000000000000075011455310267017442 0ustar Description: Fix sort order. Author: Michael Meskes --- bsd/openbsd/lorder/lorder.sh 2009-10-17 17:06:44.000000000 +0200 +++ bsdmainutils/usr.bin/lorder/lorder.sh 2009-10-17 17:22:15.000000000 +0200 @@ -75,7 +75,7 @@ # sort symbols and references on the first field (the symbol) # join on that field, and print out the file names (dependencies). -sort +1 $R -o $R -sort +1 $S -o $S +sort -k 2 $R -o $R +sort -k 2 $S -o $S join -j 2 -o 1.1 2.1 $R $S rm -f $R $S bsdmainutils-9.0.6ubuntu3/debian/patches/col_line.diff0000664000000000000000000000323112442073025017727 0ustar Description: Fix segfaults Author: Michael Meskes --- bsdmainutils/usr.bin/col/col.c 2014-10-17 15:39:56.359532422 +0200 +++ bsdmainutils/usr.bin/col/col.c 2014-10-17 15:35:30.895933386 +0200 @@ -49,6 +49,7 @@ #include #include +#include #include #include #include @@ -78,7 +79,7 @@ typedef struct char_str { #define CS_NORMAL 1 #define CS_ALTERNATE 2 - short c_column; /* column character is in */ + int c_column; /* column character is in */ CSET c_set; /* character set (currently only 2) */ wchar_t c_char; /* character in question */ int c_width; /* character width */ @@ -206,7 +207,8 @@ cur_col = 0; continue; case SPACE: - ++cur_col; + if (cur_col < INT_MAX) + ++cur_col; continue; case SI: cur_set = CS_NORMAL; @@ -215,15 +217,17 @@ cur_set = CS_ALTERNATE; continue; case TAB: /* adjust column */ - cur_col |= 7; - ++cur_col; + if (cur_col < INT_MAX) { + cur_col |= 7; + ++cur_col; + } continue; case VT: cur_line -= 2; continue; } if (iswspace(ch)) { - if ((width = wcwidth(ch)) > 0) + if ((width = wcwidth(ch)) > 0 && cur_col < INT_MAX) cur_col += width; continue; } @@ -309,12 +313,12 @@ l->l_needs_sort = 1; else l->l_max_col = cur_col; - if (c->c_width > 0) + if (c->c_width > 0 && cur_col < INT_MAX) cur_col += c->c_width; } if (ferror(stdin)) err(1, NULL); - if (max_line == 0) + if (max_line == 0 && l->l_line_len == 0) exit(0); /* no lines, so just exit */ /* goto the last line that had a character on it */ bsdmainutils-9.0.6ubuntu3/debian/patches/calendar_wcs.diff0000664000000000000000000004456011564521450020606 0ustar Description: Make calendar UTF-8 aware. Author: Michael Meskes diff -ru bsdmainutils/usr.bin/calendar/calendar.h bsdmainutils/usr.bin/calendar/calendar.h --- bsdmainutils/usr.bin/calendar/calendar.h 2010-04-04 15:05:50.000000000 +0200 +++ bsdmainutils/usr.bin/calendar/calendar.h 2010-04-04 15:01:30.000000000 +0200 @@ -30,6 +30,7 @@ */ #include +#include extern struct passwd *pw; extern int doall; @@ -41,45 +42,45 @@ extern char *optarg; struct fixs { - char *name; + wchar_t *name; int len; }; struct event { time_t when; - char print_date[31]; - char **desc; - char *ldesc; + wchar_t print_date[31]; + wchar_t **desc; + wchar_t *ldesc; struct event *next; }; struct match { time_t when; - char print_date[30]; + wchar_t print_date[30]; int bodun; int var; struct match *next; }; struct specialev { - char *name; + wchar_t *name; int nlen; - char *uname; + wchar_t *uname; int ulen; int (*getev)(int); }; void cal(void); void closecal(FILE *); -int getday(char *); -int getdayvar(char *); -int getfield(char *, char **, int *); -int getmonth(char *); +int getday(wchar_t *); +int getdayvar(wchar_t *); +int getfield(wchar_t *, wchar_t **, int *); +int getmonth(wchar_t *); int pesach(int); int easter(int); int paskha(int); void insert(struct event **, struct event *); -struct match *isnow(char *, int); +struct match *isnow(wchar_t *, int); FILE *opencal(void); void settime(time_t *); time_t Mktime(char *); @@ -102,12 +103,12 @@ /* Special events; see also setnnames() in day.c */ /* '=' is not a valid character in a special event name */ -#define PESACH "pesach" -#define PESACHLEN (sizeof(PESACH) - 1) -#define EASTER "easter" -#define EASTERNAMELEN (sizeof(EASTER) - 1) -#define PASKHA "paskha" -#define PASKHALEN (sizeof(PASKHA) - 1) +#define PESACH L"pesach" +#define PESACHLEN ((sizeof(PESACH) / sizeof(wchar_t)) - 1) +#define EASTER L"easter" +#define EASTERNAMELEN ((sizeof(EASTER) / sizeof(wchar_t)) - 1) +#define PASKHA L"paskha" +#define PASKHALEN ((sizeof(PASKHA) / sizeof(wchar_t)) - 1) /* calendars */ extern enum calendars { GREGORIAN = 0, JULIAN, LUNAR } calendar; diff -ru bsdmainutils/usr.bin/calendar/day.c bsdmainutils/usr.bin/calendar/day.c --- bsdmainutils/usr.bin/calendar/day.c 2010-04-04 15:05:50.000000000 +0200 +++ bsdmainutils/usr.bin/calendar/day.c 2010-04-04 14:56:03.000000000 +0200 @@ -62,13 +62,13 @@ { 0, -1, 30, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, }; -static char *days[] = { - "sun", "mon", "tue", "wed", "thu", "fri", "sat", NULL, +static wchar_t *days[] = { + L"sun", L"mon", L"tue", L"wed", L"thu", L"fri", L"sat", NULL, }; -static char *months[] = { - "jan", "feb", "mar", "apr", "may", "jun", - "jul", "aug", "sep", "oct", "nov", "dec", NULL, +static wchar_t *months[] = { + L"jan", L"feb", L"mar", L"apr", L"may", L"jun", + L"jul", L"aug", L"sep", L"oct", L"nov", L"dec", NULL, }; static struct fixs fndays[8]; /* full national days names */ @@ -81,63 +81,63 @@ void setnnames(void) { - char buf[80]; + wchar_t buf[80]; int i, l; struct tm tm; for (i = 0; i < 7; i++) { tm.tm_wday = i; - l = strftime(buf, sizeof(buf), "%a", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + l = wcsftime(buf, sizeof(buf), L"%a", &tm); + for (; l > 0 && iswspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (ndays[i].name != NULL) free(ndays[i].name); - if ((ndays[i].name = strdup(buf)) == NULL) + if ((ndays[i].name = wcsdup(buf)) == NULL) err(1, NULL); - ndays[i].len = strlen(buf); + ndays[i].len = wcslen(buf); - l = strftime(buf, sizeof(buf), "%A", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + l = wcsftime(buf, sizeof(buf), L"%A", &tm); + for (; l > 0 && iswspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (fndays[i].name != NULL) free(fndays[i].name); - if ((fndays[i].name = strdup(buf)) == NULL) + if ((fndays[i].name = wcsdup(buf)) == NULL) err(1, NULL); - fndays[i].len = strlen(buf); + fndays[i].len = wcslen(buf); } for (i = 0; i < 12; i++) { tm.tm_mon = i; - l = strftime(buf, sizeof(buf), "%b", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + l = wcsftime(buf, sizeof(buf), L"%b", &tm); + for (; l > 0 && iswspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (nmonths[i].name != NULL) free(nmonths[i].name); - if ((nmonths[i].name = strdup(buf)) == NULL) + if ((nmonths[i].name = wcsdup(buf)) == NULL) err(1, NULL); - nmonths[i].len = strlen(buf); + nmonths[i].len = wcslen(buf); - l = strftime(buf, sizeof(buf), "%B", &tm); - for (; l > 0 && isspace((int)buf[l - 1]); l--) + l = wcsftime(buf, sizeof(buf), L"%B", &tm); + for (; l > 0 && iswspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (fnmonths[i].name != NULL) free(fnmonths[i].name); - if ((fnmonths[i].name = strdup(buf)) == NULL) + if ((fnmonths[i].name = wcsdup(buf)) == NULL) err(1, NULL); - fnmonths[i].len = strlen(buf); + fnmonths[i].len = wcslen(buf); } /* Hardwired special events */ - spev[0].name = strdup(PESACH); + spev[0].name = wcsdup(PESACH); spev[0].nlen = PESACHLEN; spev[0].getev = pesach; - spev[1].name = strdup(EASTER); + spev[1].name = wcsdup(EASTER); spev[1].nlen = EASTERNAMELEN; spev[1].getev = easter; - spev[2].name = strdup(PASKHA); + spev[2].name = wcsdup(PASKHA); spev[2].nlen = PASKHALEN; spev[2].getev = paskha; for (i = 0; i < NUMEV; i++) { @@ -261,7 +261,7 @@ * with \t, is shown along with the matched line. */ struct match * -isnow(char *endp, int bodun) +isnow(wchar_t *endp, int bodun) { int day = 0, flags = 0, month = 0, v1, v2, i; int monthp, dayp, varp = 0; @@ -386,7 +386,7 @@ */ if (flags & F_ISDAY) { #if DEBUG - fprintf(stderr, "\nday: %d %s month %d\n", day, endp, month); + fprintf(stderr, "\nday: %d %ls month %d\n", day, endp, month); #endif varp = 1; @@ -458,11 +458,11 @@ } (void)mktime(&tmtmp); - if (strftime(tmp->print_date, + if (wcsftime(tmp->print_date, sizeof(tmp->print_date), /* "%a %b %d", &tm); Skip weekdays */ - "%b %d", &tmtmp) == 0) - tmp->print_date[sizeof(tmp->print_date) - 1] = '\0'; + L"%b %d", &tmtmp) == 0) + tmp->print_date[sizeof(tmp->print_date) - 1] = L'\0'; tmp->var = varp; tmp->next = NULL; @@ -542,7 +542,7 @@ } /* How many days apart are we */ if ((ttmp = mktime(&tmtmp)) == -1) - warnx("time out of range: %s", endp); + warnx("time out of range: %ls", endp); else { tdiff = difftime(ttmp, f_time)/ SECSPERDAY; if (tdiff <= offset + f_dayAfter || @@ -552,11 +552,11 @@ if ((tmp = malloc(sizeof(struct match))) == NULL) err(1, NULL); tmp->when = ttmp; - if (strftime(tmp->print_date, + if (wcsftime(tmp->print_date, sizeof(tmp->print_date), /* "%a %b %d", &tm); Skip weekdays */ - "%b %d", &tmtmp) == 0) - tmp->print_date[sizeof(tmp->print_date) - 1] = '\0'; + L"%b %d", &tmtmp) == 0) + tmp->print_date[sizeof(tmp->print_date) - 1] = L'\0'; tmp->bodun = bodun && tdiff == -1; tmp->var = varp; tmp->next = NULL; @@ -577,38 +577,38 @@ int -getmonth(char *s) +getmonth(wchar_t *s) { - char **p; + wchar_t **p; struct fixs *n; for (n = fnmonths; n->name; ++n) - if (!strncasecmp(s, n->name, n->len)) + if (!wcsncasecmp(s, n->name, n->len)) return ((n - fnmonths) + 1); for (n = nmonths; n->name; ++n) - if (!strncasecmp(s, n->name, n->len)) + if (!wcsncasecmp(s, n->name, n->len)) return ((n - nmonths) + 1); for (p = months; *p; ++p) - if (!strncasecmp(s, *p, 3)) + if (!wcsncasecmp(s, *p, 3)) return ((p - months) + 1); return (0); } int -getday(char *s) +getday(wchar_t *s) { - char **p; + wchar_t **p; struct fixs *n; for (n = fndays; n->name; ++n) - if (!strncasecmp(s, n->name, n->len)) + if (!wcsncasecmp(s, n->name, n->len)) return ((n - fndays) + 1); for (n = ndays; n->name; ++n) - if (!strncasecmp(s, n->name, n->len)) + if (!wcsncasecmp(s, n->name, n->len)) return ((n - ndays) + 1); for (p = days; *p; ++p) - if (!strncasecmp(s, *p, 3)) + if (!wcsncasecmp(s, *p, 3)) return ((p - days) + 1); return (0); } @@ -619,21 +619,21 @@ * ... etc ... */ int -getdayvar(char *s) +getdayvar(wchar_t *s) { int offset; - offset = strlen(s); + offset = wcslen(s); /* Sun+1 or Wednesday-2 * ^ ^ */ /* printf ("x: %s %s %d\n", s, s + offset - 2, offset); */ switch(*(s + offset - 2)) { - case '-': - case '+': - return(atoi(s + offset - 2)); + case L'-': + case L'+': + return(wcstol(s + offset - 2, (wchar_t **) NULL, 10)); break; } @@ -642,15 +642,15 @@ */ /* last */ - if (offset > 4 && !strcasecmp(s + offset - 4, "last")) + if (offset > 4 && !wcscasecmp(s + offset - 4, L"last")) return(-1); - else if (offset > 5 && !strcasecmp(s + offset - 5, "first")) + else if (offset > 5 && !wcscasecmp(s + offset - 5, L"first")) return(+1); - else if (offset > 6 && !strcasecmp(s + offset - 6, "second")) + else if (offset > 6 && !wcscasecmp(s + offset - 6, L"second")) return(+2); - else if (offset > 5 && !strcasecmp(s + offset - 5, "third")) + else if (offset > 5 && !wcscasecmp(s + offset - 5, L"third")) return(+3); - else if (offset > 6 && !strcasecmp(s + offset - 6, "fourth")) + else if (offset > 6 && !wcscasecmp(s + offset - 6, L"fourth")) return(+4); /* no offset detected */ diff -ru bsdmainutils/usr.bin/calendar/io.c bsdmainutils/usr.bin/calendar/io.c --- bsdmainutils/usr.bin/calendar/io.c 2010-04-04 15:05:50.000000000 +0200 +++ bsdmainutils/usr.bin/calendar/io.c 2010-04-04 14:50:18.000000000 +0200 @@ -46,11 +46,12 @@ #include #include #include +#include +#include #include "pathnames.h" #include "calendar.h" - struct iovec header[] = { { "From: ", 6 }, { NULL, 0 }, @@ -62,13 +63,37 @@ { "Auto-Submitted: auto-generated\n\n", 32 }, }; +static size_t +utf8towcs (wchar_t *out, char *in, size_t n) +{ + char *ip = in, *op = (char *) out; + size_t ibl = strlen(in), obl = n * sizeof(wchar_t); + static iconv_t cd = (iconv_t) -1; + int r; + + if (cd == (iconv_t) -1) + if ((cd = iconv_open("WCHAR_T", "UTF-8")) == (iconv_t) -1) + err(1, NULL); + + r = iconv(cd, &ip, &ibl, &op, &obl); + + if ((r == -1) && (errno != EINVAL) && (errno != E2BIG)) + return -1; + + if (obl >= sizeof(wchar_t)) + *((wchar_t *) op) = L'\0'; + else + *(((wchar_t *) op) - 1) = L'\0'; + return r; +} void cal(void) { - int ch, l, i, bodun = 0, bodun_maybe = 0, var, printing; + int ch, l, i, bodun = 0, bodun_maybe = 0, var, printing, nlen, utf8mode = 0; struct event *events, *cur_evt, *ev1, *tmp; - char buf[2048 + 1], *prefix = NULL, *p; + wchar_t buf[2048 + 1], *prefix = NULL, *p; + char filebuf[2048 + 1], *filep; struct match *m; FILE *fp; @@ -76,22 +101,41 @@ cur_evt = NULL; if ((fp = opencal()) == NULL) return; - for (printing = 0; fgets(buf, sizeof(buf), stdin) != NULL;) { - if ((p = strchr(buf, '\n')) != NULL) - *p = '\0'; + for (printing = 0; fgets(filebuf, sizeof(filebuf), stdin) != NULL;) { + if ((filep = strchr(filebuf, '\n')) != NULL) + *filep = '\0'; else while ((ch = getchar()) != '\n' && ch != EOF); - for (l = strlen(buf); l > 0 && isspace(buf[l - 1]); l--) + /* convert the line */ + if (utf8mode) + i = utf8towcs(buf, filebuf, 2048); + else + i = mbstowcs(buf, filebuf, 2048); + + if (i == -1 ) + continue; + + for (l = wcslen(buf); l > 0 && iswspace(buf[l - 1]); l--) ; - buf[l] = '\0'; - if (buf[0] == '\0') + buf[l] = L'\0'; + if (buf[0] == L'\0') continue; - if (strncmp(buf, "LANG=", 5) == 0) { - (void) setlocale(LC_ALL, buf + 5); + + if (wcsncmp(buf, L"# ", 2) == 0) + continue; + + if (wcsncmp(buf, L"LANG=", 5) == 0) { + if (strncasecmp(filebuf + 5, "utf-8", 5) == 0) + utf8mode = 1; + else { + utf8mode = 0; + if (setlocale(LC_ALL, filebuf + 5) == NULL) + errx(1, "switch to locale ``%s'' cannot be honored", filebuf + 5); + } setnnames(); - if (!strcmp(buf + 5, "ru_RU.KOI8-R") || - !strcmp(buf + 5, "uk_UA.KOI8-U") || - !strcmp(buf + 5, "by_BY.KOI8-B")) { + if (!strcmp(filebuf + 5, "ru_RU.KOI8-R") || + !strcmp(filebuf + 5, "uk_UA.KOI8-U") || + !strcmp(filebuf + 5, "by_BY.KOI8-B")) { bodun_maybe++; bodun = 0; if (prefix) @@ -100,60 +144,60 @@ } else bodun_maybe = 0; continue; - } else if (strncmp(buf, "CALENDAR=", 9) == 0) { - char *ep; + } else if (wcsncmp(buf, L"CALENDAR=", 9) == 0) { + wchar_t *ep; - if (buf[9] == '\0') + if (buf[9] == L'\0') calendar = 0; - else if (!strcasecmp(buf + 9, "julian")) { + else if (!wcscasecmp(buf + 9, L"julian")) { calendar = JULIAN; errno = 0; - julian = strtoul(buf + 14, &ep, 10); - if (buf[0] == '\0' || *ep != '\0') + julian = wcstoul(buf + 14, &ep, 10); + if (buf[0] == L'\0' || *ep != L'\0') julian = 13; if ((errno == ERANGE && julian == ULONG_MAX) || julian > 14) errx(1, "Julian calendar offset is too large"); - } else if (!strcasecmp(buf + 9, "gregorian")) + } else if (!wcscasecmp(buf + 9, L"gregorian")) calendar = GREGORIAN; - else if (!strcasecmp(buf + 9, "lunar")) + else if (!wcscasecmp(buf + 9, L"lunar")) calendar = LUNAR; - } else if (bodun_maybe && strncmp(buf, "BODUN=", 6) == 0) { + } else if (bodun_maybe && wcsncmp(buf, L"BODUN=", 6) == 0) { bodun++; if (prefix) free(prefix); - if ((prefix = strdup(buf + 6)) == NULL) + if ((prefix = wcsdup(buf + 6)) == NULL) err(1, NULL); continue; } /* User defined names for special events */ - if ((p = strchr(buf, '='))) { + if ((p = wcschr(buf, L'='))) { for (i = 0; i < NUMEV; i++) { - if (strncasecmp(buf, spev[i].name, + if (wcsncasecmp(buf, spev[i].name, spev[i].nlen) == 0 && (p - buf == spev[i].nlen) && buf[spev[i].nlen + 1]) { p++; if (spev[i].uname != NULL) free(spev[i].uname); - if ((spev[i].uname = strdup(p)) == NULL) + if ((spev[i].uname = wcsdup(p)) == NULL) err(1, NULL); - spev[i].ulen = strlen(p); + spev[i].ulen = wcslen(p); i = NUMEV + 1; } } if (i > NUMEV) continue; } - if (buf[0] != '\t') { + if (buf[0] != L'\t') { printing = (m = isnow(buf, bodun)) ? 1 : 0; - if ((p = strchr(buf, '\t')) == NULL) { + if ((p = wcschr(buf, L'\t')) == NULL) { printing = 0; continue; } /* Need the following to catch hardwired "variable" * dates */ - if (p > buf && p[-1] == '*') + if (p > buf && p[-1] == L'*') var = 1; else var = 0; @@ -167,20 +211,22 @@ err(1, NULL); cur_evt->when = m->when; - snprintf(cur_evt->print_date, - sizeof(cur_evt->print_date), "%s%c", - m->print_date, (var + m->var) ? '*' : ' '); + swprintf(cur_evt->print_date, + (sizeof(cur_evt->print_date)/sizeof(wchar_t)), L"%ls%lc", + m->print_date, (var + m->var) ? L'*' : L' '); if (ev1) { cur_evt->desc = ev1->desc; cur_evt->ldesc = NULL; } else { if (m->bodun && prefix) { - if (asprintf(&cur_evt->ldesc, - "\t%s %s", prefix, - p + 1) == -1) - err(1, NULL); + nlen = wcslen(prefix) + wcslen(p); + if ((cur_evt->ldesc = malloc(nlen * sizeof (wchar_t))) == NULL) + err(1, NULL); + swprintf(cur_evt->ldesc, nlen, + L"\t%ls %ls", prefix, + p + 1); } else if ((cur_evt->ldesc = - strdup(p)) == NULL) + wcsdup(p)) == NULL) err(1, NULL); cur_evt->desc = &(cur_evt->ldesc); ev1 = cur_evt; @@ -192,16 +238,20 @@ } } } else if (printing) { - if (asprintf(&p, "%s\n%s", ev1->ldesc, - buf) == -1) + wchar_t *ldesc; + + nlen = wcslen(ev1->ldesc) + wcslen(buf) + 2; + if ((ldesc = malloc(nlen * sizeof (wchar_t))) == NULL) err(1, NULL); + swprintf(ldesc, nlen, L"%ls\n%ls", ev1->ldesc, buf); free(ev1->ldesc); - ev1->ldesc = p; + ev1->ldesc = ldesc; } } tmp = events; while (tmp) { - (void)fprintf(fp, "%s%s\n", tmp->print_date, *(tmp->desc)); + (void)fprintf(fp, "%ls%ls", tmp->print_date, *(tmp->desc)); + (void)fprintf(fp, "\n"); tmp = tmp->next; } tmp = events; @@ -216,31 +266,31 @@ } int -getfield(char *p, char **endp, int *flags) +getfield(wchar_t *p, wchar_t **endp, int *flags) { int val, var, i; - char *start, savech; + wchar_t *start, savech; - for (; !isdigit(*p) && !isalpha(*p) && *p != '*' && *p != '\t'; ++p) + for (; !iswdigit(*p) && !iswalpha(*p) && *p != L'*' && *p != L'\t'; ++p) ; - if (*p == '*') { /* `*' is every month */ + if (*p == L'*') { /* `*' is every month */ *flags |= F_ISMONTH; *endp = p+1; return (-1); /* means 'every month' */ } - if (isdigit(*p)) { - val = strtol(p, &p, 10); /* if 0, it's failure */ - for (; !isdigit(*p) && !isalpha(*p) && *p != '*'; ++p) + if (iswdigit(*p)) { + val = wcstol(p, &p, 10); /* if 0, it's failure */ + for (; !iswdigit(*p) && !iswalpha(*p) && *p != L'*'; ++p) ; *endp = p; return (val); } - for (start = p; isalpha(*++p);) + for (start = p; iswalpha(*++p);) ; /* Sunday-1 */ - if (*p == '+' || *p == '-') - for(; isdigit(*++p); ) + if (*p == L'+' || *p == L'-') + for(; iswdigit(*++p); ) ; savech = *p; @@ -267,12 +317,12 @@ /* Try specials (Easter, Paskha, ...) */ else { for (i = 0; i < NUMEV; i++) { - if (strncasecmp(start, spev[i].name, spev[i].nlen) == 0) { + if (wcsncasecmp(start, spev[i].name, spev[i].nlen) == 0) { start += spev[i].nlen; val = i + 1; i = NUMEV + 1; } else if (spev[i].uname != NULL && - strncasecmp(start, spev[i].uname, spev[i].ulen) == 0) { + wcsncasecmp(start, spev[i].uname, spev[i].ulen) == 0) { start += spev[i].ulen; val = i + 1; i = NUMEV + 1; @@ -280,9 +330,9 @@ } if (i > NUMEV) { switch(*start) { - case '-': - case '+': - var = atoi(start); + case L'-': + case L'+': + var = wcstol(start, (wchar_t **) NULL, 10); if (var > 365 || var < -365) return (0); /* Someone is just being silly */ val += (NUMEV + 1) * var; @@ -300,7 +350,7 @@ return (0); } } - for (*p = savech; !isdigit(*p) && !isalpha(*p) && *p != '*' && *p != '\t'; ++p) + for (*p = savech; !iswdigit(*p) && !iswalpha(*p) && *p != L'*' && *p != L'\t'; ++p) ; *endp = p; return (val); bsdmainutils-9.0.6ubuntu3/debian/patches/look_bflag.diff0000664000000000000000000000717111455310267020256 0ustar Description: Add binary search option. Author: Michael Meskes --- bsdmainutils/usr.bin/look/look.1 2009-10-29 12:35:45.000000000 +0100 +++ bsdmainutils/usr.bin/look/look.1 2009-10-29 12:44:46.000000000 +0100 @@ -40,7 +40,7 @@ .Nd display lines beginning with a given string .Sh SYNOPSIS .Nm -.Op Fl df +.Op Fl bdf .Op Fl t Ar termchar .Ar string .Op Ar @@ -52,11 +52,6 @@ which contain .Ar string as a prefix. -As -.Nm -performs a binary search, the lines in -.Ar file -must be sorted. .Pp If .Ar file @@ -67,6 +62,15 @@ .Pp The following options are available: .Bl -tag -width indent +.It Fl b +Use a binary search on the given word list. If you are ignoring case with +.Fl f +or ignoring non-alphanumeric characters with +.Fl d , +the file must be sorted in the same way. Please note that these options are the +default if no filename is given. See +.Xr sort 1 +for more information on sorting files. .It Fl d Dictionary character set and order, i.e., only alphanumeric characters are compared. @@ -107,6 +111,10 @@ option was specified. This was incorrect and the current man page matches the historic implementation. +.Pp +.Nm +uses a linear search by default instead of a binary search, which is what most +other implementations use by default. .Sh SEE ALSO .Xr grep 1 , .Xr sort 1 --- bsdmainutils/usr.bin/look/look.c 2009-10-29 12:35:45.000000000 +0100 +++ bsdmainutils/usr.bin/look/look.c 2009-10-29 12:44:46.000000000 +0100 @@ -83,7 +83,7 @@ #define GREATER 1 #define LESS (-1) -int dflag, fflag; +int dflag, fflag, bflag; char *binary_search(wchar_t *, unsigned char *, unsigned char *); int compare(wchar_t *, unsigned char *, unsigned char *); @@ -91,6 +91,7 @@ int look(wchar_t *, unsigned char *, unsigned char *); wchar_t *prepkey(const char *, wchar_t); void print_from(wchar_t *, unsigned char *, unsigned char *); +int grep(wchar_t *, unsigned char *, unsigned char *); static void usage(void); @@ -108,8 +109,11 @@ file = _path_words; termchar = L'\0'; - while ((ch = getopt(argc, argv, "dft:")) != -1) + while ((ch = getopt(argc, argv, "bdft:")) != -1) switch(ch) { + case 'b': + bflag = 1; + break; case 'd': dflag = 1; break; @@ -150,7 +154,10 @@ if ((front = mmap(NULL, (size_t)sb.st_size, PROT_READ, MAP_SHARED, fd, (off_t)0)) == MAP_FAILED) err(2, "%s", file); back = front + sb.st_size; - match *= (look(key, front, back)); + if (bflag) + match *= (look(key, front, back)); + else + match *= (grep(key, front, back)); close(fd); } while (argc-- > 2 && (file = *argv++)); @@ -294,6 +301,32 @@ } /* + * Look at every string in the wordlist for a match. Since wordlists are often + * not reliably sorted, or are sorted in locale-dependent ways, we use this + * method by default. + */ +int +grep(wchar_t *string, unsigned char *front, unsigned char *back) +{ + int ret = 1; + + for (; front < back; ++front) { + if (compare(string, front, back) == EQUAL) { + for (; front < back && *front != '\n'; ++front) + if (putchar(*front) == EOF) + err(2, "stdout"); + if (putchar('\n') == EOF) + err(2, "stdout"); + ret = 0; + } + + /* Move to the next word in the list. */ + while (front < back && *front != '\n') + front++; + } + return(ret); +} +/* * Print as many lines as match string, starting at front. */ void @@ -350,6 +383,6 @@ static void usage(void) { - (void)fprintf(stderr, "usage: look [-df] [-t char] string [file ...]\n"); + (void)fprintf(stderr, "usage: look [-bdf] [-t char] string [file ...]\n"); exit(2); } bsdmainutils-9.0.6ubuntu3/debian/patches/ncal_man.diff0000664000000000000000000000267612442073025017727 0ustar Description: Explain cal and make manpage better understandable Author: Michael Meskes --- bsdmainutils/usr.bin/ncal/ncal.1 2014-10-17 11:11:47.179009560 +0200 +++ bsdmainutils/usr.bin/ncal/ncal.1 2014-10-17 11:12:51.850729403 +0200 @@ -81,8 +81,8 @@ Turns off highlighting of today. .It Fl J Display Julian Calendar, if combined with the -.Fl e -option, display date of Easter according to the Julian Calendar. +.Fl o +option, display date of Orthodox Easter according to the Julian Calendar. .It Fl e Display date of Easter (for western churches). .It Fl j @@ -92,12 +92,11 @@ .Ar month . If .Ar month -is specified as a decimal number, it may be followed by the letter +is specified as a decimal number, appending .Ql f or .Ql p -to indicate the following or preceding month of that number, -respectively. +displays the same month of the following or previous year respectively. .It Fl o Display date of Orthodox Easter (Greek and Russian Orthodox Churches). @@ -183,6 +182,15 @@ .Nm ncal command appeared in .Fx 2.2.6 . +The output of the +.Nm cal +command is supposed to be bit for bit compatible to the original Unix +.Nm cal +command, because its output is processed by other programs like CGI scripts, +that should not be broken. Therefore it will always output 8 lines, even if +only 7 contain data. This extra blank line also appears with the original +.Nm cal +command, at least on Solaris 8 .Sh AUTHORS The .Nm ncal bsdmainutils-9.0.6ubuntu3/debian/patches/ncal_fdow.diff0000664000000000000000000000674311767721010020115 0ustar Description: Use locale to figure out first day of week and first week of year. Author: Michael Meskes --- bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:16:30.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:27:47.000000000 +0100 @@ -165,6 +165,7 @@ int nswitch; /* user defined switch date */ int nswitchb; /* switch date for backward compatibility */ int highlightdate; +int weekstart = 0; /* day the week starts on (Sun [0] - Sat [6]) */ char *center(char *s, char *t, int w); wchar_t *wcenter(wchar_t *s, wchar_t *t, int w); @@ -253,6 +254,23 @@ if (flag_backward) nswitchb = ndaysj(&ukswitch); + /* Determine on what day the week starts. */ +#ifdef __GLIBC__ + if (!flag_backward) + { + int first_week_i; + date first_week_d; + date sunday = { .y = 1997, .m = 11, .d = 30 }; + + first_week_i = (intptr_t) nl_langinfo(_NL_TIME_WEEK_1STDAY); + first_week_d.d = first_week_i % 100; + first_week_i /= 100; + first_week_d.m = first_week_i % 100; + first_week_i /= 100; + first_week_d.y = first_week_i; + weekstart = *nl_langinfo(_NL_TIME_FIRST_WEEKDAY) + (ndaysj(&first_week_d) - ndaysj(&sunday)) % 7 - 1; + } +#endif before = after = -1; while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wy")) != -1) @@ -384,6 +402,10 @@ usage(); } + /* Technically not correct, but removes the need to add 1 later on */ + if (flag_backward) + weekstart++; + if (flag_month != NULL) { if (parsemonth(flag_month, &m, &y)) { errx(EX_USAGE, @@ -541,7 +563,13 @@ struct tm tm; char buf[MAX_WIDTH]; #ifndef D_MD_ORDER - static int d_first = 1; /* XXX */ + static int d_first = -1; /* XXX */ + char * str = nl_langinfo(D_FMT); + + if (d_first < 0) { + for (; *str && *str != 'd' && *str != 'm'; str++); + d_first = (*str == 'm') ? 0 : 1; + } #else static int d_first = -1; @@ -799,10 +827,13 @@ jan1 = firstday(y, 1); /* - * Set firstm to the day number of monday of the first week of + * Set firstm to the day number of the day starting the first week of * this month. (This might be in the last month) */ - firstm = first - weekday(first); + if (weekstart == 0) + firstm = first - (weekday(first) + 1) % 7; + else + firstm = first - weekday(first); /* Set ds (daystring) and dw (daywidth) according to the jd_flag. */ if (jd_flag) { @@ -958,7 +989,7 @@ memset(&tm, 0, sizeof(tm)); for (i = 0; i != 7; i++) { - tm.tm_wday = (i+1) % 7; + tm.tm_wday = (i+weekstart) % 7; wcsftime(buf, sizeof(buf), L"%a", &tm); for (len = 2; len > 0; --len) { if ((width = wcswidth(buf, len)) <= 2) --- bsdmaintuils/usr.bin/ncal/calendar.c 2012-06-11 12:30:34.899526743 +0200 +++ bsdmaintuils/usr.bin/ncal/calendar.c 2012-06-11 12:30:18.383526884 +0200 @@ -25,8 +25,10 @@ */ #include +#include #include "calendar.h" +extern int weekstart; #ifndef NULL #define NULL 0 @@ -257,11 +259,12 @@ nd = ndaysgi(&idt); /* * If more than 3 days of this week are in the preceding year, the - * next week is week 1 (and the next monday is the answer), - * otherwise this week is week 1 and the last monday is the + * next week is week 1 (and the next sunday/monday is the answer), + * otherwise this week is week 1 and the last sunday/monday is the * answer. */ - if ((wd = weekday(nd)) > 3) + /* 3 may or may not be correct, better use what the locale says */ + if ((wd = weekday(nd) + 1 - weekstart) >= *nl_langinfo(_NL_TIME_WEEK_1STWEEK)) return (nd - wd + 7); else return (nd - wd); bsdmainutils-9.0.6ubuntu3/debian/patches/calendar.diff0000664000000000000000000000777311512674040017734 0ustar Description: Make program work on Debian. Author: Michael Meskes --- bsd/openbsd/calendar/calendar.c 2009-10-29 16:40:18.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/calendar.c 2009-10-29 18:13:38.000000000 +0100 @@ -35,14 +35,12 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include "pathnames.h" @@ -170,10 +168,9 @@ continue; case 0: /* child */ (void)setlocale(LC_ALL, ""); - if (setusercontext(NULL, pw, pw->pw_uid, - LOGIN_SETALL ^ LOGIN_SETLOGIN)) - err(1, "unable to set user context (uid %u)", - pw->pw_uid); + (void)setegid(pw->pw_gid); + (void)initgroups(pw->pw_name, pw->pw_gid); + (void)seteuid(pw->pw_uid); if (acstat) { if (chdir(pw->pw_dir) || stat(calendarFile, &sbuf) != 0 || --- bsd/openbsd/calendar/calendar.h 2009-10-29 16:40:18.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/calendar.h 2009-10-29 18:46:55.000000000 +0100 @@ -29,6 +29,7 @@ * SUCH DAMAGE. */ +#include extern struct passwd *pw; extern int doall; --- bsd/openbsd/calendar/day.c 2009-10-29 17:14:33.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/day.c 2009-10-29 19:37:46.000000000 +0100 @@ -39,7 +39,6 @@ #include #include #include -#include #include "pathnames.h" #include "calendar.h" @@ -289,7 +289,7 @@ /* adjust bodun rate */ if (bodun && !bodun_always) - bodun = !arc4random_uniform(3); + bodun = !(rand() % 3); /* Easter or Easter depending days */ if (flags & F_SPECIAL) --- bsd/openbsd/calendar/io.c 2009-10-29 18:07:37.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/io.c 2009-10-29 19:21:23.000000000 +0100 @@ -45,7 +45,6 @@ #include #include #include -#include #include #include "pathnames.h" @@ -323,9 +323,13 @@ errx(1, "cannot get home directory"); if (!(chdir(home) == 0 && chdir(calendarHome) == 0 && - (fdin = open(calendarFile, O_RDONLY)) != -1)) - errx(1, "no calendar file: ``%s'' or ``~/%s/%s''", - calendarFile, calendarHome, calendarFile); + (fdin = open(calendarFile, O_RDONLY)) != -1)) { + /* Try the system-wide calendar file. */ + if ((fdin = open(_PATH_DEFAULT, O_RDONLY)) == -1) { + errx(1, "no calendar file: ``%s'' or ``~/%s/%s''", + calendarFile, calendarHome, calendarFile); + } + } } } @@ -357,7 +357,7 @@ (void)close(fderr); } execl(_PATH_CPP, "cpp", "-traditional", "-undef", "-U__GNUC__", - "-P", "-I.", _PATH_INCLUDE, (char *)NULL); + "-P", "-I.", _PATH_EINCLUDE, _PATH_INCLUDE, (char *)NULL); warn(_PATH_CPP); _exit(1); } --- bsd/openbsd/calendar/ostern.c 2009-10-29 16:40:52.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/ostern.c 2009-10-29 18:46:16.000000000 +0100 @@ -30,7 +30,6 @@ #include #include -#include #include "calendar.h" --- bsd/openbsd/calendar/paskha.c 2009-10-29 16:35:17.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/paskha.c 2009-10-29 19:37:26.000000000 +0100 @@ -27,7 +27,6 @@ */ #include -#include #include "calendar.h" --- bsd/openbsd/calendar/pathnames.h 2009-10-29 17:14:33.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/pathnames.h 2009-10-29 18:12:17.000000000 +0100 @@ -37,3 +37,5 @@ /* XXX -- fix when cpp parses arguments rationally */ #define _PATH_INCLUDE "-I/usr/share/calendar" +#define _PATH_EINCLUDE "-I/etc/calendar" +#define _PATH_DEFAULT "/etc/calendar/default" --- bsd/openbsd/calendar/pesach.c 2009-10-29 16:35:34.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/pesach.c 2009-10-29 18:48:09.000000000 +0100 @@ -18,7 +18,6 @@ */ #include -#include #include "calendar.h" bsdmainutils-9.0.6ubuntu3/debian/patches/column_nomerge.diff0000664000000000000000000000465711512674015021174 0ustar Description: Add nomerge option. Author: Michael Meskes --- bsdmainutils/usr.bin/column/column.c.orig 2009-10-26 19:19:42.000000000 +0100 +++ bsdmainutils/usr.bin/column/column.c 2009-10-26 20:02:25.000000000 +0100 @@ -69,6 +69,8 @@ void usage(void); int width(const wchar_t *); +int nomerge = 0; /* whether multiple delimiters should be merged */ + int termwidth = 80; /* default terminal width */ int entries; /* number of records */ @@ -97,8 +99,11 @@ termwidth = win.ws_col; tflag = xflag = 0; - while ((ch = getopt(argc, argv, "c:s:tx")) != -1) + while ((ch = getopt(argc, argv, "c:s:txn")) != -1) switch(ch) { + case 'n': + nomerge = 1; + break; case 'c': termwidth = atoi(optarg); break; @@ -152,6 +157,37 @@ exit(eval); } +/* If we are not merging delimiters (nomerge), use our own code, if we + * are, just call wcstok(). */ +wchar_t * +mwcstok (wchar_t *wcs, const wchar_t *delim, wchar_t **save_ptr) +{ + wchar_t *result; + + if (!nomerge) + return wcstok(wcs, delim, save_ptr); + + if (wcs == NULL) + wcs = *save_ptr; + + if (wcs == NULL) + return NULL; + + /* Find the end of the next token. */ + result = wcs; + wcs = wcspbrk (result, delim); + if (wcs == NULL) + /* This token finishes the string. */ + *save_ptr = NULL; + else + { + /* Terminate the token and make *SAVE_PTR point past it. */ + *wcs = L'\0'; + *save_ptr = wcs + 1; + } + return result; +} + void c_columnate(void) { @@ -243,7 +279,7 @@ err(1, (char *)NULL); for (cnt = 0, lp = list; cnt < entries; ++cnt, ++lp, ++t) { for (coloff = 0, p = *lp; - (cols[coloff] = wcstok(p, separator, &last)); + (cols[coloff] = mwcstok(p, separator, &last)); p = NULL) if (++coloff == maxcols) { if (!(cols = realloc(cols, ((u_int)maxcols + --- bsdmainutils/usr.bin/column/column.1.orig 2009-10-26 20:09:46.000000000 +0100 +++ bsdmainutils/usr.bin/column/column.1 2009-10-26 20:13:33.000000000 +0100 @@ -40,7 +40,7 @@ .Nd columnate lists .Sh SYNOPSIS .Nm -.Op Fl tx +.Op Fl ntx .Op Fl c Ar columns .Op Fl s Ar sep .Op Ar @@ -73,6 +73,11 @@ Useful for pretty-printing displays. .It Fl x Fill columns before filling rows. +.It Fl n +By default, the column command will merge multiple adjacent delimiters into a +single delimiter when using the +.Fl t +option; this option disables that behavior. This option is a Debian GNU/Linux extension. .El .Sh ENVIRONMENT The bsdmainutils-9.0.6ubuntu3/debian/patches/column_error.diff0000664000000000000000000000115211756711411020656 0ustar Description: Check for an error when reading a file. This will catch encodings that do not work in the current setting. Author: Michael Meskes --- bsdmainutils/usr.bin/column/column.c 2012-01-17 12:51:21.473557315 +0100 +++ bsdmainutils/usr.bin/column/column.c 2012-01-17 12:52:02.633557660 +0100 @@ -58,6 +58,7 @@ #include #include #include +#include #define TAB 8 @@ -314,6 +349,9 @@ wcscpy(list[entries], buf); entries++; } + + if (errno == EILSEQ) + perror("column"); } /* Like wcswidth(), but ignores non-printing characters. */ bsdmainutils-9.0.6ubuntu3/debian/patches/lorder_signals.diff0000664000000000000000000000104011455310267021153 0ustar Description: Use signal names for POSIX compliance. Author: Michael Meskes --- bsdmainutils/usr.bin/lorder/lorder.sh.orig 2009-10-28 16:18:29.000000000 +0100 +++ bsdmainutils/usr.bin/lorder/lorder.sh 2009-10-28 16:19:02.000000000 +0100 @@ -51,7 +51,7 @@ # remove temporary files on HUP, INT, QUIT, PIPE, TERM trap "rm -f $R $S; exit 0" 0 -trap "rm -f $R $S; exit 1" 1 2 3 13 15 +trap "rm -f $R $S; exit 1" HUP INT QUIT PIPE TERM # make sure files depend on themselves for file in "$@"; do echo "$file $file" ; done bsdmainutils-9.0.6ubuntu3/debian/patches/hexdump_dc1.diff0000664000000000000000000000105712153362543020355 0ustar Author: Michael Meskes Description: Fix small typo --- bsdmainutils/usr.bin/hexdump/conv.c 2013-01-03 13:35:35.000000000 +0100 +++ bsdmainutils/usr.bin/hexdump/conv.c 2013-04-15 19:40:59.727289799 +0200 @@ -155,7 +155,7 @@ static char const * list[] = { "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel", "bs", "ht", "lf", "vt", "ff", "cr", "so", "si", - "dle", "dcl", "dc2", "dc3", "dc4", "nak", "syn", "etb", + "dle", "dc1", "dc2", "dc3", "dc4", "nak", "syn", "etb", "can", "em", "sub", "esc", "fs", "gs", "rs", "us", }; bsdmainutils-9.0.6ubuntu3/debian/patches/write_allow.diff0000664000000000000000000000136212665276732020517 0ustar Description: Allow root to write even without write permissions. Author: Michael Meskes Index: bsdmainutils-9.0.6ubuntu2/usr.bin/write/write.c =================================================================== --- bsdmainutils-9.0.6ubuntu2.orig/usr.bin/write/write.c +++ bsdmainutils-9.0.6ubuntu2/usr.bin/write/write.c @@ -93,7 +93,7 @@ main(int argc, char **argv) time_t atime; uid_t myuid; int msgsok, myttyfd; - char tty[MAXPATHLEN], *mytty; + char tty[MAXPATHLEN], *mytty = NULL; (void)setlocale(LC_CTYPE, ""); @@ -124,7 +124,7 @@ main(int argc, char **argv) } if (!msgsok) - errx(1, "you have write permission turned off"); + warnx("write: you have write permission turned off.\n"); myuid = getuid(); bsdmainutils-9.0.6ubuntu3/debian/patches/look.diff0000664000000000000000000000146311455310267017121 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- bsd/freebsd/look/look.c 2009-10-29 12:18:22.000000000 +0100 +++ bsdmainutils/usr.bin/look/look.c 2009-10-29 12:18:03.000000000 +0100 @@ -46,7 +46,6 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); /* * look -- find lines in a sorted list. @@ -74,6 +73,10 @@ #include "pathnames.h" +#ifndef SIZE_T_MAX +# define SIZE_T_MAX INT_MAX +#endif + static char _path_words[] = _PATH_WORDS; #define EQUAL 0 @@ -172,7 +175,7 @@ writep = key; while ((clen = mbrtowc(&ch, readp, MB_LEN_MAX, NULL)) != 0) { if (clen == (size_t)-1 || clen == (size_t)-2) - errc(2, EILSEQ, NULL); + errx(2, "%s", strerror(EILSEQ)); if (fflag) ch = towlower(ch); if (!dflag || iswalnum(ch)) bsdmainutils-9.0.6ubuntu3/debian/patches/banner_manpage.diff0000664000000000000000000000114411455310267021106 0ustar Description: Rename program to printerbanner in manpage. Author: Michael Meskes --- freebsd/usr.bin/banner/banner.6 2009-10-03 18:17:50.000000000 +0200 +++ bsdmainutils/usr.bin/banner/banner.6 2009-10-03 18:19:19.000000000 +0200 @@ -33,10 +33,10 @@ .\" $FreeBSD$ .\" .Dd January 26, 2005 -.Dt BANNER 6 +.Dt PRINTERBANNER 1 .Os .Sh NAME -.Nm banner +.Nm printerbanner .Nd print large banner on printer .Sh SYNOPSIS .Nm @@ -80,3 +80,5 @@ Sometimes it runs letters together. .Pp Messages are limited to 1024 characters in length. +.Pp +This program is called just banner on FreeBSD. bsdmainutils-9.0.6ubuntu3/debian/patches/libcalendar.diff0000664000000000000000000000112511455310267020410 0ustar Description: Make library compile on Debian. Author: Michael Meskes --- freebsd/usr-bin/libcalendar/calendar.c 2009-09-22 14:36:17.000000000 +0200 +++ bsdmainutils/usr.bin/ncal/calendar.c 2009-09-22 14:38:03.000000000 +0200 @@ -25,7 +25,6 @@ */ #include -__FBSDID("$FreeBSD$"); #include "calendar.h" --- freebsd/usr-bin/libcalendar/easter.c 2009-09-22 14:36:17.000000000 +0200 +++ bsdmainutils/usr.bin/ncal/easter.c 2009-09-22 14:38:08.000000000 +0200 @@ -25,7 +25,6 @@ */ #include -__FBSDID("$FreeBSD$"); #include "calendar.h" bsdmainutils-9.0.6ubuntu3/debian/patches/ncal.diff0000664000000000000000000001040211564521542017064 0ustar Description: Make ncal work with UTF-8. Author: Michael Meskes --- freebsd/usr.bin/ncal/ncal.c 2011-01-03 13:09:12.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 13:15:27.000000000 +0100 @@ -29,7 +29,7 @@ "$FreeBSD$"; #endif /* not lint */ -#include +#include "calendar.h" #include #include #include @@ -520,7 +520,7 @@ int n; /* number of lines to print */ int m; /* offset from left to right table entry on the same line */ -#define FSTR "%c%s %-15s%4d-%02d-%02d" +#define FSTR L"%c%s %-15s%4d-%02d-%02d" #define DFLT(p) ((p) == dftswitch ? '*' : ' ') #define FSTRARG(p) DFLT(p), (p)->cc, (p)->nm, (p)->dt.y, (p)->dt.m, (p)->dt.d @@ -528,9 +528,9 @@ m = (n + 1) / 2; n /= 2; for (p = switches; p != switches + n; p++) - printf(FSTR" "FSTR"\n", FSTRARG(p), FSTRARG(p+m)); + wprintf(FSTR" "FSTR"\n", FSTRARG(p), FSTRARG(p+m)); if (m != n) - printf(FSTR"\n", FSTRARG(p)); + wprintf(FSTR"\n", FSTRARG(p)); } /* Print the date of easter sunday. */ @@ -540,10 +540,14 @@ date dt; struct tm tm; char buf[MAX_WIDTH]; +#ifndef D_MD_ORDER + static int d_first = 1; /* XXX */ +#else static int d_first = -1; if (d_first < 0) d_first = (*nl_langinfo(D_MD_ORDER) == 'd'); +#endif /* force orthodox easter for years before 1583 */ if (y < 1583) orthodox = 1; @@ -561,7 +565,7 @@ tm.tm_mon = dt.m - 1; tm.tm_mday = dt.d; strftime(buf, sizeof(buf), d_first ? "%e %B %Y" : "%B %e %Y", &tm); - printf("%s\n", buf); + wprintf(L"%s\n", buf); } #define MW(mw, me) ((mw) + me) @@ -625,26 +629,26 @@ /* Empty line between two rows of months */ if (m != m1) - printf("\n"); + wprintf(L"\n"); /* Year at the top. */ if (printyearheader && M2Y(m) != prevyear) { sprintf(s, "%d", M2Y(m)); - printf("%s\n", center(t, s, mpl * mw)); + wprintf(L"%s\n", center(t, s, mpl * mw)); prevyear = M2Y(m); } /* Month names. */ for (i = 0; i < count; i++) if (printyearheader) wprintf(L"%-*ls ", mw, wcenter(ws, year[i].name, mw)); else { - swprintf(ws, sizeof(ws), L"%-ls %d", + swprintf(ws, (sizeof(ws)/sizeof(wchar_t)), L"%-ls %d", year[i].name, M2Y(m + i)); wprintf(L"%-*ls ", mw, wcenter(ws1, ws, mw)); } - printf("\n"); + wprintf(L"\n"); /* Day of the week names. */ for (i = 0; i < count; i++) { @@ -654,15 +658,15 @@ wdss, wds.names[3], wdss, wds.names[4], wdss, wds.names[5]); } - printf("\n"); + wprintf(L"\n"); /* And the days of the month. */ for (i = 0; i != 6; i++) { for (j = 0; j < count; j++) - printf("%-*s ", + wprintf(L"%-*s ", MW(mw, year[j].extralen[i]), year[j].lines[i]+1); - printf("\n"); + wprintf(L"\n"); } m += mpl; @@ -712,12 +716,12 @@ /* Empty line between two rows of months. */ if (m != m1) - printf("\n"); + wprintf(L"\n"); /* Year at the top. */ if (printyearheader && M2Y(m) != prevyear) { sprintf(s, "%d", M2Y(m)); - printf("%s\n", center(t, s, mpl * mw)); + wprintf(L"%s\n", center(t, s, mpl * mw)); prevyear = M2Y(m); } @@ -729,7 +733,7 @@ else wprintf(L"%-ls %-*d", year[i].name, mw - wcslen(year[i].name) - 1, M2Y(m + i)); - printf("\n"); + wprintf(L"\n"); /* And the days of the month. */ for (i = 0; i != 7; i++) { @@ -738,18 +742,18 @@ /* Full months */ for (j = 0; j < count; j++) - printf("%-*s", + wprintf(L"%-*s", MW(mw, year[j].extralen[i]), year[j].lines[i]); - printf("\n"); + wprintf(L"\n"); } /* Week numbers. */ if (flag_weeks) { - printf(" "); + wprintf(L" "); for (i = 0; i < count; i++) - printf("%-*s", mw, year[i].weeks); - printf("\n"); + wprintf(L"%-*s", mw, year[i].weeks); + wprintf(L"\n"); } m += mpl; @@ -777,7 +777,7 @@ memset(&tm, 0, sizeof(tm)); tm.tm_mon = m; wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]), - L"%OB", &tm); + L"%B", &tm); mlines->name[0] = towupper(mlines->name[0]); /* @@ -876,7 +876,7 @@ memset(&tm, 0, sizeof(tm)); tm.tm_mon = m; wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]), - L"%OB", &tm); + L"%B", &tm); mlines->name[0] = towupper(mlines->name[0]); /* bsdmainutils-9.0.6ubuntu3/debian/patches/hexdump_segfault.diff0000664000000000000000000000101311512674040021504 0ustar Description: Fix segfault. Author: Michael Meskes --- bsdmainutils/usr.bin/hexdump/parse.c 2009-10-04 02:46:16.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/parse.c 2009-10-04 02:43:59.000000000 +0200 @@ -427,7 +427,7 @@ if (!fu->nextfu && fs->bcnt < blocksize && !(fu->flags&F_SETREP) && fu->bcnt) fu->reps += (blocksize - fs->bcnt) / fu->bcnt; - if (fu->reps > 1) { + if (fu->reps > 1 && fu->nextpr) { for (pr = fu->nextpr;; pr = pr->nextpr) if (!pr->nextpr) break; bsdmainutils-9.0.6ubuntu3/debian/patches/calendar_stdio.diff0000664000000000000000000000221511756711411021124 0ustar Description: Allow calendar file input from stdin. Author: Michael Meskes diff -ru bsdmainutils/usr.bin/calendar/calendar.c bsdmainutils/usr.bin/calendar/calendar.c --- bsdmainutils/usr.bin/calendar/calendar.c 2012-01-19 10:07:37.302810662 +0100 +++ bsdmainutils/usr.bin/calendar/calendar.c 2012-01-19 10:05:54.734809800 +0100 @@ -88,7 +88,7 @@ break; case 'f': /* other calendar file */ - calendarFile = optarg; + calendarFile = (strcmp(optarg, "-") == 0) ? "/dev/stdin" : optarg; break; case 't': /* other date, undocumented, for tests */ diff -ru bsdmainutils/usr.bin/calendar/io.c bsdmainutils/usr.bin/calendar/io.c --- bsdmainutils/usr.bin/calendar/io.c 2012-01-19 10:07:37.314810663 +0100 +++ bsdmainutils/usr.bin/calendar/io.c 2012-01-19 10:03:54.682808794 +0100 @@ -365,7 +365,7 @@ /* open up calendar file as stdin */ if ((fdin = open(calendarFile, O_RDONLY)) == -1 || - fstat(fdin, &st) == -1 || !S_ISREG(st.st_mode)) { + fstat(fdin, &st) == -1 || !(S_ISREG(st.st_mode)||S_ISCHR(st.st_mode))) { if (!doall) { char *home = getenv("HOME"); if (home == NULL || *home == '\0') bsdmainutils-9.0.6ubuntu3/debian/patches/hexdump_man.diff0000664000000000000000000000336111512674015020457 0ustar Description: Add examples to manpage. Author: Michael Meskes --- freebsd/usr.bin/hexdump/hexdump.1.orig 2010-11-03 19:36:36.000000000 +0100 +++ bsdmainutils/usr.bin/hexdump/hexdump.1 2010-11-03 19:37:44.000000000 +0100 @@ -197,7 +197,7 @@ .Xr fprintf 3 default which prints the entire string if the precision is unspecified). .It -The conversion characters ``h'', ``l'', ``n'', ``p'' and ``q'' are +The conversion characters ``%'', ``h'', ``l'', ``n'', ``p'' and ``q'' are not supported. .It The single character escape sequences @@ -346,6 +346,49 @@ "%07.7_Ax\en" "%07.7_ax " 8/2 "%04x " "\en" .Ed +.Pp +Some examples for the \-e option: +.Bd -literal -offset indent +# hex bytes +% echo hello | hexdump \-v \-e '/1 "%02X "' ; echo +68 65 6C 6C 6F 0A + +# same, with ASCII section +% echo hello | hexdump \-e '8/1 "%02X ""\\t"" "' \-e '8/1 "%c""\\n"' +68 65 6C 6C 6F 0A hello + +# hex with preceding 'x' +% echo hello | hexdump \-v \-e '"x" 1/1 "%02X" " "' ; echo +x68 x65 x6C x6C x6F x0A + +# one hex byte per line +% echo hello | hexdump \-v \-e '/1 "%02X\\n"' +68 +65 +6C +6C +6F +0A + +# a table of byte#, hex, decimal, octal, ASCII +% echo hello | hexdump \-v \-e '/1 "%_ad# "' \-e '/1 "%02X hex"' \-e '/1 " = %03i dec"' \-e '/1 " = %03o oct"' \-e '/1 " = _%c\\_\\n"' +0# 68 hex = 104 dec = 150 oct = _h_ +1# 65 hex = 101 dec = 145 oct = _e_ +2# 6C hex = 108 dec = 154 oct = _l_ +3# 6C hex = 108 dec = 154 oct = _l_ +4# 6F hex = 111 dec = 157 oct = _o_ +5# 0A hex = 010 dec = 012 oct = _ +_ + +# byte# & ASCII with control chars +% echo hello | hexdump \-v \-e '/1 "%_ad# "' \-e '/1 " _%_u\\_\\n"' +0# _h_ +1# _e_ +2# _l_ +3# _l_ +4# _o_ +5# _lf_ +.Ed .Sh SEE ALSO .Xr gdb 1 , .Xr od 1 bsdmainutils-9.0.6ubuntu3/debian/patches/column_empty.diff0000664000000000000000000000123411455310267020664 0ustar Description: Fix sewgfault on empty lines. Author: Michael Meskes --- bsdmainutils/usr.bin/column/column.c.orig 2009-10-17 17:40:27.000000000 +0200 +++ bsdmainutils/usr.bin/column/column.c 2009-10-17 17:43:07.000000000 +0200 @@ -268,9 +268,9 @@ } for (cnt = 0, t = tbl; cnt < entries; ++cnt, ++t) { for (coloff = 0; coloff < t->cols - 1; ++coloff) - (void)wprintf(L"%ls%*ls", t->list[coloff], + (void)wprintf(L"%ls%*ls", t->list[coloff] ? t->list[coloff] : L"", lens[coloff] - t->len[coloff] + 2, L" "); - (void)wprintf(L"%ls\n", t->list[coloff]); + (void)wprintf(L"%ls\n", t->list[coloff] ? t->list[coloff] : L""); } } bsdmainutils-9.0.6ubuntu3/debian/patches/hexdump_seek.diff0000664000000000000000000000122211512674040020623 0ustar Description: Use seek whenever possible to skip parts of a file. Author: Michael Meskes --- bsdmainutils/usr.bin/hexdump/display.c 2010-01-21 13:12:52.000000000 +0100 +++ bsdmainutils/usr.bin/hexdump/display.c 2010-01-21 13:13:20.000000000 +0100 @@ -383,11 +382,9 @@ return; } } + if (fseeko(stdin, skip, SEEK_SET)) { if (S_ISREG(sb.st_mode)) { - if (fseeko(stdin, skip, SEEK_SET)) err(1, "%s", fname); - address += skip; - skip = 0; } else { for (cnt = 0; cnt < skip; ++cnt) if (getchar() == EOF) @@ -395,4 +392,9 @@ address += cnt; skip -= cnt; } + } + else { + address += skip; + skip = 0; + } } bsdmainutils-9.0.6ubuntu3/debian/patches/write.diff0000664000000000000000000001064211455310267017306 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- bsd/freebsd/write/write.c 2009-10-29 14:01:40.000000000 +0100 +++ bsdmainutils/usr.bin/write/write.c 2009-10-29 14:11:53.000000000 +0100 @@ -47,7 +47,6 @@ #endif #include -__FBSDID("$FreeBSD$"); #include #include @@ -65,6 +64,21 @@ #include #include +#include +#include +#define HAVE_GETUTENT +/* for Hurd */ +#ifndef MAXPATHLEN +# define MAXPATHLEN 4096 +#endif +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 255 +#endif +#ifdef __GLIBC__ +# undef __unused +# define __unused __attribute__((__unused__)) +#endif + void done(int); void do_write(char *, char *, uid_t); static void usage(void); @@ -95,14 +109,20 @@ myttyfd = fileno(stdout); else if (isatty(fileno(stderr))) myttyfd = fileno(stderr); - else - errx(1, "can't find your tty"); - if (!(mytty = ttyname(myttyfd))) - errx(1, "can't find your tty's name"); - if (!strncmp(mytty, _PATH_DEV, strlen(_PATH_DEV))) - mytty += strlen(_PATH_DEV); - if (term_chk(mytty, &msgsok, &atime, 1)) - exit(1); + else { + mytty = "(none)"; + msgsok = 1; + } + + if (!mytty) { + if (!(mytty = ttyname(myttyfd))) + errx(1, "can't find your tty's name"); + if (!strncmp(mytty, _PATH_DEV, strlen(_PATH_DEV))) + mytty += strlen(_PATH_DEV); + if (term_chk(mytty, &msgsok, &atime, 1)) + exit(1); + } + if (!msgsok) errx(1, "you have write permission turned off"); @@ -146,6 +166,15 @@ int utmp_chk(char *user, char *tty) { +#ifdef HAVE_GETUTENT + struct utmp *u; + + while ((u = getutent()) != (struct utmp*) 0) + if (u->ut_type == USER_PROCESS && + strncmp(user, u->ut_name, sizeof(u->ut_name)) == 0 && + strncmp(tty, u->ut_line, sizeof(u->ut_line)) == 0) + return(0); +#else struct utmp u; int ufd; @@ -160,6 +189,7 @@ } (void)close(ufd); +#endif return(1); } @@ -177,21 +207,37 @@ void search_utmp(char *user, char *tty, char *mytty, uid_t myuid) { +#ifdef HAVE_GETUTENT + struct utmp *u; +#else struct utmp u; +#endif time_t bestatime, atime; int ufd, nloggedttys, nttys, msgsok, user_is_me; char atty[UT_LINESIZE + 1]; +#ifdef HAVE_GETUTENT + setutent(); +#else if ((ufd = open(_PATH_UTMP, O_RDONLY)) < 0) err(1, "utmp"); +#endif nloggedttys = nttys = 0; bestatime = 0; user_is_me = 0; +#ifdef HAVE_GETUTENT + while ((u = getutent()) != (struct utmp*) 0) + if (strncmp(user, u->ut_name, sizeof(u->ut_name)) == 0 + && u->ut_type == USER_PROCESS) { + ++nloggedttys; + (void)strncpy(atty, u->ut_line, UT_LINESIZE); +#else while (read(ufd, (char *) &u, sizeof(u)) == sizeof(u)) if (strncmp(user, u.ut_name, sizeof(u.ut_name)) == 0) { ++nloggedttys; (void)strncpy(atty, u.ut_line, UT_LINESIZE); +#endif atty[UT_LINESIZE] = '\0'; if (term_chk(atty, &msgsok, &atime, 0)) continue; /* bad term? skip */ @@ -202,13 +248,27 @@ continue; /* don't write to yourself */ } ++nttys; +#ifdef HAVE_GETUTENT +/* + * If this is a newly created tty (eg fresh xterm), then user will not have + * typed at it, and the atime will be way in the past. + * So, if the atime is < utmp creation time, use the utmp time. + */ + if (atime < u->ut_time) + atime = u->ut_time; +#endif + if (atime > bestatime) { bestatime = atime; (void)strcpy(tty, atty); } } +#ifdef HAVE_GETUTENT + endutent(); +#else (void)close(ufd); +#endif if (nloggedttys == 0) errx(1, "%s is not logged in", user); if (nttys == 0) { @@ -263,6 +323,20 @@ login = "???"; } + /* got the utmp entry: ensure it matches the uid */ + if ((pwd = getpwnam(login)) == NULL) + /* claimed utmp entry isn't in the password file */ + errx(1, "you're %s, eh? Never heard of you.", login); + if (myuid != pwd->pw_uid) { + /* uid of logname in utmp is different from our uid, + eg su'ed in someone else's login */ + if (myuid != 0) + errx(1, "you are uid %d, but your login is as uid %d", + myuid, pwd->pw_uid); + else + warnx("warning: write will appear from %s", login); + } + (void)snprintf(path, sizeof(path), "%s%s", _PATH_DEV, tty); if ((freopen(path, "w", stdout)) == NULL) err(1, "%s", path); bsdmainutils-9.0.6ubuntu3/debian/patches/hd.diff0000664000000000000000000000126311455310267016546 0ustar Description: hd is not supposed to understand option '-C' because it is implied Author: Michael Meskes --- bsdmainutils/usr.bin/hexdump/hexsyntax.c 2009-10-04 02:56:53.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/hexsyntax.c 2009-10-04 02:56:15.000000000 +0200 @@ -75,6 +75,11 @@ add("\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\""); break; case 'C': + /* hd is not supposed to understand this option because it is already implied */ + if ((p = rindex(argv[0], 'h')) != NULL && + strcmp(p, "hd") == 0) + usage(); + add("\"%08.8_Ax\n\""); add("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" "); add("\" |\" 16/1 \"%_p\" \"|\\n\""); bsdmainutils-9.0.6ubuntu3/debian/patches/calendars.diff0000664000000000000000000047215112442073025020112 0ustar Description: Lots of corrections to calendar files. Author: Michael Meskes diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.australia bsdmainutils/usr.bin/calendar/calendars/calendar.australia --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.australia 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.australia 2014-08-15 13:41:23.268657726 +0200 @@ -7,12 +7,12 @@ #ifndef _calendar_australia_ #define _calendar_australia_ -LANG=en_AU.ISO8859-1 +LANG=UTF-8 /* Australia */ -Jan 26 Australia Day +Jan 26 Australia Day Holiday (Australia, except NSW, Vic) Apr/SunFirst Daylight Savings Time ends in ACT, NSW, SA, TAS and VIC. -Apr 25 Anzac Day +Apr 25 Anzac Day Australian and New Zealand Army Corps) Day (Australia) Jun/MonSecond Queen's Birthday Holiday (Australia, except WA) Oct/SunFirst Daylight Savings Time starts in ACT, NSW, SA and VIC. diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.birthday bsdmainutils/usr.bin/calendar/calendars/calendar.birthday --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.birthday 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.birthday 2014-08-15 13:41:23.268657726 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_birthday_ #define _calendar_birthday_ +LANG=UTF-8 + 01/01 J.D. Salinger born, 1919 01/01 Paul Revere born in Boston, 1735 01/02 Isaac Asimov born in Petrovichi, Russian SFSR, 1920 @@ -14,6 +16,7 @@ 01/04 Jakob Grimm born, 1785 01/04 Wilhelm Beer born, 1797, first astronomer to map Mars 01/05 DeWitt B. Brace born, 1859, inventor of spectrophotometer +01/07 Nikola Tesla died, 1943, supergenius, inventor AC Motor 01/10 Ethan Allen born, 1738 01/11 Alexander Hamilton born in Nevis, British West Indies, 1757? 01/12 "Long" John Baldry is born in London, 1941 @@ -119,12 +122,13 @@ 04/10 William Booth born, 1829, founder of the Salvation Army 04/13 Thomas Jefferson, 3rd President of the United States, born Shadwell Plantation, Albemarle County, Virginia, 1743 -04/14 Christian Huygen born, 1629, physicist & astronomer; +04/14 Christian Huygens born, 1629, physicist & astronomer; discovered Saturn's rings 04/15 Leonardo da Vinci born, 1452 04/16 Charles (Charlie) Chaplin (Sir) born in London, 1889 04/22 Kant born, 1724 04/27 Louis Victor de Broglie born, 1774, physicist +04/27 Samuel Morse born, 1791, the inventor of the single wire telegraph 04/28 James Monroe, 5th President of the United States, born in Westmoreland County, Viriginia, 1758 04/29 Jules Henri Poincare born, 1854, founder of topology @@ -178,6 +182,7 @@ 07/07 P.T. Barnum dies, 1891 07/08 Count Ferdinand von Zeppelin born, 1838 07/10 John Calvin born, 1509 +07/10 Nikola Tesla, born, 1856, supergenius, inventor AC Motor 07/11 John Quincy Adams, 6th President of the United States, born in Braintree, Massachusetts, 1767 07/12 Henry David Thoreau born, 1817 @@ -241,6 +246,7 @@ 10/02 Mohandas K. Gandhi born at Porbandar, Kathiawad, India, 1869 10/04 John V. Atanasoff born, 1903 10/05 Ray Kroc (founder of McDonald's) born, 1902 +10/05 Pablo Picasso born in Malaga, Spain, 1881 10/05 Steve Jobs died at the age of 56, 2011 10/12 Dennis MacAlistair Ritchie died at the age of 70, 2011 10/13 Lenny Bruce is born in New York City, 1925 @@ -264,6 +270,7 @@ 10/31 Chiang Kai-Shek born, 1887 10/31 Dale Evans born, 1912 11/02 Daniel Boone born near Reading, PA, 1734 +11/03 John Montague, 4th Earl of Sandwich, born 1718 11/04 King William III of Orange born, 1650 11/05 Roy Rogers born, 1912 11/09 Carl Sagan born, 1934 @@ -287,11 +294,11 @@ 12/05 Walt (Walter Elias) Disney born in Chicago, 1901 12/08 Horace (Quintus Horatius Flaccus) born in Venosa (Italy), 65BC 12/08 James (Grover) Thurber born in Columbus, Ohio, 1894 -12/10 Emily Dickenson born, 1830 +12/10 Emily Dickinson born, 1830 12/12 E.G. Robinson born, 1893 12/14 George Washington dies, 1799 12/17 William Safire (Safir) born, 1929 -12/18 Konrad Zuse died in Hnfeld, 1995 +12/18 Konrad Zuse died in Hünfeld, 1995 12/20 Carl Sagan died, 1996 12/21 Benjamin Disraeli born, 1804 12/22 Giacomo Puccini born, 1858 diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.christian bsdmainutils/usr.bin/calendar/calendars/calendar.christian --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.christian 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.christian 2014-08-15 13:41:23.268657726 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_christian_ #define _calendar_christian_ +LANG=UTF-8 + 01/05 Last (twelfth) day of Christmastide 01/06 Epiphany Easter-47 Shrove Tuesday / Mardi Gras (day before Ash Wednesday) @@ -21,7 +23,7 @@ Easter+56 Trinity Sunday (7 days after Pentecost) Easter+60 Corpus Christi (11 days after Pentecost) 05/28* Rogation Sunday -10/18 Feast Day of St. Luke +/* 10/18 Feast Day of St. Luke */ 11/SunLast First Sunday of Advent (4th Sunday before Christmas) 12/SunFirst First Sunday of Advent (4th Sunday before Christmas) 12/06 St. Nicholas' Day @@ -29,4 +31,30 @@ 12/25 Christmastide begins: First day of Christmas 12/26 Second day of Christmas (Boxing Day) +Easter+1 Easter Monday + +Jan 01 Circumcision of Christ +Jan 25 Conversion of St Paul +Feb 02 Purification of the Virgin Mary +Feb 24 St Matthias +Mar 25 Annunciation of the Virgin Mary +Apr 25 St Mark +May 01 St Philip and St James +Jun 11 St Barnabas +Jun 24 St John the Baptist +Jun 29 St Peter +Jul 25 St James +Aug 24 St Bartholomew +Sep 21 St Matthew +Sep 29 St Michael and all angels +Oct 18 St. Luke +Oct 28 St Simon and St Jude +Nov 01 All Saints +Nov 30 St Andrew +Dec 21 St Thomas +Dec 26 St Stephen (Boxing Day) +Dec 27 St John the Evangelist +Dec 28 Holy Innocents + + #endif /* !_calendar_christian_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.computer bsdmainutils/usr.bin/calendar/calendars/calendar.computer --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.computer 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.computer 2014-08-15 13:41:23.268657726 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_computer_ #define _calendar_computer_ +LANG=UTF-8 + 01/01 AT&T officially divests its local Bell companies, 1984 01/01 The Epoch (Time 0 for UNIX systems, Midnight GMT, 1970) 01/03 Apple Computer founded, 1977 @@ -24,7 +26,7 @@ 02/14 First micro-on-a-chip patented (TI), 1978 02/15 ENIAC demonstrated, 1946 03/01 First NPL (later PL/I) report published, 1964 -03/04 First Cray-1 shipped to Los Alamos +03/04 First Cray-1 shipped to Los Alamos, 1976 03/09 "GOTO considered harmful" (E.J. Dijkstra) published in CACM, 1968 03/14 LISP introduced, 1960 03/28 DEC announces PDP-11, 1970 @@ -73,4 +75,20 @@ 11/04 UNIVAC I program predicts Eisenhower victory based on 7% of votes, 1952 12/08 First Ph.D. awarded by Computer Science Dept, Univ. of Penna, 1965 +/* added in the debian package, from the Jargon File */ +Jan 01 Macintosh Epoch, Midnight 1904 +Jan 18 Unix clock runs out, 2038 +Feb 08 Black Thursday, The CDA is signed into law, 1996 +Mar 31 Automated Retroactive Minimal Moderation (ARMM) released, 1993 +Apr 01 Usenet site kremvax announced as an April Fool's joke, 1984 +Jun 26 White Thursday, CDA demolished by U.S. Supreme Court, 1997 +Jul 04 First @-party, at the Westercon (California SF convention), 1980 +Sep 09 First bug found, a moth in Harvard Mark II, 1947 +Oct 16 Sanford Wallace's Cyber Promotions Inc. shut down by lawsuit, 1997 +Nov 17 VMS Epoch (base date of U.S. Naval Observatory's ephemerides), 1858 +Oct 20 MIT hacked the Harvard-Yale football game, 1982 + +Jan 24 Introduction of the first Mac, 1984 +Mar 24 Introduction of Mac OS X, 2001 + #endif /* !_calendar_computer_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.croatian bsdmainutils/usr.bin/calendar/calendars/calendar.croatian --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.croatian 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.croatian 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_croatian_ #define _calendar_croatian_ -#include +#include #endif /* !_calendar_croatian_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.dutch bsdmainutils/usr.bin/calendar/calendars/calendar.dutch --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.dutch 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.dutch 2014-08-15 13:41:23.272657787 +0200 @@ -4,7 +4,7 @@ * Originally submitted by Edwin Groothuis */ -LANG=nl_NL.ISO8859-15 +LANG=UTF-8 Easter=Pasen /* @@ -13,7 +13,7 @@ jan/01 Nieuwjaar jan/06 Driekoningen apr/01 1 april -apr/30 Koninginnedag +apr/27 Koningsdag mei/01 Dag van de Arbeid mei/04 Dodenherdenking mei/05 Bevrijdingsdag @@ -60,20 +60,20 @@ * Het koningshuis */ jan/19 Prinses Margriet (1943) -jan/31 Koningin Beatrix (1938) -feb/17 Prins Willem III (1817 - 1890) +jan/31 Prinses Beatrix (1938, koningin 1980 - 2013) +feb/17 Prins Willem III (1817 - 1890, koning 1849 - 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/27 Koning Willem Alexander (1967, koning sinds 2013) +apr/30 Prinses Juliana (1909 - 2004, koningin 1948 - 1980) 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) +aug/31 Prinses Wilhelmina (1880 - 1962, koningin 1890 - 1948) sep/06 Prins Claus (1925 - 2002) -sep/25 Prins Johan Friso (1968) +sep/25 Prins Johan Friso (1968 - 2013) okt/11 Prins Constantijn (1969) -dec/07 Prinses Catharina-Amalia (2003) +dec/07 Kroonprinses Catharina-Amalia (2003) diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.freebsd bsdmainutils/usr.bin/calendar/calendars/calendar.freebsd --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.freebsd 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.freebsd 2014-08-15 13:41:23.276657847 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_freebsd_ #define _calendar_freebsd_ +LANG=UTF-8 + 01/01 Dimitry Andric born in Utrecht, the Netherlands, 1969 01/01 Alexander Langer born in Duesseldorf, Nordrhein-Westfalen, Germany, 1981 01/02 Ion-Mihai "IOnut" Tetcu born in Bucharest, Romania, 1980 @@ -319,7 +321,7 @@ 11/28 Stanislav Sedov born in Chelyabinsk, USSR, 1985 12/01 Hajimu Umemoto born in Nara, Japan, 1961 12/01 Alexey Dokuchaev born in Magadan, USSR, 1980 -12/02 Ermal Lui born in Tirane, Albania, 1980 +12/02 Ermal Luçi born in Tirane, Albania, 1980 12/03 Diane Bruce born in Ottawa, Ontario, Canada, 1952 12/05 Ivan Voras born in Slavonski Brod, Croatia, 1981 12/06 Stefan Farfeleder born in Wien, Austria, 1980 diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.french bsdmainutils/usr.bin/calendar/calendars/calendar.french --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.french 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.french 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_french_ #define _calendar_french_ -#include +#include #endif /* !_calendar_french_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.german bsdmainutils/usr.bin/calendar/calendars/calendar.german --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.german 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.german 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_german_ #define _calendar_german_ -#include +#include #endif /* !_calendar_german_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.history bsdmainutils/usr.bin/calendar/calendars/calendar.history --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.history 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.history 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_history_ #define _calendar_history_ +LANG=UTF-8 + 01/01 Anniversary of the Triumph of the Revolution in Cuba 01/01 Castro expels Cuban President Batista, 1959 01/01 Churchill delivers his "Iron Curtain" speech, 1947 @@ -16,7 +18,7 @@ 01/05 The FCC hears the first demonstration of FM radio, 1940 01/05 Twelfth night 01/06 Millard Fillmore's birthday (let's party!) -01/08 Battle of New Orleans +01/08 Battle of New Orleans, 1815 01/09 Plough Monday 01/10 First meeting of United Nations General Assembly in London, 1946 01/10 Thomas Paine's Common Sense published, 1776 @@ -154,7 +156,7 @@ 05/25 Successful test of the limelight in Purfleet, England, 1830 05/26 Congress sets first immigration quotas, 1924 05/27 Golden Gate Bridge opens, 1937 -05/29 Edmund Hillary and Tenzing Norkay climb Mt. Everest, 1953 +05/29 Edmund Hillary and Tenzing Norgay climb Mt. Everest, 1953 05/29 First food stamps issued, 1961 05/30 US Marines sent to Nicaragua, 1912 06/02 Native Americans "granted" citizenship, 1924 @@ -302,7 +304,7 @@ 09/11 Terrorists destroy World Trade Center in New York, 2001 09/12 German paratroopers rescue Mussolini from captivity in Rome, 1943 09/12 Germany annexes Sudetenland, 1938 -09/13 58 C (136.4 F) measured at el Azizia, Libya, 1922 +09/13 58° C (136.4° F) measured at el Azizia, Libya, 1922 09/13 British defeat the French at the Plains of Abraham, just outside the walls of Quebec City, 1759 09/13 Building of Hadrian's Wall begun, 122 09/13 Chiang Kai-Shek becomes president of China, 1943 @@ -360,10 +362,9 @@ 10/11 The first steam powered ferry ran between New York and Hoboken, 1811 10/11 The second Vatican Ecumenical Council opens in Rome, 1962 10/11 First broadcast of Saturday Night Live, 1975 -10/12 Bahama Natives discover Columbus of Europe lost on their shores, 1492 10/12 Khrushchev pounds his desk with shoe during a speech to the UN, 1960 10/12 Man O'War's last race, 1920 -10/12 Native Americans discover Columbus of Europe lost on their shores, 1492 +10/12 Native Americans (Bahama) discover Columbus of Europe lost on their shores, 1492 10/13 Italy declares war on Germany, 1943 10/13 US Navy born, 1775, authorized by the Second Continental Congress 10/14 Battle of Hastings won by William the Conqueror and the Normans, 1066 @@ -413,6 +414,7 @@ 11/10 Cpt. Wirz, commandant of Andersonville Prison hanged, 1865 11/10 Henry Stanley asks David Livingston, "Dr. Livingston, I presume?", 1871 11/11 Washington becomes the 42nd state, 1889 +11/11 Pilgrims come to Plymouth, 1620 11/12 Dr. Sun Yat-sen's Birthday in Taiwan 11/12 USA first exports oil to Europe, 1861 11/14 Quarter Pounder price raised from $0.53 to $0.55 in violation of Nixon diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.holiday bsdmainutils/usr.bin/calendar/calendars/calendar.holiday --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.holiday 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.holiday 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_holiday_ #define _calendar_holiday_ +LANG=UTF-8 + 01/01 Beginning of the Year in Japan 01/01 Independence Day in Haiti and Sudan 01/01 Universal Fraternity Day in Mozambique @@ -37,11 +39,14 @@ 01/23 US National Handwriting Day 01/24 Economic Liberation Day in Togo 01/26 Republic Day in India +01/26 Australia Day in Australia 01/MonSecond Adults Day in Japan 01/MonThird Lee-Jackson Day in Virginia (3rd Monday) 01/MonThird Robert E. Lee's Birthday in Alabama & Mississippi (3rd Monday) 01/MonThird Martin Luther King Day in New York (3rd Monday) +/* Chinese New Year is not Gregorian 02/01 Chinese New Year Holiday (3 days) in Taiwan +*/ 02/02 Candlemas 02/04 Independence Commemoration Day in Sri Lanka 02/05 Constitution Day in Mexico @@ -51,7 +56,9 @@ 02/10 Feast of St. Paul's Shipwreck, AD 60 02/11 National Foundation Day in Japan 02/12 Pyidaungsa Day in Burma +/* Makha Bucha is not Gregorian 02/16 Makha Bucha Day in Thailand +*/ 02/18 Democracy Day in Nepal 02/18 Independence Day in The Gambia 02/23 Republic Day in Guyana @@ -67,7 +74,7 @@ 03/03 Independence day (Treaty of San Stefano) in Bulgaria 03/04 Vermont Admission Day (admitted as 14th US state in 1791) 03/05 Independence Day in Equatorial Guinea -03/06 Lantern Day, Bejing +03/06 Lantern Day, Beijing 03/08 First Annual International Women's Day, 1909 03/08 International Women's Day in former USSR 03/08 Syrian National Day in Libyan Arab Republic @@ -121,7 +128,7 @@ 04/09 Martyrs Day in Tunisia 04/11 National Heroes Day in Costa Rica 04/13 National Day in Chad -04/13 Songkron Day in Thailand +04/13 Songkran Day in Thailand 04/14 Day of the Americas in Honduras 04/15 Bengali New Year in Bangladesh 04/16 De Diego's Birthday celebrated in Puerto Rico @@ -162,7 +169,7 @@ 05/05 Coronation Day in Thailand 05/05 Liberation Day in the Netherlands 05/06 Bataan Day in Philippines -05/06* Bank Holiday in UK +05/MonFirst Bank Holiday in UK 05/07 May Day in United Kingdom 05/08 Buddha's Birthday in South Korea 05/08 Elections for the National Assembly in Philippines @@ -177,7 +184,9 @@ 05/14 Unification Day in Liberia 05/15 Kamuzu Day in Malawi 05/15 Vesak Day, observed in Singapore and Malaysia +/* Visakha Bucha is not Gregorian 05/15 Visakha Bucha Day in Thailand +*/ 05/16 Discovery Day in Cayman Islands 05/17 Constitution Day in Nauru and Norway 05/18 Flag Day in Haiti @@ -198,7 +207,7 @@ 05/25 Memorial Day in New Mexico & Puerto Rico 05/25 Revolution in the Sudan in Libyan Arab Republic 05/27 Afghanistan attains sovereignty, 1921 -05/27* Bank Holiday in UK +05/MonLast Bank Holiday in UK 05/28 Mothers Day in Central African Republic 05/31 Pya Martyrs Day in Togo 05/MonThird Memorial Day in Michigan (3rd Monday) @@ -246,9 +255,8 @@ 06/28 Mothers Day in Central African Republic 06/29 Independence Day in Seychelles 06/30 Day of the Army in Guatemala -06/MonFirst Jefferson Davis's Birthday in Alabama & Mississippi (1st Monday) -06/MonFirst Jefferson Davis's Birthday in Florida, Georgia, & S. Carolina -07/01 Dominion Day in Canada +06/MonFirst Jefferson Davis's Birthday in Alabamai, Mississippi, Florida, Georgia, & S. Carolina (1st Monday) +07/01 Canada Day formerly known as Dominion Day in Canada 07/01 Freedom Day in Suriname 07/01 Independence Day in Burundi 07/01 National Day in Rwanda @@ -271,7 +279,9 @@ 07/10 Independence Day in Bahamas 07/11 National Holiday in the Mongolian People's Republic 07/12 Battle of Boyne celebrated in Northern Ireland +/* Buddhist Lent is not Gregorian 07/13 Buddhist Lent in Thailand +*/ 07/14 Anniversary of the Revolution in Iraq 07/14 French National Festival 07/14 National Holiday in Monaco @@ -285,6 +295,7 @@ 07/18 Liberation Day in Nicaragua 07/19 Martyrs Day in Burma 07/20 Independence Day in Colombia +07/20 Day of Sea in Japan 07/21 National Holiday in Belgium 07/22 King's Birthday in Swaziland 07/22 National Day in Poland @@ -345,11 +356,12 @@ 08/17 Independence Day in Indonesia 08/19 Independence Day in Afghanistan 08/20 Constitution Day in Hungary +08/23 Liberation Days (2 days) in Romania 08/24 National Flag Day in Liberia 08/25 Constitution Day in Paraguay 08/25 Independence Day in Uruguay 08/26 Susan B. Anthony Day in Massachusetts -08/26* Bank Holiday in England and Wales +08/MonLast Bank Holiday in England and Wales 08/27 Liberation Day in Hong Kong 08/28 Heroes Day in Philippines 08/30 Huey P. Long Day in Louisiana @@ -366,6 +378,7 @@ 09/07 Independence Day in Brazil 09/09 Admission Day in California 09/09 National Day in North Korea +09/09 Anniversary of the Socialist Revolution (2 days) in Bulgaria 09/10 Korean Thanksgiving Day (Chusuk) in South Korea 09/10 Moon Festival in Taiwan 09/10 National Day in Belize @@ -405,6 +418,8 @@ 09/30 Botswana Day in Botswana 09/MonThird Respect for the Aged Day in Japan 10/01 Armed Forces Day in South Korea +10/01 Labour Day in Australia (ACT, NSW and SA only) +10/01 Queen's Birthday in Western Australia 10/01 Independence Day in Nigeria 10/01 National Liberation Day (2 days) in China 10/01 Public Holiday in Botswana @@ -420,7 +435,7 @@ 10/07 National Heroes Day in Jamaica 10/08 Battle of Agamos in Peru 10/08 Constitution Day in former USSR -10/08 Thanksgiving Day in Canada +10/MonSecond Thanksgiving Day in Canada 10/08* Fiji Day 10/09 Independence Day in Uganda 10/09 Independence of Guayaquil in Ecuador @@ -435,9 +450,9 @@ 10/12 National Day in Equatorial Guinea and Spain 10/12 Our Lady Aparecida Day in Brazil 10/12 Pan American Day in Belize +10/13 St. Edward's Day - Patron saint of England 10/14 National Day in Yemen Arab Republic 10/14 Young People's Day in Zaire -10/14* Thanksgiving Day in Canada 10/15 Evacuation Day in Tunisia 10/16 National Boss Day, USA 10/17 Dessaline's Death Anniversary in Haiti @@ -475,7 +490,10 @@ 11/04 Will Rogers Day, USA 11/06 Green March Day in Morocco 11/07 October Revolution Day in Hungary +11/07 Anniversary of Great October Revolution in Bulgaria +/* oops ... 11/08 Her Majesty, the Queen's Birthday in Nepal +*/ 11/10 King's Birthday in Bhutan 11/11 Angola gains independence from Portugal, 1975 11/11 Independence Day in Angola @@ -554,10 +572,32 @@ 12/27 Constitution Day in North Korea 12/27 Public Holiday in Lesotho, Zimbabwe 12/29 Civic Holidays (3 days) in Costa Rica +/* oops ... 12/29 His Majesty, the King's Birthday in Nepal +*/ 12/30 Anniversary of the Democratic Republic of Madagascar in Madagascar 12/31 Bank Holiday in El Salvador, Honduras, Pakistan 12/31 Feed Yourself Day in Benin 12/31 Proclamation of the Republic in Congo +May 08 Victory over Fascism Day in Slovak Republic +May 25 International Towel Day, in honour of Douglas N. Adams +May 30 Statehood day in Croatia +Jun 02 Republic Day in Italy +Jun 22 Day of the anti-fascist struggle in Croatia +Aug 05 Homeland thankfulness day in Croatia +Oct 03 Day of German Unity in Germany + +Mar 21 Human Rights Day in South Africa +Apr 27 Freedom Day in South Africa +May 01 Workers' Day in South Africa +Jun 16 Youth Day in South Africa +Aug 09 National Women's Day in South Africa +Sep 24 Heritage Day in South Africa +Dec 16 Day of Reconciliation in South Africa +Dec 26 Day of Goodwill in South Africa + +Jul 20 Marine Day in Japan +May 04 Holiday for a Nation in Japan + #endif /* !_calendar_holiday_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.hungarian bsdmainutils/usr.bin/calendar/calendars/calendar.hungarian --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.hungarian 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.hungarian 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_hungarian_ #define _calendar_hungarian_ -#include +#include #endif /* !_calendar_hungarian_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.lotr bsdmainutils/usr.bin/calendar/calendars/calendar.lotr --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.lotr 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.lotr 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_lotr_ #define _calendar_lotr_ +LANG=UTF-8 + 01/05 Fellowship enters Moria 01/09 Fellowship reaches Lorien 01/17 Passing of Gandalf diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.music bsdmainutils/usr.bin/calendar/calendars/calendar.music --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.music 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.music 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_music_ #define _calendar_music_ +LANG=UTF-8 + 01/01 Country Joe McDonald is born in El Monte, California, 1942 01/03 Steven Stills is born in Dallas, 1945 01/04 Jazz great Charlie Mingus dies at 57 in Cuernavaca, Mexico, 1979 @@ -25,6 +27,7 @@ 01/25 Bob Dylan plays the second "Hurricane" benefit, in the Astrodome, 1978 01/27 Bobby "Blue" Bland (Robert Calvin Bland) is born in Tennessee, 1930 01/27 Wolfgang Amadeus Mozart is born in Salzburg, Austria, 1756 +01/27 Giuseppe Verdi dies in Milan, Italy, 1901 01/28 Jimi Hendrix headlines Madison Square Garden, 1970 01/30 Lightnin' Hopkins, the most-recorded blues artist ever, dies, 1982 01/31 Franz Schubert is born in Lichtenthal, Vienna, Austria, 1797 @@ -53,6 +56,7 @@ 03/01 Frederic Chopin is born in Zelazowa Wola, Warsaw, Poland, 1810 03/01 Jim Morrison is busted for obscenity in Miami, 1969 03/02 Blues guitarist Rory Gallagher is born in Ballyshannon, Ireland, 1949 +03/02 Bedrich Smetana is born in Litomysl, Czech republic, 1824 03/03 Buffalo Springfield is formed in Los Angeles, 1966 03/04 Antonio Vivaldi born in Venice, Italy, 1678 03/07 Last Gilbert & Sullivan opera produced, 1896 @@ -94,6 +98,7 @@ 05/10 Dave Mason is born in Worcester, England, 1945 05/11 Bob Marley dies in his sleep in Miami, 1981 05/12 Pink Floyd performs the first quadrophonic concert, 1977 +05/12 Bedrich Smetana dies in Prague, Czech republic, 1884 05/18 Gustav Mahler dies in Vienna, Austria, 1911 05/18 Rick Wakeman is born in West London, England, 1949 05/19 Pete Townshend is born in London, 1945 @@ -125,6 +130,7 @@ 06/27 John Entwistle dies in Las Vegas, 2002 07/02 Felix Pappalardi and Leslie West form Mountain, 1969 07/03 Jim Morrison dies in Paris, 1971 +07/03 Leos Janacek is born in Hukvaldy, Czech republic, 1854 07/06 The Jefferson Airplane is formed in San Francisco, 1965 07/07 Gustav Mahler is born in Kalischt, Bohemia, 1860 07/07 Ringo Starr (Richard Starkey) born in Liverpool, England, 1940 @@ -145,6 +151,7 @@ 08/01 The Concert for Bangla Desh takes place at Madison Square Garden, 1971 08/04 John Lennon points out that "the Beatles are more popular than Jesus", 1966 08/10 Ian Anderson (Jethro Tull) is born in Edinburgh, Scotland, 1947 +08/12 Leos Janacek dies in Ostrava, Czech republic, 1928 08/13 Dan Fogelberg is born in Peoria, Illinois, 1951 08/15 Beatles replace drummer Pete Best with Richard Starkey, 1962 08/15 The Beatles play Shea Stadium in New York, 1965 @@ -153,8 +160,10 @@ 08/16 Madonna Louise Ciccone born in Bay City, Michigan, 1958 08/21 Joe Strummer (The Clash), born John Mellor in Ankara, Turkey, 1952 08/23 Keith Moon is born in London, England, 1946 +08/25 Leonard Bernstein is born in Lawrence, Massachusetts, 1918 08/26 Jimi Hendrix gives his last performance at the Isle of Wight, 1970 08/26 Jimi Hendrix's Electric Ladyland Studios opens in New York, 1970 +09/04 Anton Bruckner is born in Ansfelden, Austria, 1824 09/04 Edvard Grieg dies in Bergen, Norway, 1907 09/07 Keith Moon (The Who) dies in London of a drug overdose, 1978 09/07 Warren Zevon dies in Los Angeles of lung cancer (mesothelioma), 2003 @@ -177,8 +186,12 @@ 10/09 John Entwistle is born in London, England, 1944 10/09 John Lennon born in Liverpool, England, 1940 10/10 John Prine is born in Maywood, Illinois, 1946 +10/10 Giuseppe Verdi is born in Le Roncole, Italy, 1813 +10/11 Anton Bruckner dies in Vienna, Austria, 1896 10/12 Ray Conniff dies after falling down and hitting his head, 2002 10/12 The Jimi Hendrix Experience is formed in London, 1966 +10/13 Paul Simon is born in Newark, New Jersey, USA , 1941 +10/14 Leonard Bernstein dies in New York, 1990 10/16 Bob Weir (Grateful Dead) is born in San Francisco, 1947 10/17 "Hair" opens at New York's Public Theater, 1967 10/17 Frederic Chopin dies in Paris, France, 1849 @@ -216,7 +229,7 @@ 11/26 Paul Hindemith is born in Hanau, Germany, 1895 11/27 Jimi Hendrix (Johnny Allen Hendrix) is born in Seattle, 1942 11/29 Pau Casals born in Vendrell, 1876 -11/30 George Harrison dies at 13:30 in L.A., 2001 +11/29 George Harrison dies at 13:30 in L.A., 2001 12/04 Frank Zappa dies in his Laurel Canyon home shortly before 18:00, 1993 12/05 Wolfgang Amadeus Mozart dies in Vienna, Austria, 1791 12/06 First sound recording made by Thomas Edison, 1877 @@ -225,7 +238,7 @@ 12/08 Jim Morrison is born in Melbourne, Florida, 1943 12/08 John Lennon is shot and killed in New York City, 1980 12/09 The Who's "Tommy" premieres in London, 1973 -12/11 (Louis) Hector Berlioz born in La-Cte-Saint-Andr, 1803 +12/11 (Louis) Hector Berlioz born in La-Côte-Saint-André, 1803 12/13 Ted Nugent, the motor city madman, born in Detroit, 1949 12/15 Thomas Edison receives patent on the phonograph, 1877 12/16 Don McLean's "American Pie" is released, 1971 diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.newzealand bsdmainutils/usr.bin/calendar/calendars/calendar.newzealand --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.newzealand 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.newzealand 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_newzealand_ #define _calendar_newzealand_ +LANG=UTF-8 + Jan 02 New Year Holiday (NZ) Jan 14 Anniversary Day (Southland) Jan 21 Anniversary Day (Wellington) diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.russian bsdmainutils/usr.bin/calendar/calendars/calendar.russian --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.russian 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.russian 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_russian_ #define _calendar_russian_ -#include +#include #endif /* !_calendar_russian_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.southafrica bsdmainutils/usr.bin/calendar/calendars/calendar.southafrica --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.southafrica 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.southafrica 2014-08-15 13:41:23.272657787 +0200 @@ -11,6 +11,8 @@ #ifndef _calendar_southafrica_ #define _calendar_southafrica_ +LANG=UTF-8 + 03/01 Human Rights Day in South Africa 04/27 Freedom Day in South Africa 05/01 Workers Day in South Africa diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.ukrainian bsdmainutils/usr.bin/calendar/calendars/calendar.ukrainian --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.ukrainian 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.ukrainian 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_ukrainian_ #define _calendar_ukrainian_ -#include +#include #endif /* !_calendar_ukrainian_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/calendar.usholiday bsdmainutils/usr.bin/calendar/calendars/calendar.usholiday --- bsdmainutils.orig/usr.bin/calendar/calendars/calendar.usholiday 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/calendar.usholiday 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,8 @@ #ifndef _calendar_usholiday_ #define _calendar_usholiday_ +LANG=UTF-8 + 01/01 New Year's Day 01/14 Julian Calendar New Year's Day 02/02 Groundhog Day @@ -30,7 +32,7 @@ 09/22* Autumnal Equinox 10/MonSecond Columbus Day in USA (2nd Monday of October) 10/31 All Hallows Eve (Halloween) -11/05* Election Day in USA (1st Tuesday after 1st Monday for even years) +11/TueFirst Election Day in USA (1st Tuesday after 1st Monday for even years) 11/SunFirst Daylight Savings Time ends in USA; clocks move back (1st Sunday of November) 11/11 Veterans' Day 11/ThuFourth Thanksgiving Day (4th Thursday in November) diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_AT.ISO_8859-15/calendar.feiertag bsdmainutils/usr.bin/calendar/calendars/de_AT.ISO_8859-15/calendar.feiertag --- bsdmainutils.orig/usr.bin/calendar/calendars/de_AT.ISO_8859-15/calendar.feiertag 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_AT.ISO_8859-15/calendar.feiertag 2014-08-15 13:41:23.272657787 +0200 @@ -4,10 +4,10 @@ * $FreeBSD$ */ -#ifndef _de_AT_ISO8859_15_feiertag_ -#define _de_AT_ISO8859_15_feiertag_ +#ifndef _de_AT_feiertag_ +#define _de_AT_feiertag_ -LANG=de_AT.ISO8859-15 +LANG=UTF-8 /* arbeitsfreie staatliche Feiertage */ 01/01 Neujahr @@ -15,7 +15,7 @@ 10/26 Nationalfeiertag /* christliche Feiertage, meist irgendwo arbeitsfrei */ -01/06 Heilige 3 Knige +01/06 Heilige 3 Könige Easter-2 Karfreitag Easter Ostersonntag Easter+1 Ostermontag @@ -24,12 +24,12 @@ Easter+39 Christi Himmelfahrt Easter+60 Fronleichnam -08/15 Mari Himmelfahrt +08/15 Mariä Himmelfahrt 11/01 Allerheiligen 11/02 Allerseelen -12/08 Mari Empfngnis +12/08 Mariä Empfängnis 12/24 Heiligabend 12/25 Weihnachten 12/26 Stephanstag @@ -47,7 +47,7 @@ Dec Sun+3 4. Advent /* Jahreszeiten */ -03/20* Frhlingsanfang +03/20* Frühlingsanfang 06/21* Sommeranfang 09/23* Herbstanfang 12/21* Winteranfang @@ -56,7 +56,7 @@ 03/SundayLast Anfang der Sommerzeit 10/SundayLast Ende der Sommerzeit -/* Blumenverkufer */ +/* Blumenverkäufer */ May Sun+2 Muttertag -#endif /*! _de_AT_ISO8859_15_feiertag_ */ +#endif /*! _de_AT_feiertag_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.all bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.all --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.all 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.all 2014-08-15 13:41:23.272657787 +0200 @@ -4,14 +4,14 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_all_ -#define _de_DE_ISO8859_1_all_ +#ifndef _de_DE_all_ +#define _de_DE_all_ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include -#endif /* !_de_DE.ISO8859-1_all_ */ +#endif /* !_de_DE_all_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag 2014-08-15 13:41:23.272657787 +0200 @@ -4,10 +4,10 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_feiertag_ -#define _de_DE_ISO8859_1_feiertag_ +#ifndef _de_DE_feiertag_ +#define _de_DE_feiertag_ -LANG=de_DE.ISO8859-1 +LANG=UTF-8 /* arbeitsfreie staatliche Feiertage */ 01/01 Neujahr @@ -24,12 +24,12 @@ Easter+60 Fronleichnam 08/08 Friedensfest (Augsburg) -08/15 Mari Himmelfahrt +08/15 Mariä Himmelfahrt 10/31 Reformationstag 11/01 Allerheiligen 11/02 Allerseelen -11/Wed+4 Bu- und Bettag +11/Wed+4 Buß- und Bettag 12/24 Heiligabend 12/25 Erster Weihnachtstag @@ -38,10 +38,10 @@ /* Gedenktage - nicht arbeitsfreie Feiertage :-( */ 06/17 Arbeiteraufstand am 17. Juni 1953 -01/27 Gedenktag fr die Opfer des Nationalsozialismus +01/27 Gedenktag für die Opfer des Nationalsozialismus /* Jahreszeiten */ -03/20* Frhlingsanfang +03/20* Frühlingsanfang 06/21* Sommeranfang 09/23* Herbstanfang 12/21* Winteranfang @@ -50,7 +50,7 @@ 03/SundayLast Anfang der Sommerzeit 10/SundayLast Ende der Sommerzeit -/* Blumenverkufer */ +/* Blumenverkäufer */ May Sun+2 Muttertag -#endif /*! _de_DE_ISO8859_1_feiertag_ */ +#endif /*! _de_DE_feiertag_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte 2014-08-15 13:41:23.272657787 +0200 @@ -2,12 +2,12 @@ * deutsche Geschichte * * - * Die Angaben wurden berwiegend entnommen aus dem Buch: + * Die Angaben wurden überwiegend entnommen aus dem Buch: * - * Fragen an die deutsche Geschichte, Ideen, Krfte, Entscheidungen von - * 1800 bis zur Gegenwart; historische Ausstellung im Reichstagsgebude + * Fragen an die deutsche Geschichte, Ideen, Kräfte, Entscheidungen von + * 1800 bis zur Gegenwart; historische Ausstellung im Reichstagsgebäude * in Berlin; Katalog, 16. Auflage, Sonderausgabe - Bonn: Deutscher - * Bundestag, Referat ffentlichkeitsarbeit, 1990 + * Bundestag, Referat Öffentlichkeitsarbeit, 1990 * * English Title: Questions on German history * @@ -16,80 +16,80 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_geschichte_ -#define _de_DE_ISO8859_1_geschichte_ +#ifndef _de_DE_geschichte_ +#define _de_DE_geschichte_ -LANG=de_DE.ISO8859-1 +LANG=UTF-8 /* 1800-1933 */ -07/11 Grndung des Rheinbundes, 1806 +07/11 Gründung des Rheinbundes, 1806 10/14 Doppelschlacht bei Jena und Auerstedt, 1806 -10/16 Vlkerschlacht bei Leipzig, 1813 +10/16 Völkerschlacht bei Leipzig, 1813 06/18 Niederlage Napoleons bei Waterloo, 1815 10/18 Wartburgfest der Deutschen Burschenschaften, 1817 -01/01 Inkrafttreten des Vertrages ber den deutschen Zollverein, 1834 -12/07 Erste deutsche Eisenbahn zwischen Nrnberg und Frth, 1835 +01/01 Inkrafttreten des Vertrages über den deutschen Zollverein, 1834 +12/07 Erste deutsche Eisenbahn zwischen Nürnberg und Fürth, 1835 06 Aufstand der schlesischen Weber, 1844 -12/21 Verabschiedung des Gesetzes ber die Grundrechte des deutschen +12/21 Verabschiedung des Gesetzes über die Grundrechte des deutschen Volkes durch die Frankfurter Nationalversammlung, 1848 03/27 Annahme der deutschen Reichsverfassung in der Frankfurter - Paulskirche, Wahl von Friedrich Wilhelm IV von Preuen zum + Paulskirche, Wahl von Friedrich Wilhelm IV von Preußen zum deutschen Kaiser, 1849 -04/28 Ablehnung der deutschen Kaiserkrone durch den preuischen Knig, 1849 -07/03 Schlacht von Kniggrtz +04/28 Ablehnung der deutschen Kaiserkrone durch den preußischen König, 1849 +07/03 Schlacht von Königgrätz 07/13 Emser Depesche, 1870 -07/18 Verkndung des Dogmas von der ppstlichen Unfehlbarkeit +07/18 Verkündung des Dogmas von der päpstlichen Unfehlbarkeit durch das I. Vatikanische Konzil 01/18 Proklamation des deutschen Kaiserreiches in Versailles, 1871 10/18 Verabschiedung des Sozialistengesetzes durch den Reichstag, 1878 03/20 Entlassung von Bismarck als Reichskanzler und - preuischer Ministerprsident, 1890 -06/21 Erffnung des Nord-Ostsee-Kanals, 1895 -01/07 Billigung des Brgerlichen Gesetzbuches (BGB) durch den Reichstag, 1896 -01/01 Brgerliches Gesetzbuch tritt in Kraft, 1900 -06/28 Ermordung des sterreichischen Thronfolgers Erzherzog Franz + preußischer Ministerpräsident, 1890 +06/21 Eröffnung des Nord-Ostsee-Kanals, 1895 +01/07 Billigung des Bürgerlichen Gesetzbuches (BGB) durch den Reichstag, 1896 +01/01 Bürgerliches Gesetzbuch tritt in Kraft, 1900 +06/28 Ermordung des österreichischen Thronfolgers Erzherzog Franz Ferdinand durch serbische Nationalisten in Sarajewo, 1914 -07/28 Kriegserklrung sterreich-Ungarns an Serbien, 1914 -08/01 Deutsche Mobilmachung und Kriegserklrung an Ruland, 1914 -08/03 Deutsche Kriegserklrung an Frankreich, 1914 -08/04 Kriegserklrung Grobritanniens an Deutschland, 1914 +07/28 Kriegserklärung Österreich-Ungarns an Serbien, 1914 +08/01 Deutsche Mobilmachung und Kriegserklärung an Rußland, 1914 +08/03 Deutsche Kriegserklärung an Frankreich, 1914 +08/04 Kriegserklärung Großbritanniens an Deutschland, 1914 08/04 Bewilligung der Kriegskredite im Reichstag, 1914 08/26 Schlacht bei Tannenberg, 1914 02/21 Schlacht um Verdun, 1916 -03/08 Ausbruch der Revolution in Ruland, Abdankung von Zar Nikolaus II, 1917 -04/06 Kriegserklrung der USA an Deutschland, 1917 -12/15 Waffenstillstand zwisch Ruland und Deutschland, 1917 +03/08 Ausbruch der Revolution in Rußland, Abdankung von Zar Nikolaus II, 1917 +04/06 Kriegserklärung der USA an Deutschland, 1917 +12/15 Waffenstillstand zwisch Rußland und Deutschland, 1917 03/03 Frieden von Brest-Litowsk, 1918 11/03 Matrosenaufstand in Kiel, 1918 11/09 Ausrufung der Republik durch Scheidemann (SPD), 1918 -02/11 Friedrich Ebert wird Reichsprsident, Weimar 1919 +02/11 Friedrich Ebert wird Reichspräsident, Weimar 1919 06/28 Unterzeichnung des Versailler Vertrages, 1919 03/21 Volksabstimmung in Oberschlesien, 1921 04/16 Vertrag von Rapallo, 1922 -06/24 Ermordung von Reichsauenminister Rathenau, 1922 +06/24 Ermordung von Reichsaußenminister Rathenau, 1922 01/11 Besetzung des Ruhrgebietes durch Frankreich und Belgien, 1923 -09/10 Eintritt Deutschlands in den Vlkerbund, 1926 +09/10 Eintritt Deutschlands in den Völkerbund, 1926 10/25 Schwarzer Freitag in New York, Beginn der Weltwirtschaftskrise, 1929 /* II. Weltkrieg */ -10/14 Austritt Deutschlands aus dem Vlkerbund, 1933 -03/16 Wiedereinfhrung der allgemeinen Wehrpflicht in Deutschland, 1935 +10/14 Austritt Deutschlands aus dem Völkerbund, 1933 +03/16 Wiedereinführung der allgemeinen Wehrpflicht in Deutschland, 1935 10/25 Deutsch-italienischer Vertrag, Achse Berlin-Rom, 1936 11/25 Antikominternpakt zwischen Deutschland und Japan, 1936 -01/13 Volksabstimmung im Saargebiet ber die Rckfhrung +01/13 Volksabstimmung im Saargebiet über die Rückführung ins deutsche Reich, 1935 -03/12 Einmarsch deutscher Truppen in sterreich, 1938 -09/29 Mnchner Abkommen, 1938 +03/12 Einmarsch deutscher Truppen in Österreich, 1938 +09/29 Münchner Abkommen, 1938 03/15 Einmarsch deutscher Truppen in die Tschechoslowakei, 1939 -03/23 Rckgabe des Memelgebietes an Deutschland, 1939 -08/23 Abschlu des Hitler-Stalin-Paktes, 1939 -09/03 Kriegserklrung Grobritaniens und Frankreichs an Deutschland, 1939 -04/09 Deutsche Besetzung Dnemarks, Invasion in Norwegen, 1940 +03/23 Rückgabe des Memelgebietes an Deutschland, 1939 +08/23 Abschluß des Hitler-Stalin-Paktes, 1939 +09/03 Kriegserklärung Großbritaniens und Frankreichs an Deutschland, 1939 +04/09 Deutsche Besetzung Dänemarks, Invasion in Norwegen, 1940 05/10 Deutscher Angriff auf Belgien, die Niederlande, Luxemburg und Frankreich, 1940 06/22 Deutscher Angriff gegen die Sowjetunion, 1941 -12/11 Kriegserklrung Deutschlands an die USA, 1941 +12/11 Kriegserklärung Deutschlands an die USA, 1941 01/14 Konferenz von Casablanca, 1943 01/31 Kapitulation der 6. deutschen Armee in Stalingrad, 1943 06/06 Alliierte Landung in Nordwestfrankreich, 1944 @@ -97,12 +97,12 @@ 04/25 Zusammentreffen von amerikanischen und sowjetischen Truppen bei Torgau an der Elbe, 1945 05/08 Bedingungslose Kapitulation von Deutschland, 1945 -07/01 Rckzug britischer und amerikanischer Truppen aus Sachsen, Thringen und +07/01 Rückzug britischer und amerikanischer Truppen aus Sachsen, Thüringen und Mecklenburg, Einmarsch westlicher Truppen in Berlin, 1945 07/17 Potsdamer Konferenz, 1945 -09/01 Deutscher berfall auf Polen, Beginn des 2. Weltkrieges, 1939 -10/01 Verkndigung der Urteile im Nrnberger Hauptkriegsverbrecherproze, 1946 -02/25 Auflsung der Landes Preuen durch den Kontrollrat, 1947 +09/01 Deutscher Überfall auf Polen, Beginn des 2. Weltkrieges, 1939 +10/01 Verkündigung der Urteile im Nürnberger Hauptkriegsverbrecherprozeß, 1946 +02/25 Auflösung der Landes Preußen durch den Kontrollrat, 1947 08/06 Erster Atombombenabwurf auf Hiroshima, 1945 08/08 Atombombenabwurf auf Nagasaki, 1945 04/19 Aufstand im Warschauer Ghetto, 1943 @@ -111,88 +111,88 @@ /* Deutschland nach dem 2. Weltkrieg */ 04/11 Attentat auf Dutschke, Studentenunruhen, 1968 04/26 GAU in Tschernobyl, 1986 -05/05 Natobeitritt, Wiederbewaffnung, Souvernitt der Bundesrepublik, 1955 -05/06 Rcktritt von Brandt, 1974 +05/05 Natobeitritt, Wiederbewaffnung, Souveränität der Bundesrepublik, 1955 +05/06 Rücktritt von Brandt, 1974 05/16 Wahl von Schmidt (SPD) zum Bundeskanzler, 1974 -05/23 Verkndung des Grundgesetzes, 1949 -05/23 Wahl von Richard von Weizscker zum Bundesprsidenten, 1984 +05/23 Verkündung des Grundgesetzes, 1949 +05/23 Wahl von Richard von Weizsäcker zum Bundespräsidenten, 1984 06/05 Marshallplan, 1947 -06/20 Whrungsreform in den Westzonen, 1948 +06/20 Währungsreform in den Westzonen, 1948 06/24 Beginn der Berliner Blockade, 1948 -07/01 Wahl von Heinrich Lbke zum Bundesprsidenten, 1959 -07/01 Wirtschafts- und Whrungsunion, 1990 +07/01 Wahl von Heinrich Lübke zum Bundespräsidenten, 1959 +07/01 Wirtschafts- und Währungsunion, 1990 08/12 Deutsch-sowjetischer Gewaltverzichtsvertrag, Moskau 1970 08/14 Wahl zum ersten deutschen Bundestag, 1949 -09/03 Vier-Mchte-Abkommen ber Berlin, 1971 -09/05 Entfhrung und Ermordung von Arbeitgeberprsident Schleyer, - Entfhrung einer Lufthansa-Maschine nach Mogadischu, 1977 +09/03 Vier-Mächte-Abkommen über Berlin, 1971 +09/05 Entführung und Ermordung von Arbeitgeberpräsident Schleyer, + Entführung einer Lufthansa-Maschine nach Mogadischu, 1977 09/07 DDR-Staatsratsvorsitzender Honecker in der Bundesrepublik, 1987 -09/12 Wahl von Theodor Heuss (FDP) zum Bundesprsidenten, 1949 +09/12 Wahl von Theodor Heuss (FDP) zum Bundespräsidenten, 1949 09/15 Wahl von Konrad Adenauer (CDU) zum Bundeskanzler, 1949 09/17 Bruch der Sozialliberalen Koalition, 1982 09/18 Aufnahme von Bundesrepublik und DDR in die UNO, 1973 -10/01 Ablsung von Bundeskanzler Schmidt durch Kohl, 1982 +10/01 Ablösung von Bundeskanzler Schmidt durch Kohl, 1982 10/23 Volksabstimmung im Saargebiet, 1955 -12/02 Washingtoner Abkommen ber Bi-Zone, 1946 +12/02 Washingtoner Abkommen über Bi-Zone, 1946 12/07 Deutsch-polnischer Vertrag, Warschau 1970 -12/10 Friedensnobelpreis fr Brandt, 1971 -12/12 Nachrstungsbeschlu des NATO-Ministerates, 1979 +12/10 Friedensnobelpreis für Brandt, 1971 +12/12 Nachrüstungsbeschluß des NATO-Ministerates, 1979 12/21 Grundlagenvertrag zwischen DDR und Bundesrepublik, 1972 /* Nationalsozialismus */ -11/09 Hitler-Putsch in Mnchen/Marsch auf die Feldherrenhalle, 1923 +11/09 Hitler-Putsch in München/Marsch auf die Feldherrenhalle, 1923 11/09 Reichskristallnacht, 1938 09/14 Reichstagswahl: Erdrutsch zugunsten der NSDAP, 1930 -07/31 Reichstagswahl: NSDAP wird strkste Fraktion, 1932 -11/06 Reichstagswahl: Rckgang der NSDAP, 1932 +07/31 Reichstagswahl: NSDAP wird stärkste Fraktion, 1932 +11/06 Reichstagswahl: Rückgang der NSDAP, 1932 01/30 Ernennung von Hitler zum Reichskanzler, 1933 02/27 Reichstagsbrand, 1933 -03/05 Reichstagswahl: Mehrheit fr NSDAP+DNVP, 1933 -03/23 Annahme des Ermchtigungsgesetzes, 1933 -03/31 Erstes Gesetz zur Gleichschaltung der Lnder, 1933 -04/01 Organisierter Boykott jdischer Geschfte, 1933 -04/07 Zweites Gesetz zur Gleichschaltung der Lnder, 1933 -05/02 Auflsung der Gewerkschaften, 1933 -06 Auflsung aller Parteien auer NSDAP, 1933 +03/05 Reichstagswahl: Mehrheit für NSDAP+DNVP, 1933 +03/23 Annahme des Ermächtigungsgesetzes, 1933 +03/31 Erstes Gesetz zur Gleichschaltung der Länder, 1933 +04/01 Organisierter Boykott jüdischer Geschäfte, 1933 +04/07 Zweites Gesetz zur Gleichschaltung der Länder, 1933 +05/02 Auflösung der Gewerkschaften, 1933 +06 Auflösung aller Parteien außer NSDAP, 1933 07/20 Konkordat zwischen Deutschland und dem Vatikan, 1933 -06/30 Rhm-Putsch, Ausschaltung der SA-Fhrung, 1934 -09/15 Nrnberger Gesetze, 1935 -01/08 Erffnung der olympischen Spiele in Berlin, 1936 +06/30 Röhm-Putsch, Ausschaltung der SA-Führung, 1934 +09/15 Nürnberger Gesetze, 1935 +01/08 Eröffnung der olympischen Spiele in Berlin, 1936 01/20 Wannseekonferenz, 1942 04/30 Selbstmord Hitlers, 1945 07/29 Mussolini geboren, 1883 /* Sozialismus */ 01/21 Lenin gestorben, 1924 -06 Grndung des Bundes der Kommunisten in London +06 Gründung des Bundes der Kommunisten in London durch Marx und Engels, 1847 -05/23 Grndung des Allgemeinen Deutschen Arbeitervereins in Leipzig - unter Fhrung von Ferdinand Lassalles, 1863 -08/07 Grndung der Sozialdemokratischen Arbeiterpartei in Eisenach - unter der Fhrung von August Bebel und Wilhelm Liebknecht, 1869 -04/06 Grndung der Unabhngigen Sozialdemokratischen Partei, Gotha 1917 -11/07 Oktoberrevolution in Ruland, Putsch der Bolschewisten, 1917 -12/31 Grndung der KPD, 1918 +05/23 Gründung des Allgemeinen Deutschen Arbeitervereins in Leipzig + unter Führung von Ferdinand Lassalles, 1863 +08/07 Gründung der Sozialdemokratischen Arbeiterpartei in Eisenach + unter der Führung von August Bebel und Wilhelm Liebknecht, 1869 +04/06 Gründung der Unabhängigen Sozialdemokratischen Partei, Gotha 1917 +11/07 Oktoberrevolution in Rußland, Putsch der Bolschewisten, 1917 +12/31 Gründung der KPD, 1918 01/15 Ermordung von Rosa Luxemburg und Karl Liebknecht, 1919 03/05 Tod Stalins, 1953 03/18 Erste demokratische Volkskammerwahl, 1990 04/21 Zwangsvereinigung von KPD und SPD zur SED, 1946 -05/14 Grndung der Warschauer Paktes, 1955 +05/14 Gründung der Warschauer Paktes, 1955 06/17 Arbeiteraufstand am 17. Juni 1953 06/25 Begin der Korea-Krieges, 1950 08/13 Bau der Berliner Mauer, 1961 08/21 Einmarsch des Warschauer Pakts in die Tschechoslowakei, 1968 10/03 Offizielles Ende der DDR :-), 1990 -10/07 Grndung der DDR, 1949 +10/07 Gründung der DDR, 1949 10/09 Massendemonstration in Leipzig, 1989 10/14 Kuba-Krise, 1962 -10/18 Ablsung von Erich Honecker als SED-Generalsekretr, 1989 +10/18 Ablösung von Erich Honecker als SED-Generalsekretär, 1989 11/09 Fall der Berliner Mauer, 1989 09/09 Mao Tse-Tung gestorben im Alter von 82 Jahren, 1976 -11/10 Sowjetischer Prsident Leonid Breschnew gestorben, Alter 75, 1982 -03/27 Chruschtschow wird sowjetischer Prsident, 1958 -10/12 Chruschtschow schlgt whrend einer Rede in der UNO mit den +11/10 Sowjetischer Präsident Leonid Breschnew gestorben, Alter 75, 1982 +03/27 Chruschtschow wird sowjetischer Präsident, 1958 +10/12 Chruschtschow schlägt während einer Rede in der UNO mit den Schuhen auf den Tisch, 1960 -#endif /* _de_DE_ISO8859_1_geschichte_ */ +#endif /* _de_DE_geschichte_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.kirche bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.kirche --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.kirche 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.kirche 2014-08-15 13:41:23.272657787 +0200 @@ -4,10 +4,10 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_kirche_ -#define _de_DE_ISO8859_1_kirche_ +#ifndef _de_DE_kirche_ +#define _de_DE_kirche_ -LANG=de_DE.ISO8859-1 +LANG=UTF-8 Easter-46 Aschermittwoch Easter-48 Rosenmontag @@ -29,4 +29,4 @@ 11/10 Martin Luther geboren in Eisleben, 1483 10/31 95 Thesen von Luther, Wittenberg, 1517 -#endif /* !_de_DE_ISO8859_1_kirche_ */ +#endif /* !_de_DE_kirche_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur 2014-08-15 13:41:23.272657787 +0200 @@ -4,10 +4,10 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_literatur_ -#define _de_DE_ISO8859_1_literatur_ +#ifndef _de_DE_literatur_ +#define _de_DE_literatur_ -LANG=de_DE.ISO8859-1 +LANG=UTF-8 /* Schriftsteller @@ -22,7 +22,7 @@ 01/04 Jakob Grimm geboren, 1785 01/18 Arno Schmidt in Hamburg geboren, 1914 02/09 Thomas Bernhard in Heerlen geboren, 1931 -02/12 Immanuel Kant in Knigsberg gestorben, 1804 +02/12 Immanuel Kant in Königsberg gestorben, 1804 02/12 Thomas Bernhard in Gmunden gestorben, 1989 02/17 Heinrich Heine in Paris gestorben, 1856 03/22 Johann Wolfgang von Goethe in Weimar gestorben, 1832 @@ -30,25 +30,25 @@ 05/09 Friedrich von Schiller in Weimar gestorben, 1805 06/03 Arno Schmidt in Celle gestorben, 1979 06/03 Franz Kafka in Prag gestorben, 1924 -06/06 Thomas Mann in Lbeck geboren, 1875 +06/06 Thomas Mann in Lübeck geboren, 1875 07/03 Franz Kafka geboren, 1883 08/12 Thomas Mann gestorben, 1955 08/27 Georg Wilhelm Friedrich Hegel in Stuttgart geboren, 1770 08/28 Johann Wolfgang von Goethe in Frankfurt am Main geboren, 1749 09/20 Theodor Fontane in Berlin gestorben, 1898 -10/16 Gnter Grass in Danzig geboren, 1927 +10/16 Günter Grass in Danzig geboren, 1927 11/10 Friedrich von Schiller in Marbach geboren, 1759 11/14 Georg Wilhelm Friedrich Hegel in Berlin gestorben, 1831 -12/13 Heinrich Heine in Dsseldorf geboren, 1797 +12/13 Heinrich Heine in Düsseldorf geboren, 1797 12/30 Theodor Fontane in Neuruppin geboren, 1819 /* Verlage */ -03/09 "die tageszeitung" als erste tglich aktualisierte deutsche - Tageszeitung im WWW, 1995, Betatest, vollstndige Ausgabe +03/09 "die tageszeitung" als erste täglich aktualisierte deutsche + Tageszeitung im WWW, 1995, Betatest, vollständige Ausgabe 05/05 Schweriner Volkszeitung als erste deutsche Tageszeitung im WWW, 1995 05/12 "die tageszeitung" offiziell im WWW, 1995 08/31 Hitler stellt Frankfurter Zeitung ein, 1943 11/01 Frankfurter Allgemeine Zeitung in Leben gerufen, 1949 -#endif /* !_de_DE_ISO8859_1_literatur_ */ +#endif /* !_de_DE_literatur_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik 2014-08-15 13:41:23.272657787 +0200 @@ -4,18 +4,18 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_musik_ -#define _de_DE_ISO8859_1_musik_ +#ifndef _de_DE_musik_ +#define _de_DE_musik_ -LANG=de_DE.ISO8859-1 +LANG=UTF-8 /* Barock */ -02/23 Georg Friedrich Hndel in Halle an der Saale geboren, 1685 +02/23 Georg Friedrich Händel in Halle an der Saale geboren, 1685 03/14 Georg Philipp Telemann in Magdeburg geboren, 1681 03/21 Johann Sebastian Bach in Eisenach geboren, 1685 -04/14 Georg Friedrich Hndel in London gestorben, 1759 +04/14 Georg Friedrich Händel in London gestorben, 1759 06/25 Georg Philipp Telemann in Hamburg gestorben, 1767 -07/17 Diderich Buxtehude in Lbeck gestorben, 1707 +07/17 Diderich Buxtehude in Lübeck gestorben, 1707 07/28 Johann Sebastian Bach in Leipzig gestorben, 1750 /* Klassik */ @@ -28,7 +28,7 @@ 03/25 Bela Bartok in Nagyszentmiklos geboren, 1881 03/26 Ludwig van Beethoven in Wien gestorben, 1827 03/28 Sergej Rachmaninow in Beverley Hills gestorben, 1943 -03/29 Carl Orff in Mnchen gestorben, 1982 +03/29 Carl Orff in München gestorben, 1982 03/31 Joseph Haydn in Rohrau geboren, 1732 04/01 Sergej Rachmaninow in Oneg geboren, 1873 04/03 Johannes Brahms in Wien gestorben, 1897 @@ -39,10 +39,10 @@ 06/03 Georges Bizet in Bougival bei Paris gestorben, 1875 06/05 Carl Maria von Weber in London gestorben, 1826 06/08 Robert Schumann in Zwickau geboren, 1810 -06/11 Richard Strauss in Mnchen geboren, 1864 +06/11 Richard Strauss in München geboren, 1864 06/15 Edvard Grieg in Bergen geboren, 1843 07/07 Gustav Mahler in Kalischt geboren, 1860 -07/10 Carl Orff in Mnchen geboren, 1895 +07/10 Carl Orff in München geboren, 1895 07/29 Robert Schumann in Endenich bei Bonn gestorben, 1856 07/31 Franz Liszt in Bayreuth gestorben, 1886 09/04 Edvard Grieg in Bergen gestorben, 1907 @@ -56,11 +56,11 @@ 11/19 Franz Schubert in Wien gestorben, 1828 11/26 Paul Hindemith in Hanau geboren, 1895 12/05 Wolfgang Amadeus Mozart in Wien gestorben, 1791 -12/11 (Louis) Hector Berlioz in La-Cte-Saint-Andr geboren, 1803 +12/11 (Louis) Hector Berlioz in La-Côte-Saint-André geboren, 1803 12/17 Ludwig van Beethoven in Bonn getauft, 1770 12/28 Paul Hindemith in Frankfurt am Main gestorben, 1963 /* Pop */ 09/18 Jimi Hendrix in Paris gestorben, 1970 -#endif /* !_de_DE_ISO8859_1_musik_ */ +#endif /* !_de_DE_musik_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft --- bsdmainutils.orig/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft 2014-08-15 13:41:23.272657787 +0200 @@ -4,16 +4,16 @@ * $FreeBSD$ */ -#ifndef _de_DE_ISO8859_1_wissenschaft_ -#define _de_DE_ISO8859_1_wissenschaft_ +#ifndef _de_DE_wissenschaft_ +#define _de_DE_wissenschaft_ -LANG=de_DE.ISO8859-1 +LANG=UTF-8 04/12 Erster Mann im All, Juri Gagarin, 1961 04/18 Einstein gestorben, 1955 06/22 Konrad Zuse geboren in Berlin, 1919 10/04 Sputnik 1, erster Satellit im Weltraum, 1957 -12/18 Konrad Zuse gestorben in Hnfeld, 1995 +12/18 Konrad Zuse gestorben in Hünfeld, 1995 -#endif /* ! _de_DE_ISO8859_1_wissenschaft_ */ +#endif /* ! _de_DE_wissenschaft_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.all bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.all --- bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.all 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.all 2014-08-15 13:41:23.272657787 +0200 @@ -1,14 +1,14 @@ /* - * Calendrier franais + * Calendrier français * * $FreeBSD$ */ -#ifndef _fr_FR_ISO8859_1_all_ -#define _fr_FR_ISO8859_1_all_ +#ifndef _fr_FR_all_ +#define _fr_FR_all_ -#include -#include -#include +#include +#include +#include -#endif /* !_fr_FR.ISO8859-1_all_ */ +#endif /* !_fr_FR_all_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes --- bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes 2014-08-15 13:41:23.272657787 +0200 @@ -1,630 +1,630 @@ /* - * Ftes souhaiter + * Fêtes à souhaiter * * $FreeBSD$ */ -#ifndef _fr_FR_ISO8859_1_fetes_ -#define _fr_FR_ISO8859_1_fetes_ +#ifndef _fr_FR_fetes_ +#define _fr_FR_fetes_ -LANG=fr_FR.ISO8859-1 +LANG=UTF-8 /* - * N.B.: ceci n'est pas un calendrier liturgique! - * Il a seulement t ralis pour me faire payer boire - * par mes collgues de travail; on n'y trouve donc que - * des prnoms seuls. + * N.B.: ceci n'est pas un calendrier liturgique ! + * Il a seulement été réalisé pour me faire payer à boire + * par mes collègues de travail ; on n'y trouve donc que + * des prénoms seuls. * - * Par ex. St Antoine de Padoue se retrouve abrg en - * Antoine, et si Antoine est ft plusieurs jours par an, + * Par ex. « St Antoine de Padoue » se retrouve abrégé en + * Antoine, et si Antoine est fêté plusieurs jours par an, * tant mieux pour lui, c'est voulu. */ 01/01 Aujourd'hui, c'est la St(e) Almaque. -01/01 N'oubliez pas les Tlmaque ! -01/02 Bonne fte aux Basile ! +01/01 N'oubliez pas les Télémaque ! +01/02 Bonne fête aux Basile ! 01/02 Aujourd'hui, c'est la St(e) Vassili. -01/02 N'oubliez pas les Grgoire ! -01/03 Bonne fte aux Genevive ! +01/02 N'oubliez pas les Grégoire ! +01/03 Bonne fête aux Geneviève ! 01/03 Aujourd'hui, c'est la St(e) Ginette. 01/04 N'oubliez pas les Odilon ! -01/04 Bonne fte aux Angle ! +01/04 Bonne fête aux Angèle ! 01/04 Aujourd'hui, c'est la St(e) Robert. -01/05 N'oubliez pas les douard ! -01/05 Bonne fte aux Gerlac ! -01/06 Aujourd'hui, c'est la St(e) Mlaine. -01/06 N'oubliez pas les Andr ! +01/05 N'oubliez pas les Édouard ! +01/05 Bonne fête aux Gerlac ! +01/06 Aujourd'hui, c'est la St(e) Mélaine. +01/06 N'oubliez pas les André ! 01/07 Galette des rois 01/07 Aujourd'hui, c'est la St(e) Raymond. 01/07 N'oubliez pas les Raymonde ! -01/07 Bonne fte aux Virginie ! +01/07 Bonne fête aux Virginie ! 01/08 Aujourd'hui, c'est la St(e) Lucien. 01/08 N'oubliez pas les Lucienne ! -01/08 Bonne fte aux Peggy ! +01/08 Bonne fête aux Peggy ! 01/08 Aujourd'hui, c'est la St(e) Gudule. 01/09 N'oubliez pas les Adrien ! -01/09 Bonne fte aux Alix ! +01/09 Bonne fête aux Alix ! 01/10 Aujourd'hui, c'est la St(e) Guillaume. 01/10 N'oubliez pas les Guillemette ! -01/11 Bonne fte aux Paulin ! +01/11 Bonne fête aux Paulin ! 01/11 Aujourd'hui, c'est la St(e) Pauline. 01/12 N'oubliez pas les Tatiana ! -01/12 Bonne fte aux Alfred ! +01/12 Bonne fête aux Alfred ! 01/12 Aujourd'hui, c'est la St(e) Ailred (Aelred, Eilred, Elred). 01/13 N'oubliez pas les Vivant ! -01/13 Bonne fte aux Vivence ! +01/13 Bonne fête aux Vivence ! 01/13 Aujourd'hui, c'est la St(e) Hilaire. 01/13 N'oubliez pas les Yvette ! -01/14 Bonne fte aux Nina ! -01/14 Aujourd'hui, c'est la St(e) Sraphin. -01/15 N'oubliez pas les Rmi ! -01/16 Bonne fte aux Marcel ! +01/14 Bonne fête aux Nina ! +01/14 Aujourd'hui, c'est la St(e) Séraphin. +01/15 N'oubliez pas les Rémi ! +01/16 Bonne fête aux Marcel ! 01/16 Aujourd'hui, c'est la St(e) Marcelle. 01/16 N'oubliez pas les Marceau ! -01/16 Bonne fte aux Honorat ! +01/16 Bonne fête aux Honorat ! 01/17 Aujourd'hui, c'est la St(e) Roseline. 01/17 N'oubliez pas les Antoine ! -01/17 Bonne fte aux Anthony ! +01/17 Bonne fête aux Anthony ! 01/18 Aujourd'hui, c'est la St(e) Prisca. 01/18 N'oubliez pas les Libert ! -01/19 Bonne fte aux Marius ! +01/19 Bonne fête aux Marius ! 01/19 Aujourd'hui, c'est la St(e) Canut. 01/20 N'oubliez pas les Fabienne ! -01/20 Bonne fte aux Sbastien ! +01/20 Bonne fête aux Sébastien ! 01/20 Aujourd'hui, c'est la St(e) Bastien. -01/21 N'oubliez pas les Agns ! -01/21 Bonne fte aux Fructueux ! +01/21 N'oubliez pas les Agnès ! +01/21 Bonne fête aux Fructueux ! 01/21 Aujourd'hui, c'est la St(e) Augure. 01/21 N'oubliez pas les Euloge ! -01/21 Bonne fte aux Avit ! +01/21 Bonne fête aux Avit ! 01/22 Aujourd'hui, c'est la St(e) Vincent. -01/22 N'oubliez pas les Blsille ! -01/23 Bonne fte aux Barnard ! -01/24 Aujourd'hui, c'est la St(e) Franois. +01/22 N'oubliez pas les Blésille ! +01/23 Bonne fête aux Barnard ! +01/24 Aujourd'hui, c'est la St(e) François. 01/25 N'oubliez pas les Morgane ! -01/26 Bonne fte aux Paule ! -01/26 Aujourd'hui, c'est la St(e) Timothe. +01/26 Bonne fête aux Paule ! +01/26 Aujourd'hui, c'est la St(e) Timothée. 01/26 N'oubliez pas les Tite ! -01/27 Bonne fte aux Angle ! +01/27 Bonne fête aux Angèle ! 01/28 Aujourd'hui, c'est la St(e) Thomas. 01/29 N'oubliez pas les Gildas ! -01/29 Bonne fte aux Sulpice ! +01/29 Bonne fête aux Sulpice ! 01/30 Aujourd'hui, c'est la St(e) Martine. 01/31 N'oubliez pas les Marcelle ! -01/31 Bonne fte aux Jean ! +01/31 Bonne fête aux Jean ! 02/01 Aujourd'hui, c'est la St(e) Ella. 02/01 N'oubliez pas les Viridiane ! -02/02 Bonne fte aux Thophane ! +02/02 Bonne fête aux Théophane ! 02/03 Aujourd'hui, c'est la St(e) Blaise. 02/03 N'oubliez pas les Anschaire ! -02/04 Bonne fte aux Vronique ! +02/04 Bonne fête aux Véronique ! 02/04 Aujourd'hui, c'est la St(e) Jeanne. 02/04 N'oubliez pas les Gilbert ! -02/05 Bonne fte aux Agathe ! +02/05 Bonne fête aux Agathe ! 02/06 Aujourd'hui, c'est la St(e) Gaston. 02/06 N'oubliez pas les Armand ! -02/07 Bonne fte aux Eugnie ! -02/07 Aujourd'hui, c'est la St(e) Partne. +02/07 Bonne fête aux Eugénie ! +02/07 Aujourd'hui, c'est la St(e) Partène. 02/08 N'oubliez pas les Jacqueline ! -02/08 Bonne fte aux Jrme ! +02/08 Bonne fête aux Jérôme ! 02/09 Aujourd'hui, c'est la St(e) Apolline. 02/09 N'oubliez pas les Appollonie ! -02/10 Bonne fte aux Arnaud ! +02/10 Bonne fête aux Arnaud ! 02/10 Aujourd'hui, c'est la St(e) Scholastique. -02/11 N'oubliez pas les Sverin ! -02/11 Bonne fte aux Sverine ! -02/12 Aujourd'hui, c'est la St(e) Flix. +02/11 N'oubliez pas les Séverin ! +02/11 Bonne fête aux Séverine ! +02/12 Aujourd'hui, c'est la St(e) Félix. 02/12 N'oubliez pas les Eulalie ! -02/13 Bonne fte aux Batrice ! +02/13 Bonne fête aux Béatrice ! 02/13 Aujourd'hui, c'est la St(e) Polyeucte. 02/14 N'oubliez pas les Valentin ! -02/14 Bonne fte aux Mthode ! +02/14 Bonne fête aux Méthode ! 02/14 Aujourd'hui, c'est la St(e) Cyrille. 02/15 N'oubliez pas les Claude ! -02/15 Bonne fte aux Georgette ! +02/15 Bonne fête aux Georgette ! 02/16 Aujourd'hui, c'est la St(e) Julienne. 02/17 N'oubliez pas les Alexis ! -02/18 Bonne fte aux Bernadette et aux Nadine ! +02/18 Bonne fête aux Bernadette et aux Nadine ! 02/19 Aujourd'hui, c'est la St(e) Gabin. -02/20 N'oubliez pas les Aime ! -02/20 Bonne fte aux Aim ! +02/20 N'oubliez pas les Aimée ! +02/20 Bonne fête aux Aimé ! 02/20 Aujourd'hui, c'est la St(e) Amata. 02/21 N'oubliez pas les Pierre-Damien ! -02/22 Bonne fte aux Isabelle ! +02/22 Bonne fête aux Isabelle ! 02/23 Aujourd'hui, c'est la St(e) Lazare. 02/23 N'oubliez pas les Polycarpe ! -02/24 Bonne fte aux Modeste ! -02/25 Aujourd'hui, c'est la St(e) Romo. +02/24 Bonne fête aux Modeste ! +02/25 Aujourd'hui, c'est la St(e) Roméo. 02/25 N'oubliez pas les Avertan ! -02/26 Bonne fte aux Nestor ! +02/26 Bonne fête aux Nestor ! 02/27 Aujourd'hui, c'est la St(e) Honorine. 02/27 N'oubliez pas les Gabriel ! -02/28 Bonne fte aux Romain ! +02/28 Bonne fête aux Romain ! 02/28 Aujourd'hui, c'est la St(e) Lupicin. 02/29 N'oubliez pas les Auguste ! -03/01 Bonne fte aux Aubin ! +03/01 Bonne fête aux Aubin ! 03/01 Aujourd'hui, c'est la St(e) Albin. 03/02 N'oubliez pas les Charles ! -03/03 Bonne fte aux Gunol (Gwnol) ! +03/03 Bonne fête aux Guénolé (Gwénolé) ! 03/04 Aujourd'hui, c'est la St(e) Casimir. 03/05 N'oubliez pas les Olive ! -03/05 Bonne fte aux Olivia ! +03/05 Bonne fête aux Olivia ! 03/06 Aujourd'hui, c'est la St(e) Colette. 03/06 N'oubliez pas les Nicole ! -03/07 Bonne fte aux Flicit ! -03/07 Aujourd'hui, c'est la St(e) Flicie. -03/07 N'oubliez pas les Perptue ! -03/08 Bonne fte aux Jean ! -03/09 Aujourd'hui, c'est la St(e) Franoise. +03/07 Bonne fête aux Félicité ! +03/07 Aujourd'hui, c'est la St(e) Félicie. +03/07 N'oubliez pas les Perpétue ! +03/08 Bonne fête aux Jean ! +03/09 Aujourd'hui, c'est la St(e) Françoise. 03/10 N'oubliez pas les Vivien ! -03/10 Bonne fte aux Dominique ! +03/10 Bonne fête aux Dominique ! 03/11 Aujourd'hui, c'est la St(e) Rosine. 03/12 N'oubliez pas les Justine ! -03/12 Bonne fte aux Maximilien ! +03/12 Bonne fête aux Maximilien ! 03/13 Aujourd'hui, c'est la St(e) Rodrigue. 03/13 N'oubliez pas les Salomon ! -03/13 Bonne fte aux Euphrasie ! +03/13 Bonne fête aux Euphrasie ! 03/14 Aujourd'hui, c'est la St(e) Mathilde. 03/15 N'oubliez pas les Louise ! -03/16 Bonne fte aux Bndicte ! -03/16 Aujourd'hui, c'est la St(e) Benote. +03/16 Bonne fête aux Bénédicte ! +03/16 Aujourd'hui, c'est la St(e) Benoîte. 03/16 N'oubliez pas les Julien ! 03/17 C'est la St Patrick ! 03/17 Aujourd'hui, c'est la St(e) Patrice. 03/18 N'oubliez pas les Cyrille ! -03/19 Bonne fte aux Joseph ! +03/19 Bonne fête aux Joseph ! 03/20 Aujourd'hui, c'est la St(e) Herbert. 03/20 N'oubliez pas les Wulfran ! -03/21 Bonne fte aux Clmence ! -03/22 Aujourd'hui, c'est la St(e) La. +03/21 Bonne fête aux Clémence ! +03/22 Aujourd'hui, c'est la St(e) Léa. 03/23 N'oubliez pas les Victorien ! -03/23 Bonne fte aux Turibio ! +03/23 Bonne fête aux Turibio ! 03/24 Aujourd'hui, c'est la St(e) Catherine. 03/24 N'oubliez pas les Karine ! -03/26 Bonne fte aux Lara ! +03/26 Bonne fête aux Lara ! 03/26 Aujourd'hui, c'est la St(e) Ludger. 03/26 N'oubliez pas les Larissa ! -03/27 Bonne fte aux Habib ! +03/27 Bonne fête aux Habib ! 03/28 Aujourd'hui, c'est la St(e) Gontran. 03/29 N'oubliez pas les Gwladys ! -03/29 Bonne fte aux Eustase ! -03/30 Aujourd'hui, c'est la St(e) Amde. +03/29 Bonne fête aux Eustase ! +03/30 Aujourd'hui, c'est la St(e) Amédée. 03/31 N'oubliez pas les Benjamin ! -03/31 Bonne fte aux Benjamine ! +03/31 Bonne fête aux Benjamine ! 04/01 Votre fichier calendar est corrompu. 04/01 N'oubliez pas les Hugues ! -04/02 Bonne fte aux Sandrine ! +04/02 Bonne fête aux Sandrine ! 04/03 Aujourd'hui, c'est la St(e) Richard. 04/04 N'oubliez pas les Isidore ! -04/04 Bonne fte aux Benot ! -04/05 Aujourd'hui, c'est la St(e) Irne. +04/04 Bonne fête aux Benoît ! +04/05 Aujourd'hui, c'est la St(e) Irène. 04/05 N'oubliez pas les Vincent ! -04/06 Bonne fte aux Marcellin ! -04/06 Aujourd'hui, c'est la St(e) Clestin. +04/06 Bonne fête aux Marcellin ! +04/06 Aujourd'hui, c'est la St(e) Célestin. 04/06 N'oubliez pas les Guillaume ! -04/07 Bonne fte aux Jean-Baptiste ! +04/07 Bonne fête aux Jean-Baptiste ! 04/07 Aujourd'hui, c'est la St(e) Julienne. 04/08 N'oubliez pas les Perpet ! -04/08 Bonne fte aux Perpetuus ! +04/08 Bonne fête aux Perpetuus ! 04/09 Aujourd'hui, c'est la St(e) Gautier. 04/09 N'oubliez pas les Jean ! -04/10 Bonne fte aux Fulbert ! +04/10 Bonne fête aux Fulbert ! 04/10 Aujourd'hui, c'est la St(e) Michel. 04/11 N'oubliez pas les Stanislas ! -04/11 Bonne fte aux Gemma ! -04/11 Aujourd'hui, c'est la St(e) Lon. +04/11 Bonne fête aux Gemma ! +04/11 Aujourd'hui, c'est la St(e) Léon. 04/12 N'oubliez pas les Jules ! -04/12 Bonne fte aux Sabas ! +04/12 Bonne fête aux Sabas ! 04/13 Aujourd'hui, c'est la St(e) Ida. -04/13 N'oubliez pas les Hermngilde ! -04/14 Bonne fte aux Maxime ! +04/13 N'oubliez pas les Herménégilde ! +04/14 Bonne fête aux Maxime ! 04/14 Aujourd'hui, c'est la St(e) Lydwine. -04/14 N'oubliez pas les Bnzet ! -04/15 Bonne fte aux Pierre ! -04/16 Aujourd'hui, c'est la St(e) Benot. +04/14 N'oubliez pas les Bénézet ! +04/15 Bonne fête aux Pierre ! +04/16 Aujourd'hui, c'est la St(e) Benoît. 04/17 N'oubliez pas les Anicet ! -04/17 Bonne fte aux Kateri ! +04/17 Bonne fête aux Kateri ! 04/18 Aujourd'hui, c'est la St(e) Parfait. 04/19 N'oubliez pas les Emma ! -04/19 Bonne fte aux Elphge ! +04/19 Bonne fête aux Elphège ! 04/20 Aujourd'hui, c'est la St(e) Odette. -04/20 N'oubliez pas les Agns ! -04/21 Bonne fte aux Anselme ! +04/20 N'oubliez pas les Agnès ! +04/21 Bonne fête aux Anselme ! 04/22 Aujourd'hui, c'est la St(e) Alexandre. 04/22 N'oubliez pas les Soter ! -04/22 Bonne fte aux Caus ! -04/22 Aujourd'hui, c'est la St(e) Lonide. +04/22 Bonne fête aux Caïus ! +04/22 Aujourd'hui, c'est la St(e) Léonide. 04/23 N'oubliez pas les Georges ! -04/23 Bonne fte aux Pierre ! -04/24 Aujourd'hui, c'est la St(e) Fidle. +04/23 Bonne fête aux Pierre ! +04/24 Aujourd'hui, c'est la St(e) Fidèle. 04/24 N'oubliez pas les Marie-Euphrasie ! -04/25 Bonne fte aux Marc ! +04/25 Bonne fête aux Marc ! 04/26 Aujourd'hui, c'est la St(e) Alida. 04/27 N'oubliez pas les Zita ! -04/27 Bonne fte aux Pierre ! -04/28 Aujourd'hui, c'est la St(e) Valrie. +04/27 Bonne fête aux Pierre ! +04/28 Aujourd'hui, c'est la St(e) Valérie. 04/28 N'oubliez pas les Louis-Marie ! -04/28 Bonne fte aux Paul ! -04/29 Aujourd'hui, c'est la St(e) Joseph-Benot. +04/28 Bonne fête aux Paul ! +04/29 Aujourd'hui, c'est la St(e) Joseph-Benoît. 04/29 N'oubliez pas les Hugues ! -04/30 Bonne fte aux Robert ! +04/30 Bonne fête aux Robert ! 04/30 Aujourd'hui, c'est la St(e) Catherine. 05/02 N'oubliez pas les Boris ! -05/03 Bonne fte aux Jacques ! +05/03 Bonne fête aux Jacques ! 05/03 Aujourd'hui, c'est la St(e) Philippe. 05/04 N'oubliez pas les Sylvain ! -05/05 Bonne fte aux Judith ! +05/05 Bonne fête aux Judith ! 05/06 Aujourd'hui, c'est la St(e) Prudence. -05/07 N'oubliez pas les Gisle ! -05/09 Bonne fte aux Pacme ! +05/07 N'oubliez pas les Gisèle ! +05/09 Bonne fête aux Pacôme ! 05/10 Aujourd'hui, c'est la St(e) Solange. 05/11 N'oubliez pas les Estelle ! -05/12 Bonne fte aux Achille ! +05/12 Bonne fête aux Achille ! 05/14 Aujourd'hui, c'est la St(e) Matthias. 05/15 N'oubliez pas les Denise ! -05/16 Bonne fte aux Honor ! +05/16 Bonne fête aux Honoré ! 05/17 Aujourd'hui, c'est la St(e) Pascal. -05/18 N'oubliez pas les ric ! -05/19 Bonne fte aux Yves ! +05/18 N'oubliez pas les Éric ! +05/19 Bonne fête aux Yves ! 05/19 Aujourd'hui, c'est la St(e) Yvonne. 05/20 N'oubliez pas les Bernardin ! -05/21 Bonne fte aux Constantin ! -05/22 Aujourd'hui, c'est la St(e) mile. +05/21 Bonne fête aux Constantin ! +05/22 Aujourd'hui, c'est la St(e) Émile. 05/23 N'oubliez pas les Didier ! -05/24 Bonne fte aux Donatien ! +05/24 Bonne fête aux Donatien ! 05/25 Aujourd'hui, c'est la St(e) Sophie. -05/26 N'oubliez pas les Brenger ! -05/28 Bonne fte aux Germain ! +05/26 N'oubliez pas les Bérenger ! +05/28 Bonne fête aux Germain ! 05/29 Aujourd'hui, c'est la St(e) Aymard. 05/30 N'oubliez pas les Ferdinand ! -06/01 Bonne fte aux Justin ! +06/01 Bonne fête aux Justin ! 06/02 Aujourd'hui, c'est la St(e) Blandine. -06/03 N'oubliez pas les Kvin ! -06/04 Bonne fte aux Clotilde ! +06/03 N'oubliez pas les Kévin ! +06/04 Bonne fête aux Clotilde ! 06/05 Aujourd'hui, c'est la St(e) Igor. 06/06 N'oubliez pas les Norbert ! -06/07 Bonne fte aux Gilbert ! -06/08 Aujourd'hui, c'est la St(e) Mdard. +06/07 Bonne fête aux Gilbert ! +06/08 Aujourd'hui, c'est la St(e) Médard. 06/09 N'oubliez pas les Diane ! -06/11 Bonne fte aux Barnab ! +06/11 Bonne fête aux Barnabé ! 06/11 Aujourd'hui, c'est la St(e) Yolande. 06/12 N'oubliez pas les Guy ! -06/13 Bonne fte aux Antoine ! -06/14 Aujourd'hui, c'est la St(e) lise. +06/13 Bonne fête aux Antoine ! +06/14 Aujourd'hui, c'est la St(e) Élisée. 06/15 N'oubliez pas les Germaine ! -06/16 Bonne fte aux Jean-Franois ! -06/17 Aujourd'hui, c'est la St(e) Herv. -06/18 N'oubliez pas les Lonce ! -06/19 Bonne fte aux Romuald ! -06/20 Aujourd'hui, c'est la St(e) Silvre. +06/16 Bonne fête aux Jean-François ! +06/17 Aujourd'hui, c'est la St(e) Hervé. +06/18 N'oubliez pas les Léonce ! +06/19 Bonne fête aux Romuald ! +06/20 Aujourd'hui, c'est la St(e) Silvère. 06/21 N'oubliez pas les Rodolphe ! -06/22 Bonne fte aux Alban ! +06/22 Bonne fête aux Alban ! 06/23 Aujourd'hui, c'est la St(e) Audrey. 06/24 N'oubliez pas les Jean-Baptiste ! -06/25 Bonne fte aux Prosper ! +06/25 Bonne fête aux Prosper ! 06/26 Aujourd'hui, c'est la St(e) Anthelme. 06/27 N'oubliez pas les Fernand ! -06/28 Bonne fte aux Irne ! +06/28 Bonne fête aux Irénée ! 06/29 Aujourd'hui, c'est la St(e) Paul. 06/29 N'oubliez pas les Pierre ! -06/30 Bonne fte aux Martial ! +06/30 Bonne fête aux Martial ! 07/01 Aujourd'hui, c'est la St(e) Thierry. 07/02 N'oubliez pas les Martinien ! -07/03 Bonne fte aux Thomas ! +07/03 Bonne fête aux Thomas ! 07/04 Aujourd'hui, c'est la St(e) Florent. 07/05 N'oubliez pas les Antoine ! -07/06 Bonne fte aux Mariette ! +07/06 Bonne fête aux Mariette ! 07/07 Aujourd'hui, c'est la St(e) Raoul. 07/08 N'oubliez pas les Thibaut ! -07/09 Bonne fte aux Amandine ! +07/09 Bonne fête aux Amandine ! 07/10 Aujourd'hui, c'est la St(e) Ulrich. -07/11 N'oubliez pas les Benot ! -07/12 Bonne fte aux Olivier ! +07/11 N'oubliez pas les Benoît ! +07/12 Bonne fête aux Olivier ! 07/13 Aujourd'hui, c'est la St(e) Henri. -07/13 N'oubliez pas les Jol ! -07/14 Bonne fte aux Camille ! +07/13 N'oubliez pas les Joël ! +07/14 Bonne fête aux Camille ! 07/15 Aujourd'hui, c'est la St(e) Donald. 07/17 N'oubliez pas les Caroline ! -07/17 Bonne fte aux Charlotte ! -07/18 Aujourd'hui, c'est la St(e) Frdric. -07/19 N'oubliez pas les Arsne ! -07/20 Bonne fte aux Marina ! +07/17 Bonne fête aux Charlotte ! +07/18 Aujourd'hui, c'est la St(e) Frédéric. +07/19 N'oubliez pas les Arsène ! +07/20 Bonne fête aux Marina ! 07/21 Aujourd'hui, c'est la St(e) Victor. 07/22 N'oubliez pas les Marie-Madeleine ! -07/23 Bonne fte aux Brigitte ! +07/23 Bonne fête aux Brigitte ! 07/24 Aujourd'hui, c'est la St(e) Christine. 07/25 N'oubliez pas les Jacques ! -07/26 Bonne fte aux Anne ! +07/26 Bonne fête aux Anne ! 07/26 Aujourd'hui, c'est la St(e) Joachim. 07/27 N'oubliez pas les Nathalie ! -07/28 Bonne fte aux Samson ! +07/28 Bonne fête aux Samson ! 07/29 Aujourd'hui, c'est la St(e) Marthe. 07/30 N'oubliez pas les Juliette ! -07/31 Bonne fte aux Ignace ! +07/31 Bonne fête aux Ignace ! 08/01 Aujourd'hui, c'est la St(e) Alphonse. 08/01 N'oubliez pas les Pierre ! -08/02 Bonne fte aux Julien ! +08/02 Bonne fête aux Julien ! 08/03 Aujourd'hui, c'est la St(e) Lydie. 08/03 N'oubliez pas les Pierre-Julien ! -08/04 Bonne fte aux Jean-Marie ! +08/04 Bonne fête aux Jean-Marie ! 08/04 Aujourd'hui, c'est la St(e) Dominique. 08/05 N'oubliez pas les Abel ! -08/05 Bonne fte aux Oswald ! -08/07 Aujourd'hui, c'est la St(e) Gatan. +08/05 Bonne fête aux Oswald ! +08/07 Aujourd'hui, c'est la St(e) Gaëtan. 08/08 N'oubliez pas les Dominique ! -08/08 Bonne fte aux Cyriaque ! +08/08 Bonne fête aux Cyriaque ! 08/09 Aujourd'hui, c'est la St(e) Amour. 08/10 N'oubliez pas les Laurent ! -08/11 Bonne fte aux Claire ! -08/11 Aujourd'hui, c'est la St(e) Philomne. +08/11 Bonne fête aux Claire ! +08/11 Aujourd'hui, c'est la St(e) Philomène. 08/12 N'oubliez pas les Clarisse ! -08/13 Bonne fte aux Hyppolite ! +08/13 Bonne fête aux Hyppolite ! 08/13 Aujourd'hui, c'est la St(e) Radegonde. -08/14 N'oubliez pas les vrard ! -08/14 Bonne fte aux Maximilien ! +08/14 N'oubliez pas les Évrard ! +08/14 Bonne fête aux Maximilien ! 08/15 Aujourd'hui, c'est la St(e) Marie. 08/16 N'oubliez pas les Armel ! -08/16 Bonne fte aux Roch ! +08/16 Bonne fête aux Roch ! 08/17 Aujourd'hui, c'est la St(e) Hyacinthe. -08/18 N'oubliez pas les Hlne ! -08/19 Bonne fte aux Jean-Eudes ! +08/18 N'oubliez pas les Hélène ! +08/19 Bonne fête aux Jean-Eudes ! 08/19 Aujourd'hui, c'est la St(e) Louis. 08/20 N'oubliez pas les Bernard ! -08/21 Bonne fte aux Christophe ! +08/21 Bonne fête aux Christophe ! 08/21 Aujourd'hui, c'est la St(e) Jeanne. 08/22 N'oubliez pas les Fabrice ! -08/22 Bonne fte aux Symphorien ! +08/22 Bonne fête aux Symphorien ! 08/23 Aujourd'hui, c'est la St(e) Rose. 08/23 N'oubliez pas les Philippe ! -08/24 Bonne fte aux Barthlmy ! +08/24 Bonne fête aux Barthélémy ! 08/25 Aujourd'hui, c'est la St(e) Louis. 08/26 N'oubliez pas les Natacha ! -08/26 Bonne fte aux Zphirin ! +08/26 Bonne fête aux Zéphirin ! 08/26 Aujourd'hui, c'est la St(e) Eulade. 08/27 N'oubliez pas les Edwige ! -08/27 Bonne fte aux Monique et aux Joseph ! +08/27 Bonne fête aux Monique et aux Joseph ! 08/28 Aujourd'hui, c'est la St(e) Augustin. 08/29 N'oubliez pas les Sabine ! -08/30 Bonne fte aux Fiacre ! +08/30 Bonne fête aux Fiacre ! 08/30 Aujourd'hui, c'est la St(e) Rose. 08/31 N'oubliez pas les Aristide ! -08/31 Bonne fte aux Raymond ! +08/31 Bonne fête aux Raymond ! 09/01 Aujourd'hui, c'est la St(e) Gilles. 09/02 N'oubliez pas les Ingrid ! -09/03 Bonne fte aux Grgoire ! +09/03 Bonne fête aux Grégoire ! 09/04 Aujourd'hui, c'est la St(e) Rosalie. -09/05 N'oubliez pas les Rassa ! -09/06 Bonne fte aux Bertrand ! +09/05 N'oubliez pas les Raïssa ! +09/06 Bonne fête aux Bertrand ! 09/07 Aujourd'hui, c'est la St(e) Reine. 09/09 N'oubliez pas les Alain ! -09/10 Bonne fte aux Ins ! +09/10 Bonne fête aux Inès ! 09/11 Aujourd'hui, c'est la St(e) Adelphe. 09/12 N'oubliez pas les Apollinaire ! -09/13 Bonne fte aux Aim ! +09/13 Bonne fête aux Aimé ! 09/15 Aujourd'hui, c'est la St(e) Roland. -09/16 N'oubliez pas les dith ! -09/17 Bonne fte aux Renaud ! -09/18 Aujourd'hui, c'est la St(e) Nadge. -09/19 N'oubliez pas les milie ! -09/20 Bonne fte aux Davy ! +09/16 N'oubliez pas les Édith ! +09/17 Bonne fête aux Renaud ! +09/18 Aujourd'hui, c'est la St(e) Nadège. +09/19 N'oubliez pas les Émilie ! +09/20 Bonne fête aux Davy ! 09/21 Aujourd'hui, c'est la St(e) Matthieu. 09/22 N'oubliez pas les Maurice ! -09/23 Bonne fte aux Constant ! -09/24 Aujourd'hui, c'est la St(e) Thcle. +09/23 Bonne fête aux Constant ! +09/24 Aujourd'hui, c'est la St(e) Thècle. 09/25 N'oubliez pas les Hermann ! -09/26 Bonne fte aux Cme ! +09/26 Bonne fête aux Côme ! 09/26 Aujourd'hui, c'est la St(e) Damien. 09/27 N'oubliez pas les Vincent ! -09/28 Bonne fte aux Venceslas ! +09/28 Bonne fête aux Venceslas ! 09/29 Aujourd'hui, c'est la St(e) Michel. -09/29 N'oubliez pas les Raphal ! -09/30 Bonne fte aux Jrme ! -10/01 Aujourd'hui, c'est la St(e) Thrse. -10/02 N'oubliez pas les Lger ! -10/03 Bonne fte aux Grard ! -10/04 Aujourd'hui, c'est la St(e) Franois. +09/29 N'oubliez pas les Raphaël ! +09/30 Bonne fête aux Jérôme ! +10/01 Aujourd'hui, c'est la St(e) Thérèse. +10/02 N'oubliez pas les Léger ! +10/03 Bonne fête aux Gérard ! +10/04 Aujourd'hui, c'est la St(e) François. 10/05 N'oubliez pas les Placide ! -10/05 Bonne fte aux Fleur ! +10/05 Bonne fête aux Fleur ! 10/05 Aujourd'hui, c'est la St(e) Flore. -10/05 N'oubliez pas les Pquerette ! -10/05 Bonne fte aux Violette ! +10/05 N'oubliez pas les Pâquerette ! +10/05 Bonne fête aux Violette ! 10/05 Aujourd'hui, c'est la St(e) Pervenche. -10/05 N'oubliez pas les Anmone ! -10/05 Bonne fte aux Bluette ! +10/05 N'oubliez pas les Anémone ! +10/05 Bonne fête aux Bluette ! 10/05 Aujourd'hui, c'est la St(e) Capucine. 10/05 N'oubliez pas les Dahlia ! -10/05 Bonne fte aux Myrtille ! +10/05 Bonne fête aux Myrtille ! 10/05 Aujourd'hui, c'est la St(e) Hortense. 10/05 N'oubliez pas les Violaine ! -10/05 Bonne fte aux Anne-Aymone ! +10/05 Bonne fête aux Anne-Aymone ! 10/05 Aujourd'hui, c'est la St(e) Dalie. 10/06 N'oubliez pas les Bruno ! -10/06 Bonne fte aux Foy ! +10/06 Bonne fête aux Foy ! 10/07 Aujourd'hui, c'est la St(e) Serge. -10/08 N'oubliez pas les Plagie ! -10/26 Bonne fte aux Dmtrius ! +10/08 N'oubliez pas les Pélagie ! +10/26 Bonne fête aux Démétrius ! 10/09 Aujourd'hui, c'est la St(e) Denis. 10/09 N'oubliez pas les Denys ! -10/10 Bonne fte aux Ghislain ! +10/10 Bonne fête aux Ghislain ! 10/10 Aujourd'hui, c'est la St(e) Ghislaine. 10/10 N'oubliez pas les Guislain ! -10/10 Bonne fte aux Guislaine ! +10/10 Bonne fête aux Guislaine ! 10/11 Aujourd'hui, c'est la St(e) Firmin. 10/11 N'oubliez pas les Gausbert ! -10/12 Bonne fte aux Wilfried ! -10/12 Aujourd'hui, c'est la St(e) Sraphin. -10/13 N'oubliez pas les Graud ! -10/14 Bonne fte aux Juste ! +10/12 Bonne fête aux Wilfried ! +10/12 Aujourd'hui, c'est la St(e) Séraphin. +10/13 N'oubliez pas les Géraud ! +10/14 Bonne fête aux Juste ! 10/14 Aujourd'hui, c'est la St(e) Calliste. -10/15 N'oubliez pas les Thrse ! -10/16 Bonne fte aux Edwige ! +10/15 N'oubliez pas les Thérèse ! +10/16 Bonne fête aux Edwige ! 10/16 Aujourd'hui, c'est la St(e) Marie-Marguerite. 10/17 N'oubliez pas les Baudoin ! -10/17 Bonne fte aux Ignace ! +10/17 Bonne fête aux Ignace ! 10/18 Aujourd'hui, c'est la St(e) Luc. -10/19 N'oubliez pas les Ren ! -10/20 Bonne fte aux Adeline ! +10/19 N'oubliez pas les René ! +10/20 Bonne fête aux Adeline ! 10/20 Aujourd'hui, c'est la St(e) Aline. 10/20 N'oubliez pas les Line ! -10/21 Bonne fte aux Cline ! +10/21 Bonne fête aux Céline ! 10/21 Aujourd'hui, c'est la St(e) Hilarion. -10/22 N'oubliez pas les lodie ! -10/22 Bonne fte aux Nunillon ! -10/22 Aujourd'hui, c'est la St(e) Salom. +10/22 N'oubliez pas les Élodie ! +10/22 Bonne fête aux Nunillon ! +10/22 Aujourd'hui, c'est la St(e) Salomé. 10/23 N'oubliez pas les Jean ! -10/24 Bonne fte aux Florentin ! -10/25 Aujourd'hui, c'est la St(e) Crpin. -10/25 N'oubliez pas les Crpinien ! -10/25 Bonne fte aux Chrysanthe ! +10/24 Bonne fête aux Florentin ! +10/25 Aujourd'hui, c'est la St(e) Crépin. +10/25 N'oubliez pas les Crépinien ! +10/25 Bonne fête aux Chrysanthe ! 10/25 Aujourd'hui, c'est la St(e) Darie. 10/25 N'oubliez pas les Enguerran ! -10/26 Bonne fte aux Dimitri ! -10/26 Aujourd'hui, c'est la St(e) variste. -10/27 N'oubliez pas les meline ! -10/27 Bonne fte aux Didier ! +10/26 Bonne fête aux Dimitri ! +10/26 Aujourd'hui, c'est la St(e) Évariste. +10/27 N'oubliez pas les Émeline ! +10/27 Bonne fête aux Didier ! 10/27 Aujourd'hui, c'est la St(e) Frumence. 10/28 N'oubliez pas les Jude ! -10/28 Bonne fte aux Judas ! -10/28 Aujourd'hui, c'est la St(e) Thadde. +10/28 Bonne fête aux Judas ! +10/28 Aujourd'hui, c'est la St(e) Thaddée. 10/28 N'oubliez pas les Simon ! -10/28 Bonne fte aux Simone (Simonne) ! +10/28 Bonne fête aux Simone (Simonne) ! 10/29 Aujourd'hui, c'est la St(e) Narcisse. 10/30 N'oubliez pas les Bienvenue ! -10/30 Bonne fte aux Dorothe ! +10/30 Bonne fête aux Dorothée ! 10/31 Aujourd'hui, c'est la St(e) Quentin. 10/31 N'oubliez pas les Alphonse ! -10/31 Bonne fte aux Wolfgang ! +10/31 Bonne fête aux Wolfgang ! 11/03 Aujourd'hui, c'est la St(e) Hubert. 11/04 N'oubliez pas les Charles ! -11/04 Bonne fte aux Amans ! +11/04 Bonne fête aux Amans ! 11/05 Aujourd'hui, c'est la St(e) Sylvie. 11/05 N'oubliez pas les Sylvette ! -11/05 Bonne fte aux Sylviane ! +11/05 Bonne fête aux Sylviane ! 11/05 Aujourd'hui, c'est la St(e) Zacharie. -11/05 N'oubliez pas les lisabeth ! -11/06 Bonne fte aux Bertille ! -11/06 Aujourd'hui, c'est la St(e) Lonard. +11/05 N'oubliez pas les Élisabeth ! +11/06 Bonne fête aux Bertille ! +11/06 Aujourd'hui, c'est la St(e) Léonard. 11/06 N'oubliez pas les Winnoc ! -11/07 Bonne fte aux Carine ! +11/07 Bonne fête aux Carine ! 11/07 Aujourd'hui, c'est la St(e) Karine. 11/07 N'oubliez pas les Ernest ! -11/07 Bonne fte aux Ernst ! +11/07 Bonne fête aux Ernst ! 11/07 Aujourd'hui, c'est la St(e) Willibrord. 11/08 N'oubliez pas les Geoffroy ! -11/09 Bonne fte aux Thodore ! -11/10 Aujourd'hui, c'est la St(e) Lon. -11/10 N'oubliez pas les Lontine ! -11/10 Bonne fte aux Lionel ! +11/09 Bonne fête aux Théodore ! +11/10 Aujourd'hui, c'est la St(e) Léon. +11/10 N'oubliez pas les Léontine ! +11/10 Bonne fête aux Lionel ! 11/11 Aujourd'hui, c'est la St(e) Martin. 11/12 N'oubliez pas les Christian ! -11/12 Bonne fte aux Josaphat ! +11/12 Bonne fête aux Josaphat ! 11/13 Aujourd'hui, c'est la St(e) Brice. -11/13 N'oubliez pas les Digo ! -11/13 Bonne fte aux Didace ! +11/13 N'oubliez pas les Diégo ! +11/13 Bonne fête aux Didace ! 11/14 Aujourd'hui, c'est la St(e) Sidoine. 11/14 N'oubliez pas les Sidonie ! -11/14 Bonne fte aux Srapion ! +11/14 Bonne fête aux Sérapion ! 11/15 Aujourd'hui, c'est la St(e) Albert. 11/16 N'oubliez pas les Marguerite ! -11/16 Bonne fte aux Gertrude ! -11/17 Aujourd'hui, c'est la St(e) lisabeth. -11/17 N'oubliez pas les lise ! -11/17 Bonne fte aux Lise ! +11/16 Bonne fête aux Gertrude ! +11/17 Aujourd'hui, c'est la St(e) Élisabeth. +11/17 N'oubliez pas les Élise ! +11/17 Bonne fête aux Lise ! 11/18 Aujourd'hui, c'est la St(e) Aude. 11/19 N'oubliez pas les Tanguy ! -11/19 Bonne fte aux Tanneguy ! +11/19 Bonne fête aux Tanneguy ! 11/19 Aujourd'hui, c'est la St(e) Mechtilde. 11/19 N'oubliez pas les Mathilde ! -11/19 Bonne fte aux Patrocle ! +11/19 Bonne fête aux Patrocle ! 11/20 Aujourd'hui, c'est la St(e) Edmond. 11/20 N'oubliez pas les Octave ! -11/20 Bonne fte aux Adventor ! +11/20 Bonne fête aux Adventor ! 11/20 Aujourd'hui, c'est la St(e) Solutor. 11/20 N'oubliez pas les Ambroise ! -11/20 Bonne fte aux Rutus ! -11/22 Aujourd'hui, c'est la St(e) Ccile. -11/22 N'oubliez pas les Clia ! -11/23 Bonne fte aux Clment ! -11/23 Aujourd'hui, c'est la St(e) Clmentine. +11/20 Bonne fête aux Rutus ! +11/22 Aujourd'hui, c'est la St(e) Cécile. +11/22 N'oubliez pas les Célia ! +11/23 Bonne fête aux Clément ! +11/23 Aujourd'hui, c'est la St(e) Clémentine. 11/23 N'oubliez pas les Colomban ! -11/24 Bonne fte aux Augusta ! +11/24 Bonne fête aux Augusta ! 11/24 Aujourd'hui, c'est la St(e) Flora. 11/25 N'oubliez pas les Catherine ! -11/24 Bonne fte aux Maria ! +11/24 Bonne fête aux Maria ! 11/26 Aujourd'hui, c'est la St(e) Delphine. -11/26 N'oubliez pas les Elzar ! -11/27 Bonne fte aux Sverin ! -11/27 Aujourd'hui, c'est la St(e) Sverine. +11/26 N'oubliez pas les Elzéar ! +11/27 Bonne fête aux Séverin ! +11/27 Aujourd'hui, c'est la St(e) Séverine. 11/27 N'oubliez pas les Maxime ! -11/28 Bonne fte aux Jacques ! +11/28 Bonne fête aux Jacques ! 11/29 Aujourd'hui, c'est la St(e) Saturnin. 11/29 N'oubliez pas les Sernin (Cernin) ! -11/29 Bonne fte aux Savourin ! +11/29 Bonne fête aux Savourin ! 11/29 Aujourd'hui, c'est la St(e) Sornin. -11/30 N'oubliez pas les Andr ! -11/30 Bonne fte aux Andra ! +11/30 N'oubliez pas les André ! +11/30 Bonne fête aux Andréa ! 12/01 Aujourd'hui, c'est la St(e) Florence. -12/01 N'oubliez pas les loi ! -12/01 Bonne fte aux Airy ! +12/01 N'oubliez pas les Éloi ! +12/01 Bonne fête aux Airy ! 12/02 Aujourd'hui, c'est la St(e) Viviane. -12/03 N'oubliez pas les Franois-Xavier ! -12/03 Bonne fte aux Xavier ! -12/03 Aujourd'hui, c'est la St(e) Eugne. +12/03 N'oubliez pas les François-Xavier ! +12/03 Bonne fête aux Xavier ! +12/03 Aujourd'hui, c'est la St(e) Eugène. 12/04 N'oubliez pas les Barbara ! -12/04 Bonne fte aux Barbe ! -12/05 Aujourd'hui, c'est la St(e) Grald. -12/05 N'oubliez pas les Graldine ! -12/05 Bonne fte aux Graud ! +12/04 Bonne fête aux Barbe ! +12/05 Aujourd'hui, c'est la St(e) Gérald. +12/05 N'oubliez pas les Géraldine ! +12/05 Bonne fête aux Géraud ! 12/05 Aujourd'hui, c'est la St(e) Sabas. 12/06 N'oubliez pas les Nicolas ! -12/07 Bonne fte aux Ambroise ! +12/07 Bonne fête aux Ambroise ! 12/09 Aujourd'hui, c'est la St(e) Pierre. 12/10 N'oubliez pas les Romaric ! -12/10 Bonne fte aux Eulalie ! +12/10 Bonne fête aux Eulalie ! 12/10 Aujourd'hui, c'est la St(e) Melchaide. 12/10 N'oubliez pas les Miltiade ! -12/11 Bonne fte aux Daniel ! +12/11 Bonne fête aux Daniel ! 12/11 Aujourd'hui, c'est la St(e) Damase. 12/12 N'oubliez pas les Chantal ! -12/13 Bonne fte aux Lucie ! +12/13 Bonne fête aux Lucie ! 12/13 Aujourd'hui, c'est la St(e) Rolande. 12/13 N'oubliez pas les Aurore ! -12/14 Bonne fte aux Odile ! +12/14 Bonne fête aux Odile ! 12/15 Aujourd'hui, c'est la St(e) Ninon. 12/15 N'oubliez pas les Nina ! -12/15 Bonne fte aux Christiane ! +12/15 Bonne fête aux Christiane ! 12/15 Aujourd'hui, c'est la St(e) Christina. 12/16 N'oubliez pas les Alice ! -12/16 Bonne fte aux Adlade ! -12/16 Aujourd'hui, c'est la St(e) vrard. -12/16 N'oubliez pas les berhard ! -12/17 Bonne fte aux Gal ! +12/16 Bonne fête aux Adélaïde ! +12/16 Aujourd'hui, c'est la St(e) Évrard. +12/16 N'oubliez pas les Éberhard ! +12/17 Bonne fête aux Gaël ! 12/17 Aujourd'hui, c'est la St(e) Lazare. 12/17 N'oubliez pas les Olympe ! -12/17 Bonne fte aux Olympias ! -12/17 Aujourd'hui, c'est la St(e) Judical. +12/17 Bonne fête aux Olympias ! +12/17 Aujourd'hui, c'est la St(e) Judicaël. 12/18 N'oubliez pas les Gatien ! -12/18 Bonne fte aux Winebald ! +12/18 Bonne fête aux Winebald ! 12/19 Aujourd'hui, c'est la St(e) Urbain. 12/20 N'oubliez pas les Abraham ! -12/20 Bonne fte aux Thophile ! +12/20 Bonne fête aux Théophile ! 12/21 Aujourd'hui, c'est la St(e) Pierre. -12/22 N'oubliez pas les Franoise-Xavire ! -12/22 Bonne fte aux Flavien ! +12/22 N'oubliez pas les Françoise-Xavière ! +12/22 Bonne fête aux Flavien ! 12/23 Aujourd'hui, c'est la St(e) Armand. -12/24 N'oubliez pas les Adle ! -12/24 Bonne fte aux Charbel ! +12/24 N'oubliez pas les Adèle ! +12/24 Bonne fête aux Charbel ! 12/25 Aujourd'hui, c'est la St(e) Emmanuel. 12/25 N'oubliez pas les Emmanuelle ! -12/25 Bonne fte aux Nol ! -12/26 Aujourd'hui, c'est la St(e) tienne. -12/26 N'oubliez pas les Stphane ! -12/26 Bonne fte aux Stphanie ! +12/25 Bonne fête aux Noël ! +12/26 Aujourd'hui, c'est la St(e) Étienne. +12/26 N'oubliez pas les Stéphane ! +12/26 Bonne fête aux Stéphanie ! 12/27 Aujourd'hui, c'est la St(e) Jean. 12/27 N'oubliez pas les Yann ! -12/28 Bonne fte aux Innocents ! +12/28 Bonne fête aux Innocents ! 12/29 Aujourd'hui, c'est la St(e) David. 12/30 N'oubliez pas les Roger ! -12/31 Bonne fte aux Sylvestre ! +12/31 Bonne fête aux Sylvestre ! -#endif /*! _fr_FR_ISO8859_1_fetes */ +#endif /*! _fr_FR_fetes */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.french bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.french --- bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.french 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.french 2014-08-15 13:41:23.272657787 +0200 @@ -7,6 +7,6 @@ #ifndef _calendar_french_ #define _calendar_french_ -#include +#include #endif /* !_calendar_french_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.jferies bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.jferies --- bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.jferies 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.jferies 2014-08-15 13:41:23.276657847 +0200 @@ -1,46 +1,46 @@ /* - * Jours fris + * Jours fériés * * $FreeBSD$ */ -#ifndef _fr_FR_ISO8859_1_jferies_ -#define _fr_FR_ISO8859_1_jferies_ +#ifndef _fr_FR_jferies_ +#define _fr_FR_jferies_ -LANG=fr_FR.ISO8859-1 +LANG=UTF-8 -/* Jours chms */ +/* Jours chômés */ 01/01 Nouvel an -05/01 Fte du travail +05/01 Fête du travail 05/08 Armistice 1945 -07/14 Fte nationale franaise +07/14 Fête nationale française 11/11 Armistice 1918 -/* Jours fris religieux */ -Easter Pques -Easter+1 Lundi de Pques +/* Jours fériés religieux */ +Easter Pâques +Easter+1 Lundi de Pâques Easter+39 Ascension -Easter+49 Pentecte -Easter+50 Lundi de Pentecte +Easter+49 Pentecôte +Easter+50 Lundi de Pentecôte 08/15 Assomption 11/01 Toussaint -12/25 Nol +12/25 Noël -/* Les dates suivantes ne sont malheureusement pas fries... */ +/* Les dates suivantes ne sont malheureusement pas fériées... */ /* Saisons */ 03/21* Printemps -06/21* t +06/21* Été 09/21* Automne 12/21* Hiver /* Changements d'heure */ -03/SundayLast Passage l'heure d't -10/SundayLast Passage l'heure d'hiver +03/SundayLast Passage à l'heure d'été +10/SundayLast Passage à l'heure d'hiver /* Divers */ /* BUG : si Penteco^te = 05/SunLast, fe^te des me`res repousse'e d'une semaine */ -05/SundayLast Ftes des mres -June Sun+3 Ftes des pres +05/SundayLast Fêtes des mères +June Sun+3 Fêtes des pères -#endif /*! _fr_FR_ISO8859_1_jferies_ */ +#endif /*! _fr_FR_jferies_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.proverbes bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.proverbes --- bsdmainutils.orig/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.proverbes 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.proverbes 2014-08-15 13:41:23.276657847 +0200 @@ -1,38 +1,38 @@ /* - * Proverbes lis au calendrier + * Proverbes liés au calendrier * * $FreeBSD$ */ -#ifndef _fr_FR_ISO8859_1_proverbes_ -#define _fr_FR_ISO8859_1_proverbes_ +#ifndef _fr_FR_proverbes_ +#define _fr_FR_proverbes_ -LANG=fr_FR.ISO8859-1 +LANG=UTF-8 /* Janvier */ 01/01 Calme et claire nuit de l'an - bonne anne donne l'lan. + À bonne année donne l'élan. 01/02 Janvier d'eau chiche Fait le paysan riche. -01/04 Un mois de janvier sans gele - N'amne jamais une bonne anne. +01/04 Un mois de janvier sans gelée + N'amène jamais une bonne année. 01/06 Pluie aux Rois, - Bl jusqu'au toit. + Blé jusqu'au toit. 01/08 Janvier sec et sage - Est un bon prsage. -01/09 Saint Julien brise la glace; + Est un bon présage. +01/09 Saint Julien brise la glace ; S'il ne la brise, c'est qu'il l'embrasse. -01/10 Beau temps la saint Guillaume - Donne plus de bl que de chaume. +01/10 Beau temps à la saint Guillaume + Donne plus de blé que de chaume. 01/13 Soleil au jour de saint Hilaire, Fends du bois pour ton hiver. 01/14 Pingouin dans les champs, - Hiver mchant. -01/15 S'il gle la saint Maur, - La moiti de l'hiver est dehors. -01/18 la saint Pierre, + Hiver méchant. +01/15 S'il gèle à la saint Maur, + La moitié de l'hiver est dehors. +01/18 À la saint Pierre, L'hiver s'en va ou se resserre. -01/20 S'il gle la saint Sbastien, +01/20 S'il gèle à la saint Sébastien, L'hiver s'en va ou revient. 01/22 Pour saint Vincent, L'hiver perd ses dents @@ -41,100 +41,100 @@ Monte les barriques au grenier. 01/25 Le jour de saint Paul, L'hiver se rompt le col. -01/31 Janvier fait le pch, - Mars en est accus. +01/31 Janvier fait le péché, + Mars en est accusé. -/* Fvrier */ -02/01 la saint Ignace, +/* Février */ +02/01 À la saint Ignace, L'eau est de glace. -02/02 Chandeleur claire, hiver derrire; +02/02 Chandeleur claire, hiver derrière ; Chandeleur trouble, hiver redouble. -02/03 la saint Blaise, +02/03 À la saint Blaise, L'hiver s'apaise, Mais s'il redouble et s'il reprend, - Longtemps aprs on s'en ressent. -02/05 Pour la sainte Agathe, sme ton oignon, - Ft-il dans la glace, il deviendra bon. -02/09 la sainte Apolline + Longtemps après on s'en ressent. +02/05 Pour la sainte Agathe, sème ton oignon, + Fût-il dans la glace, il deviendra bon. +02/09 À la sainte Apolline Bien souvent l'hiver nous quitte. -02/12 Si le soleil rit la sainte Eulalie, - Pommes et cidre la folie. -02/14 la saint Valentin, +02/12 Si le soleil rit à la sainte Eulalie, + Pommes et cidre à la folie. +02/14 À la saint Valentin, Tous les vents sont marins. -02/16 Pluie de fvrier - la terre vaut du fumier. -02/18 Fvrier trop doux, +02/16 Pluie de février + À la terre vaut du fumier. +02/18 Février trop doux, Printemps en courroux. -02/20 La neige de fvrier - Brle le bl. -02/22 Neige la sainte Isabelle +02/20 La neige de février + Brûle le blé. +02/22 Neige à la sainte Isabelle Fait la fleur plus belle. 02/24 Saint Mathias - Casse la glace; + Casse la glace ; S'il n'y en a pas, Il en fera. -02/27 Gele de la sainte Honorine - Rend toute la valle chagrine. -02/28 Fleur de fvrier +02/27 Gelée de la sainte Honorine + Rend toute la vallée chagrine. +02/28 Fleur de février Va mal au pommier. /* Mars */ -03/01 Taille la saint Aubin +03/01 Taille à la saint Aubin Donnera de gros raisins. 03/02 Quand mars mouillera, Bien du vin tu auras. -03/03 Soit au dbut, soit la fin, +03/03 Soit au début, soit à la fin, Mars nous montre son venin. -03/06 la sainte Colette - Commence chanter l'alouette. +03/06 À la sainte Colette + Commence à chanter l'alouette. 03/08 Quand en mars il tonne, - L'anne sera bonne. + L'année sera bonne. 03/10 Mars venteux, Vergers pommeux. -03/12 la saint Grgoire, +03/12 À la saint Grégoire, Il faut tailler la vigne pour boire. -03/13 Poussire de mars - Est poussire d'or... +03/13 Poussière de mars + Est poussière d'or... 03/15 Pluie de mars grandit l'herbette Et souvent annonce disette. -03/17 S'il fait doux la saint Patrice, - De leurs trous sortent les crevisses. +03/17 S'il fait doux à la saint Patrice, + De leurs trous sortent les écrevisses. 03/19 Pour saint Joseph, L'hirondelle va et vient. -03/21 S'il pleut la saint Benot, +03/21 S'il pleut à la saint Benoît, Il pleut trente-sept jours plus trois. -03/23 Quand glace il gle la saint Victorien, - En pches et en abricots il n'y a rien. +03/23 Quand à glace il gèle à la saint Victorien, + En pêches et en abricots il n'y a rien. 03/25 Quand fleurs en mars il y aura, - Gure de fruits ne mangeras. -03/28 la saint Gontran, si la temprature est belle, - Arrivent les premires hirondelles. -03/30 Quand mars se dguise en t, - Avril prend ses habits fourrs. -03/31 la saint Benjamin, + Guère de fruits ne mangeras. +03/28 À la saint Gontran, si la température est belle, + Arrivent les premières hirondelles. +03/30 Quand mars se déguise en été, + Avril prend ses habits fourrés. +03/31 À la saint Benjamin, Le mauvais temps prend fin. /* Mobiles */ Easter-7 Le propre jour des Rameaux - Sme oignons et poireaux. -Easter-3 La gele du jeudi saint - Gle le sarrasin. -Easter-2 Gele du vendredi saint - Gle le pain et le vin. -Easter S'il pleut Pques, + Sème oignons et poireaux. +Easter-3 La gelée du jeudi saint + Gèle le sarrasin. +Easter-2 Gelée du vendredi saint + Gèle le pain et le vin. +Easter S'il pleut à Pâques, Il pleut pendant quarante jours. -Easter Pques en mars, +Easter Pâques en mars, Pestes, guerres ou famines. Easter+36 Haricots de rogations - Rendent foison. + Rendent à foison. Easter+37 Belles rogations, Belles moissons. -Easter+39 S'il pleut l'Ascension, +Easter+39 S'il pleut à l'Ascension, Tout va en perdition. -Easter+49 La Pentecte - Donne les fruits, ou les te. -Easter+56 S'il pleut la Trinit, - Il pleut tous les jours de l'anne. +Easter+49 La Pentecôte + Donne les fruits, ou les ôte. +Easter+56 S'il pleut à la Trinité, + Il pleut tous les jours de l'année. /* Avril */ 04/01 Avril entrant, @@ -143,117 +143,117 @@ 04/05 Avril fait la fleur, Mai en a l'honneur. 04/10 Il n'est point d'avril si beau - Qu'il n'ait de neige son chapeau. -04/15 En avril, ne te dcouvre pas d'un fil; - En mai, fais ce qu'il te plat; + Qu'il n'ait de neige à son chapeau. +04/15 En avril, ne te découvre pas d'un fil ; + En mai, fais ce qu'il te plaît ; En juin, de trois habits n'en garde qu'un. 04/17 Orage en avril, - Prpare tes barrils. -04/19 la sainte Lonide - Chaque bl pousse rapide. -04/22 Pluie la sainte Opportune, + Prépare tes barrils. +04/19 À la sainte Léonide + Chaque blé pousse rapide. +04/22 Pluie à la sainte Opportune, Ni cerises ni prunes. -04/23 la saint Georges, - Sme ton orge, - la saint Marc, +04/23 À la saint Georges, + Sème ton orge, + À la saint Marc, Il est trop tard. -04/25 la saint Marc, s'il tombe de l'eau, - Il n'y aura pas de fruits couteau. +04/25 À la saint Marc, s'il tombe de l'eau, + Il n'y aura pas de fruits à couteau. 04/28 Avril pluvieux et mai venteux Ne rendent pas le paysan disetteux. -04/30 La pluie la saint Robert +04/30 La pluie à la saint Robert De bon vin emplira ton verre. /* Mai */ 05/03 Les trois saints au sang de navet, Pancrace, Mamert et Servais, - Sont bien nomms les saints de glace, + Sont bien nommés les saints de glace, Mamert, Servais et Pancrace. -05/15 la sainte Denise, - Le froid n'en fait plus sa guise. -05/16 la saint Honor, - S'il fait gele, - Le vin diminue de moiti. -05/18 Bon fermier sainte Juliette +05/15 À la sainte Denise, + Le froid n'en fait plus à sa guise. +05/16 À la saint Honoré, + S'il fait gelée, + Le vin diminue de moitié. +05/18 Bon fermier à sainte Juliette Doit vendre ses poulettes. -05/22 Beau temps la sainte milie - Donne du fruit la folie. -05/23 Qui sme haricots la saint Didier - Les arrachera poignes. +05/22 Beau temps à la sainte Émilie + Donne du fruit à la folie. +05/23 Qui sème haricots à la saint Didier + Les arrachera à poignées. /* Juin */ -06/08 S'il pleut la saint Mdard, +06/08 S'il pleut à la saint Médard, Il pleut quarante jours plus tard, - moins que saint Barnab - Ne vienne l'arrter. -06/11 la saint Barnab, - Fauche ton pr. + À moins que saint Barnabé + Ne vienne l'arrêter. +06/11 À la saint Barnabé, + Fauche ton pré. 06/16 Si le jour de saint Fargeau La lune se fait dans l'eau, Le reste du mois est beau. -06/19 S'il pleut la saint Gervais, - Il pleut quarante jours aprs. -06/20 Pluie d'orage la saint Sylvre, +06/19 S'il pleut à la saint Gervais, + Il pleut quarante jours après. +06/20 Pluie d'orage à la saint Sylvère, C'est beaucoup de vin dans le verre. -06/24 S'il pleut la saint Jean, - Gure de vin ni de pain. -06/25 Aprs la saint Jean, si le coucou chante, - L'anne sera rude et mchante. +06/24 S'il pleut à la saint Jean, + Guère de vin ni de pain. +06/25 Après la saint Jean, si le coucou chante, + L'année sera rude et méchante. 06/29 S'il pleut la veille de la saint Pierre, - La vigne est rduite du tiers. + La vigne est réduite du tiers. /* Juillet */ -07/02 S'il pleut la Visitation, - Pluie discrtion. -07/03 la saint Anatole, +07/02 S'il pleut à la Visitation, + Pluie à discrétion. +07/03 À la saint Anatole, Confiture dans la casserole. 07/06 Juillet sans orage, Famine au village. -07/10 Petite pluie de juillet ensoleill +07/10 Petite pluie de juillet ensoleillé Emplit caves et greniers. 07/13 Quand reviendra la saint Henri, - Tu planteras ton cleri. + Tu planteras ton céleri. 07/16 Qui veut des beaux navets - Les sme en juillet. -07/20 la sainte Marguerite, pluie - Jamais au paysan ne souris; - Mais pluie la sainte Anne, + Les sème en juillet. +07/20 À la sainte Marguerite, pluie + Jamais au paysan ne souris ; + Mais pluie à la sainte Anne, Pour lui c'est de la manne. -07/21 S'il pleut la saint Victor, - La rcolte n'est pas d'or. -07/22 S'il pleut la sainte Madeleine, +07/21 S'il pleut à la saint Victor, + La récolte n'est pas d'or. +07/22 S'il pleut à la sainte Madeleine, Il pleuvra durant six semaines. 07/25 Si saint jacques est serein, - L'hiver sera d et serein. + L'hiver sera dû et serein. 07/26 Pour la sainte Anne, s'il pleut, Trente jours seront pluvieux. -/* Aot */ -August Sun+2 En aot et vendanges, il n'y a ni ftes ni dimanches. -08/02 S'il pleut au mois d'aot, +/* Août */ +August Sun+2 En août et vendanges, il n'y a ni fêtes ni dimanches. +08/02 S'il pleut au mois d'août, Les truffes sont au bout. -08/04 Aot donne got. -08/06 Soleil rouge en aot, +08/04 Août donne goût. +08/06 Soleil rouge en août, C'est de la pluie partout. -08/10 Qui sme la saint Laurent +08/10 Qui sème à la saint Laurent Y perd la graine et puis le temps. -08/13 S'il pleut la sainte Radegonde, - Misre abonde sur le monde. +08/13 S'il pleut à la sainte Radegonde, + Misère abonde sur le monde. 08/15 Pluie de l'Assomption, Huit jours de mouillon. 08/16 De saint Roch la grande chaleur - Prpare du vin la couleur. -08/18 Temps trop beau en aot + Prépare du vin la couleur. +08/18 Temps trop beau en août Annonce hiver en courroux. -08/20 Brumes d'aot font passer les chtaignes. -08/22 Jamais d'aot la scheresse - N'amnera la richesse. -08/24 la saint Barthlmy, - Paie to d. -08/28 Fine pluie la saint Augustin, +08/20 Brumes d'août font passer les châtaignes. +08/22 Jamais d'août la sécheresse + N'amènera la richesse. +08/24 À la saint Barthélémy, + Paie to dû. +08/28 Fine pluie à la saint Augustin, C'est comme s'il pleuvait du vin. 08/29 Quand les hirondelles voient la saint Michel, - L'hiver ne vient qu' Nol. + L'hiver ne vient qu'à Noël. /* Septembre */ 09/01 Pluie de la saint Gilles ruine les glands. @@ -261,94 +261,94 @@ Pas de tonneau vide. 09/11 Tu peux semer sans crainte Quand arrive la saint Hyacinthe. -09/15 La rose de saint Albin - est, dit-on, rose de vin. -09/19 Qui sme la saint Janvier - De l'an rcolte le premier. +09/15 La rosée de saint Albin + est, dit-on, rosée de vin. +09/19 Qui sème à la saint Janvier + De l'an récolte le premier. 09/21 Si Matthieu pleure au lieu de rire, Le vin en vinaigre vire. 09/22 Semis de saint Maurice, - Rcolte ton caprice. + Récolte à ton caprice. 09/23 Septembre se nomme Le mai de l'automne. -09/25 la saint Firmin +09/25 À la saint Firmin L'hiver est en chemin. 09/29 Pluie de saint Michel sans orage - D'un hiver doux est le prsage. -09/30 la saint Jrme, + D'un hiver doux est le présage. +09/30 À la saint Jérôme, Hoche tes pommes. /* Octobre */ -10/02 la saint Lger, - Faut s'purger! -10/04 Sme la saint Franois, - Ton bl aura plus de poids. -10/09 Beau temps la saint Denis, +10/02 À la saint Léger, + Faut s'purger ! +10/04 Sème à la saint François, + Ton blé aura plus de poids. +10/09 Beau temps à la saint Denis, Hiver pourri. 10/13 En octobre, qui ne fume rien - Ne rcolte rien. -10/16 Coupe ton chou la saint Gall, - En hiver c'est un rgal. -10/18 la saint Luc, sme dru, - Ou ne sme plus. -10/23 Gele d'octobre + Ne récolte rien. +10/16 Coupe ton chou à la saint Gall, + En hiver c'est un régal. +10/18 À la saint Luc, sème dru, + Ou ne sème plus. +10/23 Gelée d'octobre Rend le vigneron sobre. -10/25 Pour saint Crpin, mort aux mouches. -10/28 la sainte Simone, - Il faut avoir rentr ses pommes. +10/25 Pour saint Crépin, mort aux mouches. +10/28 À la sainte Simone, + Il faut avoir rentré ses pommes. 10/31 Quand octobre prend sa fin, Dans la cave est le vin. /* Novembre */ -11/01 la Toussaint commence l't de la saint Martin. -11/02 Telle Toussaint, tel Nol, - Et Pques pareil. -11/04 la saint Charles, - La gele parle. +11/01 À la Toussaint commence l'été de la saint Martin. +11/02 Telle Toussaint, tel Noël, + Et Pâques pareil. +11/04 À la saint Charles, + La gelée parle. 11/08 En novembre, s'il tonne, - L'anne sera bonne. + L'année sera bonne. 11/11 Si l'hiver va droit son chemin, - Vous l'aurez la saint Martin, - Mais s'il trouve quelque encombre, - Vous l'aurez la saint Andr. -11/11 Tue ton cochon la saint Martin + Vous l'aurez à la saint Martin, + Mais s'il trouve quelque encombrée, + Vous l'aurez à la saint André. +11/11 Tue ton cochon à la saint Martin Et invite ton voisin. -11/19 Sainte lisabeth nous montre quel bonhomme sera l'hiver. -11/22 Pour sainte Ccile, +11/19 Sainte Élisabeth nous montre quel bonhomme sera l'hiver. +11/22 Pour sainte Cécile, Chaque haricot en fait mille. 11/23 Quand l'hiver vient doucement, - Il est l la saint Clment. -11/25 Sainte Catherine, toute fille veut la fter, + Il est là à la saint Clément. +11/25 Sainte Catherine, toute fille veut la fêter, Mais aucune ne veut la coiffer. 11/25 Quand sainte Catherine au ciel fait la moue, Il faut patauger longtemps dans la boue. -11/30 Quand l'hiver n'est pas press, - Il arrive la saint Andr. +11/30 Quand l'hiver n'est pas pressé, + Il arrive à la saint André. -/* Dcembre */ +/* Décembre */ 12/SundayFirst Tel avent, Tel printemps. 12/06 Neige de saint Nicolas Donne froid pour trois mois. -12/07 la saint Ambroise, +12/07 À la saint Ambroise, Du froid pour huit jours. -12/10 la sainte Julie, +12/10 À la sainte Julie, Le soleil ne quitte pas son lit. -12/13 la sainte Luce, - Le jour crot du saut d'une puce. -12/16 Dcembre de froid trop chiche +12/13 À la sainte Luce, + Le jour croît du saut d'une puce. +12/16 Décembre de froid trop chiche Ne fait pas le paysan riche. -12/21 S'il gle la saint Thomas, - Il glera encore trois mois. -12/23 Le tonnerre en dcembre +12/21 S'il gèle à la saint Thomas, + Il gèlera encore trois mois. +12/23 Le tonnerre en décembre Annonce pour l'an qui vient - Aux btes et aux gens + Aux bêtes et aux gens Abondance de biens. -12/25 Nol au balcon, - Pques au tison. -12/26 la saint tienne, +12/25 Noël au balcon, + Pâques au tison. +12/26 À la saint Étienne, Chacun trouve la sienne. -12/28 Les jours entre Nol et les Rois +12/28 Les jours entre Noël et les Rois Indiquent le temps des douze mois. -#endif /*! _fr_FR_ISO8859_1_proverbes_ */ +#endif /*! _fr_FR_proverbes_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all bsdmainutils/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all --- bsdmainutils.orig/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all 2014-08-15 13:41:23.276657847 +0200 @@ -4,9 +4,9 @@ * $FreeBSD$ */ -#ifndef _hr_HR_ISO8859_2_all -#define _hr_HR_ISO8859_2_all +#ifndef _hr_HR_all +#define _hr_HR_all -#include +#include -#endif /* !_hr_HR_ISO8859_2_all */ +#endif /* !_hr_HR_all */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici bsdmainutils/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici --- bsdmainutils.orig/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici 2014-08-15 13:41:23.276657847 +0200 @@ -4,41 +4,41 @@ * $FreeBSD$ */ -#ifndef _hr_HR_ISO8859_2_praznici -#define _hr_HR_ISO8859_2_praznici +#ifndef _hr_HR_praznici +#define _hr_HR_praznici -LANG=hr_HR.ISO8859-2 +LANG=UTF-8 -/* dravni praznici */ +/* drŸavni praznici */ 01/01 Nova godina 05/01 Praznik rada 05/30 Tjelovo -06/22 Dan antifaistike borbe -06/25 Dan dravnosti +06/22 Dan antifa¹istièke borbe +06/25 Dan drŸavnosti 08/05 Dan domovinske zahvalnosti 10/08 Dan neovisnosti -/* katoliki blagdani */ +/* katolièki blagdani */ 01/06 Sveta tri kralja Easter-2 Veliki petak Easter Uskrs Easter+1 Uskrsni ponedjeljak Easter+49 Duhovi Easter+50 Duhovni ponedjeljak -Easter+39 Uzaae +Easter+39 Uza¹a¹æe 08/15 Velika Gospa 11/01 Svi sveti -12/25 Boi +12/25 BoŸiæ 12/26 Stjepandan -/* godinja doba */ -03/21* Poetak proljea -06/21* Poetak ljeta -09/21* Poetak jesena -12/21* Poetak zime +/* godi¹nja doba */ +03/21* Poèetak proljeæa +06/21* Poèetak ljeta +09/21* Poèetak jesena +12/21* Poèetak zime /* ljetno vrijeme */ -03/NedjeljaLast Poetak ljetnog vremena +03/NedjeljaLast Poèetak ljetnog vremena 10/NedjeljaLast Kraj ljetnog vremena -#endif /* !_hr_HR_ISO8859_2_praznici */ +#endif /* !_hr_HR_praznici */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.all bsdmainutils/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.all --- bsdmainutils.orig/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.all 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.all 2014-08-15 13:41:23.276657847 +0200 @@ -1,13 +1,13 @@ /* - * Magyar kalendrium + * Magyar kalendárium * * $FreeBSD$ */ -#ifndef _hu_HU_ISO8859_2_all_ -#define _hu_HU_ISO8859_2_all_ +#ifndef _hu_HU_all_ +#define _hu_HU_all_ -#include -#include +#include +#include -#endif /* !_hu_HU.ISO8859-2_all_ */ +#endif /* !_hu_HU_all_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.nevnapok bsdmainutils/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.nevnapok --- bsdmainutils.orig/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.nevnapok 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.nevnapok 2014-08-15 13:41:23.276657847 +0200 @@ -1,386 +1,386 @@ /* - * Nvnapok + * Névnapok * * $FreeBSD$ */ -#ifndef _hu_HU_ISO8859_2_nevnapok_ -#define _hu_HU_ISO8859_2_nevnapok_ +#ifndef _hu_HU_nevnapok_ +#define _hu_HU_nevnapok_ -LANG=hu_HU.ISO8859-2 +LANG=UTF-8 /* - * N.B.: A nvnapok Magyarorszgon a szentek napjai alapjn szerepelnek - * a naptrban. Nhny nv tbbszr is szerepel, de mindenki - * csak egyszer tart nvnapot egy vben. A vlasztott nap - * ebben az esetben a hagyomnyokon s az illetn mlik. + * N.B.: A névnapok Magyarországon a szentek napjai alapján szerepelnek + * a naptárban. Néhány név többször is szerepel, de mindenki + * csak egyszer tart névnapot egy évben. A választott nap + * ebben az esetben a hagyományokon és az illetõn múlik. * */ 01/01 Fruzsina -01/02 bel, Gergely -01/03 Genovva, Benjmin +01/02 Ábel, Gergely +01/03 Genovéva, Benjámin 01/04 Titusz, Leona 01/05 Simon -01/06 Boldizsr, Menyhrt -01/07 Attila, Ramna -01/08 Gyngyvr +01/06 Boldizsár, Menyhárt +01/07 Attila, Ramóna +01/08 Gyöngyvér 01/09 Marcell -01/10 Melnia -01/11 gota, Baltazr -01/12 Ern, Czr +01/10 Melánia +01/11 Ágota, Baltazár +01/12 Ernõ, Cézár 01/13 Veronika -01/14 Bdog, Flix -01/15 Lrnt, Lornd -01/16 Gusztv -01/17 Antal, Antnia +01/14 Bódog, Félix +01/15 Lóránt, Loránd +01/16 Gusztáv +01/17 Antal, Antónia 01/18 Piroska -01/19 Sra, Mri -01/20 Fbin, Sebestyn -01/21 gnes -01/22 Vince, Artr +01/19 Sára, Márió +01/20 Fábián, Sebestyén +01/21 Ágnes +01/22 Vince, Artúr 01/23 Zelma, Rajmund -01/24 Timt, Xnia -01/25 Pl +01/24 Timót, Xénia +01/25 Pál 01/26 Vanda, Paula -01/27 Angelika, Angla -01/28 Kroly, Karola -01/29 Adl +01/27 Angelika, Angéla +01/28 Károly, Karola +01/29 Adél 01/30 Gerda, Martina 01/31 Marcella -02/01 Ignc +02/01 Ignác 02/02 Karolina, Aida -02/03 Balzs -02/04 Rhel, Csenge -02/05 gota, Ingrid -02/06 Dra, Dorottya -02/07 Rme, Tdor +02/03 Balázs +02/04 Ráhel, Csenge +02/05 Ágota, Ingrid +02/06 Dóra, Dorottya +02/07 Rómeó, Tódor 02/08 Aranka -02/09 Abigl, Alex +02/09 Abigél, Alex 02/10 Elvira 02/11 Bertold, Marietta -02/12 Lvia, Ldia +02/12 Lívia, Lídia 02/13 Ella, Linda -02/14 Blint, Valentin +02/14 Bálint, Valentin 02/15 Kolos 02/16 Julianna, Lilla -02/17 Dont +02/17 Donát 02/18 Bernadett 02/19 Zsuzsanna -02/20 Aladr, lmos -02/21 Eleonra +02/20 Aladár, Álmos +02/21 Eleonóra 02/22 Gerzson -02/23 Alfrd -02/24 Mtys -02/25 Gza +02/23 Alfréd +02/24 Mátyás +02/25 Géza 02/26 Edina -02/27 kos, Btor -02/28 Elemr +02/27 Ákos, Bátor +02/28 Elemér 03/01 Albin 03/02 Lujza -03/03 Kornlia -03/04 Kzmr -03/05 Adorjn, Adrin -03/06 Leonra, Inez -03/07 Tams -03/08 Zoltn +03/03 Kornélia +03/04 Kázmér +03/05 Adorján, Adrián +03/06 Leonóra, Inez +03/07 Tamás +03/08 Zoltán 03/09 Franciska, Fanni -03/10 Ildik -03/11 Szilrd +03/10 Ildikó +03/11 Szilárd 03/12 Gergely -03/13 Krisztin, Ajtony +03/13 Krisztián, Ajtony 03/14 Matild -03/15 Kristf +03/15 Kristóf 03/16 Henrietta -03/17 Gertrd, Patrik -03/18 Sndor, Ede -03/19 Jzsef, Bnk +03/17 Gertrúd, Patrik +03/18 Sándor, Ede +03/19 József, Bánk 03/20 Klaudia 03/21 Benedek -03/22 Beta, Izolda -03/23 Emke -03/24 Gbor, Karina -03/25 Irn, Irisz -03/26 Emnuel +03/22 Beáta, Izolda +03/23 Emõke +03/24 Gábor, Karina +03/25 Irén, Irisz +03/26 Emánuel 03/27 Hajnalka 03/28 Gedeon, Johanna 03/29 Aguszta -03/30 Zaln -03/31 rpd -04/01 Hug -04/02 ron -04/03 Buda, Richrd +03/30 Zalán +03/31 Árpád +04/01 Hugó +04/02 Áron +04/03 Buda, Richárd 04/04 Izidor 04/05 Vince -04/06 Vilmos, Bborka +04/06 Vilmos, Bíborka 04/07 Herman -04/08 Dnes +04/08 Dénes 04/09 Erhard 04/10 Zsolt -04/11 Le, Szaniszl +04/11 Leó, Szaniszló 04/12 Gyula 04/13 Ida 04/14 Tibor -04/15 Anasztzia, Tas +04/15 Anasztázia, Tas 04/16 Csongor 04/17 Rudolf 04/18 Andrea, Ilma 04/19 Emma 04/20 Tivadar -04/21 Konrd -04/22 Csilla, Nomi -04/23 Bla -04/24 Gyrgy -04/25 Mrk +04/21 Konrád +04/22 Csilla, Noémi +04/23 Béla +04/24 György +04/25 Márk 04/26 Ervin 04/27 Zita -04/28 Valria -04/29 Pter +04/28 Valéria +04/29 Péter 04/30 Katalin, Kitti -05/01 Flp, Jakab +05/01 Fülöp, Jakab 05/02 Zsigmond -05/03 Tmea, Irma -05/04 Mnika, Flrin -05/05 Gyrgyi +05/03 Tímea, Irma +05/04 Mónika, Flórián +05/05 Györgyi 05/06 Ivett, Frida 05/07 Gizella -05/08 Mihly +05/08 Mihály 05/09 Gergely -05/10 rmin, Plma +05/10 Ármin, Pálma 05/11 Ferenc -05/12 Pongrc -05/13 Szervc, Imola -05/14 Bonifc -05/15 Zsfia, Szonja -05/16 Mzes, Botond -05/17 Paszkl +05/12 Pongrác +05/13 Szervác, Imola +05/14 Bonifác +05/15 Zsófia, Szonja +05/16 Mózes, Botond +05/17 Paszkál 05/18 Erik, Alexandra -05/19 Iv, Miln -05/20 Bernt, Felcia +05/19 Ivó, Milán +05/20 Bernát, Felícia 05/21 Konstantin -05/22 Jlia, Rita -05/23 Dezs +05/22 Júlia, Rita +05/23 Dezsõ 05/24 Eszter, Eliza -05/25 Orbn -05/26 Flp, Evelin +05/25 Orbán +05/26 Fülöp, Evelin 05/27 Hella -05/28 Emil, Csand +05/28 Emil, Csanád 05/29 Magdolna 05/30 Janka, Zsanett -05/31 Angla, Petronella -06/01 Tnde -06/02 Krmen, Anita +05/31 Angéla, Petronella +06/01 Tünde +06/02 Kármen, Anita 06/03 Klotild -06/04 Bulcs +06/04 Bulcsú 06/05 Fatime 06/06 Norbert, Cintia -06/07 Rbert -06/08 Medrd -06/09 Flix -06/10 Margit, Gitta, Grta -06/11 Barnabs -06/12 Vill +06/07 Róbert +06/08 Medárd +06/09 Félix +06/10 Margit, Gitta, Gréta +06/11 Barnabás +06/12 Villõ 06/13 Antal, Anett 06/14 Vazul -06/15 Joln, Vid +06/15 Jolán, Vid 06/16 Jusztin 06/17 Laura, Alida 06/18 Arnold, Levente -06/19 Gyrfs +06/19 Gyárfás 06/20 Rafael 06/21 Alajos, Leila 06/22 Paulina -06/23 Zoltn, Szidonia -06/24 Ivn +06/23 Zoltán, Szidonia +06/24 Iván 06/25 Vilmos, Viola -06/26 Jnos, Pl -06/27 Lszl -06/28 Levente, Irn -06/29 Pter, Pl -06/30 Pl -07/01 Annamria, Tihamr -07/02 Ott -07/03 Kornl, Soma +06/26 János, Pál +06/27 László +06/28 Levente, Irén +06/29 Péter, Pál +06/30 Pál +07/01 Annamária, Tihamér +07/02 Ottó +07/03 Kornél, Soma 07/04 Ulrik 07/05 Emese, Sarolta 07/06 Csaba -07/07 Apollnia -07/08 Ellk -07/09 Lukrcia -07/10 Amlia -07/11 Nra, Lili +07/07 Apollónia +07/08 Ellák +07/09 Lukrécia +07/10 Amália +07/11 Nóra, Lili 07/12 Izabella, Dalma -07/13 Jen -07/14 rs, Stella +07/13 Jenõ +07/14 Örs, Stella 07/15 Henrik, Roland 07/16 Valter 07/17 Endre, Elek 07/18 Frigyes -07/19 Emlia -07/20 Ills -07/21 Daniella, Dniel +07/19 Emília +07/20 Illés +07/21 Daniella, Dániel 07/22 Magdolna 07/23 Lenke -07/24 Kinga, Kincs -07/25 Kristf, Jakab -07/26 Anna, Anik -07/27 Olga, Lilina +07/24 Kinga, Kincsõ +07/25 Kristóf, Jakab +07/26 Anna, Anikó +07/27 Olga, Liliána 07/28 Szabolcs -07/29 Mrta, Flra -07/30 Judit, Xnia -07/31 Oszkr -08/01 Boglrka +07/29 Márta, Flóra +07/30 Judit, Xénia +07/31 Oszkár +08/01 Boglárka 08/02 Lehel 08/03 Hermina 08/04 Domonkos, Dominika 08/05 Krisztina 08/06 Berta, Bettina 08/07 Ibolya -08/08 Lszl -08/09 Emd -08/10 Lrinc +08/08 László +08/09 Emõd +08/10 Lõrinc 08/11 Zsuzsanna, Tiborc -08/12 Klra +08/12 Klára 08/13 Ipoly 08/14 Marcell -08/15 Mria -08/16 brahm -08/17 Jcint +08/15 Mária +08/16 Ábrahám +08/17 Jácint 08/18 Ilona 08/19 Huba -08/20 Istvn -08/21 Smuel, Hajna -08/22 Menyhrt, Mirjam +08/20 István +08/21 Sámuel, Hajna +08/22 Menyhért, Mirjam 08/23 Bence 08/24 Bertalan -08/25 Lajos, Patrcia -08/26 Izs -08/27 Gspr -08/28 goston +08/25 Lajos, Patrícia +08/26 Izsó +08/27 Gáspár +08/28 Ágoston 08/29 Beatrix, Erna -08/30 Rzsa +08/30 Rózsa 08/31 Erika, Bella 09/01 Egyed, Egon 09/02 Rebeka, Dorina 09/03 Hilda -09/04 Rozlia -09/05 Viktor, Lrinc -09/06 Zakaris +09/04 Rozália +09/05 Viktor, Lõrinc +09/06 Zakariás 09/07 Regina -09/08 Mria, Adrienn -09/09 dm +09/08 Mária, Adrienn +09/09 Ádám 09/10 Nikolett, Hunor -09/11 Teodra -09/12 Mria -09/13 Kornl -09/14 Szerna, Roxna -09/15 Enik, Melitta +09/11 Teodóra +09/12 Mária +09/13 Kornél +09/14 Szeréna, Roxána +09/15 Enikõ, Melitta 09/16 Edit -09/17 Zsfia -09/18 Dina +09/17 Zsófia +09/18 Diána 09/19 Vilhelmina 09/20 Friderika -09/21 Mt, Mirella -09/22 Mric +09/21 Máté, Mirella +09/22 Móric 09/23 Tekla -09/24 Gellrt, Mercdesz +09/24 Gellért, Mercédesz 09/25 Eufrozina, Kende 09/26 Jusztina 09/27 Adalbert 09/28 Vencel -09/29 Mihly +09/29 Mihály 09/30 Jeromos 10/01 Malvin 10/02 Petra 10/03 Helga 10/04 Ferenc -10/05 Aurl -10/06 Brn, Renta -10/07 Amlia -10/08 Koppny -10/09 Dnes +10/05 Aurél +10/06 Brúnó, Renáta +10/07 Amália +10/08 Koppány +10/09 Dénes 10/10 Gedeon 10/11 Brigitta 10/12 Miksa -10/13 Klmn, Ede -10/14 Heln -10/15 Terz -10/16 Gl +10/13 Kálmán, Ede +10/14 Helén +10/15 Teréz +10/16 Gál 10/17 Hedvig -10/18 Lukcs -10/19 Nndor +10/18 Lukács +10/19 Nándor 10/20 Vendel 10/21 Orsolya -10/22 Eld -10/23 Gyngyi +10/22 Elõd +10/23 Gyöngyi 10/24 Salamon 10/25 Blanka, Bianka -10/26 Dmtr +10/26 Dömötör 10/27 Szabina 10/28 Simon, Szimonetta -10/29 Nrcisz +10/29 Nárcisz 10/30 Alfonz 10/31 Farkas 11/01 Marianna 11/02 Achilles -11/03 Gyz -11/04 Kroly +11/03 Gyõzõ +11/04 Károly 11/05 Imre -11/06 Lnrd -11/07 Rezs +11/06 Lénárd +11/07 Rezsõ 11/08 Zsombor 11/09 Tivadar -11/10 Rka -11/11 Mrton -11/12 Jns, Rent +11/10 Réka +11/11 Márton +11/12 Jónás, Renátó 11/13 Szilvia 11/14 Aliz -11/15 Albert, Lipt -11/16 dn -11/17 Hortenzia, Gerg -11/18 Jen -11/19 Erzsbet -11/20 Joln -11/21 Olivr -11/22 Ceclia +11/15 Albert, Lipót +11/16 Ödön +11/17 Hortenzia, Gergõ +11/18 Jenõ +11/19 Erzsébet +11/20 Jolán +11/21 Olivér +11/22 Cecília 11/23 Kelemen, Klementina 11/24 Emma 11/25 Katalin -11/26 Virg +11/26 Virág 11/27 Virgil -11/28 Stefnia +11/28 Stefánia 11/29 Taksony -11/30 Andrs, Andor +11/30 András, Andor 12/01 Elza 12/02 Melinda, Vivien -12/03 Ferenc, Olvia -12/04 Borbla, Barbara +12/03 Ferenc, Olívia +12/04 Borbála, Barbara 12/05 Vilma -12/06 Mikls +12/06 Miklós 12/07 Ambrus -12/08 Mria -12/09 Natlia +12/08 Mária +12/09 Natália 12/10 Judit -12/11 rpd +12/11 Árpád 12/12 Gabriella -12/13 Luca, Otlia -12/14 Szilrda -12/15 Valr +12/13 Luca, Otília +12/14 Szilárda +12/15 Valér 12/16 Etelka, Aletta -12/17 Lzr, Olimpia +12/17 Lázár, Olimpia 12/18 Auguszta 12/19 Viola 12/20 Teofil -12/21 Tams -12/22 Zn -12/23 Viktria -12/24 dm, va -12/25 Eugnia -12/26 Istvn -12/27 Jnos +12/21 Tamás +12/22 Zénó +12/23 Viktória +12/24 Ádám, Éva +12/25 Eugénia +12/26 István +12/27 János 12/28 Kamilla -12/29 Tams, Tamara -12/30 Dvid +12/29 Tamás, Tamara +12/30 Dávid 12/31 Szilveszter -#endif /*! _hu_HU_ISO8859_2_nevnapok_ */ +#endif /*! _hu_HU_nevnapok_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.unnepek bsdmainutils/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.unnepek --- bsdmainutils.orig/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.unnepek 2014-08-15 13:41:14.956532424 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.unnepek 2014-08-15 13:41:23.276657847 +0200 @@ -1,53 +1,53 @@ /* - * nnepnapok + * Ünnepnapok * * $FreeBSD$ */ -#ifndef _hu_HU_ISO8859_2_unnepek_ -#define _hu_HU_ISO8859_2_unnepek_ +#ifndef _hu_HU_unnepek_ +#define _hu_HU_unnepek_ -LANG=hu_HU.ISO8859-2 +LANG=UTF-8 -/* Munkaszneti napok */ -01/01 jv -03/15 1848-as szabadsgharc s forradalom nnepe -05/01 Munka nnepe -10/23 1956-os forradalom nnepe - -/* Vallsi munkaszneti napok */ -Easter Hsvt -Easter+1 Hsvt htf -Easter+42 Virgvasrnap -Easter+49 Pnksd -Easter+50 Pnksd htf -08/20 Szent Istvn nap, llamalapts nnepe +/* Munkaszüneti napok */ +01/01 Újév +03/15 1848-as szabadságharc és forradalom ünnepe +05/01 Munka ünnepe +10/23 1956-os forradalom ünnepe + +/* Vallási munkaszüneti napok */ +Easter Húsvét +Easter+1 Húsvét hétfõ +Easter+42 Virágvasárnap +Easter+49 Pünkösd +Easter+50 Pünkösd hétfõ +08/20 Szent István nap, Államalapítás ünnepe 11/01 Halottak napja -12/25 Karcsony els napja -12/26 Karcsony msodik napja +12/25 Karácsony elsõ napja +12/26 Karácsony második napja -/* Az itt kvetkez dtumok nem munkaszneti napok csak nnepnapok */ +/* Az itt következõ dátumok nem munkaszüneti napok csak ünnepnapok */ -/* Csillagszati vszakok */ -03/21* Tavaszi napjegyenlsg -06/21* Nyri napfordul -09/21* szi napjegyenlsg -12/21* Tli napfordul - -/* Tli s nyri idszmts kztti vlts */ -03/SundayLast Vlts a nyri idszmtsra -10/SundayLast Vlts a tli idszmtsra - -/* Egyb vallsi nnepek amelyek nem munkaszneti napok */ -Easter-2 Nagy pntek ("a harangok Romba mennek") - -/* Egyb nnepnapok s emlknapok*/ -02/14 Valentin nap - a szerelmesek nnepe -03/08 N nap - egy-egy szl virg a nknek -May Sun+2 Anyk napja -10/06 Az 1848-as aradi vrtanuk napja -12/06 Mikuls napja - gyerekek csokit kapnak -12/24 Karcsony elestje +/* Csillagászati évszakok */ +03/21* Tavaszi napéjegyenlõség +06/21* Nyári napforduló +09/21* Õszi napéjegyenlõség +12/21* Téli napforduló + +/* Téli és nyári idõszámítás közötti váltás */ +03/SundayLast Váltás a nyári idõszámításra +10/SundayLast Váltás a téli idõszámításra + +/* Egyéb vallási ünnepek amelyek nem munkaszüneti napok */ +Easter-2 Nagy péntek ("a harangok Romába mennek") + +/* Egyéb ünnepnapok és emléknapok*/ +02/14 Valentin nap - a szerelmesek ünnepe +03/08 Nõ nap - egy-egy szál virág a nõknek +May Sun+2 Anyák napja +10/06 Az 1848-as aradi vértanuk napja +12/06 Mikulás napja - gyerekek csokit kapnak +12/24 Karácsony elõestéje 12/31 Szilveszter napja -#endif /*! _hu_HU_ISO8859_2_unnepek_ */ +#endif /*! _hu_HU_unnepek_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all 2014-08-15 13:41:53.353111125 +0200 @@ -1,17 +1,17 @@ /* - * + * Русский календарь * * $FreeBSD$ */ -#ifndef _ru_RU_KOI8_R_all -#define _ru_RU_KOI8_R_all +#ifndef _ru_RU_all +#define _ru_RU_all -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include -#endif /* !_ru_RU_KOI8_R_all */ +#endif /* !_ru_RU_all */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common 2014-08-15 13:41:53.365111305 +0200 @@ -1,5 +1,5 @@ /* - * + * Российские праздники * * $FreeBSD$ */ @@ -7,99 +7,99 @@ #ifndef _ru_RU_KOI8_R_common_ #define _ru_RU_KOI8_R_common_ -LANG=ru_RU.KOI8-R +LANG=UTF-8 -12 -13 -14 -21 -25 . - 8 -10 - 1 -03/SunSecond -11 -18 -03/SunThird , - -27 -27 - 1 - 2 -04/SunFirst -12 -04/SunSecond -26 -30 - 7 -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 - -08/SunSecond -08/SunThird -22 -27 -08/SunLast - 1 - 2 - 3 - 4 -09/SunFirst -09/SunSecond -09/SunThird -28 -09/SunLast - 1 - 1 - 4 - 5 -14 -10/SunSecond -10/SunThird -24 -25 -30 -10/SunLast - 7 1917 - 9 -10 -16 -17 -19 -21 -26 -11/SunLast - 1 - 3 - 9 -12 -17 -20 -22 -27 +01/12 День работника прокуратуры +01/13 День российской печати +01/14 Старый Новый год +01/21 День инженерных войск +01/25 Татьянин день. Студенческий праздник +02/8 День российской науки +02/10 День дипломатического работника +03/1 Всемирный день гражданской обороны +03/SunSecond День работников геодезии и картографии +03/11 День работника органов наркоконтроля +03/18 День налоговой полиции +03/SunThird День работников торговли, бытового обслуживания населения и жилищно-коммунального хозяйства +03/27 Международный день театра +03/27 День внутренних войск +04/1 День смеха +04/2 День единения народов +04/SunFirst День геолога +04/12 День космонавтики +04/SunSecond День войск противовоздушной обороны +04/26 День памяти погибших в радиационных авариях и катастрофах +04/30 День пожарной охраны +05/7 День радио +05/17 Международный день телекоммуникаций +05/18 Международный день музеев +05/24 День славянской письменности и культуры +05/26 День российского предпринимательства +05/27 Общероссийский день библиотек +05/28 День пограничника +05/30 День пожарной охраны +05/31 День Российской Адвокатуры +05/SunLast День химика +06/1 День защиты детей +06/5 День эколога +06/6 Пушкинский день +06/8 День социального работника +06/SunSecond День работников легкой промышленности +06/SunThird День медицинского работника +06/22 День памяти и скорби (Начало Великой Отечественной Войны, 1941 год) +06/27 День молодежи +06/29 День партизан и подпольщиков +06/SatLast День изобретателя и рационализатора +07/SunFirst День работников морского и речного флота +07/SunSecond День рыбака +07/SunSecond День российской почты +07/SunThird День металлурга +07/SunLast День Военно-Морского Флота +07/28 День крещения Руси +08/6 День железнодорожных войск +08/SunFirst День железнодорожника +08/12 День военно-воздушных сил +08/SunSecond День строителя +08/SunThird День Воздушного Флота +08/22 День государственного флага +08/27 День кино +08/SunLast День шахтера +09/1 День знаний +09/2 День российской гвардии +09/3 День солидарности в борьбе с терроризмом +09/4 День специалиста по ядерному обеспечению +09/SunFirst День работников нефтяной и газовой промышленности +09/SunSecond День танкиста +09/SunThird День работников леса +09/28 День работника атомной промышленности +09/SunLast День машиностроителя +10/1 День пожилых людей +10/1 День сухопутных войск +10/4 День космических войск +10/5 День учителя +10/14 Международный день стандартизации +10/SunSecond День работников сельского хозяйства и перерабатывающей промышленности +10/SunThird День работников дорожного хозяйства +10/24 Международный день ООН +10/25 День таможенника +10/30 День памяти жертв политических репрессий +10/SunLast День работников автомобильного транспорта +11/7 День октябрьской революции 1917 года +11/9 Всемирный день качества +11/10 День милиции +11/16 День морской пехоты +11/17 Международный день студентов +11/19 День ракетных войск и артиллерии +11/21 День работников налоговых органов +11/26 Всемирный день информации +11/SunLast День матери +12/1 Всемирный день борьбы со СПИДом +12/3 День юриста +12/9 День Героев Отечества +12/12 День Конституции +12/17 День ракетных войск стратегического назначения +12/20 День работника органов безопасности +12/22 День энергетика +12/27 День спасателя #endif /* !_ru_RU_KOI8_R_common_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday 2014-08-15 13:41:53.369111366 +0200 @@ -1,25 +1,25 @@ /* - * ( "" ) + * Российские праздники (нерабочие "красные" дни) * * $FreeBSD$ */ -#ifndef _ru_RU_KOI8_R_holiday_ -#define _ru_RU_KOI8_R_holiday_ +#ifndef _ru_RU_holiday_ +#define _ru_RU_holiday_ -LANG=ru_RU.KOI8-R +LANG=UTF-8 - 1 - 2 - 3 - 4 - 5 - 7 -23 - 8 - 1 - 9 -12 - 4 +01/1 Новый год +01/2 Новогодние каникулы +01/3 Новогодние каникулы +01/4 Новогодние каникулы +01/5 Новогодние каникулы +01/7 Рождество Христово +02/23 День защитника Отечества +03/8 Международный женский день +05/1 Праздник Весны и Труда +05/9 День Победы +06/12 День России +11/4 День народного единства -#endif /* !_ru_RU_KOI8_R_holiday_ */ +#endif /* !_ru_RU_holiday_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military 2014-08-15 13:41:53.373111426 +0200 @@ -1,27 +1,28 @@ /* - * + * Дни воинской славы России * * $FreeBSD$ */ -#ifndef _ru_RU_KOI8_R_military_ -#define _ru_RU_KOI8_R_military_ +#ifndef _ru_RU_military_ +#define _ru_RU_military_ -LANG=ru_RU.KOI8-R +LANG=UTF-8 -27 (1944 ) - 2 - (1943 ) -23 (1918 ) -18 ( , 1242 ) -10 (1709 ) - 9 (1714 ) -23 - (1943 ) - 8 .. (1812 ) -11 .. (1790 ) -21 - (1380 ) - 7 (1612 ) - 1 .. (1853 ) - 5 - (1941 ) -24 .. (1790 ) +01/27 День снятия блокады города Ленинграда (1944 год) +02/2 День разгрома советскими войсками немецко-фашистских войск в Сталинградской битве (1943 год) +02/23 День победы Красной Армии над кайзеровскими войсками Германии (1918 год) +04/18 День победы русских воинов князя Александра Невского над немецкими рыцарями на Чудском озере (Ледовое побоище, 1242 год) +07/10 День победы русской армии под командованием Петра Первого над шведами в Полтавском сражении (1709 год) +08/9 День первой в российской истории морской победы русского флота под командованием Петра Первого над шведами у мыса Гангут (1714 год) +08/23 День разгрома советскими войсками немецко-фашистских войск в Курской битве (1943 год) +09/2 День окончания Второй мировой войны (1945 год) +09/8 День Бородинского сражения русской армии под командованием М.И. Кутузова с французской армией (1812 год) +09/11 День победы русской эскадры под командованием Ф.Ф. Ушакова над турецкой эскадрой у мыса Тендра (1790 год) +09/21 День победы русских полков во главе с великим князем Дмитрием Донским над монголо-татарскими войсками в Куликовской битве (1380 год) +11/7 День освобождения Москвы силами народного ополчения под руководством Кузьмы Минина и Дмитрия Пожарского от польских интервентов (1612 год) +12/1 День победы русской эскадры под командованием П.С. Нахимова над турецкой эскадрой у мыса Синоп (1853 год) +12/5 День начала контрнаступления советских войск против немецко-фашистских войск в битве под Москвой (1941 год) +12/24 День взятия турецкой крепости Измаил русскими войсками под командованием А.В. Суворова (1790 год) -#endif /* !_ru_RU_KOI8_R_military_ */ +#endif /* !_ru_RU_military_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk 2014-08-15 13:41:53.373111426 +0200 @@ -1,16 +1,16 @@ /* - * + * Перевод часов для московской временной зоны * * $FreeBSD$ */ -#ifndef _ru_RU_KOI8_R_msk_ -#define _ru_RU_KOI8_R_msk_ +#ifndef _ru_RU_msk_ +#define _ru_RU_msk_ -LANG=ru_RU.KOI8-R +LANG=UTF-8 -03/SunLast ; -10/SunLast ; +03/SunLast Начало московского летнего времени; часы переводятся вперед +10/SunLast Конец московского летнего времени; часы переводятся назад -#endif /* !_ru_RU_KOI8_R_msk_ */ +#endif /* !_ru_RU_msk_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.orthodox bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.orthodox --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.orthodox 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.orthodox 2014-08-15 13:41:53.381111546 +0200 @@ -1,34 +1,36 @@ /* - * + * Православные праздники * * $FreeBSD$ */ -#ifndef _ru_RU_KOI8_R_orthodox_ -#define _ru_RU_KOI8_R_orthodox_ +#ifndef _ru_RU_orthodox_ +#define _ru_RU_orthodox_ -LANG=ru_RU.KOI8-R -Paskha= +LANG=UTF-8 +Paskha=Пасха -21 -28 -14 - 4 - 7 -19 -15 --46 --7 --3 --2 - -+39 -+49 -+56 -+60 - 7 -19 -28 +09/21 Рождество Пресвятой Богородицы +09/27 Воздвижение Креста Господня +10/14 Покров Пресвятой Богородицы +12/4 Введение во храм Пресвятой Богородицы +01/7 Рождество Христово +01/14 Обрезание Господне +01/19 Богоявление или Крещение Господне +02/15 Сретение Господне +Пасха-48 Великий Пост +Пасха-7 Вход Господень в Иерусалим. Вербное Воскресенье +Пасха-3 Великий Четверг +Пасха-2 Страстная Пятница +Пасха Воскресение Христово +Пасха+39 Вознесение +Пасха+49 День Святой Троицы. Пятидесятница +04/7 Благовещение Пресвятой Богородицы +07/7 Рождество Иоанна Предтечи +07/12 День святых первоверховных апостолов Петра и Павла +08/19 Преображение Господне +08/28 Успение Пресвятой Богородицы +09/11 Усекновение главы Иоанна Предтечи -#endif /* !_ru_RU_KOI8_R_orthodox_ */ +#endif /* !_ru_RU_orthodox_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.pagan bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.pagan --- bsdmainutils.orig/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.pagan 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.pagan 2014-08-15 13:41:53.385111607 +0200 @@ -1,42 +1,42 @@ /* - * + * Языческие праздники * * $FreeBSD$ */ -#ifndef _ru_RU_KOI8_R_pagan_ -#define _ru_RU_KOI8_R_pagan_ +#ifndef _ru_RU_pagan_ +#define _ru_RU_pagan_ -LANG=ru_RU.KOI8-R -Paskha= +LANG=UTF-8 +Paskha=Пасха -21 * -25 ( ) - 6 -24 -29 - 1 -14 , --47 -+7 -+16 -20 * - 7 ( ) - 6 , -22 -15 -21 * - 1 - 7 ( ) -27 , - 2 -21 -28 -14 -22 * ( ) -10 -21 - 9 +12/21* Зимнее солнцестояние +12/25 Коляда (сдвинутое зимнее солнцестояние) +01/6 День Кащея и Велеса +02/24 День Велеса +02/29 День Кащея +03/1 День Марены +03/14 Новый Год, Овсень малый +Пасха-55 Масленица +Пасха+7 Красная Горка +Пасха+16 Радуница +03/20* Весенние равноденствие +04/7 День Марены (сдвинутое весеннее равноденствие) +05/6 День Дажьбога, Овсень большой +05/22 Ярилин День +06/15 День Триглава +06/21* Летнее солнцестояние +07/1 Русальная Неделя +07/7 Купала (сдвинутое летнее солнцестояние) +07/27 Отбор жертв Перуну, русалии +08/2 Перунов День +08/21 День Стрибога +08/28 Успение Златогорки +09/14 День Волха Змеевича +09/22* Поворот к зиме (осеннее равноденствие) +11/10 День Макоши +11/21 День Сварога и Семаргла +12/9 День Дажьбога и Марены -#endif /* !_ru_RU_KOI8_R_pagan_ */ +#endif /* !_ru_RU_pagan_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.all bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.all --- bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.all 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.all 2014-08-15 13:41:53.401111848 +0200 @@ -1,14 +1,14 @@ /* - * + * Український календар * * $FreeBSD$ */ -#ifndef _uk_UA_KOI8_U_all_ -#define _uk_UA_KOI8_U_all_ +#ifndef _uk_UA_all_ +#define _uk_UA_all_ -#include -#include -#include +#include +#include +#include -#endif /* !_uk_UA_KOI8_U_all_ */ +#endif /* !_uk_UA_all_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.holiday bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.holiday --- bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.holiday 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.holiday 2014-08-15 13:41:53.405111909 +0200 @@ -1,22 +1,22 @@ /* - * ˦ Φ + * Українські державні свята * * $FreeBSD$ */ -#ifndef _uk_UA_KOI8_U_holiday_ -#define _uk_UA_KOI8_U_holiday_ +#ifndef _uk_UA_holiday_ +#define _uk_UA_holiday_ -LANG=uk_UA.KOI8-U -Paskha= +LANG=UTF-8 +Paskha=Великдень - 01 - 07 - 08 8 - - 01 1 - æ - 09 -+49 Ҧ - 28 æ - 24 Ԧ +01/01 Новий Рік +01/07 Різдво Христове +03/08 8 Березня - Міжнародний Жіночий День +05/01 1 Травня - День Праці +05/09 День Перемоги +Великдень+49 Трійця +06/28 День Конституції України +08/24 День Незалежності України -#endif /* !_uk_UA_KOI8_U_holiday_ */ +#endif /* !_uk_UA_holiday_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.misc bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.misc --- bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.misc 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.misc 2014-08-15 13:41:53.409111969 +0200 @@ -1,18 +1,18 @@ /* - * ۦ æצ + * Інші цікаві дати * * $FreeBSD$ */ -#ifndef _uk_UA_KOI8_U_misc_ -#define _uk_UA_KOI8_U_misc_ +#ifndef _uk_UA_misc_ +#define _uk_UA_misc_ -LANG=uk_UA.KOI8-U +LANG=UTF-8 -/* ¦ ΦҦ צ 13 1996 . N 509 - * " Ҧ " +/* Постанова Кабінету Міністрів України від 13 травня 1996 р. N 509 + * "Про порядок обчислення часу на території України" */ - -1 Ȧ ̦Φ ( Ħ ) - -1 Ȧ ( Ħ ) +03/Sun-1 Перехід на літній час (остання неділя березня) +10/Sun-1 Перехід на зимовий час (остання неділя жовтня) -#endif /* !_uk_UA_KOI8_U_misc_ */ +#endif /* !_uk_UA_misc_ */ diff -ruN bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.orthodox bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.orthodox --- bsdmainutils.orig/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.orthodox 2014-08-15 13:41:14.960532484 +0200 +++ bsdmainutils/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.orthodox 2014-08-15 13:41:53.413112028 +0200 @@ -1,35 +1,35 @@ /* - * Φ + * Православні свята * * $FreeBSD$ */ -#ifndef _uk_UA_KOI8_U_orthodox_ -#define _uk_UA_KOI8_U_orthodox_ +#ifndef _uk_UA_orthodox_ +#define _uk_UA_orthodox_ -LANG=uk_UA.KOI8-U -Paskha= +LANG=UTF-8 +Paskha=Великдень - 7 -19 Τ -15 Ҧ Τ --46 --7 Ħ --3 --2 ' - Ӧ -+39 Ӧ Τ -+49 ϧ Ҧæ, ' -+60 Ԧ - 7 צ צ ϧ Ҧ - 7 -12 ̦ -19 Τ -28 ϧ æ -11 Ӧ ϧ -21 ϧ æ -27 -14 ϧ æ - 4 ϧ æ +01/7 Різдво Христове +01/19 Богоявлення або Хрещення Господнє +02/15 Стрітення Господнє +Великдень-46 Великий Піст +Великдень-7 Вербна Неділя +Великдень-3 Великий Четвер +Великдень-2 Страсна П'ятниця +Великдень Воскресіння Христове +Великдень+39 Вознесіння Господнє +Великдень+49 День Святої Трійці, П'ятидесятниця +Великдень+60 Свято тіла Христового +04/7 Благовіщення Пресвятої Діви Марії +07/7 Різдво святого Івана Хрестителя +07/12 Святих Верховних апостолів Петра і Павла +08/19 Преображення Господнє +08/28 Успення Пресвятої Богородиці +09/11 Усікновення чесної голови святого Івана Хрестителя +09/21 Різдво Пресвятої Богородиці +09/27 Воздвиження Чесного Хреста +10/14 Покрова Пресвятої Богородиці +12/4 Введення до храму Пресвятої Богородиці -#endif /* !_uk_UA_KOI8_U_orthodox_ */ +#endif /* !_uk_UA_orthodox_ */ bsdmainutils-9.0.6ubuntu3/debian/patches/series0000664000000000000000000000125012665276735016551 0ustar calendar.diff calendar_wcs.diff calendar_weekend.diff calendar_stdio.diff calendars.diff libcalendar.diff ncal.diff ncal_fdow.diff ncal_man.diff ncal_year.diff ncal_mfdow.diff ncal_backward.diff ncal_options.diff col.diff col_line.diff colrm.diff column.diff column_empty.diff column_nomerge.diff column_error.diff column_empty_lines.diff column_maxline.diff column_tab.diff colcrt.diff banner.diff banner_manpage.diff hexdump.diff hexdump_segfault.diff hexdump_man.diff hexdump_seek.diff hexdump_increment.diff hexdump_dc1.diff hd.diff from.diff ul_buffer.diff ul.1.diff lorder.diff lorder_signals.diff look.diff look_bflag.diff write.diff write_allow.diff fix-big-1stweek.patch bsdmainutils-9.0.6ubuntu3/debian/patches/calendar_weekend.diff0000664000000000000000000001317311756711411021431 0ustar Description: Add options '-l' and '-w'. Author: Michael Meskes --- bsdmainutils/usr.bin/calendar/calendar.1 2009-10-29 22:59:13.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/calendar.1 2009-10-29 23:22:07.000000000 +0100 @@ -40,6 +40,8 @@ .Op Fl ab .Op Fl A Ar num .Op Fl B Ar num +.Op Fl l Ar num +.Op Fl w Ar num .Op Fl f Ar calendarfile .Sm off .Op Fl "t " Oo Oo Oo Ar cc Oc Ar yy Oc Ar mm Oc Ar dd @@ -60,7 +62,8 @@ .It Fl A Ar num Print lines from today and next .Ar num -days (forward, future). +days (forward, future). +Defaults to one. (same as \-l) .It Fl a Process the .Dq calendar @@ -73,6 +75,16 @@ days (backward, past). .It Fl b Enforce special date calculation mode for KOI8 calendars. +.It Fl l Ar num +Print lines from today and next +.Ar num +days (forward, future). Defaults to one. (same as \-A) +.It Fl w Ar num +Print lines from today and next +.Ar num +days, only if today is Friday (forward, future). Defaults to two, which causes +.Nm +to print entries through the weekend on Fridays. .It Fl f Pa calendarfile Use .Pa calendarfile @@ -97,6 +109,13 @@ .Dq Paskha= (for Orthodox Easter) can be used. .Pp +A special locale name exists: +.Sq utf-8 . +Specifying +.Dq LANG=utf-8 +indicates that the dates will be read using the C locale, and the descriptions +will be encoded in UTF-8. This is usually used for the distributed calendar +files. The .Dq CALENDAR variable can be used to specify the style. @@ -116,6 +135,10 @@ .Dq BODUN= where can be ru_RU.KOI8-R, uk_UA.KOI8-U or by_BY.KOI8-B. .Pp +Note that the locale is reset to the user's default for each new file that is +read. This is so that locales from one file do not accidentally carry over into +another file. +.Pp Other lines should begin with a month and day. They may be entered in almost any format, either numeric or as character strings. @@ -157,6 +180,9 @@ .Xr cpp 1 searches in the current (or home) directory first, and then in the directory +directory +.Pa /etc/calendar , +and finally in .Pa /usr/share/calendar . Empty lines and lines protected by the C commenting syntax .Pq Li /* ... */ @@ -257,6 +283,34 @@ in the line. This is no longer true: the date is only recognized when it occurs at the beginning of a line. +.Sh COMPATIBILITY +The +.Nm +command will only display lines that use a character to separate the date +and description, or that begin with a . This is different than in previous +releases. +.Pp +The +.Fl t +flag argument syntax is from the original FreeBSD +.Nm +program. +.Pp +The +.Fl l +and +.Fl w +flags are Debian-specific enhancements. Also, the original +.Nm +program did not accept +.Li 0 +as an argument to the +.Fl A +flag. +.Pp +Using +.Sq utf-8 +as a locale name is a Debian-specific enhancement. .Sh HISTORY A .Nm --- bsdmainutils/usr.bin/calendar/calendar.c 2009-10-29 22:59:13.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/calendar.c 2009-10-29 23:07:14.000000000 +0100 @@ -46,6 +46,8 @@ #include "pathnames.h" #include "calendar.h" +void atodays(char, char *, int *); + char *calendarFile = "calendar"; /* default calendar file */ char *calendarHome = ".calendar"; /* HOME */ char *calendarNoMail = "nomail"; /* don't sent mail if this file exists */ @@ -55,6 +57,7 @@ time_t f_time = 0; int bodun_always = 0; +int weekend = 2; int f_dayAfter = 0; /* days after current date */ int f_dayBefore = 0; /* days before current date */ int f_SetdayAfter = 0; /* calendar invoked with -A */ @@ -71,7 +74,7 @@ (void)setlocale(LC_ALL, ""); - while ((ch = getopt(argc, argv, "abf:t:A:B:-")) != -1) + while ((ch = getopt(argc, argv, "abf:l:t:w:A:B:-")) != -1) switch (ch) { case '-': /* backward contemptible */ case 'a': @@ -93,11 +96,16 @@ errx(1, "specified date is outside allowed range"); break; + case 'l': case 'A': /* days after current date */ - f_dayAfter = atoi(optarg); + atodays(ch, optarg, &f_dayAfter); f_SetdayAfter = 1; break; + case 'w': + atodays(ch, optarg, &weekend); + break; + case 'B': /* days before current date */ f_dayBefore = atoi(optarg); break; @@ -237,13 +245,24 @@ exit(0); } +void +atodays(char ch, char *optarg, int *days) +{ + int u; + + u = atoi(optarg); + if ((u < 0) || (u > 366)) + warnx("warning: -%c %d out of range 0-366, ignored.\n", ch, u); + else + *days = u; +} void usage(void) { (void)fprintf(stderr, - "usage: calendar [-ab] [-A num] [-B num] [-f calendarfile] " - "[-t [[[cc]yy]mm]dd]\n"); + "usage: calendar [-ab] [-A num] [-B num] [-l num] [-w num]" + "[-f calendarfile] [-t [[[cc]yy][mm]]dd]\n"); exit(1); } --- bsdmainutils/usr.bin/calendar/calendar.h 2009-10-29 22:59:13.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/calendar.h 2009-10-29 23:08:00.000000000 +0100 @@ -97,6 +97,7 @@ * calendar time--e.g. Easter or easter depending * days */ +extern int weekend; /* how many days to look ahead if today is Friday */ extern int f_dayAfter; /* days after current date */ extern int f_dayBefore; /* days before current date */ extern int f_SetdayAfter; /* calendar invoked with -A */ --- bsdmainutils/usr.bin/calendar/day.c 2009-10-29 22:59:13.000000000 +0100 +++ bsdmainutils/usr.bin/calendar/day.c 2009-10-29 23:11:33.000000000 +0100 @@ -161,8 +161,8 @@ cumdays = daytab[1]; else cumdays = daytab[0]; - /* Friday displays Monday's events */ - offset = tp->tm_wday == 5 ? 3 : 1; + /* Friday displays Monday's events if not configured otherwise */ + offset = tp->tm_wday == 5 ? 1 + weekend : 1; if (f_SetdayAfter) offset = 0; /* Except not when range is set explicitly */ header[5].iov_base = dayname; bsdmainutils-9.0.6ubuntu3/debian/patches/hexdump.diff0000664000000000000000000000444311455310267017630 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- freebsd/usr.bin/hexdump/conv.c 2009-10-03 18:45:29.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/conv.c 2009-10-03 18:46:04.000000000 +0200 @@ -35,7 +35,6 @@ static const char sccsid[] = "@(#)conv.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include --- freebsd/usr.bin/hexdump/display.c 2009-10-03 18:45:29.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/display.c 2009-10-03 18:46:12.000000000 +0200 @@ -37,7 +37,6 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include #include --- freebsd/usr.bin/hexdump/hexdump.c 2009-10-03 18:45:29.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/hexdump.c 2009-10-03 18:46:23.000000000 +0200 @@ -43,7 +43,6 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include #include --- freebsd/usr.bin/hexdump/odsyntax.c 2009-10-03 18:45:29.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/odsyntax.c 2009-10-03 18:46:36.000000000 +0200 @@ -37,7 +37,6 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include @@ -311,7 +310,7 @@ } static const char * -odformatfp(char fchar __unused, const char *fmt) +odformatfp(char fchar /* unused */, const char *fmt) { size_t isize; int digits; --- freebsd/usr.bin/hexdump/parse.c 2009-10-03 18:45:29.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/parse.c 2009-10-03 18:46:44.000000000 +0200 @@ -37,7 +37,6 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include @@ -142,7 +141,8 @@ badfmt(fmt); if (!(tfu->fmt = malloc(p - savep + 1))) err(1, NULL); - (void) strlcpy(tfu->fmt, savep, p - savep + 1); + (void) strncpy(tfu->fmt, savep, p - savep + 1); + (tfu->fmt)[p - savep] = '\0'; /* make sure it's null terminated */ escape(tfu->fmt); p++; } --- freebsd/usr.bin/hexdump/hexsyntax.c 2009-10-03 18:45:29.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/hexsyntax.c 2009-10-03 18:50:47.000000000 +0200 @@ -37,7 +37,6 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD$"); #include bsdmainutils-9.0.6ubuntu3/debian/patches/ul_buffer.diff0000664000000000000000000000350211455310267020122 0ustar Description: Make buffer expandable. Author: Michael Meskes --- bsdmainutils/usr.bin/ul/ul.c 2009-10-16 14:53:16.000000000 +0200 +++ bsdmainutils/usr.bin/ul/ul.c 2009-10-16 14:56:59.000000000 +0200 @@ -82,7 +82,8 @@ int c_width; /* width or -1 if multi-column char. filler */ } ; -struct CHAR obuf[MAXBUF]; +struct CHAR *obuf = NULL; +int obuf_size = MAXBUF; int col, maxcol; int mode; int halfpos; @@ -163,6 +164,19 @@ } static void +expand_obuf() +{ + int newsize = obuf_size + MAXBUF; + struct CHAR *newbuf = (struct CHAR *) + realloc(obuf, newsize*sizeof (struct CHAR)); + if (newbuf == NULL) + err(1, "Expanding output buffer"); + bzero(&(newbuf[obuf_size]), (newsize-obuf_size) * sizeof(struct CHAR)); + obuf_size = newsize; + obuf = newbuf; +} + +static void usage(void) { fprintf(stderr, "usage: ul [-i] [-t terminal] [file ...]\n"); @@ -186,6 +200,8 @@ col = (col+8) & ~07; if (col > maxcol) maxcol = col; + if (col >= obuf_size) + expand_obuf(); continue; case '\r': @@ -247,6 +263,8 @@ obuf[col++].c_mode |= UNDERL | mode; if (col > maxcol) maxcol = col; + if (col >= obuf_size) + expand_obuf(); continue; } obuf[col].c_char = '_'; @@ -295,6 +313,8 @@ col += w; if (col > maxcol) maxcol = col; + if (col >= obuf_size) + expand_obuf(); continue; } if (ferror(f)) @@ -413,7 +433,11 @@ initbuf(void) { - bzero((char *)obuf, sizeof (obuf)); /* depends on NORMAL == 0 */ + if (obuf == NULL) + obuf = (struct CHAR *)malloc(obuf_size * sizeof(struct CHAR)); + if (obuf == NULL) + err(1, "Allocating output buffer"); + bzero((char *)obuf, obuf_size * sizeof (struct CHAR)); /* depends on NORMAL == 0 */ col = 0; maxcol = 0; mode &= ALTSET; bsdmainutils-9.0.6ubuntu3/debian/patches/banner.diff0000664000000000000000000000054111455310267017416 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- freebsd/usr-bin/banner/banner.c 2009-10-03 18:06:27.000000000 +0200 +++ bsdmainutils/usr.bin/banner/banner.c 2009-10-03 18:06:47.000000000 +0200 @@ -44,7 +44,6 @@ #endif #include -__FBSDID("$FreeBSD$"); /* * banner - prints large signs bsdmainutils-9.0.6ubuntu3/debian/patches/colrm.diff0000664000000000000000000000054211455310267017266 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- freebsd/usr.bin/colrm/colrm.c 2009-09-23 13:03:02.000000000 +0200 +++ bsdmainutils/usr.bin/colrm/colrm.c 2009-09-23 13:03:38.000000000 +0200 @@ -44,7 +44,6 @@ #endif #include -__FBSDID("$FreeBSD$"); #include #include bsdmainutils-9.0.6ubuntu3/debian/patches/column.diff0000664000000000000000000000055411455310267017452 0ustar Description: Make program compile on Debian. Author: Michael Meskes --- freebsd/usr-bin/column/column.c 2009-09-23 13:09:16.000000000 +0200 +++ bsdmainutils/usr.bin/column/column.c 2009-09-23 13:09:24.000000000 +0200 @@ -44,7 +44,6 @@ #endif #include -__FBSDID("$FreeBSD$"); #include #include bsdmainutils-9.0.6ubuntu3/debian/patches/ncal_options.diff0000664000000000000000000002425211756711411020646 0ustar Description: Allow usage of conflicting options. Author: Peter Selinger diff -ur bsdmainutils-8.2.2.orig//usr.bin/ncal/ncal.1 bsdmainutils-8.2.2/usr.bin/ncal/ncal.1 --- bsdmainutils-8.2.2.orig//usr.bin/ncal/ncal.1 2011-09-16 08:43:12.676917985 -0300 +++ bsdmainutils-8.2.2/usr.bin/ncal/ncal.1 2011-09-17 00:23:05.260586102 -0300 @@ -120,17 +120,33 @@ .It Fl w Print the number of the week below each week column. .It Fl y -Display a calendar for the specified year. +Display a calendar for the specified year. This option is implied when +a year but no month are specified on the command line. .It Fl 3 Display the previous, current and next month surrounding today. +.It Fl 1 +Display only the current month. This is the default. .It Fl A Ar number -Display the -.Ar number -of months after the current month. +Months to add after. The specified number of months is added to the +end of the display. This is in addition to any date range selected by the +.Fl y , +.Fl 3 , +or +.Fl 1 +options. For example, +.Dq Li cal -y -B2 -A2 +shows everything from November of the previous year to +February of the following year. Negative numbers are allowed, in which +case the specified number of months is subtracted. For example, +.Dq Li cal -y -B-6 +shows July to December. And +.Dq Li cal -A11 +simply shows the next 12 months. .It Fl B Ar number -Display the -.Ar number -of months before the current month. +Months to add before. The specified number of months is added to the +beginning of the display. See +.Fl A +for examples. .It Fl C Switch to .Nm cal @@ -168,13 +184,12 @@ will display a calendar for the month of August in the current year). .Pp -Not all options can be used together. For example -.Dq Li -3 -A 2 -B 3 -y -m 7 -would mean: -show me the three months around the seventh month, three before -that, two after that and the whole year. -.Nm ncal -will warn about these combinations. +Not all options can be used together. For example, the options +.Fl y , 3 , +and +.Fl 1 +are mutually exclusive. If inconsistent options are given, the later +ones take precedence over the earlier ones. .Pp A year starts on January 1. .Sh SEE ALSO diff -ur bsdmainutils-8.2.2.orig//usr.bin/ncal/ncal.c bsdmainutils-8.2.2/usr.bin/ncal/ncal.c --- bsdmainutils-8.2.2.orig//usr.bin/ncal/ncal.c 2011-09-16 08:43:12.676917985 -0300 +++ bsdmainutils-8.2.2/usr.bin/ncal/ncal.c 2011-09-17 00:31:25.715417335 -0300 @@ -203,11 +203,11 @@ int flag_orthodox = 0; /* user wants Orthodox easter */ int flag_easter = 0; /* user wants easter date */ int flag_3months = 0; /* user wants 3 month display (-3) */ + int flag_1month = 0; /* user wants 1 month display (-1) */ int flag_after = 0; /* user wants to see months after */ int flag_before = 0; /* user wants to see months before */ - int flag_specifiedmonth = 0;/* user wants to see this month (-m) */ - int flag_givenmonth = 0; /* user has specified month [n] */ - int flag_givenyear = 0; /* user has specified year [n] */ + int flag_givenmonth = 0; /* user has specified month */ + int flag_givenyear = 0; /* user has specified year */ char *cp; /* character pointer */ char *flag_today = NULL; /* debug: use date as being today */ char *flag_month = NULL; /* requested month as string */ @@ -274,7 +274,7 @@ #endif before = after = -1; - while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wySMb")) != -1) + while ((ch = getopt(argc, argv, "31A:B:Cd:eH:hjJm:Nops:wySMb")) != -1) switch (ch) { case 'b': if (flag_backward) @@ -282,23 +282,20 @@ ncal_backward = 1; break; case '3': + flag_1month = 0; flag_3months = 1; + flag_wholeyear = 0; + break; + case '1': + flag_1month = 1; + flag_3months = 0; + flag_wholeyear = 0; break; case 'A': - if (flag_after > 0) - errx(EX_USAGE, "Double -A specified"); flag_after = strtol(optarg, NULL, 10); - if (flag_after <= 0) - errx(EX_USAGE, - "Argument to -A must be positive"); break; case 'B': - if (flag_before > 0) - errx(EX_USAGE, "Double -A specified"); flag_before = strtol(optarg, NULL, 10); - if (flag_before <= 0) - errx(EX_USAGE, - "Argument to -B must be positive"); break; case 'J': if (flag_backward) @@ -330,10 +327,8 @@ flag_julian_day = 1; break; case 'm': - if (flag_specifiedmonth) - errx(EX_USAGE, "Double -m specified"); flag_month = optarg; - flag_specifiedmonth = 1; + flag_givenmonth = 1; break; case 'o': if (flag_backward) @@ -366,7 +361,9 @@ flag_weeks = 1; break; case 'y': + flag_1month = 0; flag_wholeyear = 1; + flag_3months = 0; break; case 'S': if (flag_backward) @@ -434,82 +431,90 @@ } } - /* - * What is not supported: - * -3 with -A or -B - * -3 displays 3 months, -A and -B change that behaviour. - * -3 with -y - * -3 displays 3 months, -y says display a whole year. - * -3 with a given year but no given month or without -m - * -3 displays 3 months, no month specified doesn't make clear - * which three months. - * -m with a given month - * conflicting arguments, both specify the same field. - * -y with -m - * -y displays the whole year, -m displays a single month. - * -y with a given month - * -y displays the whole year, the given month displays a single - * month. - * -y with -A or -B - * -y displays the whole year, -A and -B display extra months. - */ + /* The base month and/or year can be specified by any of the + following: - /* -3 together with -A or -B. */ - if (flag_3months && (flag_after || flag_before)) - errx(EX_USAGE, "-3 together with -A and -B is not supported."); - /* -3 together with -y. */ - if (flag_3months && flag_wholeyear) - errx(EX_USAGE, "-3 together with -y is not supported."); - /* -3 together with givenyear but no givenmonth. */ - if (flag_3months && flag_givenyear && - !(flag_givenmonth || flag_specifiedmonth)) + month year + year + -m month + + + In case of multiple specification of the same item (month + or year), the later one should override the earlier one. + (However, arguments are always evaluated after options). In + case neither month nor year is specified, use the current + month in the current year. + + The range of months to display can be specified by one of + the following three options: + + -y (display a calendar for the specified year - disregard month) + -3 (display 3 months - not possible if only year specified) + -1 (display 1 month - not possible if only year specified) + + The default is -1, unless a year and no month is specified, + in which case -y is implied. + + The options -1, -3, and -y methods are mutually exclusive; + if multiple ones are specified, the last one is used. + + In addition, the range of months can be modified with the + following options: + + -B n + -A m + + This modifies the range of months specified by the other + options, by adding n additional months at the beginning and + m additional months at the end. Negative numbers *are* + allowed, as long as the total number of months displayed is + at least 1. + */ + + /* if givenyear, but not givenmonth, then imply -y */ + + if (flag_givenyear && !flag_givenmonth) { + flag_wholeyear = 1; + if (flag_3months) { errx(EX_USAGE, "-3 together with a given year but no given month is " "not supported."); - /* -m together with xx xxxx. */ - if (flag_specifiedmonth && flag_givenmonth) + } + if (flag_1month) { errx(EX_USAGE, - "-m together with a given month is not supported."); - /* -y together with -m. */ - if (flag_wholeyear && flag_specifiedmonth) - errx(EX_USAGE, "-y together with -m is not supported."); - /* -y together with xx xxxx. */ - if (flag_wholeyear && flag_givenmonth) - errx(EX_USAGE, "-y together a given month is not supported."); - /* -y together with -A or -B. */ - if (flag_wholeyear && (flag_before > 0 || flag_after > 0)) - errx(EX_USAGE, "-y together a -A or -B is not supported."); - /* The rest should be fine. */ + "-1 together with a given year but no given month is " + "not supported."); + } + } + + /* otherwise, default to -1 */ + if (!flag_wholeyear && !flag_3months) { + flag_1month = 1; + } /* Select the period to display, in order of increasing priority .*/ - if (flag_wholeyear || - (flag_givenyear && !(flag_givenmonth || flag_specifiedmonth))) { + if (flag_wholeyear) { m = 1; before = 0; after = 11; + } else if (flag_3months) { + before = 1; + after = 1; + } else if (flag_1month) { + before = 0; + after = 0; } - if (flag_givenyear && flag_givenmonth) { - before = 0; - after = 0; - } - if (flag_specifiedmonth) { - before = 0; - after = 0; - } + /* now add additional "before" and "after" values */ if (flag_before) { - before = flag_before; + before += flag_before; } if (flag_after) { - after = flag_after; + after += flag_after; + } + /* don't allow a period of 0 or less months */ + if (before + after < 0) { + before = after = 0; } - if (flag_3months) { - before = 1; - after = 1; - } - if (after == -1) - after = 0; - if (before == -1) - before = 0; /* Highlight a specified day or today .*/ if (flag_highlightdate != NULL) { @@ -548,7 +553,7 @@ " cal [general options] [-hj] [-m month] [year]\n" " ncal [general options] [-bhJjpwySM] [-s country_code] [[month] year]\n" " ncal [general options] [-bhJeoSM] [year]\n" -"General options: [-NC3] [-A months] [-B months]\n" +"General options: [-NC31] [-A months] [-B months]\n" "For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]\n", stderr); exit(EX_USAGE); @@ -650,11 +655,16 @@ mw = jd_flag ? MONTH_WIDTH_B_J : MONTH_WIDTH_B; wdss = (mpl == 2) ? " " : ""; - while (before != 0) { + while (before > 0) { DECREASEMONTH(m, y); before--; after++; } + while (before < 0) { + INCREASEMONTH(m, y); + before++; + after--; + } m1 = y * 12 + m - 1; m2 = m1 + after; @@ -737,11 +747,16 @@ mpl = jd_flag ? 3 : 4; mw = jd_flag ? MONTH_WIDTH_R_J : MONTH_WIDTH_R; - while (before != 0) { + while (before > 0) { DECREASEMONTH(m, y); before--; after++; } + while (before < 0) { + INCREASEMONTH(m, y); + before++; + after--; + } m1 = y * 12 + m - 1; m2 = m1 + after; bsdmainutils-9.0.6ubuntu3/debian/patches/hexdump_increment.diff0000664000000000000000000000270711756711411021675 0ustar Author: Garrett Cooper Description: Incremented address properly, so all lines are shown completely. --- bsdmainutils.orig/usr.bin/hexdump/display.c 2011-06-06 15:46:30.000000000 +0200 +++ bsdmainutils/usr.bin/hexdump/display.c 2011-06-06 15:39:43.000000000 +0200 @@ -263,18 +263,20 @@ if (need == blocksize) return((u_char *)NULL); /* - * XXX bcmp() is not quite right in the presence - * of multibyte characters. + * We need to explicitly bump the address displayed even + * if -v isn't specified, or the address doesn't + * increment with repeated output... + * Please see bin/118723 for more details. */ + eaddress = address + nread; if (vflag != ALL && valid_save && - bcmp(curp, savp, nread) == 0) { + memcmp(curp, savp, nread) == 0) { if (vflag != DUP) (void)printf("*\n"); return((u_char *)NULL); } bzero((char *)curp + nread, need); - eaddress = address + nread; return(curp); } n = fread((char *)curp + nread, sizeof(u_char), @@ -289,13 +291,9 @@ if (length != -1) length -= n; if (!(need -= n)) { - /* - * XXX bcmp() is not quite right in the presence - * of multibyte characters. - */ if (vflag == ALL || vflag == FIRST || valid_save == 0 || - bcmp(curp, savp, blocksize) != 0) { + memcmp(curp, savp, blocksize) != 0) { if (vflag == DUP || vflag == FIRST) vflag = WAIT; return(curp); bsdmainutils-9.0.6ubuntu3/debian/patches/ncal_backward.diff0000664000000000000000000000612611512674040020725 0ustar Description: Add an option to ncal to use the oldstyle output. Author: Michael Meskes --- bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 16:03:21.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.c 2011-01-03 16:06:58.000000000 +0100 @@ -196,6 +196,7 @@ int m = 0; /* month */ int y = 0; /* year */ int flag_backward = 0; /* user called cal--backward compat. */ + int ncal_backward = 0; /* make output of ncal backward compat. */ int flag_wholeyear = 0; /* user wants the whole year */ int flag_julian_cal = 0; /* user wants Julian Calendar */ int flag_julian_day = 0; /* user wants the Julian day numbers */ @@ -273,8 +274,13 @@ #endif before = after = -1; - while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wySM")) != -1) + while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wySMb")) != -1) switch (ch) { + case 'b': + if (flag_backward) + usage(); + ncal_backward = 1; + break; case '3': flag_3months = 1; break; @@ -378,6 +384,8 @@ argc -= optind; argv += optind; + if (ncal_backward) + flag_backward = 1; switch (argc) { case 2: @@ -538,8 +546,8 @@ fputs( "Usage: cal [general options] [-hjy] [[month] year]\n" " cal [general options] [-hj] [-m month] [year]\n" -" ncal [general options] [-hJjpwySM] [-s country_code] [[month] year]\n" -" ncal [general options] [-hJeoSM] [year]\n" +" ncal [general options] [-bhJjpwySM] [-s country_code] [[month] year]\n" +" ncal [general options] [-bhJeoSM] [year]\n" "General options: [-NC3] [-A months] [-B months]\n" "For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]\n", stderr); @@ -903,7 +911,7 @@ date dt; /* handy date */ int dw; /* width of numbers */ int first; /* first day of month */ - int firsts; /* sunday of first week of month */ + int firsts; /* first day of first week of month */ int i, j, k, l; /* just indices */ int jan1 = 0; /* the first day of this year */ int last; /* the first day of next month */ @@ -954,10 +962,13 @@ } /* - * Set firsts to the day number of sunday of the first week of + * Set firsts to the day number of the day starting the first week of * this month. (This might be in the last month) */ - firsts = first - (weekday(first)+1) % 7; + if (weekstart == 1) + firsts = first - (weekday(first)+1) % 7; + else + firsts = first - weekday(first); /* * Fill the lines with day of month or day of year (Julian day) --- bsdmainutils/usr.bin/ncal/ncal.1 2011-01-03 16:08:23.000000000 +0100 +++ bsdmainutils/usr.bin/ncal/ncal.1 2011-01-03 16:08:13.000000000 +0100 @@ -47,7 +47,7 @@ .Fl m Ar month .Op Ar year .Nm ncal -.Op Fl 3hjJpwySM +.Op Fl 3bhjJpwySM .Op Fl A Ar number .Op Fl B Ar number .Op Fl s Ar country_code @@ -56,7 +56,7 @@ .Ar year .Oc .Nm ncal -.Op Fl 3hJeoSM +.Op Fl 3bhJeoSM .Op Fl A Ar number .Op Fl B Ar number .Op Ar year @@ -151,6 +151,8 @@ Weeks start on Monday. .It Fl S Weeks start on Sunday. +.It Fl b +Use oldstyle format for ncal output. .El .Pp A single parameter specifies the year (1\(en9999) to be displayed; bsdmainutils-9.0.6ubuntu3/debian/patches/column_empty_lines.diff0000664000000000000000000000344711756711411022066 0ustar Desription: Add option to not ignore empty lines. Author: Michael Meskes --- bsdmainutils/usr.bin/column/column.c 2012-01-17 13:32:55.653578240 +0100 +++ bsdmainutils/usr.bin/column/column.c 2012-01-17 13:31:46.929577663 +0100 @@ -79,6 +79,7 @@ int maxlength; /* longest record */ wchar_t **list; /* array of pointers to records */ const wchar_t *separator = L"\t "; /* field separator for table option */ +int eflag; int main(int argc, char **argv) @@ -99,8 +100,8 @@ } else termwidth = win.ws_col; - tflag = xflag = 0; - while ((ch = getopt(argc, argv, "c:s:txn")) != -1) + tflag = xflag = eflag = 0; + while ((ch = getopt(argc, argv, "c:s:txne")) != -1) switch(ch) { case 'n': nomerge = 1; @@ -125,6 +126,9 @@ case 'x': xflag = 1; break; + case 'e': + eflag = 1; + break; case '?': default: usage(); @@ -327,6 +331,7 @@ err(1, (char *)NULL); while (fgetws(buf, MAXLINELEN, fp)) { for (p = buf; *p && iswspace(*p); ++p); + if (eflag) p = buf; if (!*p) continue; if (!(p = wcschr(p, L'\n'))) { --- bsdmainutils/usr.bin/column/column.1 2012-01-17 13:32:55.633578239 +0100 +++ bsdmainutils/usr.bin/column/column.1 2012-01-17 13:40:16.381581938 +0100 @@ -40,7 +40,7 @@ .Nd columnate lists .Sh SYNOPSIS .Nm -.Op Fl ntx +.Op Fl entx .Op Fl c Ar columns .Op Fl s Ar sep .Op Ar @@ -52,7 +52,9 @@ Input is taken from .Ar file operands, or, by default, from the standard input. -Empty lines are ignored. +Empty lines are ignored unless the +.Fl e +option is used. .Pp The options are as follows: .Bl -tag -width indent @@ -78,6 +80,8 @@ single delimiter when using the .Fl t option; this option disables that behavior. This option is a Debian GNU/Linux extension. +.It Fl e +Do not ignore empty lines. .El .Sh ENVIRONMENT The bsdmainutils-9.0.6ubuntu3/debian/patches/column_maxline.diff0000664000000000000000000000061312442073025021156 0ustar Description: Increase maximal line length to 1MB Author: Michael Meskes --- bsdmainutils/usr.bin/column/column.c 2014-10-17 13:51:15.898151112 +0200 +++ bsdmainutils/usr.bin/column/column.c 2014-10-17 13:50:11.058265535 +0200 @@ -316,7 +316,7 @@ } #define DEFNUM 1000 -#define MAXLINELEN (LINE_MAX + 1) +#define MAXLINELEN (LINE_MAX * 512 + 1) void input(FILE *fp) bsdmainutils-9.0.6ubuntu3/debian/docs0000664000000000000000000000004411371260565014543 0ustar README usr.bin/calendar/source.data bsdmainutils-9.0.6ubuntu3/debian/rules0000775000000000000000000000311212442073025014740 0ustar #!/usr/bin/make -f SHELL+= -e #export DH_VERBOSE=1 include /usr/share/quilt/quilt.make DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) CFLAGS = `dpkg-buildflags --get CFLAGS` CFLAGS += `dpkg-buildflags --get CPPFLAGS` LDFLAGS = `dpkg-buildflags --get LDFLAGS` export CFLAGS export LDFLAGS ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) CROSS += "CC=$(DEB_HOST_GNU_TYPE)-gcc" else CROSS += endif build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: debian/stamp-patched dh_testdir $(MAKE) $(CROSS) currentyear=$(shell date +%Y); \ year=`expr $$currentyear + 5`; \ while [ $${year} -ne $${currentyear} ] ; do \ year=`expr $$year - 1`; \ python $(CURDIR)/debian/calendarJudaic.py $$year > $(CURDIR)/debian/calendars/calendar.judaic.$$year; \ done; \ cd $(CURDIR)/debian/calendars; \ [ -L calendar.judaic ] || ln -s calendar.judaic.$$year calendar.judaic; touch build-stamp clean: unpatch dh_testdir $(MAKE) clean -rm -f $(CURDIR)/debian/calendars/calendar.judaic* -rm -f build-stamp dh_clean install: build dh_testdir dh_testroot dh_installdirs $(MAKE) install DESTDIR=$(CURDIR)/debian/bsdmainutils binary-arch: build install dh_testdir dh_testroot dh_installdocs dh_installchangelogs dh_installcron dh_installinit dh_install dh_strip dh_compress dh_fixperms -Xbsd-write dh_shlibdeps dh_gencontrol dh_md5sums dh_installdeb dh_builddeb binary-indep: binary: binary-arch .PHONY: binary binary-arch binary-indep clean build install bsdmainutils-9.0.6ubuntu3/debian/cvt_cyr_cal.sh0000664000000000000000000000154012442073025016507 0ustar #!/bin/sh set -e ru_cal_path=${1}usr.bin/calendar/calendars/ru_RU.KOI8-R uk_cal_path=${1}usr.bin/calendar/calendars/uk_UA.KOI8-U #ru_cal_path=/usr/share/calendar/ru_RU #uk_cal_path=/usr/share/calendar/uk_UA cvt_cal() { local subst uk if [ Гру = "$1" ]; then uk=true subst='s/Нд-1/Sun-1/;' else uk=false subst= fi while [ 0 -lt $# ]; do $uk && subst=$subst$(printf 's|^%s |%02d/|;' $1 $#) subst=$subst$(printf 's|^ *([0-9]{1,2}) %s([*]?)\t|%02d/\\1\\2\t|;' $1 $#) shift done #printf %s\\n "$subst" for f in "$cal_path"/calendar.* do sed -ri "$subst" "$f" done } cal_path=$ru_cal_path cvt_cal дек ноя окт сен авг июл июн май апр мар фев янв cal_path=$uk_cal_path cvt_cal Гру Лис Жов Вер Сер Лип Чер Тра Кві Бер Лют Січ # vim:ai sw=2 sts=2 et: bsdmainutils-9.0.6ubuntu3/debian/postinst0000775000000000000000000000142311377172625015510 0ustar #!/bin/sh set -e if [ -f /usr/lib/calendar/default ]; then mv -f /usr/lib/calendar/default /etc/calendar/default.old # don't kill installation if directory can't be removed rmdir /usr/lib/calendar 2>/dev/null || true fi # handle name change of cron script if [ -f /etc/cron.daily/calendar ]; then mv -f /etc/cron.daily/calendar /etc/cron.daily/bsdmainutils fi if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] ; then update-alternatives \ --install /usr/bin/write write /usr/bin/bsd-write 100 \ --slave /usr/share/man/man1/write.1.gz write.1.gz /usr/share/man/man1/bsd-write.1.gz update-alternatives \ --install /usr/bin/from from /usr/bin/bsd-from 10 \ --slave /usr/share/man/man1/from.1.gz from.1.gz /usr/share/man/man1/bsd-from.1.gz fi #DEBHELPER# bsdmainutils-9.0.6ubuntu3/debian/copyright0000664000000000000000000000525711377172625015643 0ustar This is a collection of programs from 4.4BSD-Lite that have not (yet) been re-written by FSF as GNU. It was constructed for inclusion in Debian Linux. As programs found here become available from GNU sources, they will be replaced. This package was originally put together by Austin Donnelly , but is heavily based on bsdutils, originally put together by Ian Murdock . Please report any problems or suggested additions or changes to Austin Donnelly. Then the package has been maintained by Charles Briscoe-Smith . I gathered data for the 1999-2001 calendar files from various sources on the Internet, and I'd also like to thank Oliver Elphick, Julian Gilbey, Daniel Martin and Jaldhar H. Vyas for providing much useful data on the various religous calendars. I have edited the files they provided to fit calendar's requirements, so any errors should be attributed to me. After cpbs@debian.org, Marco d'Itri maintained it for almost two years, before Tollef Fog Heen took over. The package is now maintained by Graham Wilson . This package may be redistributed under the terms of the UCB BSD license: Copyright (C) 1980 -1998 The Regents of the University of California. All rights reserved. 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. 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. bsdmainutils-9.0.6ubuntu3/debian/README.source0000664000000000000000000000045011371260565016050 0ustar This package uses quilt for upstream source code patch management. Please read /usr/share/doc/quilt/README.source for more information how to apply, unapply, add, modify or remove patches. Please note that /usr/share/doc/quilt/README.source is only available in quilt version 0.46-4.1 or later. bsdmainutils-9.0.6ubuntu3/debian/compat0000664000000000000000000000000211371260565015070 0ustar 7 bsdmainutils-9.0.6ubuntu3/debian/prerm0000775000000000000000000000031211377172625014746 0ustar #!/bin/sh set -e if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then update-alternatives --remove write /usr/bin/bsd-write update-alternatives --remove from /usr/bin/bsd-from fi #DEBHELPER# bsdmainutils-9.0.6ubuntu3/debian/changelog0000664000000000000000000010333712665277127015564 0ustar bsdmainutils (9.0.6ubuntu3) xenial; urgency=medium * Fix ncal on big-endian platforms. LP: #1549850. -- Dimitri John Ledkov Tue, 01 Mar 2016 11:34:26 +0000 bsdmainutils (9.0.6ubuntu2) xenial; urgency=medium * No-change rebuild for ncurses6 transition. -- Matthias Klose Sun, 07 Feb 2016 09:39:42 +0000 bsdmainutils (9.0.6ubuntu1) vivid; urgency=medium * Resynchronise with Debian (LP: #1240981). Remaining changes: - Build-depend on python:any rather than python. * Add Ubuntu 13.10, 14.04 LTS, and 14.10 release dates to calendar.ubuntu. -- Colin Watson Wed, 10 Dec 2014 16:40:33 +0000 bsdmainutils (9.0.6) unstable; urgency=medium * Add Ubuntu 13.04 release date to calendar.ubuntu. * Update Dutch calendar for royal succession. Thanks to Sander Steffann (Closes: #750216) * Updated control file. * Completely convert kyrillic calendars. Thanks to Sergey Romanov * Explain option 'p' and 'f' better in manpage (Closes: #759675) * Fix calendar.judaic format. Thanks to Robbin Edgren (Closes: #763312) * Calculate Jewish calendars for five years. (Closes: #741386) * Symlink Judaic calendar for the current year. * Increase maximal line length to 1MB (Closes: #737348) * Process tabs in column binary (Closes: #729038) * Prevent buffer overrins in col (Closes: #737159) -- Michael Meskes Fri, 15 Aug 2014 11:46:48 +0200 bsdmainutils (9.0.5ubuntu1) saucy; urgency=low * Resynchronise with Debian. Remaining changes: - Build-depend on python:any rather than python. - Add Ubuntu 13.04 release date to calendar.ubuntu. -- Colin Watson Tue, 04 Jun 2013 14:05:12 +0100 bsdmainutils (9.0.5) unstable; urgency=low * Mark package Multi-Arch: foreign. Thanks to Colin Watson (Closes: #697673) * Add latest Ubuntu releases to calendar. Thanks to Colin Watson (Closes: #697674) * Fixed small typo. (Closes: #704799) * Updated calendar.debian. Thanks to Andrew Bennett (Closes: #704491) * Fixed small typo in hexdump. (Closes: #700122) * Fix manpage emtry for Julian dates to correctly refer to Orthodox Easter. (Closes: #704804) * Added Wheezy release date to Debian calendar. * Made calendar.all list all calendars that are distributed. -- Michael Meskes Mon, 06 May 2013 16:21:55 +0200 bsdmainutils (9.0.4ubuntu4) saucy; urgency=low * Add Ubuntu 13.04 release date to calendar.ubuntu. -- Colin Watson Tue, 30 Apr 2013 09:42:22 -0700 bsdmainutils (9.0.4ubuntu3) raring; urgency=low * Drop :any from python-hdate build-dependency again; :any is only permitted when the target is "Multi-Arch: allowed", not "Multi-Arch: foreign". -- Colin Watson Thu, 14 Mar 2013 10:05:53 +0000 bsdmainutils (9.0.4ubuntu2) raring; urgency=low * Build-depend on python:any, python-hdate:any, instead of python, python-hdate. -- Matthias Klose Fri, 08 Mar 2013 15:45:05 +0800 bsdmainutils (9.0.4ubuntu1) raring; urgency=low * Resynchronise with Debian. Remaining changes: - Make bsdmainutils Multi-Arch: foreign, so that it can satisfy cross-build-dependencies. - Add Ubuntu 11.10 and 12.04 LTS release dates to calendar.ubuntu. * Add Ubuntu 12.10 release date to calendar.ubuntu. -- Colin Watson Tue, 08 Jan 2013 09:38:17 +0000 bsdmainutils (9.0.4) unstable; urgency=low * Added Debian Squeeze release date. (Closes: #695911) * Added calendar for the United Kingdom of Great Britain and Northern Ireland. Thanks to Peter Tynan (Closes: #695525) -- Michael Meskes Thu, 03 Jan 2013 13:18:00 +0100 bsdmainutils (9.0.3ubuntu1) quantal; urgency=low * Resynchronise with Debian. Remaining changes: - Make bsdmainutils Multi-Arch: foreign, so that it can satisfy cross-build-dependencies. - Add Ubuntu 11.10 and 12.04 LTS release dates to calendar.ubuntu. -- Colin Watson Mon, 18 Jun 2012 22:48:52 +0100 bsdmainutils (9.0.3) unstable; urgency=high * Adjustment for weeks starting on Sunday was made at a wrong place. Fixing this should give correct week numbers again. (Closes: #676426) -- Michael Meskes Mon, 11 Jun 2012 12:25:40 +0200 bsdmainutils (9.0.2ubuntu1) quantal; urgency=low * Resynchronise with Debian. Remaining changes: - Make bsdmainutils Multi-Arch: foreign, so that it can satisfy cross-build-dependencies. * Add Ubuntu 11.10 and 12.04 LTS release dates to calendar.ubuntu. -- Colin Watson Tue, 22 May 2012 14:25:37 +0100 bsdmainutils (9.0.2) unstable; urgency=low * A new sentence should trigger a new line in the manpage source. * Removed patch for fifo handling because upstream found a better way to solve the problem. * Moved cronjob configuration out of the cron file into a default file. (Closes: #672445) * Fixed typo in our patch that adds the introduction of Mac OS X. (Closes: #673093) * Mention that calendar -l is the same as calendar -A. (Closes: #658133) * Bumped Standards-Version to 3.9.3, no changes needed. -- Michael Meskes Wed, 16 May 2012 17:12:52 +0200 bsdmainutils (9.0.1) unstable; urgency=low * Synced with FreeBSD 9 and added the latest changes from OpenBSD calendar * Enabled hardening buildflags. Thanks to Moritz Muehlenhoff (Closes: #656011) * Allow usage of conflicting options for ncal. Thanks to Peter Selinger * In column check for a multibyte error when reading a file. (Closes: #636618) * Added option to not ignore empty lines in column. (Closes: #345684) * Added recommended targets build-arch and build-indep to rules file. * Also add python as build dependency to make lintian happy. * Finally added the russian calendar updates from FreeBSD 9.0 that were still missing. * Allow usage of stdin as calendar file. (Closes: #640358) -- Michael Meskes Thu, 19 Jan 2012 10:11:52 +0100 bsdmainutils (8.2.3ubuntu1) precise; urgency=low * Make bsdmainutils Multi-Arch: foreign, so that it can satisfy cross-build-dependencies. -- Colin Watson Sat, 31 Mar 2012 12:52:54 +0100 bsdmainutils (8.2.3) unstable; urgency=low * Document that ul changes some special characters. (Closes: #629134) * Added latest Ubuntu release to calendar. Thanks to Colin Watson (Closes: #627096) * Updated Republic of Kazakhstan holidays. Thanks to Timur Birsh (Closes: #624392) * Correctly convert ru_RU calendar. (Closes: #612044) * Added patch from usptream to make sure all line are correctly displayed in hexdump. (Closes: #612939) * Bumped Standards version to 3.9.2, no changes needed. * Corrected the date of George Harrison's death. (LP: #683163) -- Michael Meskes Mon, 06 Jun 2011 16:20:29 +0200 bsdmainutils (8.2.2) unstable; urgency=low * Fix some wide character problems (LP: #697213). (Closes: #610760) - thanks to Allison Randal -- Michael Meskes Wed, 26 Jan 2011 13:04:25 +0100 bsdmainutils (8.2.1) unstable; urgency=low * Updates from the upcoming FreeBSD release 8.2: - calendars - hexdump manpages - libcalendar - ncal (Closes: #607960) * Updates from OpenBSD 4.8: - calendar * Adapted, removed and/or re-diffed patches. * Updated debian calendar (Closes: #607837) * Replace Conflict: on older bsdutils version with Break: to make lintian happy. -- Michael Meskes Mon, 03 Jan 2011 18:57:48 +0100 bsdmainutils (8.0.17) unstable; urgency=low * Fixed build failure with --as-needed. (Closes: #604811) - thanks to Matthias Klose -- Michael Meskes Sun, 28 Nov 2010 16:06:11 +0100 bsdmainutils (8.0.16) unstable; urgency=low * Do not ignore weekstart setting when using old style format. (Closes: #603100) * Removed double dash in manpage. (Closes: #602403) -- Michael Meskes Sun, 14 Nov 2010 15:44:13 +0100 bsdmainutils (8.0.15) unstable; urgency=low * Re-added accidently lost parts of patch fixing #590592. -- Michael Meskes Fri, 05 Nov 2010 16:10:51 +0100 bsdmainutils (8.0.14) unstable; urgency=low * Added option to ncal to use oldstyle cal output. (Closes: #590592) * Updated Ubuntu calendar. (Closes: #600067) * In hexdump.1 mention that % is a not supported conversion character. (Closes: #600244) * Bumped Standards version to 3.9.1, no changes needed. * Renamed build dependency on python-hdate to reflect package name change. * Unified some patches and at the same time added a small change to use the right weekstart when looking for the first week of the year. (Closes: #597657) -- Michael Meskes Fri, 05 Nov 2010 14:15:37 +0100 bsdmainutils (8.0.13) unstable; urgency=low * Correctly initialize weekstart variable. (Closes: #586190) -- Michael Meskes Thu, 17 Jun 2010 13:02:19 +0200 bsdmainutils (8.0.12) unstable; urgency=low * Create /usr/share/calendar/calendar.judaic automatically for the current year. (Closes: #583629) - thanks to Ron Varburg * Added descriptions to all patches. * Do not move days when option '-S' is given. (Closes: #582240) -- Michael Meskes Mon, 14 Jun 2010 16:35:41 +0200 bsdmainutils (8.0.11) unstable; urgency=low * Removed those parts from one patch that reverted another patch making calendar not being able to read the systemwide calendar file.(Closes: #576626) * Fixed small typo in calendar.debian (Closes: #578106) * Fixed highlight patch to display correct date for today even in Julian Calendar. (Closes: #578527) -- Michael Meskes Mon, 03 May 2010 11:21:31 +0200 bsdmainutils (8.0.10) unstable; urgency=low * Re-install default calendar file that was lost in the makeover. (Closes: #576626) * Changed ordering of tests to prevent calendar hang (LP #357055) * Updated some calendar files. -- Michael Meskes Tue, 06 Apr 2010 15:22:31 +0200 bsdmainutils (8.0.9) unstable; urgency=low * Fixed typo in manpage, option '-S' denotes weeks starting on Sunday. (Closes: #570199) * Rewrote wide-character patch for calendar using the old patch as a starting point to honor special locale UTF-8 again. (Closes: #562562) -- Michael Meskes Sun, 04 Apr 2010 15:13:35 +0200 bsdmainutils (8.0.8) unstable; urgency=low * Added Thai calendar to master calendar file. (Closes: #566391) -- Michael Meskes Tue, 16 Feb 2010 09:51:52 +0100 bsdmainutils (8.0.7) unstable; urgency=low * Added Thai calendar. (Closes: #566391) - thanks to Theppitak Karoonboonyanan * Fixed Thai entries in holiday calendar. (Closes: #566387) - thanks to Theppitak Karoonboonyanan * Bumped Standards version to 3.8.4, no update needed. -- Michael Meskes Sun, 14 Feb 2010 15:29:24 +0100 bsdmainutils (8.0.6) unstable; urgency=low * Added Nikola Tesla birth and death to birthday calendar. (Closes: #564139) - thanks to Dale Harris * Patched 'from' utility to work with maildirs. (Closes: #136087) * Manage 'from' utility with update-alternatives. At the same time fixed some problems with alternative handling (LP #67698) (Closes: #565596) * Fixed UK Bank Holiday entries (LP #234921) * Made hexdump try to use seek even on non regular files to speed things up. (LP #406583) * Added options '-M' and '-S' to manually set starting day of week. (Closes: #561403) -- Michael Meskes Thu, 21 Jan 2010 13:49:06 +0100 bsdmainutils (8.0.5) unstable; urgency=low * Fixed typos in manpage. (Closes: #488473) - thanks to A. Costa -- Michael Meskes Tue, 29 Dec 2009 16:49:37 +0100 bsdmainutils (8.0.4) unstable; urgency=low * Fixed Emily Dickinson's name. (Closes: #561612) * Added examples for '-e' option to hexdump manpage. (Closes: #488473) -- Michael Meskes Fri, 25 Dec 2009 15:11:46 +0100 bsdmainutils (8.0.3) unstable; urgency=low * Clarified package description. (Closes: #557650) * Fixed off by one calculation of first week of year. * Prevented highlighting from displaying a day belonging to an older month. (Closes: #558793) * Fixed multimonth mode to show correct tabbing even if today is highlighted. (Closes: #558726) -- Michael Meskes Sun, 06 Dec 2009 14:56:00 +0100 bsdmainutils (8.0.2) unstable; urgency=low * Added VCS information to control file. * Really install Kazakhstan calendar file. (Closes: #555699) * Made look only search whole words. (Closes: #556885) * Re-added highlighting of current day and made -3 use right format. (Closes: #555641) * Fixed week number calculation. (Closes: #556029) -- Michael Meskes Mon, 23 Nov 2009 10:18:15 +0100 bsdmainutils (8.0.1) unstable; urgency=low * Added patch system to be able to track upstream's source more directly. * Updated ncal to the latest upstream version. (Closes: #415057) * New maintainers. (Closes: #543833) * Bumped Standards version to 3.8.3, no update needed. * Made ncal find the first day of the week automatically. (Closes: #472355) * Added -3 option to cal and ncal. (Closes: #497014) * Made ncal cope with longer month names. (Closes: #528657) * Document that cal always prints 8 lines. (Closes: #367299) * Made ncal catch incorrect year parameter. (Closes: #431930) * Made ncal use locale information for knowing how to display week. (Closes: #361223) * Updated col to the latest FreeBSD version. (Closes: #319952, #348032, #484579) * Patched col to recognize a single non-empty line without newline. (Closes: #335087) * Updated colrm to the latest FreeBSD version. (Closes: #516271) * Updated column to latest FreeBSD version. (Closes: #368384) * Made column react more gracefully upon reading empty fields. (Closes: #382638) * Re-added '-n' option to column and documented it as a Debian extension. (Closes: #485809) * Updated colcrt to the latest FreeBSD version. * Updated banner to latest FreeBSD version. * Renamed banner to printerbanner. (Closes: #315664) * Updated hexdump to its latest FreeBSD version. * Bumped debhelper compat level. * Added patch to prevent segfault in case an empty repetition is given. (Closes: #498232) * Added patch to make hd ignore -C option. (Closes: #487985) * Updated from to latest FreeBSD version. * Updated ul to latest FreeBSD version but kept our changes * Updated lorder to latest version from OpenBSD. * Re-added patch that makes lorder use signal names instead of numbers. * Updated look to latest version from FreeBSD. (Closes: #547622) * Reimplemented and documented -b option for look. (Closes: #264996) * Update write to the latest FreeBSD version. * Allow writing from a terminal that has mesg n set. (Closes: #455248) * Updated calendar binary to latest version from OpenBSD. (Closes: #503276) * Patched new calendar sources to use wide-character functions. * Created patch to put Debian specific options back into calendar tool. (Closes: #293689) * Updated all calendars from their FreeBSD sources. (Closes: #388153, #413900, #446547, #542229) * Added/Fixed some calendar entries as reported by Debian users. (Closes: #554561, #337311, #525925, #493759, #381114, #280176)) * Added Kazakhstan holiday calendar. (Closes: #358609) * Updated Ubuntu calendar. (Closes: #474600) * Removed double word in manpage. (Closes: #401091) * Changed patch of source.data.gz mentioned in README. (Closes: #507602) * Added lintian override for setgid write binary. * Bumped version to 8.0.1 because we are using sources from FreeBSD 8 now. -- Michael Meskes Sat, 07 Nov 2009 12:31:56 +0100 bsdmainutils (6.1.11) unstable; urgency=low * Orphaning package. -- Daniel Baumann Thu, 27 Aug 2009 07:01:03 +0200 bsdmainutils (6.1.10) unstable; urgency=medium * Bumping versioned conflicts against bsdutils. -- Daniel Baumann Tue, 20 Nov 2007 08:33:00 +0100 bsdmainutils (6.1.9) unstable; urgency=medium * Applied patch from Neil Williams to add cross build support (Closes: #450490). -- Daniel Baumann Wed, 14 Nov 2007 23:30:00 +0100 bsdmainutils (6.1.8) unstable; urgency=medium * Bumping versioned conflicts against bsdutils. -- Daniel Baumann Wed, 31 Oct 2007 10:39:00 +0100 bsdmainutils (6.1.7) unstable; urgency=medium * Adding versioned conflicts against bsdutils (Closes: #440630). * Removed old conflicts (pre-sarge). -- Daniel Baumann Mon, 03 Sep 2007 11:24:00 +0200 bsdmainutils (6.1.6) unstable; urgency=medium * Adding calendar.ubuntu from Matt Zimmerman . * Updating calendar.debian from Martin Schulze . -- Daniel Baumann Tue, 02 Jan 2007 18:07:00 +0100 bsdmainutils (6.1.5) unstable; urgency=low * New maintianer (Closes: #400077). -- Daniel Baumann Thu, 23 Nov 2006 21:07:00 +0100 bsdmainutils (6.1.4) unstable; urgency=low * Suggest wamerican, not wenglish. (closes: #354695) * Try to automatically determine the first day of the week. (closes: #288472) * Correct Asimov's birthplace. (closes: #345598) * Never read stdin in hexdump if files are supplied on the command line. (closes: #291150) * Dynamically calculate buffer length of calendar file. (closes: #356943) * Fix spelling error in calendar.holiday. (closes: #357894) * Update standards version (no changes). * Add the required binary-indep target to debian/rules. -- Graham Wilson Tue, 15 Aug 2006 06:03:03 +0000 bsdmainutils (6.1.3) unstable; urgency=medium * Spelling error in calendar.history. (closes: #312572) * Fix a warning in the ul man page. (closes: #300668) * Don't needlessly capitalize month names. (closes: #298090) * Update calendar.debian. (closes: #334564) * Fix bug where memory wasn't written past the end of where it was allocated. Thanks to Lars Ellenberg for tracking this down. (closes: #339042) * Don't use align when printing a set of three months in cal, since align doesn't take into account escape sequences, and will mess things up. * Ensure that all of the monthlines returned from mkmonth/mkmonthb take up the required amount of space on screen, instead of expecting printf to figure this out. * Print the current date in reverse video if stdout is a TTY. (closes: #265881) -- Graham Wilson Mon, 02 Jan 2006 21:42:23 +0000 bsdmainutils (6.1.2) unstable; urgency=low * Fix a typo in calendar.1. -- Graham Wilson Wed, 08 Jun 2005 01:18:22 +0000 bsdmainutils (6.1.1) experimental; urgency=low * Remove debconf notes. * Remove duplicate SNL premiere date. (closes: #276271) * Remove ${misc:Depends} from the control file. * Add a calendar file for Argentina, prepared by J. Alejandro Noli. (closes: #280669) * Fix gcc 4.0 error in calendar.h. (closes: #299666) * Fix spelling error in calendar.1. (closes: #302149) -- Graham Wilson Sun, 01 May 2005 23:55:55 +0000 bsdmainutils (6.1) experimental; urgency=low * calendar(1) bug fixes and enhancments: - Document the LANG=utf-8 calendar file notation. - Note that the locale for the calendar file is reset each time a new calendar file is read. (closes: #264079) - Keep track of the current file and line number, so that encoding conversion errors can be reported. - Reset special event names when reading new calendar files. - Suppress non-printable events by default. (closes: #255379) * Fix some calendar errors: - Fix spelling error in LOTR calendar. (closes: #255377) - Correct Dvorak's birthplace. (closes: #265979) * Use signal names, rather than numbers, in lorder. (closes: #256198) -- Graham Wilson Tue, 31 Aug 2004 20:39:06 +0000 bsdmainutils (6.0.17) unstable; urgency=medium * Use size_t (instead of int) when calling iconv(3): using int on alpha caused iconv to read past the end of the buffer, and return EILSEQ. (closes: #254075) -- Graham Wilson Wed, 27 Oct 2004 18:31:03 +0000 bsdmainutils (6.0.16) unstable; urgency=high * Correct the listed charset in a few .po files, and a mis-encoded character in es.po. Thanks to Dennis Barbier. (closes: #277558) -- Graham Wilson Wed, 20 Oct 2004 22:32:46 +0000 bsdmainutils (6.0.15) unstable; urgency=high * Read calendar files as the user who owns them instead of root when mailing calendar files to the user (-a flag). This prevents users from including (and possibly reading) files they can't normally read. This addresses CAN-2004-0793. -- Graham Wilson Thu, 19 Aug 2004 00:13:28 +0000 bsdmainutils (6.0.14) unstable; urgency=low * Add cs.po, thanks to Marcel Sebek. (closes: #247553) * Use a linear search in look by default, since wordlists are not always sorted correctly. (closes: #109364, #118278, #244726, #247945) -- Graham Wilson Fri, 14 May 2004 01:04:54 +0000 bsdmainutils (6.0.13) unstable; urgency=low * Don't automatically check for what day the week starts on. At this point, only four locales support it, and for some reason glibc gets it wrong for the C locale. The -m option still exists though. (closes: #241743) -- Graham Wilson Sat, 10 Apr 2004 22:57:26 +0000 bsdmainutils (6.0.12) unstable; urgency=low * Remove rcsid from source files. (closes: #238058) * Add a -3 flags to the cal(1) program. (closes: #237555) * Correct the number of years supported in ncal.1 and calendar.3. * Fix some of the comments in config.mk. * Check for __GLIBC__ when trying to use nl_langinfo to determine weekstart, instead of _NL_TIME_FIRST_WEEKDAY, since the latter is not a macro. * Change -f week_start to -m, to be more like util-linux cal. * Translations: - Add zh_CN.po, thanks to Li Daobing. (closes: #231274) - Add tr.po, thanks to Recai Oktas. (closes: #239147) - Update fr.po, thanks to Christian Perrier. (closes: #239436) -- Graham Wilson Sat, 27 Mar 2004 00:26:18 +0000 bsdmainutils (6.0.11) unstable; urgency=low * Add da.po, thanks to Morten Pedersen. (closes: #230667) * Observe locale-specific week start day. (closes: #230004) * Correct calendar.1. (closes: #230076) -- Graham Wilson Tue, 03 Feb 2004 18:56:52 +0000 bsdmainutils (6.0.10) unstable; urgency=low * Put a LOTR date in the correct file. (closes: #229233) -- Graham Wilson Sat, 24 Jan 2004 03:37:58 +0000 bsdmainutils (6.0.9) unstable; urgency=low * Fix Beethoven dates in de_DE calendar. (closes: #224826) -- Graham Wilson Mon, 22 Dec 2003 19:50:57 +0000 bsdmainutils (6.0.8) unstable; urgency=low * Include correct LOTR dates from Veronica Brandt (closes: #224407) * Fix some tabs in calendar.jferies. -- Graham Wilson Thu, 18 Dec 2003 22:21:23 +0000 bsdmainutils (6.0.7) unstable; urgency=low * Don't print duplicate month names. (closes: #221027) * Don't handle space specially in ul. (closes: #194737) * Manage write with update-alternatives. (closes: #92191) -- Graham Wilson Tue, 18 Nov 2003 04:16:48 +0000 bsdmainutils (6.0.6) unstable; urgency=low * Extend ncal(1) year limit to 5875706. (closes: #111991) * Use read(2) instead of fread(2) in hexdump. (closes: #215787) * Handle multi-byte month names properly in ncal. (closes: #158121) -- Graham Wilson Sat, 15 Nov 2003 07:18:30 +0000 bsdmainutils (6.0.5) unstable; urgency=low * Add note to look.1 that it only works in C locale. * Remove reference to termcap in ul.1. (closes: #215242) * Use __unused__ attribute unconditionally in odsyntax.c. - Remove related detritus from freebsd.h. * Don't #define DEBIAN, except in write.c. * Remove the hole from U in banner. (closes: #219319) * Revert some of the OpenBSD calendar changes: - -t flag now has old behavior. - Re-add -l and -w flags. - Make -A and -l flags the same. -- Graham Wilson Sat, 08 Nov 2003 17:46:06 +0000 bsdmainutils (6.0.4) unstable; urgency=low * Don't reset the permission of write with dh_fixperms. (closes: #212911) -- Graham Wilson Sat, 27 Sep 2003 21:45:00 +0000 bsdmainutils (6.0.3) unstable; urgency=low * Create an option for column that allows adjacent delimiters to not be merged. (closes: #183877) * Remove ChangeLog, since we are now native. * Clean up column.1. (closes: #183878, #183876) * Add a README file. * Install calendar's source.data file into doc/. -- Graham Wilson Mon, 22 Sep 2003 01:57:48 +0000 bsdmainutils (6.0.2) unstable; urgency=low * Update Spanish debconf template. Thanks Carlos Valdivia Yagüe. (closes: #211834) * Include calendar files for the EU and Belgium. Thanks Nicolas Évrard. (closes: #176988) -- Graham Wilson Sat, 20 Sep 2003 19:10:58 +0000 bsdmainutils (6.0.1) unstable; urgency=low * Make sure to change permission and ownership of our write, not the system's. (closes: #210321) -- Graham Wilson Wed, 10 Sep 2003 20:30:54 +0000 bsdmainutils (6.0) unstable; urgency=low * New upstream. This is now a native package. * debian/control: - Standards-Version: 3.6.1 (no changes). - Remove reference to textutils from control. - Change maintainer address. * Numerous fixes to the build process: - support for DEB_BUILD_OPTIONS - central configuration file, config.mk - installation code moved from debian/rules to other files * New upstream release: - Make lorder(1) work in a strict POSIX environment. Thanks Paul Eggert. (closes: #204907) - Cause hexdump to print an error when an invalid value follows "-n". (closes: #183345) - Add note to calendar.1 about format change. (closes: #178329) - Add a calendar with Debian dates. Thanks Martin Schulze. - Compile hexdump with support for large files. (closes: #175993) - Update all calendar files to the new format. (closes: #178330) - Add a final newline to calendar.newzealand. (closes: #198086, #208664, #207848) - Convert all calendar input data internally to wchar_t, and convert that to the user's encoding before outputting. (closes: #194265) - Distribute calendar files in UTF-8 and the C locale. - Die if locale is unavailable. (closes: #185557) * Use OpenBSD calendar(1): - Thanks to Matt Zimmerman for the idea. - Some options differ between the two versions, but the OpenBSD syntax seems cleaner. Also, OpenBSD doesn't support yearly calendar directories, and that hasn't been added back yet, as it is not currently used. - Output is now sorted. (closes: #176742) - Shows Labor day correctly. (closes: #207846) - Correct problems with cpp search path. (closes: #200814) - Thanksgiving on Sunday, not Thursday. (closes: #168681) - Don't schedule things for 32 Jan. (closes: #131769) * Add a Japanese debconf translation. Thanks Tomohiro KUBOTA. (closes: #194642) -- Graham Wilson Fri, 29 Aug 2003 18:06:27 +0000 bsdmainutils (5.20030320-1) unstable; urgency=low * New CVS update. * Miscellaneous debian/ dir updates: - Add a 'compat' file. - Remove 'conffiles', handled by dh_installdeb now. - Remove backup~ files from debian/. - Update debconf templates to use po-debconf. - Use 'set -e' in maintainer scripts, as linda suggests. * Update debian/rules to use new debhelper tools. * debian/control: - New maintainer. Thanks Tollef. - Depend on ${misc:Depends}, don't depend on debconf. - Build-Depends on debhelper (>= 4.1.16). - Change short description. -- Graham Wilson Sat, 19 Apr 2003 21:10:23 +0000 bsdmainutils (5.20020211-8) unstable; urgency=low * Include hd again; as a symlink to hexdump (closes: #165488) -- Tollef Fog Heen Fri, 25 Oct 2002 01:35:08 +0200 bsdmainutils (5.20020211-7) unstable; urgency=low * Rename template.ru to template.ru * Don't try to display nonexistant note any more (closes: #152328) * Move debconf language templates to separate files. * Fix misspelling in calendar.music (closes: #152627) * Fix spaces to tabs in calendar.christian (closes: #156756, #154058) -- Tollef Fog Heen Mon, 23 Sep 2002 04:46:59 +0200 bsdmainutils (5.20020211-6) unstable; urgency=low * New maintainer -- Tollef Fog Heen Tue, 17 Sep 2002 15:48:01 +0200 bsdmainutils (5.20020211-5) unstable; urgency=high * Fixed postinst failure on some upgrades (Closes: #140526). * Fixed country code of Sweden in ncal (Closes: #149699). * Fixed some calendar entries (Closes: #143959, #144711, #150262). -- Marco d'Itri Thu, 04 Jul 2002 20:45:39 +0200 bsdmainutils (5.20020211-4) unstable; urgency=medium * Added ncal to the description (Closes: #135230). * Fixed multibytes encoding bug in ncal (Closes: #135821). * Added -undef to the cpp command line for calendar (Closes: #137059). * Added russian debconf template (Closes: #137622). -- Marco d'Itri Mon, 11 Mar 2002 20:45:16 +0100 bsdmainutils (5.20020211-3) unstable; urgency=high * Let's try again. (Closes: #133592). * Added french debconf messages (Closes: #134627). -- Marco d'Itri Tue, 19 Feb 2002 02:39:08 +0100 bsdmainutils (5.20020211-2) unstable; urgency=high * Fixed Debian GNU/*BSD fix (Closes: #133592). -- Marco d'Itri Sun, 17 Feb 2002 01:50:16 +0100 bsdmainutils (5.20020211-1) unstable; urgency=medium * New CVS update. * Added new calendar entries (Closes: #133180, #130200, #130287). * Added Debian GNU/*BSD fix (Closes: #132655). -- Marco d'Itri Mon, 11 Feb 2002 16:33:18 +0100 bsdmainutils (5.20010615-3) unstable; urgency=medium * Added calendar.christian files for 2002 and 2003 (provided by James Treacy). * Added calendar.judaic files for 2002 and 2003 (Closes: #111997) (provided by Julian Gilbey). * Removed calendar(3) man page (Closes: #111995). * Added missing files to calendar.all (Closes: #111996). -- Marco d'Itri Wed, 05 Dec 2001 03:58:39 +0100 bsdmainutils (5.20010615-2) unstable; urgency=medium * Fixed colcrt and hexdump (Closes: #106804, #110370). * Better error message for write (Closes: #104541). * Added spanish debconf messages (Closes: #104091). * Now calendar looks for ~/calendar too (Closes: #99857). -- Marco d'Itri Sat, 01 Sep 2001 14:16:33 +0200 bsdmainutils (5.20010615-1) unstable; urgency=low * New CVS update. * Fixed Croatian holidays (Closes: #94307). * Listed the files missing in calendar(1) (Closes: #94584). * Fixed typo in calendar.discordian (Closes: #94585). -- Marco d'Itri Fri, 15 Jun 2001 16:51:46 +0200 bsdmainutils (5.20010126-4) unstable; urgency=high * Fixed buffer overflow in hexdump (Closes: #92628). * Added dutch and portuguese debconf entries (Closes: #85540, #90149). -- Marco d'Itri Sun, 15 Apr 2001 21:12:32 +0200 bsdmainutils (5.20010126-3) unstable; urgency=medium * Use instead of (Closes: #86940). -- Marco d'Itri Sun, 25 Feb 2001 10:24:26 +0100 bsdmainutils (5.20010126-2) unstable; urgency=low * Added calendar.discorian. * Added german debconf entries (Closes: #84837). * Fixed some German holidays (Closes: #86632). -- Marco d'Itri Mon, 19 Feb 2001 18:14:07 +0100 bsdmainutils (5.20010126-1) unstable; urgency=low * New CVS update (Closes: #76290). * calendar.pagan added to calendar.world (Closes: #82558). * Removed BSD-specific macro from ncal.1 (Closes: #82604). * Added swedish and italian debconf entries (Closes: #83371). * Fixed ul (Closes: #82621). * Make calendar work when a ./calendar directory exists (Closes: #79516). * Removed suidregister. -- Marco d'Itri Fri, 26 Jan 2001 16:02:08 +0100 bsdmainutils (5.20001028-5) unstable; urgency=low * Removed debconf invocation in postinst (Closes: #79128). * Fixed some entries in calendar.music (Closes: #79219). * Added Japanese and Croatian holidays (Closes: #78224, #78873). -- Marco d'Itri Wed, 20 Dec 2000 21:24:32 +0100 bsdmainutils (5.20001028-4) unstable; urgency=low * Removed help request (Closes: #77924, #77948). * Updated calendar.hindu. -- Marco d'Itri Mon, 27 Nov 2000 12:35:27 +0100 bsdmainutils (5.20001028-3) unstable; urgency=low * Fixed non-esecutable convdates.pl (Closes: #76614). * Fixed hexdump display bug (Closes: #77773). * Added a request for help to postinst. * Trimmed changelog. -- Marco d'Itri Mon, 13 Nov 2000 14:05:31 +0100 bsdmainutils (5.20001028-2) unstable; urgency=low * Removed od(1) man page already provided by textutils (Closes: #75888). * Added MAXPATHLEN definition for Hurd (Closes: #68854). -- Marco d'Itri Mon, 30 Oct 2000 12:23:04 +0100 bsdmainutils (5.20001028-1) unstable; urgency=low * New source package structure. * Small updates from the FreeBSD tree. -- Marco d'Itri Sun, 29 Oct 2000 20:09:43 +0100 bsdmainutils-9.0.6ubuntu3/debian/bsdmainutils.default0000775000000000000000000000033611756711411017741 0ustar # Uncomment the following line if you'd like all of your users' # ~/calendar files to be checked daily. Calendar will send them mail # to remind them of upcoming events. See calendar(1) for more details. #RUN_DAILY=true bsdmainutils-9.0.6ubuntu3/patches/0000775000000000000000000000000012442073611014071 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/0000775000000000000000000000000012442073611014022 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/colcrt/0000775000000000000000000000000012665277472015332 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/colcrt/colcrt.10000664000000000000000000000742311371260565016674 0ustar .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. .\" .\" @(#)colcrt.1 8.1 (Berkeley) 6/30/93 .\" $FreeBSD$ .\" .Dd July 31, 2004 .Dt COLCRT 1 .Os .Sh NAME .Nm colcrt .Nd filter nroff output for CRT previewing .Sh SYNOPSIS .Nm .Op Fl .Op Fl \&2 .Op Ar .Sh DESCRIPTION The .Nm utility provides virtual half-line and reverse line feed sequences for terminals without such capability, and on which overstriking is destructive. Half-line characters and underlining (changed to dashing `\-') are placed on new lines in between the normal output lines. .Pp The following options are available: .Bl -tag -width indent .It Fl Suppress all underlining. This option is especially useful for previewing .Em allboxed tables from .Xr tbl 1 . .It Fl 2 Cause all half-lines to be printed, effectively double spacing the output. Normally, a minimal space output format is used which will suppress empty lines. The program never suppresses two consecutive empty lines, however. The .Fl 2 option is useful for sending output to the line printer when the output contains superscripts and subscripts which would otherwise be invisible. .El .Sh ENVIRONMENT The .Ev LANG , LC_ALL and .Ev LC_CTYPE environment variables affect the execution of .Nm as described in .Xr environ 7 . .Sh EXIT STATUS .Ex -std .Sh EXAMPLES A typical use of .Nm would be .Bd -literal tbl exum2.n \&| nroff \-ms \&| colcrt \- \&| more .Ed .Sh SEE ALSO .Xr col 1 , .Xr more 1 , .Xr nroff 1 , .Xr troff 1 , .Xr ul 1 .Sh HISTORY The .Nm command appeared in .Bx 3.0 . .Sh BUGS Should fold underlines onto blanks even with the .Sq Fl option so that a true underline character would show. .Pp Cannot back up more than 102 lines. .Pp General overstriking is lost; as a special case .Ql \&| overstruck with .Ql \- or underline becomes .Ql \&+ . .Pp Lines are trimmed to 132 characters. .Pp Some provision should be made for processing superscripts and subscripts in documents which are already double-spaced. .Pp Characters that take up more than one column position may not be underlined correctly. bsdmainutils-9.0.6ubuntu3/usr.bin/colcrt/colcrt.c0000664000000000000000000001413312665277471016765 0ustar /* * Copyright (c) 1980, 1993 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1980, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif #if 0 #ifndef lint static char sccsid[] = "@(#)colcrt.c 8.1 (Berkeley) 6/6/93"; #endif #endif #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include /* * colcrt - replaces col for crts with new nroff esp. when using tbl. * Bill Joy UCB July 14, 1977 * * This filter uses a screen buffer, 267 half-lines by 132 columns. * It interprets the up and down sequences generated by the new * nroff when used with tbl and by \u \d and \r. * General overstriking doesn't work correctly. * Underlining is split onto multiple lines, etc. * * Option - suppresses all underlining. * Option -2 forces printing of all half lines. */ wchar_t page[267][132]; int outline = 1; int outcol; char suppresul; char printall; static void move(int, int); static void pflush(int); static int plus(wchar_t, wchar_t); static void usage(void); int main(int argc, char *argv[]) { wint_t c; wchar_t *cp, *dp; int ch, i, w; setlocale(LC_ALL, ""); while ((ch = getopt(argc, argv, "-2")) != -1) switch (ch) { case '-': suppresul = 1; break; case '2': printall = 1; break; default: usage(); } argc -= optind; argv += optind; do { if (argc > 0) { if (freopen(argv[0], "r", stdin) == NULL) { fflush(stdout); err(1, "%s", argv[0]); } argc--; argv++; } for (;;) { c = getwc(stdin); if (c == WEOF) { pflush(outline); fflush(stdout); break; } switch (c) { case '\n': if (outline >= 265) pflush(62); outline += 2; outcol = 0; continue; case '\016': case '\017': continue; case 033: c = getwc(stdin); switch (c) { case '9': if (outline >= 266) pflush(62); outline++; continue; case '8': if (outline >= 1) outline--; continue; case '7': outline -= 2; if (outline < 0) outline = 0; continue; default: continue; } case '\b': if (outcol) outcol--; continue; case '\t': outcol += 8; outcol &= ~7; outcol--; c = ' '; default: if ((w = wcwidth(c)) <= 0) w = 1; /* XXX */ if (outcol + w > 132) { outcol += w; continue; } cp = &page[outline][outcol]; outcol += w; if (c == '_') { if (suppresul) continue; cp += 132; c = '-'; } if (*cp == 0) { for (i = 0; i < w; i++) cp[i] = c; dp = cp - (outcol - w); for (cp--; cp >= dp && *cp == 0; cp--) *cp = ' '; } else { if (plus(c, *cp) || plus(*cp, c)) *cp = '+'; else if (*cp == ' ' || *cp == 0) { for (i = 1; i < w; i++) if (cp[i] != ' ' && cp[i] != 0) goto cont; for (i = 0; i < w; i++) cp[i] = c; } } cont: continue; } } if (ferror(stdin)) err(1, NULL); } while (argc > 0); fflush(stdout); exit(0); } static void usage(void) { fprintf(stderr, "usage: colcrt [-] [-2] [file ...]\n"); exit(1); } static int plus(wchar_t c, wchar_t d) { return ((c == '|' && d == '-') || d == '_'); } static void pflush(int ol) { static int first; int i; wchar_t *cp; char lastomit; int l, w; l = ol; lastomit = 0; if (l > 266) l = 266; else l |= 1; for (i = first | 1; i < l; i++) { move(i, i - 1); move(i, i + 1); } for (i = first; i < l; i++) { cp = page[i]; if (printall == 0 && lastomit == 0 && *cp == 0) { lastomit = 1; continue; } lastomit = 0; while (*cp != L'\0') { if ((w = wcwidth(*cp)) > 0) { putwchar(*cp); cp += w; } else cp++; } putwchar(L'\n'); } wmemcpy(page[0], page[ol], (267 - ol) * 132); wmemset(page[267- ol], L'\0', ol * 132); outline -= ol; outcol = 0; first = 1; } static void move(int l, int m) { wchar_t *cp, *dp; for (cp = page[l], dp = page[m]; *cp; cp++, dp++) { switch (*cp) { case '|': if (*dp != ' ' && *dp != '|' && *dp != 0) return; break; case ' ': break; default: return; } } if (*cp == 0) { for (cp = page[l], dp = page[m]; *cp; cp++, dp++) if (*cp == '|') *dp = '|'; else if (*dp == 0) *dp = ' '; page[l][0] = 0; } } bsdmainutils-9.0.6ubuntu3/usr.bin/colcrt/Makefile0000664000000000000000000000007011371260565016753 0ustar PROG = colcrt topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/0000775000000000000000000000000012665277472015516 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/hexdump.10000664000000000000000000002511412665277471017254 0ustar .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. .\" .\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" .Dd February 18, 2010 .Dt HEXDUMP 1 .Os .Sh NAME .Nm hexdump , hd .Nd ASCII, decimal, hexadecimal, octal dump .Sh SYNOPSIS .Nm .Op Fl bcCdovx .Op Fl e Ar format_string .Op Fl f Ar format_file .Op Fl n Ar length .Bk -words .Op Fl s Ar skip .Ek .Ar .Nm hd .Op Fl bcdovx .Op Fl e Ar format_string .Op Fl f Ar format_file .Op Fl n Ar length .Bk -words .Op Fl s Ar skip .Ek .Ar .Sh DESCRIPTION The .Nm utility is a filter which displays the specified files, or the standard input, if no files are specified, in a user specified format. .Pp The options are as follows: .Bl -tag -width indent .It Fl b .Em One-byte octal display . Display the input offset in hexadecimal, followed by sixteen space-separated, three column, zero-filled, bytes of input data, in octal, per line. .It Fl c .Em One-byte character display . Display the input offset in hexadecimal, followed by sixteen space-separated, three column, space-filled, characters of input data per line. .It Fl C .Em Canonical hex+ASCII display . Display the input offset in hexadecimal, followed by sixteen space-separated, two column, hexadecimal bytes, followed by the same sixteen bytes in %_p format enclosed in ``|'' characters. .Pp Calling the command .Nm hd implies this option. .It Fl d .Em Two-byte decimal display . Display the input offset in hexadecimal, followed by eight space-separated, five column, zero-filled, two-byte units of input data, in unsigned decimal, per line. .It Fl e Ar format_string Specify a format string to be used for displaying data. .It Fl f Ar format_file Specify a file that contains one or more newline separated format strings. Empty lines and lines whose first non-blank character is a hash mark .Pf ( Cm \&# ) are ignored. .It Fl n Ar length Interpret only .Ar length bytes of input. .It Fl o .Em Two-byte octal display . Display the input offset in hexadecimal, followed by eight space-separated, six column, zero-filled, two byte quantities of input data, in octal, per line. .It Fl s Ar offset Skip .Ar offset bytes from the beginning of the input. By default, .Ar offset is interpreted as a decimal number. With a leading .Cm 0x or .Cm 0X , .Ar offset is interpreted as a hexadecimal number, otherwise, with a leading .Cm 0 , .Ar offset is interpreted as an octal number. Appending the character .Cm b , .Cm k , or .Cm m to .Ar offset causes it to be interpreted as a multiple of .Li 512 , .Li 1024 , or .Li 1048576 , respectively. .It Fl v Cause .Nm to display all input data. Without the .Fl v option, any number of groups of output lines, which would be identical to the immediately preceding group of output lines (except for the input offsets), are replaced with a line comprised of a single asterisk. .It Fl x .Em Two-byte hexadecimal display . Display the input offset in hexadecimal, followed by eight, space separated, four column, zero-filled, two-byte quantities of input data, in hexadecimal, per line. .El .Pp For each input file, .Nm sequentially copies the input to standard output, transforming the data according to the format strings specified by the .Fl e and .Fl f options, in the order that they were specified. .Ss Formats A format string contains any number of format units, separated by whitespace. A format unit contains up to three items: an iteration count, a byte count, and a format. .Pp The iteration count is an optional positive integer, which defaults to one. Each format is applied iteration count times. .Pp The byte count is an optional positive integer. If specified it defines the number of bytes to be interpreted by each iteration of the format. .Pp If an iteration count and/or a byte count is specified, a single slash must be placed after the iteration count and/or before the byte count to disambiguate them. Any whitespace before or after the slash is ignored. .Pp The format is required and must be surrounded by double quote (" ") marks. It is interpreted as a fprintf-style format string (see .Xr fprintf 3 ) , with the following exceptions: .Bl -bullet -offset indent .It An asterisk (*) may not be used as a field width or precision. .It A byte count or field precision .Em is required for each ``s'' conversion character (unlike the .Xr fprintf 3 default which prints the entire string if the precision is unspecified). .It The conversion characters ``h'', ``l'', ``n'', ``p'' and ``q'' are not supported. .It The single character escape sequences described in the C standard are supported: .Bd -ragged -offset indent -compact .Bl -column .It "NUL \e0 .It " \ea .It " \eb .It " \ef .It " \en .It " \er .It " \et .It " \ev .El .Ed .El .Pp The .Nm utility also supports the following additional conversion strings: .Bl -tag -width Fl .It Cm \&_a Ns Op Cm dox Display the input offset, cumulative across input files, of the next byte to be displayed. The appended characters .Cm d , .Cm o , and .Cm x specify the display base as decimal, octal or hexadecimal respectively. .It Cm \&_A Ns Op Cm dox Identical to the .Cm \&_a conversion string except that it is only performed once, when all of the input data has been processed. .It Cm \&_c Output characters in the default character set. Nonprinting characters are displayed in three character, zero-padded octal, except for those representable by standard escape notation (see above), which are displayed as two character strings. .It Cm _p Output characters in the default character set. Nonprinting characters are displayed as a single .Dq Cm \&. . .It Cm _u Output US .Tn ASCII characters, with the exception that control characters are displayed using the following, lower-case, names. Characters greater than 0xff, hexadecimal, are displayed as hexadecimal strings. .Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo .It "\&000\ NUL\t001\ SOH\t002\ STX\t003\ ETX\t004\ EOT\t005\ ENQ .It "\&006\ ACK\t007\ BEL\t008\ BS\t009\ HT\t00A\ LF\t00B\ VT .It "\&00C\ FF\t00D\ CR\t00E\ SO\t00F\ SI\t010\ DLE\t011\ DC1 .It "\&012\ DC2\t013\ DC3\t014\ DC4\t015\ NAK\t016\ SYN\t017\ ETB .It "\&018\ CAN\t019\ EM\t01A\ SUB\t01B\ ESC\t01C\ FS\t01D\ GS .It "\&01E\ RS\t01F\ US\t07F\ DEL .El .El .Pp The default and supported byte counts for the conversion characters are as follows: .Bl -tag -width "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent .It Li \&%_c , \&%_p , \&%_u , \&%c One byte counts only. .It Xo .Li \&%d , \&%i , \&%o , .Li \&%u , \&%X , \&%x .Xc Four byte default, one, two and four byte counts supported. .It Xo .Li \&%E , \&%e , \&%f , .Li \&%G , \&%g .Xc Eight byte default, four and twelve byte counts supported. .El .Pp The amount of data interpreted by each format string is the sum of the data required by each format unit, which is the iteration count times the byte count, or the iteration count times the number of bytes required by the format if the byte count is not specified. .Pp The input is manipulated in ``blocks'', where a block is defined as the largest amount of data specified by any format string. Format strings interpreting less than an input block's worth of data, whose last format unit both interprets some number of bytes and does not have a specified iteration count, have the iteration count incremented until the entire input block has been processed or there is not enough data remaining in the block to satisfy the format string. .Pp If, either as a result of user specification or .Nm modifying the iteration count as described above, an iteration count is greater than one, no trailing whitespace characters are output during the last iteration. .Pp It is an error to specify a byte count as well as multiple conversion characters or strings unless all but one of the conversion characters or strings is .Cm \&_a or .Cm \&_A . .Pp If, as a result of the specification of the .Fl n option or end-of-file being reached, input data only partially satisfies a format string, the input block is zero-padded sufficiently to display all available data (i.e., any format units overlapping the end of data will display some number of the zero bytes). .Pp Further output by such format strings is replaced by an equivalent number of spaces. An equivalent number of spaces is defined as the number of spaces output by an .Cm s conversion character with the same field width and precision as the original conversion character or conversion string but with any .Dq Li \&+ , .Dq \&\ \& , .Dq Li \&# conversion flag characters removed, and referencing a NULL string. .Pp If no format strings are specified, the default display is equivalent to specifying the .Fl x option. .Sh EXIT STATUS .Ex -std hexdump hd .Sh EXAMPLES Display the input in perusal format: .Bd -literal -offset indent "%06.6_ao " 12/1 "%3_u " "\et\et" "%_p " "\en" .Ed .Pp Implement the \-x option: .Bd -literal -offset indent "%07.7_Ax\en" "%07.7_ax " 8/2 "%04x " "\en" .Ed .Sh SEE ALSO .Xr gdb 1 , .Xr od 1 bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/od.10000664000000000000000000001416511756711411016173 0ustar .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. .\" .\" @(#)od.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd December 22, 2011 .Dt OD 1 .Os .Sh NAME .Nm od .Nd octal, decimal, hex, ASCII dump .Sh SYNOPSIS .Nm .Op Fl aBbcDdeFfHhIiLlOosvXx .Op Fl A Ar base .Op Fl j Ar skip .Op Fl N Ar length .Op Fl t Ar type .Op Oo Cm + Oc Ns Ar offset Ns Oo Cm \&. Oc Ns Op Cm Bb .Op Ar .Sh DESCRIPTION The .Nm utility is a filter which displays the specified files, or standard input if no files are specified, in a user specified format. .Pp The options are as follows: .Bl -tag -width ".Fl I , L , l" .It Fl A Ar base Specify the input address base. The argument .Ar base may be one of .Cm d , .Cm o , .Cm x or .Cm n , which specify decimal, octal, hexadecimal addresses or no address, respectively. .It Fl a Output named characters. Equivalent to .Fl t Cm a . .It Fl B , o Output octal shorts. Equivalent to .Fl t Cm o2 . .It Fl b Output octal bytes. Equivalent to .Fl t Cm o1 . .It Fl c Output C-style escaped characters. Equivalent to .Fl t Cm c . .It Fl D Output unsigned decimal ints. Equivalent to .Fl t Cm u4 . .It Fl d Output unsigned decimal shorts. Equivalent to .Fl t Cm u2 . .It Fl e , F Output double-precision floating point numbers. Equivalent to .Fl t Cm fD . .It Fl f Output single-precision floating point numbers. Equivalent to .Fl t Cm fF . .It Fl H , X Output hexadecimal ints. Equivalent to .Fl t Cm x4 . .It Fl h , x Output hexadecimal shorts. Equivalent to .Fl t Cm x2 . .It Fl I , L , l Output signed decimal longs. Equivalent to .Fl t Cm dL . .It Fl i Output signed decimal ints. Equivalent to .Fl t Cm dI . .It Fl j Ar skip Skip .Ar skip bytes of the combined input before dumping. The number may be followed by one of .Cm b , k or .Cm m which specify the units of the number as blocks (512 bytes), kilobytes and megabytes, respectively. .It Fl N Ar length Dump at most .Ar length bytes of input. .It Fl O Output octal ints. Equivalent to .Fl t Cm o4 . .It Fl s Output signed decimal shorts. Equivalent to .Fl t Cm d2 . .It Fl t Ar type Specify the output format. The .Ar type argument is a string containing one or more of the following kinds of type specifiers: .Bl -tag -width indent .It Cm a Named characters .Pq Tn ASCII . Control characters are displayed using the following names: .Bl -column "000 NUL" "001 SOH" "002 STX" "003 ETX" "004 EOT" "005 ENQ" .It "000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ" .It "006 ACK 007 BEL 008 BS 009 HT 00A NL 00B VT" .It "00C FF 00D CR 00E SO 00F SI 010 DLE 011 DC1" .It "012 DC2 013 DC3 014 DC4 015 NAK 016 SYN 017 ETB" .It "018 CAN 019 EM 01A SUB 01B ESC 01C FS 01D GS" .It "01E RS 01F US 020 SP 07F DEL" .El .It Cm c Characters in the default character set. Non-printing characters are represented as 3-digit octal character codes, except the following characters, which are represented as C escapes: .Pp .Bl -tag -width carriage-return -compact .It NUL \e0 .It alert \ea .It backspace \eb .It newline \en .It carriage-return \er .It tab \et .It vertical tab \ev .El .Pp Multi-byte characters are displayed in the area corresponding to the first byte of the character. The remaining bytes are shown as .Ql ** . .It Xo .Sm off .Op Cm d | o | u | x .Op Cm C | S | I | L | Ar n .Sm on .Xc Signed decimal .Pq Cm d , octal .Pq Cm o , unsigned decimal .Pq Cm u or hexadecimal .Pq Cm x . Followed by an optional size specifier, which may be either .Cm C .Pq Vt char , .Cm S .Pq Vt short , .Cm I .Pq Vt int , .Cm L .Pq Vt long , or a byte count as a decimal integer. .It Xo .Sm off .Cm f .Op Cm F | D | L | Ar n .Sm on .Xc Floating-point number. Followed by an optional size specifier, which may be either .Cm F .Pq Vt float , .Cm D .Pq Vt double or .Cm L .Pq Vt "long double" . .El .It Fl v Write all input data, instead of replacing lines of duplicate values with a .Ql * . .El .Pp Multiple options that specify output format may be used; the output will contain one line for each format. .Pp If no output format is specified, .Fl t Cm oS is assumed. .Sh ENVIRONMENT The .Ev LANG , LC_ALL and .Ev LC_CTYPE environment variables affect the execution of .Nm as described in .Xr environ 7 . .Sh EXIT STATUS .Ex -std .Sh COMPATIBILITY The traditional .Fl s option to extract string constants is not supported; consider using .Xr strings 1 instead. .Sh SEE ALSO .Xr hexdump 1 , .Xr strings 1 .Sh STANDARDS The .Nm utility conforms to .St -p1003.1-2001 . .Sh HISTORY An .Nm command appeared in .At v1 . bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/hexsyntax.c0000664000000000000000000001001612665277471017712 0ustar /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * 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 #if 0 static char sccsid[] = "@(#)hexsyntax.c 8.2 (Berkeley) 5/4/95"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include "hexdump.h" off_t skip; /* bytes to skip */ void newsyntax(int argc, char ***argvp) { int ch; char *p, **argv; argv = *argvp; if ((p = rindex(argv[0], 'h')) != NULL && strcmp(p, "hd") == 0) { /* "Canonical" format, implies -C. */ add("\"%08.8_Ax\n\""); add("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" "); add("\" |\" 16/1 \"%_p\" \"|\\n\""); } while ((ch = getopt(argc, argv, "bcCde:f:n:os:vx")) != -1) switch (ch) { case 'b': add("\"%07.7_Ax\n\""); add("\"%07.7_ax \" 16/1 \"%03o \" \"\\n\""); break; case 'c': add("\"%07.7_Ax\n\""); add("\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\""); break; case 'C': add("\"%08.8_Ax\n\""); add("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" "); add("\" |\" 16/1 \"%_p\" \"|\\n\""); break; case 'd': add("\"%07.7_Ax\n\""); add("\"%07.7_ax \" 8/2 \" %05u \" \"\\n\""); break; case 'e': add(optarg); break; case 'f': addfile(optarg); break; case 'n': if ((length = atoi(optarg)) < 0) errx(1, "%s: bad length value", optarg); break; case 'o': add("\"%07.7_Ax\n\""); add("\"%07.7_ax \" 8/2 \" %06o \" \"\\n\""); break; case 's': if ((skip = strtoll(optarg, &p, 0)) < 0) errx(1, "%s: bad skip value", optarg); switch(*p) { case 'b': skip *= 512; break; case 'k': skip *= 1024; break; case 'm': skip *= 1048576; break; } break; case 'v': vflag = ALL; break; case 'x': add("\"%07.7_Ax\n\""); add("\"%07.7_ax \" 8/2 \" %04x \" \"\\n\""); break; case '?': usage(); } if (!fshead) { add("\"%07.7_Ax\n\""); add("\"%07.7_ax \" 8/2 \"%04x \" \"\\n\""); } *argvp += optind; } void usage(void) { (void)fprintf(stderr, "%s\n%s\n%s\n%s\n", "usage: hexdump [-bcCdovx] [-e fmt] [-f fmt_file] [-n length]", " [-s skip] [file ...]", " hd [-bcdovx] [-e fmt] [-f fmt_file] [-n length]", " [-s skip] [file ...]"); exit(1); } bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/odsyntax.c0000664000000000000000000002302012665277471017527 0ustar /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * 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 #if 0 static char sccsid[] = "@(#)odsyntax.c 8.2 (Berkeley) 5/4/95"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include #include "hexdump.h" #define PADDING " " int odmode; static void odadd(const char *); static void odformat(const char *); static const char *odformatfp(char, const char *); static const char *odformatint(char, const char *); static void odoffset(int, char ***); static void odusage(void); void oldsyntax(int argc, char ***argvp) { static char empty[] = "", padding[] = PADDING; int ch; char **argv, *end; /* Add initial (default) address format. -A may change it later. */ #define TYPE_OFFSET 7 add("\"%07.7_Ao\n\""); add("\"%07.7_ao \""); odmode = 1; argv = *argvp; while ((ch = getopt(argc, argv, "A:aBbcDdeFfHhIij:LlN:Oost:vXx")) != -1) switch (ch) { case 'A': switch (*optarg) { case 'd': case 'o': case 'x': fshead->nextfu->fmt[TYPE_OFFSET] = *optarg; fshead->nextfs->nextfu->fmt[TYPE_OFFSET] = *optarg; break; case 'n': fshead->nextfu->fmt = empty; fshead->nextfs->nextfu->fmt = padding; break; default: errx(1, "%s: invalid address base", optarg); } break; case 'a': odformat("a"); break; case 'B': case 'o': odformat("o2"); break; case 'b': odformat("o1"); break; case 'c': odformat("c"); break; case 'd': odformat("u2"); break; case 'D': odformat("u4"); break; case 'e': /* undocumented in od */ case 'F': odformat("fD"); break; case 'f': odformat("fF"); break; case 'H': case 'X': odformat("x4"); break; case 'h': case 'x': odformat("x2"); break; case 'I': case 'L': case 'l': odformat("dL"); break; case 'i': odformat("dI"); break; case 'j': errno = 0; skip = strtoll(optarg, &end, 0); if (*end == 'b') skip *= 512; else if (*end == 'k') skip *= 1024; else if (*end == 'm') skip *= 1048576L; if (errno != 0 || skip < 0 || strlen(end) > 1) errx(1, "%s: invalid skip amount", optarg); break; case 'N': if ((length = atoi(optarg)) <= 0) errx(1, "%s: invalid length", optarg); break; case 'O': odformat("o4"); break; case 's': odformat("d2"); break; case 't': odformat(optarg); break; case 'v': vflag = ALL; break; case '?': default: odusage(); } if (fshead->nextfs->nextfs == NULL) odformat("oS"); argc -= optind; *argvp += optind; if (argc) odoffset(argc, argvp); } static void odusage(void) { fprintf(stderr, "usage: od [-aBbcDdeFfHhIiLlOosvXx] [-A base] [-j skip] [-N length] [-t type]\n"); fprintf(stderr, " [[+]offset[.][Bb]] [file ...]\n"); exit(1); } static void odoffset(int argc, char ***argvp) { char *p, *num, *end; int base; /* * The offset syntax of od(1) was genuinely bizarre. First, if * it started with a plus it had to be an offset. Otherwise, if * there were at least two arguments, a number or lower-case 'x' * followed by a number makes it an offset. By default it was * octal; if it started with 'x' or '0x' it was hex. If it ended * in a '.', it was decimal. If a 'b' or 'B' was appended, it * multiplied the number by 512 or 1024 byte units. There was * no way to assign a block count to a hex offset. * * We assume it's a file if the offset is bad. */ p = argc == 1 ? (*argvp)[0] : (*argvp)[1]; if (*p != '+' && (argc < 2 || (!isdigit(p[0]) && (p[0] != 'x' || !isxdigit(p[1]))))) return; base = 0; /* * skip over leading '+', 'x[0-9a-fA-f]' or '0x', and * set base. */ if (p[0] == '+') ++p; if (p[0] == 'x' && isxdigit(p[1])) { ++p; base = 16; } else if (p[0] == '0' && p[1] == 'x') { p += 2; base = 16; } /* skip over the number */ if (base == 16) for (num = p; isxdigit(*p); ++p); else for (num = p; isdigit(*p); ++p); /* check for no number */ if (num == p) return; /* if terminates with a '.', base is decimal */ if (*p == '.') { if (base) return; base = 10; } skip = strtoll(num, &end, base ? base : 8); /* if end isn't the same as p, we got a non-octal digit */ if (end != p) { skip = 0; return; } if (*p) { if (*p == 'B') { skip *= 1024; ++p; } else if (*p == 'b') { skip *= 512; ++p; } } if (*p) { skip = 0; return; } /* * If the offset uses a non-octal base, the base of the offset * is changed as well. This isn't pretty, but it's easy. */ if (base == 16) { fshead->nextfu->fmt[TYPE_OFFSET] = 'x'; fshead->nextfs->nextfu->fmt[TYPE_OFFSET] = 'x'; } else if (base == 10) { fshead->nextfu->fmt[TYPE_OFFSET] = 'd'; fshead->nextfs->nextfu->fmt[TYPE_OFFSET] = 'd'; } /* Terminate file list. */ (*argvp)[1] = NULL; } static void odformat(const char *fmt) { char fchar; while (*fmt != '\0') { switch ((fchar = *fmt++)) { case 'a': odadd("16/1 \"%3_u \" \"\\n\""); break; case 'c': odadd("16/1 \"%3_c \" \"\\n\""); break; case 'o': case 'u': case 'd': case 'x': fmt = odformatint(fchar, fmt); break; case 'f': fmt = odformatfp(fchar, fmt); break; default: errx(1, "%c: unrecognised format character", fchar); } } } static const char * odformatfp(char fchar __unused, const char *fmt) { size_t isize; int digits; char *end, *hdfmt; isize = sizeof(double); switch (*fmt) { case 'F': isize = sizeof(float); fmt++; break; case 'D': isize = sizeof(double); fmt++; break; case 'L': isize = sizeof(long double); fmt++; break; default: if (isdigit((unsigned char)*fmt)) { errno = 0; isize = (size_t)strtoul(fmt, &end, 10); if (errno != 0 || isize == 0) errx(1, "%s: invalid size", fmt); fmt = (const char *)end; } } switch (isize) { case sizeof(float): digits = FLT_DIG; break; case sizeof(double): digits = DBL_DIG; break; default: if (isize == sizeof(long double)) digits = LDBL_DIG; else errx(1, "unsupported floating point size %lu", (u_long)isize); } asprintf(&hdfmt, "%lu/%lu \" %%%d.%de \" \"\\n\"", 16UL / (u_long)isize, (u_long)isize, digits + 8, digits); if (hdfmt == NULL) err(1, NULL); odadd(hdfmt); free(hdfmt); return (fmt); } static const char * odformatint(char fchar, const char *fmt) { unsigned long long n; size_t isize; int digits; char *end, *hdfmt; isize = sizeof(int); switch (*fmt) { case 'C': isize = sizeof(char); fmt++; break; case 'I': isize = sizeof(int); fmt++; break; case 'L': isize = sizeof(long); fmt++; break; case 'S': isize = sizeof(short); fmt++; break; default: if (isdigit((unsigned char)*fmt)) { errno = 0; isize = (size_t)strtoul(fmt, &end, 10); if (errno != 0 || isize == 0) errx(1, "%s: invalid size", fmt); if (isize != sizeof(char) && isize != sizeof(short) && isize != sizeof(int) && isize != sizeof(long)) errx(1, "unsupported int size %lu", (u_long)isize); fmt = (const char *)end; } } /* * Calculate the maximum number of digits we need to * fit the number. Overestimate for decimal with log * base 8. We need one extra space for signed numbers * to store the sign. */ n = (1ULL << (8 * isize)) - 1; digits = 0; while (n != 0) { digits++; n >>= (fchar == 'x') ? 4 : 3; } if (fchar == 'd') digits++; asprintf(&hdfmt, "%lu/%lu \"%*s%%%s%d%c\" \"\\n\"", 16UL / (u_long)isize, (u_long)isize, (int)(4 * isize - digits), "", (fchar == 'd' || fchar == 'u') ? "" : "0", digits, fchar); if (hdfmt == NULL) err(1, NULL); odadd(hdfmt); free(hdfmt); return (fmt); } static void odadd(const char *fmt) { static int needpad; if (needpad) add("\""PADDING"\""); add(fmt); needpad = 1; } bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/conv.c0000664000000000000000000001135512665277471016633 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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 const char sccsid[] = "@(#)conv.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include #include "hexdump.h" void conv_c(PR *pr, u_char *p, size_t bufsize) { char buf[10]; char const *str; wchar_t wc; size_t clen, oclen; int converr, pad, width; char peekbuf[MB_LEN_MAX]; if (pr->mbleft > 0) { str = "**"; pr->mbleft--; goto strpr; } switch(*p) { case '\0': str = "\\0"; goto strpr; /* case '\a': */ case '\007': str = "\\a"; goto strpr; case '\b': str = "\\b"; goto strpr; case '\f': str = "\\f"; goto strpr; case '\n': str = "\\n"; goto strpr; case '\r': str = "\\r"; goto strpr; case '\t': str = "\\t"; goto strpr; case '\v': str = "\\v"; goto strpr; default: break; } /* * Multibyte characters are disabled for hexdump(1) for backwards * compatibility and consistency (none of its other output formats * recognize them correctly). */ converr = 0; if (odmode && MB_CUR_MAX > 1) { oclen = 0; retry: clen = mbrtowc(&wc, p, bufsize, &pr->mbstate); if (clen == 0) clen = 1; else if (clen == (size_t)-1 || (clen == (size_t)-2 && buf == peekbuf)) { memset(&pr->mbstate, 0, sizeof(pr->mbstate)); wc = *p; clen = 1; converr = 1; } else if (clen == (size_t)-2) { /* * Incomplete character; peek ahead and see if we * can complete it. */ oclen = bufsize; bufsize = peek(p = peekbuf, MB_CUR_MAX); goto retry; } clen += oclen; } else { wc = *p; clen = 1; } if (!converr && iswprint(wc)) { if (!odmode) { *pr->cchar = 'c'; (void)printf(pr->fmt, (int)wc); } else { *pr->cchar = 'C'; assert(strcmp(pr->fmt, "%3C") == 0); width = wcwidth(wc); assert(width >= 0); pad = 3 - width; if (pad < 0) pad = 0; (void)printf("%*s%C", pad, "", wc); pr->mbleft = clen - 1; } } else { (void)sprintf(buf, "%03o", (int)*p); str = buf; strpr: *pr->cchar = 's'; (void)printf(pr->fmt, str); } } void conv_u(PR *pr, u_char *p) { static char const * list[] = { "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel", "bs", "ht", "lf", "vt", "ff", "cr", "so", "si", "dle", "dcl", "dc2", "dc3", "dc4", "nak", "syn", "etb", "can", "em", "sub", "esc", "fs", "gs", "rs", "us", }; /* od used nl, not lf */ if (*p <= 0x1f) { *pr->cchar = 's'; if (odmode && *p == 0x0a) (void)printf(pr->fmt, "nl"); else (void)printf(pr->fmt, list[*p]); } else if (*p == 0x7f) { *pr->cchar = 's'; (void)printf(pr->fmt, "del"); } else if (odmode && *p == 0x20) { /* od replaced space with sp */ *pr->cchar = 's'; (void)printf(pr->fmt, " sp"); } else if (isprint(*p)) { *pr->cchar = 'c'; (void)printf(pr->fmt, *p); } else { *pr->cchar = 'x'; (void)printf(pr->fmt, (int)*p); } } bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/parse.c0000664000000000000000000002616412665277471017004 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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 #if 0 static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/6/93"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include "hexdump.h" FU *endfu; /* format at end-of-data */ void addfile(char *name) { unsigned char *p; FILE *fp; int ch; char buf[2048 + 1]; if ((fp = fopen(name, "r")) == NULL) err(1, "%s", name); while (fgets(buf, sizeof(buf), fp)) { if (!(p = index(buf, '\n'))) { warnx("line too long"); while ((ch = getchar()) != '\n' && ch != EOF); continue; } *p = '\0'; for (p = buf; *p && isspace(*p); ++p); if (!*p || *p == '#') continue; add(p); } (void)fclose(fp); } void add(const char *fmt) { unsigned const char *p, *savep; static FS **nextfs; FS *tfs; FU *tfu, **nextfu; /* start new linked list of format units */ if ((tfs = calloc(1, sizeof(FS))) == NULL) err(1, NULL); if (!fshead) fshead = tfs; else *nextfs = tfs; nextfs = &tfs->nextfs; nextfu = &tfs->nextfu; /* take the format string and break it up into format units */ for (p = fmt;;) { /* skip leading white space */ for (; isspace(*p); ++p); if (!*p) break; /* allocate a new format unit and link it in */ if ((tfu = calloc(1, sizeof(FU))) == NULL) err(1, NULL); *nextfu = tfu; nextfu = &tfu->nextfu; tfu->reps = 1; /* if leading digit, repetition count */ if (isdigit(*p)) { for (savep = p; isdigit(*p); ++p); if (!isspace(*p) && *p != '/') badfmt(fmt); /* may overwrite either white space or slash */ tfu->reps = atoi(savep); tfu->flags = F_SETREP; /* skip trailing white space */ for (++p; isspace(*p); ++p); } /* skip slash and trailing white space */ if (*p == '/') while (isspace(*++p)); /* byte count */ if (isdigit(*p)) { for (savep = p; isdigit(*p); ++p); if (!isspace(*p)) badfmt(fmt); tfu->bcnt = atoi(savep); /* skip trailing white space */ for (++p; isspace(*p); ++p); } /* format */ if (*p != '"') badfmt(fmt); for (savep = ++p; *p != '"';) if (*p++ == 0) badfmt(fmt); if (!(tfu->fmt = malloc(p - savep + 1))) err(1, NULL); (void) strlcpy(tfu->fmt, savep, p - savep + 1); escape(tfu->fmt); p++; } } static const char *spec = ".#-+ 0123456789"; int size(FS *fs) { FU *fu; int bcnt, cursize; unsigned char *fmt; int prec; /* figure out the data block size needed for each format unit */ for (cursize = 0, fu = fs->nextfu; fu; fu = fu->nextfu) { if (fu->bcnt) { cursize += fu->bcnt * fu->reps; continue; } for (bcnt = prec = 0, fmt = fu->fmt; *fmt; ++fmt) { if (*fmt != '%') continue; /* * skip any special chars -- save precision in * case it's a %s format. */ while (index(spec + 1, *++fmt)); if (*fmt == '.' && isdigit(*++fmt)) { prec = atoi(fmt); while (isdigit(*++fmt)); } switch(*fmt) { case 'c': bcnt += 1; break; case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': bcnt += 4; break; case 'e': case 'E': case 'f': case 'g': case 'G': bcnt += 8; break; case 's': bcnt += prec; break; case '_': switch(*++fmt) { case 'c': case 'p': case 'u': bcnt += 1; break; } } } cursize += bcnt * fu->reps; } return (cursize); } void rewrite(FS *fs) { enum { NOTOKAY, USEBCNT, USEPREC } sokay; PR *pr, **nextpr; FU *fu; unsigned char *p1, *p2, *fmtp; char savech, cs[3]; int nconv, prec; size_t len; nextpr = NULL; prec = 0; for (fu = fs->nextfu; fu; fu = fu->nextfu) { /* * Break each format unit into print units; each conversion * character gets its own. */ for (nconv = 0, fmtp = fu->fmt; *fmtp; nextpr = &pr->nextpr) { if ((pr = calloc(1, sizeof(PR))) == NULL) err(1, NULL); if (!fu->nextpr) fu->nextpr = pr; else *nextpr = pr; /* Skip preceding text and up to the next % sign. */ for (p1 = fmtp; *p1 && *p1 != '%'; ++p1); /* Only text in the string. */ if (!*p1) { pr->fmt = fmtp; pr->flags = F_TEXT; break; } /* * Get precision for %s -- if have a byte count, don't * need it. */ if (fu->bcnt) { sokay = USEBCNT; /* Skip to conversion character. */ for (++p1; index(spec, *p1); ++p1); } else { /* Skip any special chars, field width. */ while (index(spec + 1, *++p1)); if (*p1 == '.' && isdigit(*++p1)) { sokay = USEPREC; prec = atoi(p1); while (isdigit(*++p1)); } else sokay = NOTOKAY; } p2 = p1 + 1; /* Set end pointer. */ cs[0] = *p1; /* Set conversion string. */ cs[1] = '\0'; /* * Figure out the byte count for each conversion; * rewrite the format as necessary, set up blank- * padding for end of data. */ switch(cs[0]) { case 'c': pr->flags = F_CHAR; switch(fu->bcnt) { case 0: case 1: pr->bcnt = 1; break; default: p1[1] = '\0'; badcnt(p1); } break; case 'd': case 'i': pr->flags = F_INT; goto isint; case 'o': case 'u': case 'x': case 'X': pr->flags = F_UINT; isint: cs[2] = '\0'; cs[1] = cs[0]; cs[0] = 'q'; switch(fu->bcnt) { case 0: case 4: pr->bcnt = 4; break; case 1: pr->bcnt = 1; break; case 2: pr->bcnt = 2; break; default: p1[1] = '\0'; badcnt(p1); } break; case 'e': case 'E': case 'f': case 'g': case 'G': pr->flags = F_DBL; switch(fu->bcnt) { case 0: case 8: pr->bcnt = 8; break; case 4: pr->bcnt = 4; break; default: if (fu->bcnt == sizeof(long double)) { cs[2] = '\0'; cs[1] = cs[0]; cs[0] = 'L'; pr->bcnt = sizeof(long double); } else { p1[1] = '\0'; badcnt(p1); } } break; case 's': pr->flags = F_STR; switch(sokay) { case NOTOKAY: badsfmt(); case USEBCNT: pr->bcnt = fu->bcnt; break; case USEPREC: pr->bcnt = prec; break; } break; case '_': ++p2; switch(p1[1]) { case 'A': endfu = fu; fu->flags |= F_IGNORE; /* FALLTHROUGH */ case 'a': pr->flags = F_ADDRESS; ++p2; switch(p1[2]) { case 'd': case 'o': case'x': cs[0] = 'q'; cs[1] = p1[2]; cs[2] = '\0'; break; default: p1[3] = '\0'; badconv(p1); } break; case 'c': pr->flags = F_C; /* cs[0] = 'c'; set in conv_c */ goto isint2; case 'p': pr->flags = F_P; cs[0] = 'c'; goto isint2; case 'u': pr->flags = F_U; /* cs[0] = 'c'; set in conv_u */ isint2: switch(fu->bcnt) { case 0: case 1: pr->bcnt = 1; break; default: p1[2] = '\0'; badcnt(p1); } break; default: p1[2] = '\0'; badconv(p1); } break; default: p1[1] = '\0'; badconv(p1); } /* * Copy to PR format string, set conversion character * pointer, update original. */ savech = *p2; p1[0] = '\0'; len = strlen(fmtp) + strlen(cs) + 1; if ((pr->fmt = calloc(1, len)) == NULL) err(1, NULL); snprintf(pr->fmt, len, "%s%s", fmtp, cs); *p2 = savech; pr->cchar = pr->fmt + (p1 - fmtp); fmtp = p2; /* Only one conversion character if byte count. */ if (!(pr->flags&F_ADDRESS) && fu->bcnt && nconv++) errx(1, "byte count with multiple conversion characters"); } /* * If format unit byte count not specified, figure it out * so can adjust rep count later. */ if (!fu->bcnt) for (pr = fu->nextpr; pr; pr = pr->nextpr) fu->bcnt += pr->bcnt; } /* * If the format string interprets any data at all, and it's * not the same as the blocksize, and its last format unit * interprets any data at all, and has no iteration count, * repeat it as necessary. * * If, rep count is greater than 1, no trailing whitespace * gets output from the last iteration of the format unit. */ for (fu = fs->nextfu; fu; fu = fu->nextfu) { if (!fu->nextfu && fs->bcnt < blocksize && !(fu->flags&F_SETREP) && fu->bcnt) fu->reps += (blocksize - fs->bcnt) / fu->bcnt; if (fu->reps > 1) { for (pr = fu->nextpr;; pr = pr->nextpr) if (!pr->nextpr) break; for (p1 = pr->fmt, p2 = NULL; *p1; ++p1) p2 = isspace(*p1) ? p1 : NULL; if (p2) pr->nospace = p2; } } #ifdef DEBUG for (fu = fs->nextfu; fu; fu = fu->nextfu) { (void)printf("fmt:"); for (pr = fu->nextpr; pr; pr = pr->nextpr) (void)printf(" {%s}", pr->fmt); (void)printf("\n"); } #endif } void escape(char *p1) { char *p2; /* alphabetic escape sequences have to be done in place */ for (p2 = p1;; ++p1, ++p2) { if (!*p1) { *p2 = *p1; break; } if (*p1 == '\\') switch(*++p1) { case 'a': /* *p2 = '\a'; */ *p2 = '\007'; break; case 'b': *p2 = '\b'; break; case 'f': *p2 = '\f'; break; case 'n': *p2 = '\n'; break; case 'r': *p2 = '\r'; break; case 't': *p2 = '\t'; break; case 'v': *p2 = '\v'; break; default: *p2 = *p1; break; } } } void badcnt(char *s) { errx(1, "%s: bad byte count", s); } void badsfmt(void) { errx(1, "%%s: requires a precision or a byte count"); } void badfmt(const char *fmt) { errx(1, "\"%s\": bad format", fmt); } void badconv(char *ch) { errx(1, "%%%s: bad conversion character", ch); } bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/display.c0000664000000000000000000002125012665277471017326 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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 #if 0 static char sccsid[] = "@(#)display.c 8.1 (Berkeley) 6/6/93"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include "hexdump.h" enum _vflag vflag = FIRST; static off_t address; /* address/offset in stream */ static off_t eaddress; /* end address */ static void print(PR *, u_char *); void display(void) { FS *fs; FU *fu; PR *pr; int cnt; u_char *bp; off_t saveaddress; u_char savech, *savebp; savech = 0; while ((bp = get())) for (fs = fshead, savebp = bp, saveaddress = address; fs; fs = fs->nextfs, bp = savebp, address = saveaddress) for (fu = fs->nextfu; fu; fu = fu->nextfu) { if (fu->flags&F_IGNORE) break; for (cnt = fu->reps; cnt; --cnt) for (pr = fu->nextpr; pr; address += pr->bcnt, bp += pr->bcnt, pr = pr->nextpr) { if (eaddress && address >= eaddress && !(pr->flags & (F_TEXT|F_BPAD))) bpad(pr); if (cnt == 1 && pr->nospace) { savech = *pr->nospace; *pr->nospace = '\0'; } print(pr, bp); if (cnt == 1 && pr->nospace) *pr->nospace = savech; } } if (endfu) { /* * If eaddress not set, error or file size was multiple of * blocksize, and no partial block ever found. */ if (!eaddress) { if (!address) return; eaddress = address; } for (pr = endfu->nextpr; pr; pr = pr->nextpr) switch(pr->flags) { case F_ADDRESS: (void)printf(pr->fmt, (quad_t)eaddress); break; case F_TEXT: (void)printf("%s", pr->fmt); break; } } } static void print(PR *pr, u_char *bp) { long double ldbl; double f8; float f4; int16_t s2; int8_t s8; int32_t s4; u_int16_t u2; u_int32_t u4; u_int64_t u8; switch(pr->flags) { case F_ADDRESS: (void)printf(pr->fmt, (quad_t)address); break; case F_BPAD: (void)printf(pr->fmt, ""); break; case F_C: conv_c(pr, bp, eaddress ? eaddress - address : blocksize - address % blocksize); break; case F_CHAR: (void)printf(pr->fmt, *bp); break; case F_DBL: switch(pr->bcnt) { case 4: bcopy(bp, &f4, sizeof(f4)); (void)printf(pr->fmt, f4); break; case 8: bcopy(bp, &f8, sizeof(f8)); (void)printf(pr->fmt, f8); break; default: if (pr->bcnt == sizeof(long double)) { bcopy(bp, &ldbl, sizeof(ldbl)); (void)printf(pr->fmt, ldbl); } break; } break; case F_INT: switch(pr->bcnt) { case 1: (void)printf(pr->fmt, (quad_t)(signed char)*bp); break; case 2: bcopy(bp, &s2, sizeof(s2)); (void)printf(pr->fmt, (quad_t)s2); break; case 4: bcopy(bp, &s4, sizeof(s4)); (void)printf(pr->fmt, (quad_t)s4); break; case 8: bcopy(bp, &s8, sizeof(s8)); (void)printf(pr->fmt, s8); break; } break; case F_P: (void)printf(pr->fmt, isprint(*bp) ? *bp : '.'); break; case F_STR: (void)printf(pr->fmt, (char *)bp); break; case F_TEXT: (void)printf("%s", pr->fmt); break; case F_U: conv_u(pr, bp); break; case F_UINT: switch(pr->bcnt) { case 1: (void)printf(pr->fmt, (u_quad_t)*bp); break; case 2: bcopy(bp, &u2, sizeof(u2)); (void)printf(pr->fmt, (u_quad_t)u2); break; case 4: bcopy(bp, &u4, sizeof(u4)); (void)printf(pr->fmt, (u_quad_t)u4); break; case 8: bcopy(bp, &u8, sizeof(u8)); (void)printf(pr->fmt, u8); break; } break; } } void bpad(PR *pr) { static char const *spec = " -0+#"; char *p1, *p2; /* * Remove all conversion flags; '-' is the only one valid * with %s, and it's not useful here. */ pr->flags = F_BPAD; pr->cchar[0] = 's'; pr->cchar[1] = '\0'; for (p1 = pr->fmt; *p1 != '%'; ++p1); for (p2 = ++p1; *p1 && index(spec, *p1); ++p1); while ((*p2++ = *p1++)); } static char **_argv; u_char * get(void) { static int ateof = 1; static u_char *curp, *savp; int n; int need, nread; int valid_save = 0; u_char *tmpp; if (!curp) { if ((curp = calloc(1, blocksize)) == NULL) err(1, NULL); if ((savp = calloc(1, blocksize)) == NULL) err(1, NULL); } else { tmpp = curp; curp = savp; savp = tmpp; address += blocksize; valid_save = 1; } for (need = blocksize, nread = 0;;) { /* * if read the right number of bytes, or at EOF for one file, * and no other files are available, zero-pad the rest of the * block and set the end flag. */ if (!length || (ateof && !next((char **)NULL))) { if (odmode && address < skip) errx(1, "cannot skip past end of input"); if (need == blocksize) return((u_char *)NULL); /* * XXX bcmp() is not quite right in the presence * of multibyte characters. */ if (vflag != ALL && valid_save && bcmp(curp, savp, nread) == 0) { if (vflag != DUP) (void)printf("*\n"); return((u_char *)NULL); } bzero((char *)curp + nread, need); eaddress = address + nread; return(curp); } n = fread((char *)curp + nread, sizeof(u_char), length == -1 ? need : MIN(length, need), stdin); if (!n) { if (ferror(stdin)) warn("%s", _argv[-1]); ateof = 1; continue; } ateof = 0; if (length != -1) length -= n; if (!(need -= n)) { /* * XXX bcmp() is not quite right in the presence * of multibyte characters. */ if (vflag == ALL || vflag == FIRST || valid_save == 0 || bcmp(curp, savp, blocksize) != 0) { if (vflag == DUP || vflag == FIRST) vflag = WAIT; return(curp); } if (vflag == WAIT) (void)printf("*\n"); vflag = DUP; address += blocksize; need = blocksize; nread = 0; } else nread += n; } } size_t peek(u_char *buf, size_t nbytes) { size_t n, nread; int c; if (length != -1 && nbytes > (unsigned int)length) nbytes = length; nread = 0; while (nread < nbytes && (c = getchar()) != EOF) { *buf++ = c; nread++; } n = nread; while (n-- > 0) { c = *--buf; ungetc(c, stdin); } return (nread); } int next(char **argv) { static int done; int statok; if (argv) { _argv = argv; return(1); } for (;;) { if (*_argv) { done = 1; if (!(freopen(*_argv, "r", stdin))) { warn("%s", *_argv); exitval = 1; ++_argv; continue; } statok = 1; } else { if (done++) return(0); statok = 0; } if (skip) doskip(statok ? *_argv : "stdin", statok); if (*_argv) ++_argv; if (!skip) return(1); } /* NOTREACHED */ } void doskip(const char *fname, int statok) { int cnt; struct stat sb; if (statok) { if (fstat(fileno(stdin), &sb)) err(1, "%s", fname); if (S_ISREG(sb.st_mode) && skip >= sb.st_size) { address += sb.st_size; skip -= sb.st_size; return; } } if (S_ISREG(sb.st_mode)) { if (fseeko(stdin, skip, SEEK_SET)) err(1, "%s", fname); address += skip; skip = 0; } else { for (cnt = 0; cnt < skip; ++cnt) if (getchar() == EOF) break; address += cnt; skip -= cnt; } } bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/Makefile0000664000000000000000000000040411371260565017140 0ustar FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 PROG = hexdump SRC = conv.c display.c hexdump.c hexsyntax.c odsyntax.c parse.c topdir=../.. include $(topdir)/config.mk install-2: (cd $(bindir); ln -sf hexdump hd) (cd $(mandir); ln -sf hexdump.1 hd.1) bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/hexdump.h0000664000000000000000000001002411371260565017322 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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. * * @(#)hexdump.h 8.1 (Berkeley) 6/6/93 * $FreeBSD$ */ #include typedef struct _pr { struct _pr *nextpr; /* next print unit */ #define F_ADDRESS 0x001 /* print offset */ #define F_BPAD 0x002 /* blank pad */ #define F_C 0x004 /* %_c */ #define F_CHAR 0x008 /* %c */ #define F_DBL 0x010 /* %[EefGf] */ #define F_INT 0x020 /* %[di] */ #define F_P 0x040 /* %_p */ #define F_STR 0x080 /* %s */ #define F_U 0x100 /* %_u */ #define F_UINT 0x200 /* %[ouXx] */ #define F_TEXT 0x400 /* no conversions */ u_int flags; /* flag values */ int bcnt; /* byte count */ char *cchar; /* conversion character */ char *fmt; /* printf format */ char *nospace; /* no whitespace version */ int mbleft; /* bytes left of multibyte char. */ mbstate_t mbstate; /* conversion state */ } PR; typedef struct _fu { struct _fu *nextfu; /* next format unit */ struct _pr *nextpr; /* next print unit */ #define F_IGNORE 0x01 /* %_A */ #define F_SETREP 0x02 /* rep count set, not default */ u_int flags; /* flag values */ int reps; /* repetition count */ int bcnt; /* byte count */ char *fmt; /* format string */ } FU; typedef struct _fs { /* format strings */ struct _fs *nextfs; /* linked list of format strings */ struct _fu *nextfu; /* linked list of format units */ int bcnt; } FS; extern FS *fshead; /* head of format strings list */ extern FU *endfu; /* format at end-of-data */ extern int blocksize; /* data block size */ extern int exitval; /* final exit value */ extern int odmode; /* are we acting as od(1)? */ extern int length; /* amount of data to read */ extern off_t skip; /* amount of data to skip at start */ enum _vflag { ALL, DUP, FIRST, WAIT }; /* -v values */ extern enum _vflag vflag; void add(const char *); void addfile(char *); void badcnt(char *); void badconv(char *); void badfmt(const char *); void badsfmt(void); void bpad(PR *); void conv_c(PR *, u_char *, size_t); void conv_u(PR *, u_char *); void display(void); void doskip(const char *, int); void escape(char *); u_char *get(void); void newsyntax(int, char ***); int next(char **); void nomem(void); void oldsyntax(int, char ***); size_t peek(u_char *, size_t); void rewrite(FS *); int size(FS *); void usage(void); bsdmainutils-9.0.6ubuntu3/usr.bin/hexdump/hexdump.c0000664000000000000000000000565612665277471017347 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1989, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif /* not lint */ #ifndef lint #if 0 static char sccsid[] = "@(#)hexdump.c 8.1 (Berkeley) 6/6/93"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include "hexdump.h" FS *fshead; /* head of format strings */ int blocksize; /* data block size */ int exitval; /* final exit value */ int length = -1; /* max bytes to read */ int main(int argc, char *argv[]) { FS *tfs; char *p; (void)setlocale(LC_ALL, ""); if (!(p = rindex(argv[0], 'o')) || strcmp(p, "od")) newsyntax(argc, &argv); else oldsyntax(argc, &argv); /* figure out the data block size */ for (blocksize = 0, tfs = fshead; tfs; tfs = tfs->nextfs) { tfs->bcnt = size(tfs); if (blocksize < tfs->bcnt) blocksize = tfs->bcnt; } /* rewrite the rules, do syntax checking */ for (tfs = fshead; tfs; tfs = tfs->nextfs) rewrite(tfs); (void)next(argv); display(); exit(exitval); } bsdmainutils-9.0.6ubuntu3/usr.bin/col/0000775000000000000000000000000012665277472014621 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/col/col.10000664000000000000000000001102711371260565015445 0ustar .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Michael Rendell. .\" .\" 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. .\" .\" @(#)col.1 8.1 (Berkeley) 6/29/93 .\" $FreeBSD$ .\" .Dd August 4, 2004 .Dt COL 1 .Os .Sh NAME .Nm col .Nd filter reverse line feeds from input .Sh SYNOPSIS .Nm .Op Fl bfhpx .Op Fl l Ar num .Sh DESCRIPTION The .Nm utility filters out reverse (and half reverse) line feeds so that the output is in the correct order with only forward and half forward line feeds, and replaces white-space characters with tabs where possible. This can be useful in processing the output of .Xr nroff 1 and .Xr tbl 1 . .Pp The .Nm utility reads from the standard input and writes to the standard output. .Pp The options are as follows: .Bl -tag -width indent .It Fl b Do not output any backspaces, printing only the last character written to each column position. .It Fl f Forward half line feeds are permitted (``fine'' mode). Normally characters printed on a half line boundary are printed on the following line. .It Fl h Do not output multiple spaces instead of tabs (default). .It Fl l Ar num Buffer at least .Ar num lines in memory. By default, 128 lines are buffered. .It Fl p Force unknown control sequences to be passed through unchanged. Normally, .Nm will filter out any control sequences from the input other than those recognized and interpreted by itself, which are listed below. .It Fl x Output multiple spaces instead of tabs. .El .Pp The control sequences for carriage motion that .Nm understands and their decimal values are listed in the following table: .Pp .Bl -tag -width "carriage return" -compact .It ESC\-7 reverse line feed (escape then 7) .It ESC\-8 half reverse line feed (escape then 8) .It ESC\-9 half forward line feed (escape then 9) .It backspace moves back one column (8); ignored in the first column .It carriage return (13) .It newline forward line feed (10); also does carriage return .It shift in shift to normal character set (15) .It shift out shift to alternate character set (14) .It space moves forward one column (32) .It tab moves forward to next tab stop (9) .It vertical tab reverse line feed (11) .El .Pp All unrecognized control characters and escape sequences are discarded. .Pp The .Nm utility keeps track of the character set as characters are read and makes sure the character set is correct when they are output. .Pp If the input attempts to back up to the last flushed line, .Nm will display a warning message. .Sh ENVIRONMENT The .Ev LANG , LC_ALL and .Ev LC_CTYPE environment variables affect the execution of .Nm as described in .Xr environ 7 . .Sh EXIT STATUS .Ex -std .Sh SEE ALSO .Xr colcrt 1 , .Xr expand 1 , .Xr nroff 1 , .Xr tbl 1 .Sh STANDARDS The .Nm utility conforms to .St -susv2 . .Sh HISTORY A .Nm command appeared in .At v6 . bsdmainutils-9.0.6ubuntu3/usr.bin/col/README0000664000000000000000000000415611371260565015473 0ustar # @(#)README 8.1 (Berkeley) 6/6/93 # # $FreeBSD$ col - filter out reverse line feeds. Options are: -b do not print any backspaces (last character written is printed) -f allow half line feeds in output, by default characters between lines are pushed to the line below -p force unknown control sequences to be passed through unchanged -x do not compress spaces into tabs. -l num keep (at least) num lines in memory, 128 are kept by default In the 32V source code to col(1) the default behavior was to NOT compress spaces into tabs. There was a -h option which caused it to compress spaces into tabs. There was no -x flag. The 32V documentation, however, was consistent with the SVID (actually, V7 at the time) and documented a -x flag (as defined above) while making no mention of a -h flag. Just before 4.3BSD went out, CSRG updated the manual page to reflect the way the code worked. Suspecting that this was probably the wrong way to go, this version adopts the SVID defaults, and no longer documents the -h option. Known differences between AT&T's col and this one (# is delimiter): Input AT&T col this col #\nabc\E7def\n# # def\nabc\r# # def\nabc\n# #a# ## #a\n# - last line always ends with at least one \n (or \E9) #1234567 8\n# #1234567\t8\n# #1234567 8\n# - single space not expanded to tab -f #a\E8b\n# #ab\n# # b\E9\ra\n# - can back up past first line (as far as you want) so you *can* have a super script on the first line #\E9_\ba\E8\nb\n# #\n_\bb\ba\n# #\n_\ba\bb\n# - always print last character written to a position, AT&T col claims to do this but doesn't. If a character is to be placed on a line that has been flushed, a warning is produced (the AT&T col is silent). The -l flag (not in AT&T col) can be used to increase the number of lines buffered to avoid the problem. General algorithm: a limited number of lines are buffered in a linked list. When a printable character is read, it is put in the buffer of the current line along with the column it's supposed to be in. When a line is flushed, the characters in the line are sorted according to column and then printed. bsdmainutils-9.0.6ubuntu3/usr.bin/col/col.c0000664000000000000000000003162412665277472015550 0ustar /*- * Copyright (c) 1990, 1993, 1994 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Michael Rendell of the Memorial University of Newfoundland. * * 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 const char copyright[] = "@(#) Copyright (c) 1990, 1993, 1994\n\ The Regents of the University of California. All rights reserved.\n"; #endif #if 0 #ifndef lint static char sccsid[] = "@(#)col.c 8.5 (Berkeley) 5/4/95"; #endif #endif #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #define BS '\b' /* backspace */ #define TAB '\t' /* tab */ #define SPACE ' ' /* space */ #define NL '\n' /* newline */ #define CR '\r' /* carriage return */ #define ESC '\033' /* escape */ #define SI '\017' /* shift in to normal character set */ #define SO '\016' /* shift out to alternate character set */ #define VT '\013' /* vertical tab (aka reverse line feed) */ #define RLF '\007' /* ESC-07 reverse line feed */ #define RHLF '\010' /* ESC-010 reverse half-line feed */ #define FHLF '\011' /* ESC-011 forward half-line feed */ /* build up at least this many lines before flushing them out */ #define BUFFER_MARGIN 32 typedef char CSET; typedef struct char_str { #define CS_NORMAL 1 #define CS_ALTERNATE 2 short c_column; /* column character is in */ CSET c_set; /* character set (currently only 2) */ wchar_t c_char; /* character in question */ int c_width; /* character width */ } CHAR; typedef struct line_str LINE; struct line_str { CHAR *l_line; /* characters on the line */ LINE *l_prev; /* previous line */ LINE *l_next; /* next line */ int l_lsize; /* allocated sizeof l_line */ int l_line_len; /* strlen(l_line) */ int l_needs_sort; /* set if chars went in out of order */ int l_max_col; /* max column in the line */ }; LINE *alloc_line(void); void dowarn(int); void flush_line(LINE *); void flush_lines(int); void flush_blanks(void); void free_line(LINE *); void usage(void); CSET last_set; /* char_set of last char printed */ LINE *lines; int compress_spaces; /* if doing space -> tab conversion */ int fine; /* if `fine' resolution (half lines) */ int max_bufd_lines; /* max # lines to keep in memory */ int nblank_lines; /* # blanks after last flushed line */ int no_backspaces; /* if not to output any backspaces */ int pass_unknown_seqs; /* pass unknown control sequences */ #define PUTC(ch) \ do { \ if (putwchar(ch) == WEOF) \ errx(1, "write error"); \ } while (0) int main(int argc, char **argv) { wint_t ch; CHAR *c; CSET cur_set; /* current character set */ LINE *l; /* current line */ int extra_lines; /* # of lines above first line */ int cur_col; /* current column */ int cur_line; /* line number of current position */ int max_line; /* max value of cur_line */ int this_line; /* line l points to */ int nflushd_lines; /* number of lines that were flushed */ int adjust, opt, warned, width; (void)setlocale(LC_CTYPE, ""); max_bufd_lines = 128; compress_spaces = 1; /* compress spaces into tabs */ while ((opt = getopt(argc, argv, "bfhl:px")) != -1) switch (opt) { case 'b': /* do not output backspaces */ no_backspaces = 1; break; case 'f': /* allow half forward line feeds */ fine = 1; break; case 'h': /* compress spaces into tabs */ compress_spaces = 1; break; case 'l': /* buffered line count */ if ((max_bufd_lines = atoi(optarg)) <= 0) errx(1, "bad -l argument %s", optarg); break; case 'p': /* pass unknown control sequences */ pass_unknown_seqs = 1; break; case 'x': /* do not compress spaces into tabs */ compress_spaces = 0; break; case '?': default: usage(); } if (optind != argc) usage(); /* this value is in half lines */ max_bufd_lines *= 2; adjust = cur_col = extra_lines = warned = 0; cur_line = max_line = nflushd_lines = this_line = 0; cur_set = last_set = CS_NORMAL; lines = l = alloc_line(); while ((ch = getwchar()) != WEOF) { if (!iswgraph(ch)) { switch (ch) { case BS: /* can't go back further */ if (cur_col == 0) continue; --cur_col; continue; case CR: cur_col = 0; continue; case ESC: /* just ignore EOF */ switch(getwchar()) { case RLF: cur_line -= 2; break; case RHLF: cur_line--; break; case FHLF: cur_line++; if (cur_line > max_line) max_line = cur_line; } continue; case NL: cur_line += 2; if (cur_line > max_line) max_line = cur_line; cur_col = 0; continue; case SPACE: ++cur_col; continue; case SI: cur_set = CS_NORMAL; continue; case SO: cur_set = CS_ALTERNATE; continue; case TAB: /* adjust column */ cur_col |= 7; ++cur_col; continue; case VT: cur_line -= 2; continue; } if (iswspace(ch)) { if ((width = wcwidth(ch)) > 0) cur_col += width; continue; } if (!pass_unknown_seqs) continue; } /* Must stuff ch in a line - are we at the right one? */ if (cur_line != this_line - adjust) { LINE *lnew; int nmove; adjust = 0; nmove = cur_line - this_line; if (!fine) { /* round up to next line */ if (cur_line & 1) { adjust = 1; nmove++; } } if (nmove < 0) { for (; nmove < 0 && l->l_prev; nmove++) l = l->l_prev; if (nmove) { if (nflushd_lines == 0) { /* * Allow backup past first * line if nothing has been * flushed yet. */ for (; nmove < 0; nmove++) { lnew = alloc_line(); l->l_prev = lnew; lnew->l_next = l; l = lines = lnew; extra_lines++; } } else { if (!warned++) dowarn(cur_line); cur_line -= nmove; } } } else { /* may need to allocate here */ for (; nmove > 0 && l->l_next; nmove--) l = l->l_next; for (; nmove > 0; nmove--) { lnew = alloc_line(); lnew->l_prev = l; l->l_next = lnew; l = lnew; } } this_line = cur_line + adjust; nmove = this_line - nflushd_lines; if (nmove >= max_bufd_lines + BUFFER_MARGIN) { nflushd_lines += nmove - max_bufd_lines; flush_lines(nmove - max_bufd_lines); } } /* grow line's buffer? */ if (l->l_line_len + 1 >= l->l_lsize) { int need; need = l->l_lsize ? l->l_lsize * 2 : 90; if ((l->l_line = realloc(l->l_line, (unsigned)need * sizeof(CHAR))) == NULL) err(1, (char *)NULL); l->l_lsize = need; } c = &l->l_line[l->l_line_len++]; c->c_char = ch; c->c_set = cur_set; c->c_column = cur_col; c->c_width = wcwidth(ch); /* * If things are put in out of order, they will need sorting * when it is flushed. */ if (cur_col < l->l_max_col) l->l_needs_sort = 1; else l->l_max_col = cur_col; if (c->c_width > 0) cur_col += c->c_width; } if (ferror(stdin)) err(1, NULL); if (max_line == 0) exit(0); /* no lines, so just exit */ /* goto the last line that had a character on it */ for (; l->l_next; l = l->l_next) this_line++; flush_lines(this_line - nflushd_lines + extra_lines + 1); /* make sure we leave things in a sane state */ if (last_set != CS_NORMAL) PUTC('\017'); /* flush out the last few blank lines */ nblank_lines = max_line - this_line; if (max_line & 1) nblank_lines++; else if (!nblank_lines) /* missing a \n on the last line? */ nblank_lines = 2; flush_blanks(); exit(0); } void flush_lines(int nflush) { LINE *l; while (--nflush >= 0) { l = lines; lines = l->l_next; if (l->l_line) { flush_blanks(); flush_line(l); } nblank_lines++; if (l->l_line) (void)free(l->l_line); free_line(l); } if (lines) lines->l_prev = NULL; } /* * Print a number of newline/half newlines. If fine flag is set, nblank_lines * is the number of half line feeds, otherwise it is the number of whole line * feeds. */ void flush_blanks(void) { int half, i, nb; half = 0; nb = nblank_lines; if (nb & 1) { if (fine) half = 1; else nb++; } nb /= 2; for (i = nb; --i >= 0;) PUTC('\n'); if (half) { PUTC('\033'); PUTC('9'); if (!nb) PUTC('\r'); } nblank_lines = 0; } /* * Write a line to stdout taking care of space to tab conversion (-h flag) * and character set shifts. */ void flush_line(LINE *l) { CHAR *c, *endc; int i, j, nchars, last_col, save, this_col, tot; last_col = 0; nchars = l->l_line_len; if (l->l_needs_sort) { static CHAR *sorted; static int count_size, *count, sorted_size; /* * Do an O(n) sort on l->l_line by column being careful to * preserve the order of characters in the same column. */ if (l->l_lsize > sorted_size) { sorted_size = l->l_lsize; if ((sorted = realloc(sorted, (unsigned)sizeof(CHAR) * sorted_size)) == NULL) err(1, (char *)NULL); } if (l->l_max_col >= count_size) { count_size = l->l_max_col + 1; if ((count = realloc(count, (unsigned)sizeof(int) * count_size)) == NULL) err(1, (char *)NULL); } memset(count, 0, sizeof(int) * l->l_max_col + 1); for (i = nchars, c = l->l_line; --i >= 0; c++) count[c->c_column]++; /* * calculate running total (shifted down by 1) to use as * indices into new line. */ for (tot = 0, i = 0; i <= l->l_max_col; i++) { save = count[i]; count[i] = tot; tot += save; } for (i = nchars, c = l->l_line; --i >= 0; c++) sorted[count[c->c_column]++] = *c; c = sorted; } else c = l->l_line; while (nchars > 0) { this_col = c->c_column; endc = c; do { ++endc; } while (--nchars > 0 && this_col == endc->c_column); /* if -b only print last character */ if (no_backspaces) { c = endc - 1; if (nchars > 0 && this_col + c->c_width > endc->c_column) continue; } if (this_col > last_col) { int nspace = this_col - last_col; if (compress_spaces && nspace > 1) { while (1) { int tab_col, tab_size;; tab_col = (last_col + 8) & ~7; if (tab_col > this_col) break; tab_size = tab_col - last_col; if (tab_size == 1) PUTC(' '); else PUTC('\t'); nspace -= tab_size; last_col = tab_col; } } while (--nspace >= 0) PUTC(' '); last_col = this_col; } for (;;) { if (c->c_set != last_set) { switch (c->c_set) { case CS_NORMAL: PUTC('\017'); break; case CS_ALTERNATE: PUTC('\016'); } last_set = c->c_set; } PUTC(c->c_char); if ((c + 1) < endc) for (j = 0; j < c->c_width; j++) PUTC('\b'); if (++c >= endc) break; } last_col += (c - 1)->c_width; } } #define NALLOC 64 static LINE *line_freelist; LINE * alloc_line(void) { LINE *l; int i; if (!line_freelist) { if ((l = realloc(NULL, sizeof(LINE) * NALLOC)) == NULL) err(1, (char *)NULL); line_freelist = l; for (i = 1; i < NALLOC; i++, l++) l->l_next = l + 1; l->l_next = NULL; } l = line_freelist; line_freelist = l->l_next; memset(l, 0, sizeof(LINE)); return (l); } void free_line(LINE *l) { l->l_next = line_freelist; line_freelist = l; } void usage(void) { (void)fprintf(stderr, "usage: col [-bfhpx] [-l nline]\n"); exit(1); } void dowarn(int line) { warnx("warning: can't back up %s", line < 0 ? "past first line" : "-- line already flushed"); } bsdmainutils-9.0.6ubuntu3/usr.bin/col/Makefile0000664000000000000000000000006511371260565016246 0ustar PROG = col topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/column/0000775000000000000000000000000012665277472015341 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/column/column.10000664000000000000000000000632312665277471016723 0ustar .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. .\" .\" @(#)column.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd July 29, 2004 .Os .Dt COLUMN 1 .Sh NAME .Nm column .Nd columnate lists .Sh SYNOPSIS .Nm .Op Fl tx .Op Fl c Ar columns .Op Fl s Ar sep .Op Ar .Sh DESCRIPTION The .Nm utility formats its input into multiple columns. Rows are filled before columns. Input is taken from .Ar file operands, or, by default, from the standard input. Empty lines are ignored. .Pp The options are as follows: .Bl -tag -width indent .It Fl c Output is formatted for a display .Ar columns wide. .It Fl s Specify a set of characters to be used to delimit columns for the .Fl t option. .It Fl t Determine the number of columns the input contains and create a table. Columns are delimited with whitespace, by default, or with the characters supplied using the .Fl s option. Useful for pretty-printing displays. .It Fl x Fill columns before filling rows. .El .Sh ENVIRONMENT The .Ev COLUMNS , LANG , LC_ALL and .Ev LC_CTYPE environment variables affect the execution of .Nm as described in .Xr environ 7 . .Sh EXIT STATUS .Ex -std .Sh EXAMPLES .Dl (printf \&"PERM LINKS OWNER GROUP SIZE MONTH DAY \&"\ \&;\ \&\e .Dl printf \&"HH:MM/YEAR NAME\en\&"\ \&;\ \&\e .Dl ls -l \&| sed 1d) \&| column -t .Sh SEE ALSO .Xr colrm 1 , .Xr ls 1 , .Xr paste 1 , .Xr sort 1 .Sh HISTORY The .Nm command appeared in .Bx 4.3 Reno . .Sh BUGS Input lines are limited to .Dv LINE_MAX (2048) bytes in length. bsdmainutils-9.0.6ubuntu3/usr.bin/column/column.c0000664000000000000000000001762212665277471017011 0ustar /* * Copyright (c) 1989, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1989, 1993, 1994\n\ The Regents of the University of California. All rights reserved.\n"; #endif #if 0 #ifndef lint static char sccsid[] = "@(#)column.c 8.4 (Berkeley) 5/4/95"; #endif #endif #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include #include #include #include #define TAB 8 void c_columnate(void); void input(FILE *); void maketbl(void); void print(void); void r_columnate(void); void usage(void); int width(const wchar_t *); int termwidth = 80; /* default terminal width */ int entries; /* number of records */ int eval; /* exit value */ int maxlength; /* longest record */ wchar_t **list; /* array of pointers to records */ const wchar_t *separator = L"\t "; /* field separator for table option */ int main(int argc, char **argv) { struct winsize win; FILE *fp; int ch, tflag, xflag; char *p; const char *src; wchar_t *newsep; size_t seplen; setlocale(LC_ALL, ""); if (ioctl(1, TIOCGWINSZ, &win) == -1 || !win.ws_col) { if ((p = getenv("COLUMNS"))) termwidth = atoi(p); } else termwidth = win.ws_col; tflag = xflag = 0; while ((ch = getopt(argc, argv, "c:s:tx")) != -1) switch(ch) { case 'c': termwidth = atoi(optarg); break; case 's': src = optarg; seplen = mbsrtowcs(NULL, &src, 0, NULL); if (seplen == (size_t)-1) err(1, "bad separator"); newsep = malloc((seplen + 1) * sizeof(wchar_t)); if (newsep == NULL) err(1, NULL); mbsrtowcs(newsep, &src, seplen + 1, NULL); separator = newsep; break; case 't': tflag = 1; break; case 'x': xflag = 1; break; case '?': default: usage(); } argc -= optind; argv += optind; if (!*argv) input(stdin); else for (; *argv; ++argv) if ((fp = fopen(*argv, "r"))) { input(fp); (void)fclose(fp); } else { warn("%s", *argv); eval = 1; } if (!entries) exit(eval); maxlength = roundup(maxlength + 1, TAB); if (tflag) maketbl(); else if (maxlength >= termwidth) print(); else if (xflag) c_columnate(); else r_columnate(); exit(eval); } void c_columnate(void) { int chcnt, col, cnt, endcol, numcols; wchar_t **lp; numcols = termwidth / maxlength; endcol = maxlength; for (chcnt = col = 0, lp = list;; ++lp) { wprintf(L"%ls", *lp); chcnt += width(*lp); if (!--entries) break; if (++col == numcols) { chcnt = col = 0; endcol = maxlength; putwchar('\n'); } else { while ((cnt = roundup(chcnt + 1, TAB)) <= endcol) { (void)putwchar('\t'); chcnt = cnt; } endcol += maxlength; } } if (chcnt) putwchar('\n'); } void r_columnate(void) { int base, chcnt, cnt, col, endcol, numcols, numrows, row; numcols = termwidth / maxlength; numrows = entries / numcols; if (entries % numcols) ++numrows; for (row = 0; row < numrows; ++row) { endcol = maxlength; for (base = row, chcnt = col = 0; col < numcols; ++col) { wprintf(L"%ls", list[base]); chcnt += width(list[base]); if ((base += numrows) >= entries) break; while ((cnt = roundup(chcnt + 1, TAB)) <= endcol) { (void)putwchar('\t'); chcnt = cnt; } endcol += maxlength; } putwchar('\n'); } } void print(void) { int cnt; wchar_t **lp; for (cnt = entries, lp = list; cnt--; ++lp) (void)wprintf(L"%ls\n", *lp); } typedef struct _tbl { wchar_t **list; int cols, *len; } TBL; #define DEFCOLS 25 void maketbl(void) { TBL *t; int coloff, cnt; wchar_t *p, **lp; int *lens, maxcols; TBL *tbl; wchar_t **cols; wchar_t *last; if ((t = tbl = calloc(entries, sizeof(TBL))) == NULL) err(1, (char *)NULL); if ((cols = calloc((maxcols = DEFCOLS), sizeof(*cols))) == NULL) err(1, (char *)NULL); if ((lens = calloc(maxcols, sizeof(int))) == NULL) err(1, (char *)NULL); for (cnt = 0, lp = list; cnt < entries; ++cnt, ++lp, ++t) { for (coloff = 0, p = *lp; (cols[coloff] = wcstok(p, separator, &last)); p = NULL) if (++coloff == maxcols) { if (!(cols = realloc(cols, ((u_int)maxcols + DEFCOLS) * sizeof(char *))) || !(lens = realloc(lens, ((u_int)maxcols + DEFCOLS) * sizeof(int)))) err(1, NULL); memset((char *)lens + maxcols * sizeof(int), 0, DEFCOLS * sizeof(int)); maxcols += DEFCOLS; } if ((t->list = calloc(coloff, sizeof(*t->list))) == NULL) err(1, (char *)NULL); if ((t->len = calloc(coloff, sizeof(int))) == NULL) err(1, (char *)NULL); for (t->cols = coloff; --coloff >= 0;) { t->list[coloff] = cols[coloff]; t->len[coloff] = width(cols[coloff]); if (t->len[coloff] > lens[coloff]) lens[coloff] = t->len[coloff]; } } for (cnt = 0, t = tbl; cnt < entries; ++cnt, ++t) { for (coloff = 0; coloff < t->cols - 1; ++coloff) (void)wprintf(L"%ls%*ls", t->list[coloff], lens[coloff] - t->len[coloff] + 2, L" "); (void)wprintf(L"%ls\n", t->list[coloff]); } } #define DEFNUM 1000 #define MAXLINELEN (LINE_MAX + 1) void input(FILE *fp) { static int maxentry; int len; wchar_t *p, buf[MAXLINELEN]; if (!list) if ((list = calloc((maxentry = DEFNUM), sizeof(*list))) == NULL) err(1, (char *)NULL); while (fgetws(buf, MAXLINELEN, fp)) { for (p = buf; *p && iswspace(*p); ++p); if (!*p) continue; if (!(p = wcschr(p, L'\n'))) { warnx("line too long"); eval = 1; continue; } *p = L'\0'; len = width(buf); if (maxlength < len) maxlength = len; if (entries == maxentry) { maxentry += DEFNUM; if (!(list = realloc(list, (u_int)maxentry * sizeof(*list)))) err(1, NULL); } list[entries] = malloc((wcslen(buf) + 1) * sizeof(wchar_t)); if (list[entries] == NULL) err(1, NULL); wcscpy(list[entries], buf); entries++; } } /* Like wcswidth(), but ignores non-printing characters. */ int width(const wchar_t *wcs) { int w, cw; for (w = 0; *wcs != L'\0'; wcs++) if ((cw = wcwidth(*wcs)) > 0) w += cw; return (w); } void usage(void) { (void)fprintf(stderr, "usage: column [-tx] [-c columns] [-s sep] [file ...]\n"); exit(1); } bsdmainutils-9.0.6ubuntu3/usr.bin/column/Makefile0000664000000000000000000000007011371260565016762 0ustar PROG = column topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/0000775000000000000000000000000012665277472014761 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/calendar.30000664000000000000000000001305711371260565016610 0ustar .\" Copyright (c) 1997 Wolfgang Helbig .\" All rights reserved. .\" .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. .\" .\" $FreeBSD$ .\" .Dd November 29, 1997 .Dt CALENDAR 3 .Os .Sh NAME .Nm easterg , .Nm easterog , .Nm easteroj , .Nm gdate , .Nm jdate , .Nm ndaysg , .Nm ndaysj , .Nm week , .Nm weekday .Nd Calendar arithmetic for the Christian era .Sh LIBRARY .Lb libcalendar .Sh SYNOPSIS .In calendar.h .Ft struct date * .Fn easterg "int year" "struct date *dt" .Ft struct date * .Fn easterog "int year" "struct date *dt" .Ft struct date * .Fn easteroj "int year" "struct date *dt" .Ft struct date * .Fn gdate "int nd" "struct date *dt" .Ft struct date * .Fn jdate "int nd" "struct date *dt" .Ft int .Fn ndaysg "struct date *dt" .Ft int .Fn ndaysj "struct date *dt" .Ft int .Fn week "int nd" "int *year" .Ft int .Fn weekday "int nd" .Sh DESCRIPTION These functions provide calendar arithmetic for a large range of years, starting at March 1st, year zero (i.e., 1 B.C.) and ending way beyond year 100000. .Pp Programs should be linked with .Fl lcalendar . .Pp The functions .Fn easterg , .Fn easterog and .Fn easteroj store the date of Easter Sunday into the structure pointed at by .Fa dt and return a pointer to this structure. The function .Fn easterg assumes Gregorian Calendar (adopted by most western churches after 1582) and the functions .Fn easterog and .Fn easteroj compute the date of Easter Sunday according to the orthodox rules (Western churches before 1582, Greek and Russian Orthodox Church until today). The result returned by .Fn easterog is the date in Gregorian Calendar, whereas .Fn easteroj returns the date in Julian Calendar. .Pp The functions .Fn gdate , .Fn jdate , .Fn ndaysg and .Fn ndaysj provide conversions between the common "year, month, day" notation of a date and the "number of days" representation, which is better suited for calculations. The days are numbered from March 1st year 1 B.C., starting with zero, so the number of a day gives the number of days since March 1st, year 1 B.C. The conversions work for nonnegative day numbers only. .Pp The .Fn gdate and .Fn jdate functions store the date corresponding to the day number .Fa nd into the structure pointed at by .Fa dt and return a pointer to this structure. .Pp The .Fn ndaysg and .Fn ndaysj functions return the day number of the date pointed at by .Fa dt . .Pp The .Fn gdate and .Fn ndaysg functions assume Gregorian Calendar after October 4, 1582 and Julian Calendar before, whereas .Fn jdate and .Fn ndaysj assume Julian Calendar throughout. .Pp The two calendars differ by the definition of the leap year. The Julian Calendar says every year that is a multiple of four is a leap year. The Gregorian Calendar excludes years that are multiples of 100 and not multiples of 400. This means the years 1700, 1800, 1900, 2100 are not leap years and the year 2000 is a leap year. The new rules were inaugurated on October 4, 1582 by deleting ten days following this date. Most catholic countries adopted the new calendar by the end of the 16th century, whereas others stayed with the Julian Calendar until the 20th century. The United Kingdom and their colonies switched on September 2, 1752. They already had to delete 11 days. .Pp The function .Fn week returns the number of the week which contains the day numbered .Fa nd . The argument .Fa *year is set with the year that contains (the greater part of) the week. The weeks are numbered per year starting with week 1, which is the first week in a year that includes more than three days of the year. Weeks start on Monday. This function is defined for Gregorian Calendar only. .Pp The function .Fn weekday returns the weekday (Mo = 0 ..\& Su = 6) of the day numbered .Fa nd . .Pp The structure .Fa date is defined in .In calendar.h . It contains these fields: .Bd -literal -offset indent int y; /\(** year (0000 - ????) \(**/ int m; /\(** month (1 - 12) \(**/ int d; /\(** day of month (1 - 31) \(**/ .Ed .Pp The year zero is written as "1 B.C." by historians and "0" by astronomers and in this library. .Sh SEE ALSO .Xr ncal 1 , .Xr strftime 3 .Sh STANDARDS The week number conforms to ISO 8601: 1988. .Sh HISTORY The .Nm calendar library first appeared in .Fx 3.0 . .Sh AUTHORS This manual page and the library was written by .An Wolfgang Helbig Aq helbig@FreeBSD.org . .Sh BUGS The library was coded with great care so there are no bugs left. bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/easter.c0000664000000000000000000000547412665277472016422 0ustar /*- * Copyright (c) 1997 Wolfgang Helbig * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. */ #include __FBSDID("$FreeBSD$"); #include "calendar.h" typedef struct date date; static int easterodn(int y); /* Compute Easter Sunday in Gregorian Calendar */ date * easterg(int y, date *dt) { int c, i, j, k, l, n; n = y % 19; c = y / 100; k = (c - 17) / 25; i = (c - c/4 -(c-k)/3 + 19 * n + 15) % 30; i = i -(i/28) * (1 - (i/28) * (29/(i + 1)) * ((21 - n)/11)); j = (y + y/4 + i + 2 - c + c/4) % 7; l = i - j; dt->m = 3 + (l + 40) / 44; dt->d = l + 28 - 31*(dt->m / 4); dt->y = y; return (dt); } /* Compute the Gregorian date of Easter Sunday in Julian Calendar */ date * easterog(int y, date *dt) { return (gdate(easterodn(y), dt)); } /* Compute the Julian date of Easter Sunday in Julian Calendar */ date * easteroj(int y, date * dt) { return (jdate(easterodn(y), dt)); } /* Compute the day number of Easter Sunday in Julian Calendar */ static int easterodn(int y) { /* * Table for the easter limits in one metonic (19-year) cycle. 21 * to 31 is in March, 1 through 18 in April. Easter is the first * sunday after the easter limit. */ int mc[] = {5, 25, 13, 2, 22, 10, 30, 18, 7, 27, 15, 4, 24, 12, 1, 21, 9, 29, 17}; /* Offset from a weekday to next sunday */ int ns[] = {6, 5, 4, 3, 2, 1, 7}; date dt; int dn; /* Assign the easter limit of y to dt */ dt.d = mc[y % 19]; if (dt.d < 21) dt.m = 4; else dt.m = 3; dt.y = y; /* Return the next sunday after the easter limit */ dn = ndaysj(&dt); return (dn + ns[weekday(dn)]); } bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/ncal.c0000664000000000000000000007253312665277472016054 0ustar /*- * Copyright (c) 1997 Wolfgang Helbig * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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 const char rcsid[] = "$FreeBSD$"; #endif /* not lint */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #undef lines /* term.h defines this */ /* Width of one month with backward compatibility and in regular mode*/ #define MONTH_WIDTH_B_J 27 #define MONTH_WIDTH_B 20 #define MONTH_WIDTH_R_J 24 #define MONTH_WIDTH_R 18 #define MAX_WIDTH 64 typedef struct date date; struct monthlines { wchar_t name[MAX_WIDTH + 1]; char lines[7][MAX_WIDTH + 1]; char weeks[MAX_WIDTH + 1]; unsigned int extralen[7]; }; struct weekdays { wchar_t names[7][4]; }; /* The switches from Julian to Gregorian in some countries */ static struct djswitch { const char *cc; /* Country code according to ISO 3166 */ const char *nm; /* Name of country */ date dt; /* Last day of Julian calendar */ } switches[] = { {"AL", "Albania", {1912, 11, 30}}, {"AT", "Austria", {1583, 10, 5}}, {"AU", "Australia", {1752, 9, 2}}, {"BE", "Belgium", {1582, 12, 14}}, {"BG", "Bulgaria", {1916, 3, 18}}, {"CA", "Canada", {1752, 9, 2}}, {"CH", "Switzerland", {1655, 2, 28}}, {"CN", "China", {1911, 12, 18}}, {"CZ", "Czech Republic",{1584, 1, 6}}, {"DE", "Germany", {1700, 2, 18}}, {"DK", "Denmark", {1700, 2, 18}}, {"ES", "Spain", {1582, 10, 4}}, {"FI", "Finland", {1753, 2, 17}}, {"FR", "France", {1582, 12, 9}}, {"GB", "United Kingdom",{1752, 9, 2}}, {"GR", "Greece", {1924, 3, 9}}, {"HU", "Hungary", {1587, 10, 21}}, {"IS", "Iceland", {1700, 11, 16}}, {"IT", "Italy", {1582, 10, 4}}, {"JP", "Japan", {1918, 12, 18}}, {"LI", "Lithuania", {1918, 2, 1}}, {"LN", "Latin", {9999, 05, 31}}, {"LU", "Luxembourg", {1582, 12, 14}}, {"LV", "Latvia", {1918, 2, 1}}, {"NL", "Netherlands", {1582, 12, 14}}, {"NO", "Norway", {1700, 2, 18}}, {"PL", "Poland", {1582, 10, 4}}, {"PT", "Portugal", {1582, 10, 4}}, {"RO", "Romania", {1919, 3, 31}}, {"RU", "Russia", {1918, 1, 31}}, {"SI", "Slovenia", {1919, 3, 4}}, {"SW", "Sweden", {1753, 2, 17}}, {"TR", "Turkey", {1926, 12, 18}}, {"US", "United States", {1752, 9, 2}}, {"YU", "Yugoslavia", {1919, 3, 4}} }; struct djswitch *dftswitch = switches + sizeof(switches) / sizeof(struct djswitch) - 2; /* default switch (should be "US") */ /* Table used to print day of month and week numbers */ char daystr[] = " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" " 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31" " 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47" " 48 49 50 51 52 53"; /* Table used to print day of year and week numbers */ char jdaystr[] = " 1 2 3 4 5 6 7 8 9" " 10 11 12 13 14 15 16 17 18 19" " 20 21 22 23 24 25 26 27 28 29" " 30 31 32 33 34 35 36 37 38 39" " 40 41 42 43 44 45 46 47 48 49" " 50 51 52 53 54 55 56 57 58 59" " 60 61 62 63 64 65 66 67 68 69" " 70 71 72 73 74 75 76 77 78 79" " 80 81 82 83 84 85 86 87 88 89" " 90 91 92 93 94 95 96 97 98 99" " 100 101 102 103 104 105 106 107 108 109" " 110 111 112 113 114 115 116 117 118 119" " 120 121 122 123 124 125 126 127 128 129" " 130 131 132 133 134 135 136 137 138 139" " 140 141 142 143 144 145 146 147 148 149" " 150 151 152 153 154 155 156 157 158 159" " 160 161 162 163 164 165 166 167 168 169" " 170 171 172 173 174 175 176 177 178 179" " 180 181 182 183 184 185 186 187 188 189" " 190 191 192 193 194 195 196 197 198 199" " 200 201 202 203 204 205 206 207 208 209" " 210 211 212 213 214 215 216 217 218 219" " 220 221 222 223 224 225 226 227 228 229" " 230 231 232 233 234 235 236 237 238 239" " 240 241 242 243 244 245 246 247 248 249" " 250 251 252 253 254 255 256 257 258 259" " 260 261 262 263 264 265 266 267 268 269" " 270 271 272 273 274 275 276 277 278 279" " 280 281 282 283 284 285 286 287 288 289" " 290 291 292 293 294 295 296 297 298 299" " 300 301 302 303 304 305 306 307 308 309" " 310 311 312 313 314 315 316 317 318 319" " 320 321 322 323 324 325 326 327 328 329" " 330 331 332 333 334 335 336 337 338 339" " 340 341 342 343 344 345 346 347 348 349" " 350 351 352 353 354 355 356 357 358 359" " 360 361 362 363 364 365 366"; int flag_nohighlight; /* user doesn't want a highlighted today */ int flag_weeks; /* user wants number of week */ int nswitch; /* user defined switch date */ int nswitchb; /* switch date for backward compatibility */ int highlightdate; char *center(char *s, char *t, int w); wchar_t *wcenter(wchar_t *s, wchar_t *t, int w); int firstday(int y, int m); void highlight(char *dst, char *src, int len, int *extraletters); void mkmonthr(int year, int month, int jd_flag, struct monthlines * monthl); void mkmonthb(int year, int month, int jd_flag, struct monthlines * monthl); void mkweekdays(struct weekdays * wds); void monthranger(int year, int m, int jd_flag, int before, int after); void monthrangeb(int year, int m, int jd_flag, int before, int after); int parsemonth(const char *s, int *m, int *y); void printcc(void); void printeaster(int year, int julian, int orthodox); date *sdater(int ndays, struct date * d); date *sdateb(int ndays, struct date * d); int sndaysr(struct date * d); int sndaysb(struct date * d); static void usage(void); int main(int argc, char *argv[]) { struct djswitch *p, *q; /* to search user defined switch date */ date never = {10000, 1, 1}; /* outside valid range of dates */ date ukswitch = {1752, 9, 2};/* switch date for Great Britain */ date dt; int ch; /* holds the option character */ int m = 0; /* month */ int y = 0; /* year */ int flag_backward = 0; /* user called cal--backward compat. */ int flag_wholeyear = 0; /* user wants the whole year */ int flag_julian_cal = 0; /* user wants Julian Calendar */ int flag_julian_day = 0; /* user wants the Julian day numbers */ int flag_orthodox = 0; /* user wants Orthodox easter */ int flag_easter = 0; /* user wants easter date */ int flag_3months = 0; /* user wants 3 month display (-3) */ int flag_after = 0; /* user wants to see months after */ int flag_before = 0; /* user wants to see months before */ int flag_specifiedmonth = 0;/* user wants to see this month (-m) */ int flag_givenmonth = 0; /* user has specified month [n] */ int flag_givenyear = 0; /* user has specified year [n] */ char *cp; /* character pointer */ char *flag_today = NULL; /* debug: use date as being today */ char *flag_month = NULL; /* requested month as string */ char *flag_highlightdate = NULL; /* debug: date to highlight */ int before, after; const char *locale; /* locale to get country code */ flag_nohighlight = 0; flag_weeks = 0; /* * Use locale to determine the country code, * and use the country code to determine the default * switchdate and date format from the switches table. */ if (setlocale(LC_ALL, "") == NULL) warn("setlocale"); locale = setlocale(LC_TIME, NULL); if (locale == NULL || strcmp(locale, "C") == 0 || strcmp(locale, "POSIX") == 0 || strcmp(locale, "ASCII") == 0 || strcmp(locale, "US-ASCII") == 0) locale = "_US"; q = switches + sizeof(switches) / sizeof(struct djswitch); for (p = switches; p != q; p++) if ((cp = strstr(locale, p->cc)) != NULL && *(cp - 1) == '_') break; if (p == q) { nswitch = ndaysj(&dftswitch->dt); } else { nswitch = ndaysj(&p->dt); dftswitch = p; } /* * Get the filename portion of argv[0] and set flag_backward if * this program is called "cal". */ if (strncmp(basename(argv[0]), "cal", strlen("cal")) == 0) flag_backward = 1; /* Set the switch date to United Kingdom if backwards compatible */ if (flag_backward) nswitchb = ndaysj(&ukswitch); before = after = -1; while ((ch = getopt(argc, argv, "3A:B:Cd:eH:hjJm:Nops:wy")) != -1) switch (ch) { case '3': flag_3months = 1; break; case 'A': if (flag_after > 0) errx(EX_USAGE, "Double -A specified"); flag_after = strtol(optarg, NULL, 10); if (flag_after <= 0) errx(EX_USAGE, "Argument to -A must be positive"); break; case 'B': if (flag_before > 0) errx(EX_USAGE, "Double -A specified"); flag_before = strtol(optarg, NULL, 10); if (flag_before <= 0) errx(EX_USAGE, "Argument to -B must be positive"); break; case 'J': if (flag_backward) usage(); nswitch = ndaysj(&never); flag_julian_cal = 1; break; case 'C': flag_backward = 1; break; case 'N': flag_backward = 0; break; case 'd': flag_today = optarg; break; case 'H': flag_highlightdate = optarg; break; case 'h': flag_nohighlight = 1; break; case 'e': if (flag_backward) usage(); flag_easter = 1; break; case 'j': flag_julian_day = 1; break; case 'm': if (flag_specifiedmonth) errx(EX_USAGE, "Double -m specified"); flag_month = optarg; flag_specifiedmonth = 1; break; case 'o': if (flag_backward) usage(); flag_orthodox = 1; flag_easter = 1; break; case 'p': if (flag_backward) usage(); printcc(); return (0); break; case 's': if (flag_backward) usage(); q = switches + sizeof(switches) / sizeof(struct djswitch); for (p = switches; p != q && strcmp(p->cc, optarg) != 0; p++) ; if (p == q) errx(EX_USAGE, "%s: invalid country code", optarg); nswitch = ndaysj(&(p->dt)); break; case 'w': if (flag_backward) usage(); flag_weeks = 1; break; case 'y': flag_wholeyear = 1; break; default: usage(); } argc -= optind; argv += optind; switch (argc) { case 2: if (flag_easter) usage(); flag_month = *argv++; flag_givenmonth = 1; m = strtol(flag_month, NULL, 10); /* FALLTHROUGH */ case 1: y = atoi(*argv); if (y < 1 || y > 9999) errx(EX_USAGE, "year `%s' not in range 1..9999", *argv); argv++; flag_givenyear = 1; break; case 0: if (flag_today != NULL) { y = strtol(flag_today, NULL, 10); m = strtol(flag_today + 5, NULL, 10); } else { time_t t; struct tm *tm; t = time(NULL); tm = localtime(&t); y = tm->tm_year + 1900; m = tm->tm_mon + 1; } break; default: usage(); } if (flag_month != NULL) { if (parsemonth(flag_month, &m, &y)) { errx(EX_USAGE, "%s is neither a month number (1..12) nor a name", flag_month); } } /* * What is not supported: * -3 with -A or -B * -3 displays 3 months, -A and -B change that behaviour. * -3 with -y * -3 displays 3 months, -y says display a whole year. * -3 with a given year but no given month or without -m * -3 displays 3 months, no month specified doesn't make clear * which three months. * -m with a given month * conflicting arguments, both specify the same field. * -y with -m * -y displays the whole year, -m displays a single month. * -y with a given month * -y displays the whole year, the given month displays a single * month. * -y with -A or -B * -y displays the whole year, -A and -B display extra months. */ /* -3 together with -A or -B. */ if (flag_3months && (flag_after || flag_before)) errx(EX_USAGE, "-3 together with -A and -B is not supported."); /* -3 together with -y. */ if (flag_3months && flag_wholeyear) errx(EX_USAGE, "-3 together with -y is not supported."); /* -3 together with givenyear but no givenmonth. */ if (flag_3months && flag_givenyear && !(flag_givenmonth || flag_specifiedmonth)) errx(EX_USAGE, "-3 together with a given year but no given month is " "not supported."); /* -m together with xx xxxx. */ if (flag_specifiedmonth && flag_givenmonth) errx(EX_USAGE, "-m together with a given month is not supported."); /* -y together with -m. */ if (flag_wholeyear && flag_specifiedmonth) errx(EX_USAGE, "-y together with -m is not supported."); /* -y together with xx xxxx. */ if (flag_wholeyear && flag_givenmonth) errx(EX_USAGE, "-y together a given month is not supported."); /* -y together with -A or -B. */ if (flag_wholeyear && (flag_before > 0 || flag_after > 0)) errx(EX_USAGE, "-y together a -A or -B is not supported."); /* The rest should be fine. */ /* Select the period to display, in order of increasing priority .*/ if (flag_wholeyear || (flag_givenyear && !(flag_givenmonth || flag_specifiedmonth))) { m = 1; before = 0; after = 11; } if (flag_givenyear && flag_givenmonth) { before = 0; after = 0; } if (flag_specifiedmonth) { before = 0; after = 0; } if (flag_before) { before = flag_before; } if (flag_after) { after = flag_after; } if (flag_3months) { before = 1; after = 1; } if (after == -1) after = 0; if (before == -1) before = 0; /* Highlight a specified day or today .*/ if (flag_highlightdate != NULL) { dt.y = strtol(flag_highlightdate, NULL, 10); dt.m = strtol(flag_highlightdate + 5, NULL, 10); dt.d = strtol(flag_highlightdate + 8, NULL, 10); } else { time_t t; struct tm *tm1; t = time(NULL); tm1 = localtime(&t); dt.y = tm1->tm_year + 1900; dt.m = tm1->tm_mon + 1; dt.d = tm1->tm_mday; } highlightdate = sndaysb(&dt); /* And now we finally start to calculate and output calendars. */ if (flag_easter) printeaster(y, flag_julian_cal, flag_orthodox); else if (flag_backward) monthrangeb(y, m, flag_julian_day, before, after); else monthranger(y, m, flag_julian_day, before, after); return (0); } static void usage(void) { fputs( "Usage: cal [general options] [-hjy] [[month] year]\n" " cal [general options] [-hj] [-m month] [year]\n" " ncal [general options] [-hJjpwy] [-s country_code] [[month] year]\n" " ncal [general options] [-hJeo] [year]\n" "General options: [-NC3] [-A months] [-B months]\n" "For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]\n", stderr); exit(EX_USAGE); } /* Print the assumed switches for all countries. */ void printcc(void) { struct djswitch *p; int n; /* number of lines to print */ int m; /* offset from left to right table entry on the same line */ #define FSTR "%c%s %-15s%4d-%02d-%02d" #define DFLT(p) ((p) == dftswitch ? '*' : ' ') #define FSTRARG(p) DFLT(p), (p)->cc, (p)->nm, (p)->dt.y, (p)->dt.m, (p)->dt.d n = sizeof(switches) / sizeof(struct djswitch); m = (n + 1) / 2; n /= 2; for (p = switches; p != switches + n; p++) printf(FSTR" "FSTR"\n", FSTRARG(p), FSTRARG(p+m)); if (m != n) printf(FSTR"\n", FSTRARG(p)); } /* Print the date of easter sunday. */ void printeaster(int y, int julian, int orthodox) { date dt; struct tm tm; char buf[MAX_WIDTH]; static int d_first = -1; if (d_first < 0) d_first = (*nl_langinfo(D_MD_ORDER) == 'd'); /* force orthodox easter for years before 1583 */ if (y < 1583) orthodox = 1; if (orthodox) if (julian) easteroj(y, &dt); else easterog(y, &dt); else easterg(y, &dt); memset(&tm, 0, sizeof(tm)); tm.tm_year = dt.y - 1900; tm.tm_mon = dt.m - 1; tm.tm_mday = dt.d; strftime(buf, sizeof(buf), d_first ? "%e %B %Y" : "%B %e %Y", &tm); printf("%s\n", buf); } #define MW(mw, me) ((mw) + me) #define DECREASEMONTH(m, y) \ if (--m == 0) { \ m = 12; \ y--; \ } #define INCREASEMONTH(m, y) \ if (++(m) == 13) { \ (m) = 1; \ (y)++; \ } #define M2Y(m) ((m) / 12) #define M2M(m) (1 + (m) % 12) /* Print all months for the period in the range [ before .. y-m .. after ]. */ void monthrangeb(int y, int m, int jd_flag, int before, int after) { struct monthlines year[12]; struct weekdays wds; char s[MAX_WIDTH], t[MAX_WIDTH]; wchar_t ws[MAX_WIDTH], ws1[MAX_WIDTH]; const char *wdss; int i, j; int mpl; int mw; int m1, m2; int printyearheader; int prevyear = -1; mpl = jd_flag ? 2 : 3; mw = jd_flag ? MONTH_WIDTH_B_J : MONTH_WIDTH_B; wdss = (mpl == 2) ? " " : ""; while (before != 0) { DECREASEMONTH(m, y); before--; after++; } m1 = y * 12 + m - 1; m2 = m1 + after; mkweekdays(&wds); /* * The year header is printed when there are more than 'mpl' months * and if the first month is a multitude of 'mpl'. * If not, it will print the year behind every month. */ printyearheader = (after >= mpl - 1) && (M2M(m1) - 1) % mpl == 0; m = m1; while (m <= m2) { int count = 0; for (i = 0; i != mpl && m + i <= m2; i++) { mkmonthb(M2Y(m + i), M2M(m + i) - 1, jd_flag, year + i); count++; } /* Empty line between two rows of months */ if (m != m1) printf("\n"); /* Year at the top. */ if (printyearheader && M2Y(m) != prevyear) { sprintf(s, "%d", M2Y(m)); printf("%s\n", center(t, s, mpl * mw)); prevyear = M2Y(m); } /* Month names. */ for (i = 0; i < count; i++) if (printyearheader) wprintf(L"%-*ls ", mw, wcenter(ws, year[i].name, mw)); else { swprintf(ws, sizeof(ws), L"%-ls %d", year[i].name, M2Y(m + i)); wprintf(L"%-*ls ", mw, wcenter(ws1, ws, mw)); } printf("\n"); /* Day of the week names. */ for (i = 0; i < count; i++) { wprintf(L"%s%ls%s%ls%s%ls%s%ls%s%ls%s%ls%s%ls ", wdss, wds.names[6], wdss, wds.names[0], wdss, wds.names[1], wdss, wds.names[2], wdss, wds.names[3], wdss, wds.names[4], wdss, wds.names[5]); } printf("\n"); /* And the days of the month. */ for (i = 0; i != 6; i++) { for (j = 0; j < count; j++) printf("%-*s ", MW(mw, year[j].extralen[i]), year[j].lines[i]+1); printf("\n"); } m += mpl; } } void monthranger(int y, int m, int jd_flag, int before, int after) { struct monthlines year[12]; struct weekdays wds; char s[MAX_WIDTH], t[MAX_WIDTH]; int i, j; int mpl; int mw; int m1, m2; int prevyear = -1; int printyearheader; mpl = jd_flag ? 3 : 4; mw = jd_flag ? MONTH_WIDTH_R_J : MONTH_WIDTH_R; while (before != 0) { DECREASEMONTH(m, y); before--; after++; } m1 = y * 12 + m - 1; m2 = m1 + after; mkweekdays(&wds); /* * The year header is printed when there are more than 'mpl' months * and if the first month is a multitude of 'mpl'. * If not, it will print the year behind every month. */ printyearheader = (after >= mpl - 1) && (M2M(m1) - 1) % mpl == 0; m = m1; while (m <= m2) { int count = 0; for (i = 0; i != mpl && m + i <= m2; i++) { mkmonthr(M2Y(m + i), M2M(m + i) - 1, jd_flag, year + i); count++; } /* Empty line between two rows of months. */ if (m != m1) printf("\n"); /* Year at the top. */ if (printyearheader && M2Y(m) != prevyear) { sprintf(s, "%d", M2Y(m)); printf("%s\n", center(t, s, mpl * mw)); prevyear = M2Y(m); } /* Month names. */ wprintf(L" "); for (i = 0; i < count; i++) if (printyearheader) wprintf(L"%-*ls", mw, year[i].name); else wprintf(L"%-ls %-*d", year[i].name, mw - wcslen(year[i].name) - 1, M2Y(m + i)); printf("\n"); /* And the days of the month. */ for (i = 0; i != 7; i++) { /* Week day */ wprintf(L"%.2ls", wds.names[i]); /* Full months */ for (j = 0; j < count; j++) printf("%-*s", MW(mw, year[j].extralen[i]), year[j].lines[i]); printf("\n"); } /* Week numbers. */ if (flag_weeks) { printf(" "); for (i = 0; i < count; i++) printf("%-*s", mw, year[i].weeks); printf("\n"); } m += mpl; } return; } void mkmonthr(int y, int m, int jd_flag, struct monthlines *mlines) { struct tm tm; /* for strftime printing local names of * months */ date dt; /* handy date */ int dw; /* width of numbers */ int first; /* first day of month */ int firstm; /* first day of first week of month */ int i, j, k, l; /* just indices */ int last; /* the first day of next month */ int jan1 = 0; /* the first day of this year */ char *ds; /* pointer to day strings (daystr or * jdaystr) */ /* Set name of month. */ memset(&tm, 0, sizeof(tm)); tm.tm_mon = m; wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]), L"%OB", &tm); mlines->name[0] = towupper(mlines->name[0]); /* * Set first and last to the day number of the first day of this * month and the first day of next month respectively. Set jan1 to * the day number of the first day of this year. */ first = firstday(y, m + 1); if (m == 11) last = firstday(y + 1, 1); else last = firstday(y, m + 2); if (jd_flag) jan1 = firstday(y, 1); /* * Set firstm to the day number of monday of the first week of * this month. (This might be in the last month) */ firstm = first - weekday(first); /* Set ds (daystring) and dw (daywidth) according to the jd_flag. */ if (jd_flag) { ds = jdaystr; dw = 4; } else { ds = daystr; dw = 3; } /* * Fill the lines with day of month or day of year (julian day) * line index: i, each line is one weekday. column index: j, each * column is one day number. print column index: k. */ for (i = 0; i != 7; i++) { l = 0; for (j = firstm + i, k = 0; j < last; j += 7, k += dw) { if (j >= first) { if (jd_flag) dt.d = j - jan1 + 1; else sdater(j, &dt); if (j == highlightdate && !flag_nohighlight) highlight(mlines->lines[i] + k, ds + dt.d * dw, dw, &l); else memcpy(mlines->lines[i] + k + l, ds + dt.d * dw, dw); } else memcpy(mlines->lines[i] + k + l, " ", dw); } mlines->lines[i][k + l] = '\0'; mlines->extralen[i] = l; } /* fill the weeknumbers. */ if (flag_weeks) { for (j = firstm, k = 0; j < last; k += dw, j += 7) if (j <= nswitch) memset(mlines->weeks + k, ' ', dw); else memcpy(mlines->weeks + k, ds + week(j, &i)*dw, dw); mlines->weeks[k] = '\0'; } } void mkmonthb(int y, int m, int jd_flag, struct monthlines *mlines) { struct tm tm; /* for strftime printing local names of * months */ date dt; /* handy date */ int dw; /* width of numbers */ int first; /* first day of month */ int firsts; /* sunday of first week of month */ int i, j, k, l; /* just indices */ int jan1 = 0; /* the first day of this year */ int last; /* the first day of next month */ char *ds; /* pointer to day strings (daystr or * jdaystr) */ /* Set ds (daystring) and dw (daywidth) according to the jd_flag */ if (jd_flag) { ds = jdaystr; dw = 4; } else { ds = daystr; dw = 3; } /* Set name of month centered. */ memset(&tm, 0, sizeof(tm)); tm.tm_mon = m; wcsftime(mlines->name, sizeof(mlines->name) / sizeof(mlines->name[0]), L"%OB", &tm); mlines->name[0] = towupper(mlines->name[0]); /* * Set first and last to the day number of the first day of this * month and the first day of next month respectively. Set jan1 to * the day number of Jan 1st of this year. */ dt.y = y; dt.m = m + 1; dt.d = 1; first = sndaysb(&dt); if (m == 11) { dt.y = y + 1; dt.m = 1; dt.d = 1; } else { dt.y = y; dt.m = m + 2; dt.d = 1; } last = sndaysb(&dt); if (jd_flag) { dt.y = y; dt.m = 1; dt.d = 1; jan1 = sndaysb(&dt); } /* * Set firsts to the day number of sunday of the first week of * this month. (This might be in the last month) */ firsts = first - (weekday(first)+1) % 7; /* * Fill the lines with day of month or day of year (Julian day) * line index: i, each line is one week. column index: j, each * column is one day number. print column index: k. */ for (i = 0; i != 6; i++) { l = 0; for (j = firsts + 7 * i, k = 0; j < last && k != dw * 7; j++, k += dw) { if (j >= first) { if (jd_flag) dt.d = j - jan1 + 1; else sdateb(j, &dt); if (j == highlightdate && !flag_nohighlight) highlight(mlines->lines[i] + k, ds + dt.d * dw, dw, &l); else memcpy(mlines->lines[i] + k + l, ds + dt.d * dw, dw); } else memcpy(mlines->lines[i] + k + l, " ", dw); } if (k == 0) mlines->lines[i][1] = '\0'; else mlines->lines[i][k + l] = '\0'; mlines->extralen[i] = l; } } /* Put the local names of weekdays into the wds. */ void mkweekdays(struct weekdays *wds) { int i, len, width = 0; struct tm tm; wchar_t buf[20]; memset(&tm, 0, sizeof(tm)); for (i = 0; i != 7; i++) { tm.tm_wday = (i+1) % 7; wcsftime(buf, sizeof(buf), L"%a", &tm); for (len = 2; len > 0; --len) { if ((width = wcswidth(buf, len)) <= 2) break; } wmemset(wds->names[i], L'\0', 4); if (width == 1) wds->names[i][0] = L' '; wcsncat(wds->names[i], buf, len); wcsncat(wds->names[i], L" ", 1); } } /* * Compute the day number of the first existing date after the first day in * month. (the first day in month and even the month might not exist!) */ int firstday(int y, int m) { date dt; int nd; dt.y = y; dt.m = m; dt.d = 1; nd = sndaysr(&dt); for (;;) { sdater(nd, &dt); if ((dt.m >= m && dt.y == y) || dt.y > y) return (nd); else nd++; } /* NEVER REACHED */ } /* * Compute the number of days from date, obey the local switch from * Julian to Gregorian if specified by the user. */ int sndaysr(struct date *d) { if (nswitch != 0) if (nswitch < ndaysj(d)) return (ndaysg(d)); else return (ndaysj(d)); else return ndaysg(d); } /* * Compute the number of days from date, obey the switch from * Julian to Gregorian as used by UK and her colonies. */ int sndaysb(struct date *d) { if (nswitchb < ndaysj(d)) return (ndaysg(d)); else return (ndaysj(d)); } /* Inverse of sndays. */ struct date * sdater(int nd, struct date *d) { if (nswitch < nd) return (gdate(nd, d)); else return (jdate(nd, d)); } /* Inverse of sndaysb. */ struct date * sdateb(int nd, struct date *d) { if (nswitchb < nd) return (gdate(nd, d)); else return (jdate(nd, d)); } /* Center string t in string s of length w by putting enough leading blanks. */ char * center(char *s, char *t, int w) { char blanks[MAX_WIDTH]; memset(blanks, ' ', sizeof(blanks)); sprintf(s, "%.*s%s", (int)(w - strlen(t)) / 2, blanks, t); return (s); } /* Center string t in string s of length w by putting enough leading blanks. */ wchar_t * wcenter(wchar_t *s, wchar_t *t, int w) { char blanks[MAX_WIDTH]; memset(blanks, ' ', sizeof(blanks)); swprintf(s, MAX_WIDTH, L"%.*s%ls", (int)(w - wcslen(t)) / 2, blanks, t); return (s); } int parsemonth(const char *s, int *m, int *y) { int nm, ny; char *cp; struct tm tm; nm = (int)strtol(s, &cp, 10); if (cp != s) { ny = *y; if (*cp == '\0') { ; /* no special action */ } else if (*cp == 'f' || *cp == 'F') { if (nm <= *m) ny++; } else if (*cp == 'p' || *cp == 'P') { if (nm >= *m) ny--; } else return (1); if (nm < 1 || nm > 12) return 1; *m = nm; *y = ny; return (0); } if (strptime(s, "%B", &tm) != NULL || strptime(s, "%b", &tm) != NULL) { *m = tm.tm_mon + 1; return (0); } return (1); } void highlight(char *dst, char *src, int len, int *extralen) { static int first = 1; static const char *term_so, *term_se; if (first) { char tbuf[1024], cbuf[512], *b; term_se = term_so = NULL; /* On how to highlight on this type of terminal (if any). */ if (isatty(STDOUT_FILENO) && tgetent(tbuf, NULL) == 1) { b = cbuf; term_so = tgetstr("so", &b); term_se = tgetstr("se", &b); } first = 0; } /* * This check is not necessary, should have been handled before calling * this function. */ if (flag_nohighlight) { memcpy(dst, src, len); return; } /* * If it is a real terminal, use the data from the termcap database. */ if (term_so != NULL && term_se != NULL) { /* separator. */ dst[0] = ' '; dst++; /* highlight on. */ memcpy(dst, term_so, strlen(term_so)); dst += strlen(term_so); /* the actual text. (minus leading space) */ len--; src++; memcpy(dst, src, len); dst += len; /* highlight off. */ memcpy(dst, term_se, strlen(term_se)); *extralen = strlen(term_so) + strlen(term_se); return; } /* * Otherwise, print a _, backspace and the letter. */ *extralen = 0; /* skip leading space. */ src++; len--; /* separator. */ dst[0] = ' '; dst++; while (len > 0) { /* _ and backspace. */ memcpy(dst, "_\010", 2); dst += 2; *extralen += 2; /* the character. */ *dst++ = *src++; len--; } return; } bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/calendar.h0000664000000000000000000000343211512674040016663 0ustar /*- * Copyright (c) 1997 Wolfgang Helbig * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $FreeBSD$ */ struct date { int y; /* year */ int m; /* month */ int d; /* day */ }; struct date *easterg(int _year, struct date *_dt); struct date *easterog(int _year, struct date *_dt); struct date *easteroj(int _year, struct date *_dt); struct date *gdate(int _nd, struct date *_dt); struct date *jdate(int _nd, struct date *_dt); int ndaysg(struct date *_dt); int ndaysj(struct date *_dt); int week(int _nd, int *_year); int weekday(int _nd); bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/ncal.10000664000000000000000000001217612665277472015767 0ustar .\" Copyright (c) 1997 Wolfgang Helbig .\" All rights reserved. .\" .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. .\" .\" $FreeBSD$ .\" .Dd March 14, 2009 .Dt CAL 1 .Os .Sh NAME .Nm cal , .Nm ncal .Nd displays a calendar and the date of Easter .Sh SYNOPSIS .Nm .Op Fl 3hjy .Op Fl A Ar number .Op Fl B Ar number .Oo .Op Ar month .Ar year .Oc .Nm .Op Fl 3hj .Op Fl A Ar number .Op Fl B Ar number .Fl m Ar month .Op Ar year .Nm ncal .Op Fl 3hjJpwy .Op Fl A Ar number .Op Fl B Ar number .Op Fl s Ar country_code .Oo .Op Ar month .Ar year .Oc .Nm ncal .Op Fl 3hJeo .Op Fl A Ar number .Op Fl B Ar number .Op Ar year .Nm ncal .Op Fl CN .Op Fl H Ar yyyy-mm-dd .Op Fl d Ar yyyy-mm .Sh DESCRIPTION The .Nm utility displays a simple calendar in traditional format and .Nm ncal offers an alternative layout, more options and the date of Easter. The new format is a little cramped but it makes a year fit on a 25x80 terminal. If arguments are not specified, the current month is displayed. .Pp The options are as follows: .Bl -tag -width indent .It Fl h Turns off highlighting of today. .It Fl J Display Julian Calendar, if combined with the .Fl e option, display date of Easter according to the Julian Calendar. .It Fl e Display date of Easter (for western churches). .It Fl j Display Julian days (days one-based, numbered from January 1). .It Fl m Ar month Display the specified .Ar month . If .Ar month is specified as a decimal number, it may be followed by the letter .Ql f or .Ql p to indicate the following or preceding month of that number, respectively. .It Fl o Display date of Orthodox Easter (Greek and Russian Orthodox Churches). .It Fl p Print the country codes and switching days from Julian to Gregorian Calendar as they are assumed by .Nm ncal . The country code as determined from the local environment is marked with an asterisk. .It Fl s Ar country_code Assume the switch from Julian to Gregorian Calendar at the date associated with the .Ar country_code . If not specified, .Nm ncal tries to guess the switch date from the local environment or falls back to September 2, 1752. This was when Great Britain and her colonies switched to the Gregorian Calendar. .It Fl w Print the number of the week below each week column. .It Fl y Display a calendar for the specified year. .It Fl 3 Display the previous, current and next month surrounding today. .It Fl A Ar number Display the .Ar number of months after the current month. .It Fl B Ar number Display the .Ar number of months before the current month. .It Fl C Switch to .Nm cal mode. .It Fl N Switch to .Nm ncal mode. .It Fl d Ar yyyy-mm Use .Ar yyyy-mm as the current date (for debugging of date selection). .It Fl H Ar yyyy-mm-dd Use .Ar yyyy-mm-dd as the current date (for debugging of highlighting). .El .Pp A single parameter specifies the year (1\(en9999) to be displayed; note the year must be fully specified: .Dq Li cal 89 will .Em not display a calendar for 1989. Two parameters denote the month and year; the month is either a number between 1 and 12, or a full or abbreviated name as specified by the current locale. Month and year default to those of the current system clock and time zone (so .Dq Li cal -m 8 will display a calendar for the month of August in the current year). .Pp Not all options can be used together. For example .Dq Li -3 -A 2 -B 3 -y -m 7 would mean: show me the three months around the seventh month, three before that, two after that and the whole year. .Nm ncal will warn about these combinations. .Pp A year starts on January 1. .Sh SEE ALSO .Xr calendar 3 , .Xr strftime 3 .Sh HISTORY A .Nm command appeared in .At v5 . The .Nm ncal command appeared in .Fx 2.2.6 . .Sh AUTHORS The .Nm ncal command and manual were written by .An Wolfgang Helbig Aq helbig@FreeBSD.org . .Sh BUGS The assignment of Julian\(enGregorian switching dates to country codes is historically naive for many countries. .Pp Not all options are compatible and using them in different orders will give varying results. bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/calendar.c0000664000000000000000000002165512665277472016707 0ustar /*- * Copyright (c) 1997 Wolfgang Helbig * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. */ #include __FBSDID("$FreeBSD$"); #include "calendar.h" #ifndef NULL #define NULL 0 #endif /* * For each month tabulate the number of days elapsed in a year before the * month. This assumes the internal date representation, where a year * starts on March 1st. So we don't need a special table for leap years. * But we do need a special table for the year 1582, since 10 days are * deleted in October. This is month1s for the switch from Julian to * Gregorian calendar. */ static int const month1[] = {0, 31, 61, 92, 122, 153, 184, 214, 245, 275, 306, 337}; /* M A M J J A S O N D J */ static int const month1s[]= {0, 31, 61, 92, 122, 153, 184, 214, 235, 265, 296, 327}; typedef struct date date; /* The last day of Julian calendar, in internal and ndays representation */ static int nswitch; /* The last day of Julian calendar */ static date jiswitch = {1582, 7, 3}; static date *date2idt(date *idt, date *dt); static date *idt2date(date *dt, date *idt); static int ndaysji(date *idt); static int ndaysgi(date *idt); static int firstweek(int year); /* * Compute the Julian date from the number of days elapsed since * March 1st of year zero. */ date * jdate(int ndays, date *dt) { date idt; /* Internal date representation */ int r; /* hold the rest of days */ /* * Compute the year by starting with an approximation not smaller * than the answer and using linear search for the greatest * year which does not begin after ndays. */ idt.y = ndays / 365; idt.m = 0; idt.d = 0; while ((r = ndaysji(&idt)) > ndays) idt.y--; /* * Set r to the days left in the year and compute the month by * linear search as the largest month that does not begin after r * days. */ r = ndays - r; for (idt.m = 11; month1[idt.m] > r; idt.m--) ; /* Compute the days left in the month */ idt.d = r - month1[idt.m]; /* return external representation of the date */ return (idt2date(dt, &idt)); } /* * Return the number of days since March 1st of the year zero. * The date is given according to Julian calendar. */ int ndaysj(date *dt) { date idt; /* Internal date representation */ if (date2idt(&idt, dt) == NULL) return (-1); else return (ndaysji(&idt)); } /* * Same as above, where the Julian date is given in internal notation. * This formula shows the beauty of this notation. */ static int ndaysji(date * idt) { return (idt->d + month1[idt->m] + idt->y * 365 + idt->y / 4); } /* * Compute the date according to the Gregorian calendar from the number of * days since March 1st, year zero. The date computed will be Julian if it * is older than 1582-10-05. This is the reverse of the function ndaysg(). */ date * gdate(int ndays, date *dt) { int const *montht; /* month-table */ date idt; /* for internal date representation */ int r; /* holds the rest of days */ /* * Compute the year by starting with an approximation not smaller * than the answer and search linearly for the greatest year not * starting after ndays. */ idt.y = ndays / 365; idt.m = 0; idt.d = 0; while ((r = ndaysgi(&idt)) > ndays) idt.y--; /* * Set ndays to the number of days left and compute by linear * search the greatest month which does not start after ndays. We * use the table month1 which provides for each month the number * of days that elapsed in the year before that month. Here the * year 1582 is special, as 10 days are left out in October to * resynchronize the calendar with the earth's orbit. October 4th * 1582 is followed by October 15th 1582. We use the "switch" * table month1s for this year. */ ndays = ndays - r; if (idt.y == 1582) montht = month1s; else montht = month1; for (idt.m = 11; montht[idt.m] > ndays; idt.m--) ; idt.d = ndays - montht[idt.m]; /* the rest is the day in month */ /* Advance ten days deleted from October if after switch in Oct 1582 */ if (idt.y == jiswitch.y && idt.m == jiswitch.m && jiswitch.d < idt.d) idt.d += 10; /* return external representation of found date */ return (idt2date(dt, &idt)); } /* * Return the number of days since March 1st of the year zero. The date is * assumed Gregorian if younger than 1582-10-04 and Julian otherwise. This * is the reverse of gdate. */ int ndaysg(date *dt) { date idt; /* Internal date representation */ if (date2idt(&idt, dt) == NULL) return (-1); return (ndaysgi(&idt)); } /* * Same as above, but with the Gregorian date given in internal * representation. */ static int ndaysgi(date *idt) { int nd; /* Number of days--return value */ /* Cache nswitch if not already done */ if (nswitch == 0) nswitch = ndaysji(&jiswitch); /* * Assume Julian calendar and adapt to Gregorian if necessary, i. e. * younger than nswitch. Gregori deleted * the ten days from Oct 5th to Oct 14th 1582. * Thereafter years which are multiples of 100 and not multiples * of 400 were not leap years anymore. * This makes the average length of a year * 365d +.25d - .01d + .0025d = 365.2425d. But the tropical * year measures 365.2422d. So in 10000/3 years we are * again one day ahead of the earth. Sigh :-) * (d is the average length of a day and tropical year is the * time from one spring point to the next.) */ if ((nd = ndaysji(idt)) == -1) return (-1); if (idt->y >= 1600) nd = (nd - 10 - (idt->y - 1600) / 100 + (idt->y - 1600) / 400); else if (nd > nswitch) nd -= 10; return (nd); } /* * Compute the week number from the number of days since March 1st year 0. * The weeks are numbered per year starting with 1. If the first * week of a year includes at least four days of that year it is week 1, * otherwise it gets the number of the last week of the previous year. * The variable y will be filled with the year that contains the greater * part of the week. */ int week(int nd, int *y) { date dt; int fw; /* 1st day of week 1 of previous, this and * next year */ gdate(nd, &dt); for (*y = dt.y + 1; nd < (fw = firstweek(*y)); (*y)--) ; return ((nd - fw) / 7 + 1); } /* return the first day of week 1 of year y */ static int firstweek(int y) { date idt; int nd, wd; idt.y = y - 1; /* internal representation of y-1-1 */ idt.m = 10; idt.d = 0; nd = ndaysgi(&idt); /* * If more than 3 days of this week are in the preceding year, the * next week is week 1 (and the next monday is the answer), * otherwise this week is week 1 and the last monday is the * answer. */ if ((wd = weekday(nd)) > 3) return (nd - wd + 7); else return (nd - wd); } /* return the weekday (Mo = 0 .. Su = 6) */ int weekday(int nd) { date dmondaygi = {1997, 8, 16}; /* Internal repr. of 1997-11-17 */ static int nmonday; /* ... which is a monday */ /* Cache the daynumber of one monday */ if (nmonday == 0) nmonday = ndaysgi(&dmondaygi); /* return (nd - nmonday) modulo 7 which is the weekday */ nd = (nd - nmonday) % 7; if (nd < 0) return (nd + 7); else return (nd); } /* * Convert a date to internal date representation: The year starts on * March 1st, month and day numbering start at zero. E. g. March 1st of * year zero is written as y=0, m=0, d=0. */ static date * date2idt(date *idt, date *dt) { idt->d = dt->d - 1; if (dt->m > 2) { idt->m = dt->m - 3; idt->y = dt->y; } else { idt->m = dt->m + 9; idt->y = dt->y - 1; } if (idt->m < 0 || idt->m > 11 || idt->y < 0) return (NULL); else return idt; } /* Reverse of date2idt */ static date * idt2date(date *dt, date *idt) { dt->d = idt->d + 1; if (idt->m < 10) { dt->m = idt->m + 3; dt->y = idt->y; } else { dt->m = idt->m - 9; dt->y = idt->y + 1; } if (dt->m < 1) return (NULL); else return (dt); } bsdmainutils-9.0.6ubuntu3/usr.bin/ncal/Makefile0000664000000000000000000000027711512674015016407 0ustar PROG = ncal SRC = ncal.c calendar.c easter.c LIBS+=-lncurses topdir=../.. include $(topdir)/config.mk install-2: (cd $(bindir); ln -sf ncal cal) (cd $(mandir); ln -sf ncal.1 cal.1) bsdmainutils-9.0.6ubuntu3/usr.bin/from/0000775000000000000000000000000012665277472015007 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/from/from.10000664000000000000000000000575011371260565016027 0ustar .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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.1 8.2 (Berkeley) 12/30/93 .\" $FreeBSD$ .\" .Dd December 30, 1993 .Dt FROM 1 .Os .Sh NAME .Nm from .Nd print names of those who have sent mail .Sh SYNOPSIS .Nm .Op Fl c .Op Fl f Ar file .Op Fl s Ar sender .Op Ar user .Sh DESCRIPTION The .Nm utility prints out the mail header lines from the invoker's mailbox. .Pp The following options are available: .Bl -tag -width indent .It Fl c Just print a count of messages and exit. .It Fl f Ar file The supplied .Ar file is examined instead of the invoker's mailbox. If the .Fl f option is used, the .Ar user argument should not be used. Read from standard input if file name .Dq Fl is given. .It Fl s Ar sender Only mail from addresses containing the supplied string are printed. .El .Pp If .Ar user is given, the .Ar user Ns 's mailbox is examined instead of the invoker's own mailbox. (Privileges are required.) .Sh ENVIRONMENT .Bl -tag -width indent .It Ev MAIL If set, the location of the invoker's mailbox. Otherwise, the default in .Pa /var/mail is used. .El .Sh FILES .Bl -tag -width ".Pa /var/mail/*" -compact .It Pa /var/mail/* .El .Sh SEE ALSO .Xr biff 1 , .Xr mail 1 .Sh HISTORY The .Nm command appeared in .Bx 3.0 . bsdmainutils-9.0.6ubuntu3/usr.bin/from/from.c0000664000000000000000000001064212665277470016117 0ustar /* * Copyright (c) 1980, 1988, 1993 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1980, 1988, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif /* not lint */ #ifndef lint #if 0 static char sccsid[] = "@(#)from.c 8.1 (Berkeley) 6/6/93"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include int match(const char *, const char *); static void usage(void); int main(int argc, char **argv) { FILE *mbox; struct passwd *pwd; int ch, count, newline; const char *file; char *sender, *p; #if MAXPATHLEN > BUFSIZ char buf[MAXPATHLEN]; #else char buf[BUFSIZ]; #endif file = sender = NULL; count = -1; while ((ch = getopt(argc, argv, "cf:s:")) != -1) switch (ch) { case 'c': count = 0; break; case 'f': file = optarg; break; case 's': sender = optarg; for (p = sender; *p; ++p) if (isupper(*p)) *p = tolower(*p); break; case '?': default: usage(); } argc -= optind; argv += optind; if (file == NULL) { if (argc) { (void)snprintf(buf, sizeof(buf), "%s/%s", _PATH_MAILDIR, *argv); file = buf; } else { if (!(file = getenv("MAIL"))) { if (!(pwd = getpwuid(getuid()))) errx(1, "no password file entry for you"); file = pwd->pw_name; (void)snprintf(buf, sizeof(buf), "%s/%s", _PATH_MAILDIR, file); file = buf; } } } /* read from stdin */ if (strcmp(file, "-") == 0) { mbox = stdin; } else if ((mbox = fopen(file, "r")) == NULL) { errx(1, "can't read %s", file); } for (newline = 1; fgets(buf, sizeof(buf), mbox);) { if (*buf == '\n') { newline = 1; continue; } if (newline && !strncmp(buf, "From ", 5) && (!sender || match(buf + 5, sender))) { if (count != -1) count++; else printf("%s", buf); } newline = 0; } if (count != -1) printf("There %s %d message%s in your incoming mailbox.\n", count == 1 ? "is" : "are", count, count == 1 ? "" : "s"); fclose(mbox); exit(0); } static void usage(void) { fprintf(stderr, "usage: from [-c] [-f file] [-s sender] [user]\n"); exit(1); } int match(const char *line, const char *sender) { char ch, pch, first; const char *p, *t; for (first = *sender++;;) { if (isspace(ch = *line)) return(0); ++line; if (isupper(ch)) ch = tolower(ch); if (ch != first) continue; for (p = sender, t = line;;) { if (!(pch = *p++)) return(1); if (isupper(ch = *t++)) ch = tolower(ch); if (ch != pch) break; } } /* NOTREACHED */ } bsdmainutils-9.0.6ubuntu3/usr.bin/from/Makefile0000664000000000000000000000037611377172625016446 0ustar PROG = bsd-from MAN = from.1 topdir=../.. include $(topdir)/config.mk bsd-from.o: from.c $(CC) -include $(topdir)/freebsd.h $(FLAGS) $(CFLAGS) -c -o $@ $< install-2: mv $(mandir)/from.1 $(mandir)/bsd-from.1 topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/colrm/0000775000000000000000000000000012665277472015160 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/colrm/colrm.c0000664000000000000000000000717712665277471016453 0ustar /*- * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1991, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif #if 0 #ifndef lint static char sccsid[] = "@(#)colrm.c 8.2 (Berkeley) 5/4/95"; #endif #endif #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include #include #define TAB 8 void check(FILE *); static void usage(void); int main(int argc, char *argv[]) { u_long column, start, stop; int ch, width; char *p; setlocale(LC_ALL, ""); while ((ch = getopt(argc, argv, "")) != -1) switch(ch) { case '?': default: usage(); } argc -= optind; argv += optind; start = stop = 0; switch(argc) { case 2: stop = strtol(argv[1], &p, 10); if (stop <= 0 || *p) errx(1, "illegal column -- %s", argv[1]); /* FALLTHROUGH */ case 1: start = strtol(argv[0], &p, 10); if (start <= 0 || *p) errx(1, "illegal column -- %s", argv[0]); break; case 0: break; default: usage(); } if (stop && start > stop) errx(1, "illegal start and stop columns"); for (column = 0;;) { switch (ch = getwchar()) { case WEOF: check(stdin); break; case '\b': if (column) --column; break; case '\n': column = 0; break; case '\t': column = (column + TAB) & ~(TAB - 1); break; default: if ((width = wcwidth(ch)) > 0) column += width; break; } if ((!start || column < start || (stop && column > stop)) && putwchar(ch) == WEOF) check(stdout); } } void check(FILE *stream) { if (feof(stream)) exit(0); if (ferror(stream)) err(1, "%s", stream == stdin ? "stdin" : "stdout"); } void usage(void) { (void)fprintf(stderr, "usage: colrm [start [stop]]\n"); exit(1); } bsdmainutils-9.0.6ubuntu3/usr.bin/colrm/colrm.10000664000000000000000000000565311371260565016353 0ustar .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. .\" .\" @(#)colrm.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd August 4, 2004 .Dt COLRM 1 .Os .Sh NAME .Nm colrm .Nd remove columns from a file .Sh SYNOPSIS .Nm .Op Ar start Op Ar stop .Sh DESCRIPTION The .Nm utility removes selected columns from the lines of a file. A column is defined as a single character in a line. Input is read from the standard input. Output is written to the standard output. .Pp If only the .Ar start column is specified, columns numbered less than the .Ar start column will be written. If both .Ar start and .Ar stop columns are specified, columns numbered less than the .Ar start column or greater than the .Ar stop column will be written. Column numbering starts with one, not zero. .Pp Tab characters increment the column count to the next multiple of eight. Backspace characters decrement the column count by one. .Sh ENVIRONMENT The .Ev LANG , LC_ALL and .Ev LC_CTYPE environment variables affect the execution of .Nm as described in .Xr environ 7 . .Sh EXIT STATUS .Ex -std .Sh SEE ALSO .Xr awk 1 , .Xr column 1 , .Xr cut 1 , .Xr paste 1 .Sh HISTORY The .Nm command appeared in .Bx 3.0 . bsdmainutils-9.0.6ubuntu3/usr.bin/colrm/Makefile0000664000000000000000000000006711371260565016607 0ustar PROG = colrm topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/banner/0000775000000000000000000000000012665277472015311 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/banner/banner.c0000664000000000000000000022070112665277471016723 0ustar /* * Copyright (c) 1980, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1980, 1993, 1994\n\ The Regents of the University of California. All rights reserved.\n"; #endif #if 0 #ifndef lint static char sccsid[] = "@(#)banner.c 8.4 (Berkeley) 4/29/95"; #endif #endif #include __FBSDID("$FreeBSD$"); /* * banner - prints large signs * banner [-w#] [-d] [-t] message ... */ #include #include #include #include #include #define MAXMSG 1024 #define DWIDTH 132 #define NCHARS 128 #define NBYTES 9271 /* Pointers into data_table for each ASCII char */ const int asc_ptr[NCHARS] = { /* ^@ */ 0, 0, 0, 0, 0, 0, 0, 0, /* ^H */ 0, 0, 0, 0, 0, 0, 0, 0, /* ^P */ 0, 0, 0, 0, 0, 0, 0, 0, /* ^X */ 0, 0, 0, 0, 0, 0, 0, 0, /* */ 1, 3, 50, 81, 104, 281, 483, 590, /* ( */ 621, 685, 749, 851, 862, 893, 898, 921, /* 0 */1019, 1150, 1200, 1419, 1599, 1744, 1934, 2111, /* 8 */2235, 2445, 2622, 2659, 0, 2708, 0, 2715, /* @ */2857, 3072, 3273, 3403, 3560, 3662, 3730, 3785, /* H */3965, 4000, 4015, 4115, 4281, 4314, 4432, 4548, /* P */4709, 4790, 4999, 5188, 5397, 5448, 5576, 5710, /* X */5892, 6106, 6257, 0, 0, 0, 0, 0, /* ` */ 50, 6503, 6642, 6733, 6837, 6930, 7073, 7157, /* h */7380, 7452, 7499, 7584, 7689, 7702, 7797, 7869, /* p */7978, 8069, 8160, 8222, 8381, 8442, 8508, 8605, /* x */8732, 8888, 9016, 0, 0, 0, 0, 0 }; /* * Table of stuff to print. Format: * 128+n -> print current line n times. * 64+n -> this is last byte of char. * else, put m chars at position n (where m * is the next elt in array) and goto second * next element in array. */ const unsigned char data_table[NBYTES] = { /* 0 1 2 3 4 5 6 7 8 9 */ /* 0 */ 129, 227, 130, 34, 6, 90, 19, 129, 32, 10, /* 10 */ 74, 40, 129, 31, 12, 64, 53, 129, 30, 14, /* 20 */ 54, 65, 129, 30, 14, 53, 67, 129, 30, 14, /* 30 */ 54, 65, 129, 31, 12, 64, 53, 129, 32, 10, /* 40 */ 74, 40, 129, 34, 6, 90, 19, 129, 194, 130, /* 50 */ 99, 9, 129, 97, 14, 129, 96, 18, 129, 95, /* 60 */ 22, 129, 95, 16, 117, 2, 129, 95, 14, 129, /* 70 */ 96, 11, 129, 97, 9, 129, 99, 6, 129, 194, /* 80 */ 129, 87, 4, 101, 4, 131, 82, 28, 131, 87, /* 90 */ 4, 101, 4, 133, 82, 28, 131, 87, 4, 101, /* 100 */ 4, 131, 193, 129, 39, 1, 84, 27, 129, 38, /* 110 */ 3, 81, 32, 129, 37, 5, 79, 35, 129, 36, /* 120 */ 5, 77, 38, 129, 35, 5, 76, 40, 129, 34, /* 130 */ 5, 75, 21, 103, 14, 129, 33, 5, 74, 19, /* 140 */ 107, 11, 129, 32, 5, 73, 17, 110, 9, 129, /* 150 */ 32, 4, 73, 16, 112, 7, 129, 31, 4, 72, /* 160 */ 15, 114, 6, 129, 31, 4, 72, 14, 115, 5, /* 170 */ 129, 30, 4, 71, 15, 116, 5, 129, 27, 97, /* 180 */ 131, 30, 4, 69, 14, 117, 4, 129, 30, 4, /* 190 */ 68, 15, 117, 4, 132, 30, 4, 68, 14, 117, /* 200 */ 4, 129, 27, 97, 131, 30, 5, 65, 15, 116, /* 210 */ 5, 129, 31, 4, 65, 14, 116, 4, 129, 31, /* 220 */ 6, 64, 15, 116, 4, 129, 32, 7, 62, 16, /* 230 */ 115, 4, 129, 32, 9, 61, 17, 114, 5, 129, /* 240 */ 33, 11, 58, 19, 113, 5, 129, 34, 14, 55, /* 250 */ 21, 112, 5, 129, 35, 40, 111, 5, 129, 36, /* 260 */ 38, 110, 5, 129, 37, 35, 109, 5, 129, 38, /* 270 */ 32, 110, 3, 129, 40, 27, 111, 1, 129, 193, /* 280 */ 129, 30, 4, 103, 9, 129, 30, 7, 100, 15, /* 290 */ 129, 30, 10, 99, 17, 129, 33, 10, 97, 6, /* 300 */ 112, 6, 129, 36, 10, 96, 5, 114, 5, 129, /* 310 */ 39, 10, 96, 4, 115, 4, 129, 42, 10, 95, /* 320 */ 4, 116, 4, 129, 45, 10, 95, 3, 117, 3, /* 330 */ 129, 48, 10, 95, 3, 117, 3, 129, 51, 10, /* 340 */ 95, 4, 116, 4, 129, 54, 10, 96, 4, 115, /* 350 */ 4, 129, 57, 10, 96, 5, 114, 5, 129, 60, /* 360 */ 10, 97, 6, 112, 6, 129, 63, 10, 99, 17, /* 370 */ 129, 66, 10, 100, 15, 129, 69, 10, 103, 9, /* 380 */ 129, 39, 9, 72, 10, 129, 36, 15, 75, 10, /* 390 */ 129, 35, 17, 78, 10, 129, 33, 6, 48, 6, /* 400 */ 81, 10, 129, 32, 5, 50, 5, 84, 10, 129, /* 410 */ 32, 4, 51, 4, 87, 10, 129, 31, 4, 52, /* 420 */ 4, 90, 10, 129, 31, 3, 53, 3, 93, 10, /* 430 */ 129, 31, 3, 53, 3, 96, 10, 129, 31, 4, /* 440 */ 52, 4, 99, 10, 129, 32, 4, 51, 4, 102, /* 450 */ 10, 129, 32, 5, 50, 5, 105, 10, 129, 33, /* 460 */ 6, 48, 6, 108, 10, 129, 35, 17, 111, 10, /* 470 */ 129, 36, 15, 114, 7, 129, 40, 9, 118, 4, /* 480 */ 129, 193, 129, 48, 18, 129, 43, 28, 129, 41, /* 490 */ 32, 129, 39, 36, 129, 37, 40, 129, 35, 44, /* 500 */ 129, 34, 46, 129, 33, 13, 68, 13, 129, 32, /* 510 */ 9, 73, 9, 129, 32, 7, 75, 7, 129, 31, /* 520 */ 6, 77, 6, 129, 31, 5, 78, 5, 129, 30, /* 530 */ 5, 79, 5, 129, 20, 74, 132, 30, 4, 80, /* 540 */ 4, 129, 31, 3, 79, 4, 129, 31, 4, 79, /* 550 */ 4, 129, 32, 3, 78, 4, 129, 32, 4, 76, /* 560 */ 6, 129, 33, 4, 74, 7, 129, 34, 4, 72, /* 570 */ 8, 129, 35, 5, 72, 7, 129, 37, 5, 73, /* 580 */ 4, 129, 39, 4, 74, 1, 129, 129, 193, 130, /* 590 */ 111, 6, 129, 109, 10, 129, 108, 12, 129, 107, /* 600 */ 14, 129, 97, 2, 105, 16, 129, 99, 22, 129, /* 610 */ 102, 18, 129, 105, 14, 129, 108, 9, 129, 194, /* 620 */ 130, 63, 25, 129, 57, 37, 129, 52, 47, 129, /* 630 */ 48, 55, 129, 44, 63, 129, 41, 69, 129, 38, /* 640 */ 75, 129, 36, 79, 129, 34, 83, 129, 33, 28, /* 650 */ 90, 28, 129, 32, 23, 96, 23, 129, 32, 17, /* 660 */ 102, 17, 129, 31, 13, 107, 13, 129, 30, 9, /* 670 */ 112, 9, 129, 30, 5, 116, 5, 129, 30, 1, /* 680 */ 120, 1, 129, 194, 130, 30, 1, 120, 1, 129, /* 690 */ 30, 5, 116, 5, 129, 30, 9, 112, 9, 129, /* 700 */ 31, 13, 107, 13, 129, 32, 17, 102, 17, 129, /* 710 */ 32, 23, 96, 23, 129, 33, 28, 90, 28, 129, /* 720 */ 34, 83, 129, 36, 79, 129, 38, 75, 129, 41, /* 730 */ 69, 129, 44, 63, 129, 48, 55, 129, 52, 47, /* 740 */ 129, 57, 37, 129, 63, 25, 129, 194, 129, 80, /* 750 */ 4, 130, 80, 4, 129, 68, 2, 80, 4, 94, /* 760 */ 2, 129, 66, 6, 80, 4, 92, 6, 129, 67, /* 770 */ 7, 80, 4, 90, 7, 129, 69, 7, 80, 4, /* 780 */ 88, 7, 129, 71, 6, 80, 4, 87, 6, 129, /* 790 */ 72, 20, 129, 74, 16, 129, 76, 12, 129, 62, /* 800 */ 40, 131, 76, 12, 129, 74, 16, 129, 72, 20, /* 810 */ 129, 71, 6, 80, 4, 87, 6, 129, 69, 7, /* 820 */ 80, 4, 88, 7, 129, 67, 7, 80, 4, 90, /* 830 */ 7, 129, 66, 6, 80, 4, 92, 6, 129, 68, /* 840 */ 2, 80, 4, 94, 2, 129, 80, 4, 130, 193, /* 850 */ 129, 60, 4, 139, 41, 42, 131, 60, 4, 139, /* 860 */ 193, 130, 34, 6, 129, 32, 10, 129, 31, 12, /* 870 */ 129, 30, 14, 129, 20, 2, 28, 16, 129, 22, /* 880 */ 22, 129, 24, 19, 129, 27, 15, 129, 31, 9, /* 890 */ 129, 194, 129, 60, 4, 152, 193, 130, 34, 6, /* 900 */ 129, 32, 10, 129, 31, 12, 129, 30, 14, 131, /* 910 */ 31, 12, 129, 32, 10, 129, 34, 6, 129, 194, /* 920 */ 129, 30, 4, 129, 30, 7, 129, 30, 10, 129, /* 930 */ 33, 10, 129, 36, 10, 129, 39, 10, 129, 42, /* 940 */ 10, 129, 45, 10, 129, 48, 10, 129, 51, 10, /* 950 */ 129, 54, 10, 129, 57, 10, 129, 60, 10, 129, /* 960 */ 63, 10, 129, 66, 10, 129, 69, 10, 129, 72, /* 970 */ 10, 129, 75, 10, 129, 78, 10, 129, 81, 10, /* 980 */ 129, 84, 10, 129, 87, 10, 129, 90, 10, 129, /* 990 */ 93, 10, 129, 96, 10, 129, 99, 10, 129, 102, /* 1000 */ 10, 129, 105, 10, 129, 108, 10, 129, 111, 10, /* 1010 */ 129, 114, 7, 129, 117, 4, 129, 193, 129, 60, /* 1020 */ 31, 129, 53, 45, 129, 49, 53, 129, 46, 59, /* 1030 */ 129, 43, 65, 129, 41, 69, 129, 39, 73, 129, /* 1040 */ 37, 77, 129, 36, 79, 129, 35, 15, 101, 15, /* 1050 */ 129, 34, 11, 106, 11, 129, 33, 9, 109, 9, /* 1060 */ 129, 32, 7, 112, 7, 129, 31, 6, 114, 6, /* 1070 */ 129, 31, 5, 115, 5, 129, 30, 5, 116, 5, /* 1080 */ 129, 30, 4, 117, 4, 132, 30, 5, 116, 5, /* 1090 */ 129, 31, 5, 115, 5, 129, 31, 6, 114, 6, /* 1100 */ 129, 32, 7, 112, 7, 129, 33, 9, 109, 9, /* 1110 */ 129, 34, 11, 106, 11, 129, 35, 15, 101, 15, /* 1120 */ 129, 36, 79, 129, 37, 77, 129, 39, 73, 129, /* 1130 */ 41, 69, 129, 43, 65, 129, 46, 59, 129, 49, /* 1140 */ 53, 129, 53, 45, 129, 60, 31, 129, 193, 129, /* 1150 */ 30, 4, 129, 30, 4, 100, 1, 129, 30, 4, /* 1160 */ 100, 3, 129, 30, 4, 100, 5, 129, 30, 76, /* 1170 */ 129, 30, 78, 129, 30, 80, 129, 30, 82, 129, /* 1180 */ 30, 83, 129, 30, 85, 129, 30, 87, 129, 30, /* 1190 */ 89, 129, 30, 91, 129, 30, 4, 132, 193, 129, /* 1200 */ 30, 3, 129, 30, 7, 129, 30, 10, 112, 1, /* 1210 */ 129, 30, 13, 112, 2, 129, 30, 16, 112, 3, /* 1220 */ 129, 30, 18, 111, 5, 129, 30, 21, 111, 6, /* 1230 */ 129, 30, 23, 112, 6, 129, 30, 14, 47, 8, /* 1240 */ 113, 6, 129, 30, 14, 49, 8, 114, 5, 129, /* 1250 */ 30, 14, 51, 8, 115, 5, 129, 30, 14, 53, /* 1260 */ 8, 116, 4, 129, 30, 14, 55, 8, 116, 5, /* 1270 */ 129, 30, 14, 56, 9, 117, 4, 129, 30, 14, /* 1280 */ 57, 9, 117, 4, 129, 30, 14, 58, 10, 117, /* 1290 */ 4, 129, 30, 14, 59, 10, 117, 4, 129, 30, /* 1300 */ 14, 60, 11, 117, 4, 129, 30, 14, 61, 11, /* 1310 */ 116, 5, 129, 30, 14, 62, 11, 116, 5, 129, /* 1320 */ 30, 14, 63, 12, 115, 6, 129, 30, 14, 64, /* 1330 */ 13, 114, 7, 129, 30, 14, 65, 13, 113, 8, /* 1340 */ 129, 30, 14, 65, 15, 111, 9, 129, 30, 14, /* 1350 */ 66, 16, 109, 11, 129, 30, 14, 67, 17, 107, /* 1360 */ 12, 129, 30, 14, 68, 20, 103, 16, 129, 30, /* 1370 */ 14, 69, 49, 129, 30, 14, 70, 47, 129, 30, /* 1380 */ 14, 71, 45, 129, 30, 14, 73, 42, 129, 30, /* 1390 */ 15, 75, 38, 129, 33, 12, 77, 34, 129, 36, /* 1400 */ 10, 79, 30, 129, 40, 6, 82, 23, 129, 44, /* 1410 */ 3, 86, 15, 129, 47, 1, 129, 193, 129, 129, /* 1420 */ 38, 3, 129, 37, 5, 111, 1, 129, 36, 7, /* 1430 */ 111, 2, 129, 35, 9, 110, 5, 129, 34, 8, /* 1440 */ 110, 6, 129, 33, 7, 109, 8, 129, 32, 7, /* 1450 */ 110, 8, 129, 32, 6, 112, 7, 129, 31, 6, /* 1460 */ 113, 6, 129, 31, 5, 114, 6, 129, 30, 5, /* 1470 */ 115, 5, 129, 30, 5, 116, 4, 129, 30, 4, /* 1480 */ 117, 4, 131, 30, 4, 117, 4, 129, 30, 4, /* 1490 */ 79, 2, 117, 4, 129, 30, 5, 78, 4, 117, /* 1500 */ 4, 129, 30, 5, 77, 6, 116, 5, 129, 30, /* 1510 */ 6, 76, 8, 115, 6, 129, 30, 7, 75, 11, /* 1520 */ 114, 6, 129, 30, 8, 73, 15, 112, 8, 129, /* 1530 */ 31, 9, 71, 19, 110, 9, 129, 31, 11, 68, /* 1540 */ 26, 107, 12, 129, 32, 13, 65, 14, 82, 36, /* 1550 */ 129, 32, 16, 61, 17, 83, 34, 129, 33, 44, /* 1560 */ 84, 32, 129, 34, 42, 85, 30, 129, 35, 40, /* 1570 */ 87, 27, 129, 36, 38, 89, 23, 129, 38, 34, /* 1580 */ 92, 17, 129, 40, 30, 95, 11, 129, 42, 26, /* 1590 */ 129, 45, 20, 129, 49, 11, 129, 193, 129, 49, /* 1600 */ 1, 129, 49, 4, 129, 49, 6, 129, 49, 8, /* 1610 */ 129, 49, 10, 129, 49, 12, 129, 49, 14, 129, /* 1620 */ 49, 17, 129, 49, 19, 129, 49, 21, 129, 49, /* 1630 */ 23, 129, 49, 14, 65, 9, 129, 49, 14, 67, /* 1640 */ 9, 129, 49, 14, 69, 9, 129, 49, 14, 71, /* 1650 */ 10, 129, 49, 14, 74, 9, 129, 49, 14, 76, /* 1660 */ 9, 129, 49, 14, 78, 9, 129, 49, 14, 80, /* 1670 */ 9, 129, 49, 14, 82, 9, 129, 49, 14, 84, /* 1680 */ 9, 129, 30, 4, 49, 14, 86, 10, 129, 30, /* 1690 */ 4, 49, 14, 89, 9, 129, 30, 4, 49, 14, /* 1700 */ 91, 9, 129, 30, 4, 49, 14, 93, 9, 129, /* 1710 */ 30, 74, 129, 30, 76, 129, 30, 78, 129, 30, /* 1720 */ 81, 129, 30, 83, 129, 30, 85, 129, 30, 87, /* 1730 */ 129, 30, 89, 129, 30, 91, 129, 30, 4, 49, /* 1740 */ 14, 132, 193, 129, 37, 1, 129, 36, 3, 77, /* 1750 */ 3, 129, 35, 5, 78, 11, 129, 34, 7, 78, /* 1760 */ 21, 129, 33, 7, 79, 29, 129, 32, 7, 79, /* 1770 */ 38, 129, 32, 6, 80, 4, 92, 29, 129, 31, /* 1780 */ 6, 80, 5, 102, 19, 129, 31, 5, 80, 6, /* 1790 */ 107, 14, 129, 31, 4, 81, 5, 107, 14, 129, /* 1800 */ 30, 5, 81, 6, 107, 14, 129, 30, 4, 81, /* 1810 */ 6, 107, 14, 130, 30, 4, 81, 7, 107, 14, /* 1820 */ 129, 30, 4, 80, 8, 107, 14, 130, 30, 5, /* 1830 */ 80, 8, 107, 14, 129, 30, 5, 79, 9, 107, /* 1840 */ 14, 129, 31, 5, 79, 9, 107, 14, 129, 31, /* 1850 */ 6, 78, 10, 107, 14, 129, 32, 6, 76, 11, /* 1860 */ 107, 14, 129, 32, 8, 74, 13, 107, 14, 129, /* 1870 */ 33, 10, 71, 16, 107, 14, 129, 33, 15, 67, /* 1880 */ 19, 107, 14, 129, 34, 51, 107, 14, 129, 35, /* 1890 */ 49, 107, 14, 129, 36, 47, 107, 14, 129, 37, /* 1900 */ 45, 107, 14, 129, 39, 41, 107, 14, 129, 41, /* 1910 */ 37, 107, 14, 129, 44, 32, 107, 14, 129, 47, /* 1920 */ 25, 111, 10, 129, 51, 16, 115, 6, 129, 119, /* 1930 */ 2, 129, 193, 129, 56, 39, 129, 51, 49, 129, /* 1940 */ 47, 57, 129, 44, 63, 129, 42, 67, 129, 40, /* 1950 */ 71, 129, 38, 75, 129, 37, 77, 129, 35, 81, /* 1960 */ 129, 34, 16, 74, 5, 101, 16, 129, 33, 11, /* 1970 */ 76, 5, 107, 11, 129, 32, 9, 77, 5, 110, /* 1980 */ 9, 129, 32, 7, 79, 4, 112, 7, 129, 31, /* 1990 */ 6, 80, 4, 114, 6, 129, 31, 5, 81, 4, /* 2000 */ 115, 5, 129, 30, 5, 82, 4, 116, 5, 129, /* 2010 */ 30, 4, 82, 4, 116, 5, 129, 30, 4, 82, /* 2020 */ 5, 117, 4, 131, 30, 5, 82, 5, 117, 4, /* 2030 */ 129, 31, 5, 81, 6, 117, 4, 129, 31, 6, /* 2040 */ 80, 7, 117, 4, 129, 32, 7, 79, 8, 117, /* 2050 */ 4, 129, 32, 9, 77, 9, 116, 5, 129, 33, /* 2060 */ 11, 75, 11, 116, 4, 129, 34, 16, 69, 16, /* 2070 */ 115, 5, 129, 35, 49, 114, 5, 129, 37, 46, /* 2080 */ 113, 5, 129, 38, 44, 112, 6, 129, 40, 41, /* 2090 */ 112, 5, 129, 42, 37, 113, 3, 129, 44, 33, /* 2100 */ 114, 1, 129, 47, 27, 129, 51, 17, 129, 193, /* 2110 */ 129, 103, 2, 129, 103, 6, 129, 104, 9, 129, /* 2120 */ 105, 12, 129, 106, 15, 129, 107, 14, 135, 30, /* 2130 */ 10, 107, 14, 129, 30, 17, 107, 14, 129, 30, /* 2140 */ 25, 107, 14, 129, 30, 31, 107, 14, 129, 30, /* 2150 */ 37, 107, 14, 129, 30, 42, 107, 14, 129, 30, /* 2160 */ 46, 107, 14, 129, 30, 50, 107, 14, 129, 30, /* 2170 */ 54, 107, 14, 129, 30, 58, 107, 14, 129, 59, /* 2180 */ 32, 107, 14, 129, 64, 30, 107, 14, 129, 74, /* 2190 */ 23, 107, 14, 129, 81, 18, 107, 14, 129, 86, /* 2200 */ 16, 107, 14, 129, 91, 14, 107, 14, 129, 96, /* 2210 */ 25, 129, 100, 21, 129, 104, 17, 129, 107, 14, /* 2220 */ 129, 111, 10, 129, 114, 7, 129, 117, 4, 129, /* 2230 */ 120, 1, 129, 193, 129, 48, 13, 129, 44, 21, /* 2240 */ 129, 42, 26, 129, 40, 30, 92, 12, 129, 38, /* 2250 */ 34, 88, 20, 129, 36, 37, 86, 25, 129, 35, /* 2260 */ 39, 84, 29, 129, 34, 13, 63, 12, 82, 33, /* 2270 */ 129, 33, 11, 67, 9, 80, 36, 129, 32, 9, /* 2280 */ 70, 7, 79, 38, 129, 31, 8, 72, 46, 129, /* 2290 */ 30, 7, 74, 22, 108, 11, 129, 30, 6, 75, /* 2300 */ 19, 111, 9, 129, 30, 5, 75, 17, 113, 7, /* 2310 */ 129, 30, 5, 74, 16, 114, 6, 129, 30, 4, /* 2320 */ 73, 16, 115, 6, 129, 30, 4, 72, 16, 116, /* 2330 */ 5, 129, 30, 4, 72, 15, 117, 4, 129, 30, /* 2340 */ 4, 71, 16, 117, 4, 129, 30, 5, 70, 16, /* 2350 */ 117, 4, 129, 30, 5, 70, 15, 117, 4, 129, /* 2360 */ 30, 6, 69, 15, 116, 5, 129, 30, 7, 68, /* 2370 */ 17, 115, 5, 129, 30, 9, 67, 19, 114, 6, /* 2380 */ 129, 30, 10, 65, 22, 113, 6, 129, 31, 12, /* 2390 */ 63, 27, 110, 9, 129, 32, 14, 60, 21, 84, /* 2400 */ 9, 106, 12, 129, 33, 47, 85, 32, 129, 34, /* 2410 */ 45, 86, 30, 129, 35, 43, 88, 26, 129, 36, /* 2420 */ 40, 90, 22, 129, 38, 36, 93, 17, 129, 40, /* 2430 */ 32, 96, 10, 129, 42, 28, 129, 44, 23, 129, /* 2440 */ 48, 15, 129, 193, 129, 83, 17, 129, 77, 27, /* 2450 */ 129, 36, 1, 74, 33, 129, 35, 3, 72, 37, /* 2460 */ 129, 34, 5, 70, 41, 129, 33, 6, 69, 44, /* 2470 */ 129, 33, 5, 68, 46, 129, 32, 5, 67, 49, /* 2480 */ 129, 31, 5, 66, 17, 101, 16, 129, 31, 5, /* 2490 */ 66, 11, 108, 10, 129, 30, 4, 65, 9, 110, /* 2500 */ 9, 129, 30, 4, 64, 8, 112, 7, 129, 30, /* 2510 */ 4, 64, 7, 114, 6, 129, 30, 4, 64, 6, /* 2520 */ 115, 5, 129, 30, 4, 64, 5, 116, 5, 129, /* 2530 */ 30, 4, 64, 5, 117, 4, 131, 30, 4, 65, /* 2540 */ 4, 117, 4, 129, 30, 5, 65, 4, 116, 5, /* 2550 */ 129, 31, 5, 66, 4, 115, 5, 129, 31, 6, /* 2560 */ 67, 4, 114, 6, 129, 32, 7, 68, 4, 112, /* 2570 */ 7, 129, 32, 9, 69, 5, 110, 9, 129, 33, /* 2580 */ 11, 70, 5, 107, 11, 129, 34, 16, 72, 5, /* 2590 */ 101, 16, 129, 35, 81, 129, 37, 77, 129, 38, /* 2600 */ 75, 129, 40, 71, 129, 42, 67, 129, 44, 63, /* 2610 */ 129, 47, 57, 129, 51, 49, 129, 56, 39, 129, /* 2620 */ 193, 130, 34, 6, 74, 6, 129, 32, 10, 72, /* 2630 */ 10, 129, 31, 12, 71, 12, 129, 30, 14, 70, /* 2640 */ 14, 131, 31, 12, 71, 12, 129, 32, 10, 72, /* 2650 */ 10, 129, 34, 6, 74, 6, 129, 194, 130, 34, /* 2660 */ 6, 74, 6, 129, 32, 10, 72, 10, 129, 31, /* 2670 */ 12, 71, 12, 129, 30, 14, 70, 14, 129, 20, /* 2680 */ 2, 28, 16, 70, 14, 129, 22, 22, 70, 14, /* 2690 */ 129, 24, 19, 71, 12, 129, 27, 15, 72, 10, /* 2700 */ 129, 31, 9, 74, 6, 129, 194, 129, 53, 4, /* 2710 */ 63, 4, 152, 193, 130, 99, 7, 129, 97, 13, /* 2720 */ 129, 96, 16, 129, 96, 18, 129, 96, 19, 129, /* 2730 */ 97, 19, 129, 99, 6, 110, 7, 129, 112, 6, /* 2740 */ 129, 114, 5, 129, 34, 6, 57, 5, 115, 4, /* 2750 */ 129, 32, 10, 54, 12, 116, 4, 129, 31, 12, /* 2760 */ 53, 16, 117, 3, 129, 30, 14, 52, 20, 117, /* 2770 */ 4, 129, 30, 14, 52, 23, 117, 4, 129, 30, /* 2780 */ 14, 52, 25, 117, 4, 129, 31, 12, 52, 27, /* 2790 */ 117, 4, 129, 32, 10, 53, 10, 70, 11, 116, /* 2800 */ 5, 129, 34, 6, 55, 5, 73, 10, 115, 6, /* 2810 */ 129, 74, 11, 114, 7, 129, 75, 12, 112, 9, /* 2820 */ 129, 76, 13, 110, 10, 129, 77, 16, 106, 14, /* 2830 */ 129, 78, 41, 129, 80, 38, 129, 81, 36, 129, /* 2840 */ 82, 34, 129, 84, 30, 129, 86, 26, 129, 88, /* 2850 */ 22, 129, 92, 14, 129, 194, 129, 55, 15, 129, /* 2860 */ 50, 25, 129, 47, 32, 129, 45, 13, 70, 12, /* 2870 */ 129, 43, 9, 76, 10, 129, 42, 6, 79, 8, /* 2880 */ 129, 41, 5, 81, 7, 129, 40, 4, 84, 6, /* 2890 */ 129, 39, 4, 59, 12, 85, 6, 129, 38, 4, /* 2900 */ 55, 19, 87, 5, 129, 37, 4, 53, 23, 88, /* 2910 */ 4, 129, 36, 4, 51, 8, 71, 6, 89, 4, /* 2920 */ 129, 36, 4, 51, 6, 73, 4, 89, 4, 129, /* 2930 */ 36, 4, 50, 6, 74, 4, 90, 3, 129, 35, /* 2940 */ 4, 50, 5, 75, 3, 90, 4, 129, 35, 4, /* 2950 */ 50, 4, 75, 4, 90, 4, 131, 35, 4, 50, /* 2960 */ 5, 75, 4, 90, 4, 129, 36, 4, 51, 5, /* 2970 */ 75, 4, 90, 4, 129, 36, 4, 51, 6, 75, /* 2980 */ 4, 90, 4, 129, 36, 4, 53, 26, 90, 4, /* 2990 */ 129, 37, 4, 54, 25, 90, 4, 129, 37, 4, /* 3000 */ 52, 27, 90, 3, 129, 38, 4, 52, 4, 89, /* 3010 */ 4, 129, 39, 4, 51, 4, 88, 4, 129, 40, /* 3020 */ 4, 50, 4, 87, 5, 129, 41, 4, 50, 4, /* 3030 */ 86, 5, 129, 42, 4, 50, 4, 85, 5, 129, /* 3040 */ 43, 3, 50, 4, 83, 6, 129, 44, 2, 51, /* 3050 */ 5, 80, 7, 129, 46, 1, 52, 6, 76, 9, /* 3060 */ 129, 54, 28, 129, 56, 23, 129, 60, 16, 129, /* 3070 */ 193, 129, 30, 4, 132, 30, 5, 129, 30, 8, /* 3080 */ 129, 30, 12, 129, 30, 16, 129, 30, 4, 37, /* 3090 */ 12, 129, 30, 4, 41, 12, 129, 30, 4, 44, /* 3100 */ 13, 129, 30, 4, 48, 13, 129, 52, 13, 129, /* 3110 */ 56, 12, 129, 58, 14, 129, 58, 4, 64, 12, /* 3120 */ 129, 58, 4, 68, 12, 129, 58, 4, 72, 12, /* 3130 */ 129, 58, 4, 75, 13, 129, 58, 4, 79, 13, /* 3140 */ 129, 58, 4, 83, 13, 129, 58, 4, 87, 13, /* 3150 */ 129, 58, 4, 91, 12, 129, 58, 4, 95, 12, /* 3160 */ 129, 58, 4, 96, 15, 129, 58, 4, 93, 22, /* 3170 */ 129, 58, 4, 89, 30, 129, 58, 4, 85, 36, /* 3180 */ 129, 58, 4, 81, 38, 129, 58, 4, 77, 38, /* 3190 */ 129, 58, 4, 73, 38, 129, 58, 4, 70, 37, /* 3200 */ 129, 58, 4, 66, 37, 129, 58, 41, 129, 58, /* 3210 */ 37, 129, 54, 38, 129, 30, 4, 50, 38, 129, /* 3220 */ 30, 4, 46, 38, 129, 30, 4, 42, 38, 129, /* 3230 */ 30, 4, 38, 39, 129, 30, 43, 129, 30, 39, /* 3240 */ 129, 30, 35, 129, 30, 31, 129, 30, 27, 129, /* 3250 */ 30, 24, 129, 30, 20, 129, 30, 16, 129, 30, /* 3260 */ 12, 129, 30, 8, 129, 30, 5, 129, 30, 4, /* 3270 */ 132, 193, 129, 30, 4, 117, 4, 132, 30, 91, /* 3280 */ 137, 30, 4, 80, 4, 117, 4, 138, 30, 4, /* 3290 */ 80, 5, 116, 5, 129, 30, 5, 79, 6, 116, /* 3300 */ 5, 130, 30, 6, 78, 8, 115, 6, 129, 31, /* 3310 */ 6, 77, 9, 115, 6, 129, 31, 7, 76, 11, /* 3320 */ 114, 6, 129, 31, 8, 75, 14, 112, 8, 129, /* 3330 */ 32, 8, 74, 16, 111, 9, 129, 32, 9, 73, /* 3340 */ 19, 109, 10, 129, 33, 10, 71, 24, 106, 13, /* 3350 */ 129, 33, 13, 68, 12, 83, 35, 129, 34, 16, /* 3360 */ 64, 15, 84, 33, 129, 35, 43, 85, 31, 129, /* 3370 */ 36, 41, 86, 29, 129, 37, 39, 88, 25, 129, /* 3380 */ 38, 37, 90, 21, 129, 40, 33, 93, 15, 129, /* 3390 */ 42, 29, 96, 9, 129, 45, 24, 129, 49, 16, /* 3400 */ 129, 193, 129, 63, 25, 129, 57, 37, 129, 53, /* 3410 */ 45, 129, 50, 51, 129, 47, 57, 129, 45, 61, /* 3420 */ 129, 43, 65, 129, 41, 69, 129, 39, 73, 129, /* 3430 */ 38, 25, 92, 21, 129, 36, 21, 97, 18, 129, /* 3440 */ 35, 18, 102, 14, 129, 34, 16, 106, 11, 129, /* 3450 */ 33, 14, 108, 10, 129, 32, 12, 111, 8, 129, /* 3460 */ 32, 10, 113, 6, 129, 31, 10, 114, 6, 129, /* 3470 */ 31, 8, 115, 5, 129, 30, 8, 116, 5, 129, /* 3480 */ 30, 7, 116, 5, 129, 30, 6, 117, 4, 130, /* 3490 */ 30, 5, 117, 4, 131, 31, 4, 116, 5, 129, /* 3500 */ 32, 4, 116, 4, 129, 32, 5, 115, 5, 129, /* 3510 */ 33, 4, 114, 5, 129, 34, 4, 112, 6, 129, /* 3520 */ 35, 4, 110, 7, 129, 37, 4, 107, 9, 129, /* 3530 */ 39, 4, 103, 12, 129, 41, 4, 103, 18, 129, /* 3540 */ 43, 4, 103, 18, 129, 45, 5, 103, 18, 129, /* 3550 */ 48, 5, 103, 18, 129, 51, 1, 129, 193, 129, /* 3560 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4, /* 3570 */ 117, 4, 135, 30, 5, 116, 5, 130, 30, 6, /* 3580 */ 115, 6, 130, 31, 6, 114, 6, 129, 31, 7, /* 3590 */ 113, 7, 129, 32, 7, 112, 7, 129, 32, 8, /* 3600 */ 111, 8, 129, 33, 9, 109, 9, 129, 33, 12, /* 3610 */ 106, 12, 129, 34, 13, 104, 13, 129, 35, 15, /* 3620 */ 101, 15, 129, 36, 19, 96, 19, 129, 37, 24, /* 3630 */ 90, 24, 129, 39, 73, 129, 40, 71, 129, 42, /* 3640 */ 67, 129, 44, 63, 129, 46, 59, 129, 49, 53, /* 3650 */ 129, 52, 47, 129, 56, 39, 129, 61, 29, 129, /* 3660 */ 193, 129, 30, 4, 117, 4, 132, 30, 91, 137, /* 3670 */ 30, 4, 80, 4, 117, 4, 140, 30, 4, 79, /* 3680 */ 6, 117, 4, 129, 30, 4, 77, 10, 117, 4, /* 3690 */ 129, 30, 4, 73, 18, 117, 4, 132, 30, 4, /* 3700 */ 117, 4, 130, 30, 5, 116, 5, 130, 30, 7, /* 3710 */ 114, 7, 129, 30, 8, 113, 8, 129, 30, 11, /* 3720 */ 110, 11, 129, 30, 18, 103, 18, 132, 193, 129, /* 3730 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4, /* 3740 */ 80, 4, 117, 4, 132, 80, 4, 117, 4, 136, /* 3750 */ 79, 6, 117, 4, 129, 77, 10, 117, 4, 129, /* 3760 */ 73, 18, 117, 4, 132, 117, 4, 130, 116, 5, /* 3770 */ 130, 114, 7, 129, 113, 8, 129, 110, 11, 129, /* 3780 */ 103, 18, 132, 193, 129, 63, 25, 129, 57, 37, /* 3790 */ 129, 53, 45, 129, 50, 51, 129, 47, 57, 129, /* 3800 */ 45, 61, 129, 43, 65, 129, 41, 69, 129, 39, /* 3810 */ 73, 129, 38, 25, 92, 21, 129, 36, 21, 97, /* 3820 */ 18, 129, 35, 18, 102, 14, 129, 34, 16, 106, /* 3830 */ 11, 129, 33, 14, 108, 10, 129, 32, 12, 111, /* 3840 */ 8, 129, 32, 10, 113, 6, 129, 31, 10, 114, /* 3850 */ 6, 129, 31, 8, 115, 5, 129, 30, 8, 116, /* 3860 */ 5, 129, 30, 7, 116, 5, 129, 30, 6, 117, /* 3870 */ 4, 130, 30, 5, 117, 4, 131, 30, 5, 75, /* 3880 */ 4, 116, 5, 129, 31, 5, 75, 4, 116, 4, /* 3890 */ 129, 31, 6, 75, 4, 115, 5, 129, 32, 7, /* 3900 */ 75, 4, 114, 5, 129, 32, 9, 75, 4, 112, /* 3910 */ 6, 129, 33, 11, 75, 4, 110, 7, 129, 34, /* 3920 */ 15, 75, 4, 107, 9, 129, 35, 44, 103, 12, /* 3930 */ 129, 36, 43, 103, 18, 129, 38, 41, 103, 18, /* 3940 */ 129, 39, 40, 103, 18, 129, 41, 38, 103, 18, /* 3950 */ 129, 44, 35, 129, 48, 31, 129, 52, 27, 129, /* 3960 */ 61, 18, 129, 193, 129, 30, 4, 117, 4, 132, /* 3970 */ 30, 91, 137, 30, 4, 80, 4, 117, 4, 132, /* 3980 */ 80, 4, 140, 30, 4, 80, 4, 117, 4, 132, /* 3990 */ 30, 91, 137, 30, 4, 117, 4, 132, 193, 129, /* 4000 */ 30, 4, 117, 4, 132, 30, 91, 137, 30, 4, /* 4010 */ 117, 4, 132, 193, 129, 44, 7, 129, 40, 13, /* 4020 */ 129, 37, 17, 129, 35, 20, 129, 34, 22, 129, /* 4030 */ 33, 23, 129, 32, 24, 129, 32, 23, 129, 31, /* 4040 */ 6, 41, 13, 129, 31, 5, 42, 11, 129, 30, /* 4050 */ 5, 44, 7, 129, 30, 4, 132, 30, 5, 130, /* 4060 */ 31, 5, 129, 31, 6, 117, 4, 129, 31, 8, /* 4070 */ 117, 4, 129, 32, 9, 117, 4, 129, 33, 11, /* 4080 */ 117, 4, 129, 34, 87, 129, 35, 86, 129, 36, /* 4090 */ 85, 129, 37, 84, 129, 38, 83, 129, 40, 81, /* 4100 */ 129, 42, 79, 129, 45, 76, 129, 50, 71, 129, /* 4110 */ 117, 4, 132, 193, 129, 30, 4, 117, 4, 132, /* 4120 */ 30, 91, 137, 30, 4, 76, 8, 117, 4, 129, /* 4130 */ 30, 4, 73, 13, 117, 4, 129, 30, 4, 70, /* 4140 */ 18, 117, 4, 129, 30, 4, 67, 23, 117, 4, /* 4150 */ 129, 65, 26, 129, 62, 31, 129, 59, 35, 129, /* 4160 */ 56, 29, 89, 7, 129, 53, 29, 91, 7, 129, /* 4170 */ 50, 29, 93, 7, 129, 47, 29, 95, 6, 129, /* 4180 */ 30, 4, 45, 29, 96, 7, 129, 30, 4, 42, /* 4190 */ 29, 98, 7, 129, 30, 4, 39, 30, 100, 6, /* 4200 */ 129, 30, 4, 36, 30, 101, 7, 129, 30, 33, /* 4210 */ 103, 7, 117, 4, 129, 30, 30, 105, 6, 117, /* 4220 */ 4, 129, 30, 27, 106, 7, 117, 4, 129, 30, /* 4230 */ 25, 108, 7, 117, 4, 129, 30, 22, 110, 11, /* 4240 */ 129, 30, 19, 111, 10, 129, 30, 16, 113, 8, /* 4250 */ 129, 30, 13, 115, 6, 129, 30, 11, 116, 5, /* 4260 */ 129, 30, 8, 117, 4, 129, 30, 5, 117, 4, /* 4270 */ 129, 30, 4, 117, 4, 130, 30, 4, 130, 193, /* 4280 */ 129, 30, 4, 117, 4, 132, 30, 91, 137, 30, /* 4290 */ 4, 117, 4, 132, 30, 4, 144, 30, 5, 130, /* 4300 */ 30, 7, 129, 30, 8, 129, 30, 11, 129, 30, /* 4310 */ 18, 132, 193, 129, 30, 4, 117, 4, 132, 30, /* 4320 */ 91, 132, 30, 4, 103, 18, 129, 30, 4, 97, /* 4330 */ 24, 129, 30, 4, 92, 29, 129, 30, 4, 87, /* 4340 */ 34, 129, 81, 40, 129, 76, 45, 129, 70, 49, /* 4350 */ 129, 65, 49, 129, 60, 49, 129, 55, 49, 129, /* 4360 */ 50, 48, 129, 44, 49, 129, 39, 48, 129, 33, /* 4370 */ 49, 129, 30, 47, 129, 34, 37, 129, 40, 26, /* 4380 */ 129, 46, 19, 129, 52, 19, 129, 58, 19, 129, /* 4390 */ 64, 19, 129, 70, 19, 129, 76, 19, 129, 82, /* 4400 */ 19, 129, 30, 4, 88, 18, 129, 30, 4, 94, /* 4410 */ 18, 129, 30, 4, 100, 18, 129, 30, 4, 106, /* 4420 */ 15, 129, 30, 91, 137, 30, 4, 117, 4, 132, /* 4430 */ 193, 129, 30, 4, 117, 4, 132, 30, 91, 132, /* 4440 */ 30, 4, 107, 14, 129, 30, 4, 104, 17, 129, /* 4450 */ 30, 4, 101, 20, 129, 30, 4, 99, 22, 129, /* 4460 */ 96, 25, 129, 93, 28, 129, 91, 28, 129, 88, /* 4470 */ 29, 129, 85, 29, 129, 82, 29, 129, 79, 29, /* 4480 */ 129, 76, 29, 129, 74, 29, 129, 71, 29, 129, /* 4490 */ 68, 29, 129, 65, 29, 129, 62, 29, 129, 60, /* 4500 */ 29, 129, 57, 29, 129, 54, 29, 129, 51, 29, /* 4510 */ 129, 49, 28, 129, 46, 29, 129, 43, 29, 129, /* 4520 */ 40, 29, 117, 4, 129, 37, 29, 117, 4, 129, /* 4530 */ 35, 29, 117, 4, 129, 32, 29, 117, 4, 129, /* 4540 */ 30, 91, 132, 117, 4, 132, 193, 129, 63, 25, /* 4550 */ 129, 57, 37, 129, 53, 45, 129, 50, 51, 129, /* 4560 */ 47, 57, 129, 45, 61, 129, 43, 65, 129, 41, /* 4570 */ 69, 129, 39, 73, 129, 38, 21, 92, 21, 129, /* 4580 */ 36, 18, 97, 18, 129, 35, 14, 102, 14, 129, /* 4590 */ 34, 11, 106, 11, 129, 33, 10, 108, 10, 129, /* 4600 */ 32, 8, 111, 8, 129, 32, 6, 113, 6, 129, /* 4610 */ 31, 6, 114, 6, 129, 31, 5, 115, 5, 129, /* 4620 */ 30, 5, 116, 5, 130, 30, 4, 117, 4, 132, /* 4630 */ 30, 5, 116, 5, 130, 31, 5, 115, 5, 129, /* 4640 */ 31, 6, 114, 6, 129, 32, 6, 113, 6, 129, /* 4650 */ 32, 8, 111, 8, 129, 33, 10, 108, 10, 129, /* 4660 */ 34, 11, 106, 11, 129, 35, 14, 102, 14, 129, /* 4670 */ 36, 18, 97, 18, 129, 38, 21, 92, 21, 129, /* 4680 */ 39, 73, 129, 41, 69, 129, 43, 65, 129, 45, /* 4690 */ 61, 129, 47, 57, 129, 50, 51, 129, 53, 45, /* 4700 */ 129, 57, 37, 129, 63, 25, 129, 193, 129, 30, /* 4710 */ 4, 117, 4, 132, 30, 91, 137, 30, 4, 80, /* 4720 */ 4, 117, 4, 132, 80, 4, 117, 4, 134, 80, /* 4730 */ 5, 116, 5, 131, 80, 6, 115, 6, 130, 81, /* 4740 */ 6, 114, 6, 129, 81, 8, 112, 8, 129, 81, /* 4750 */ 9, 111, 9, 129, 82, 10, 109, 10, 129, 82, /* 4760 */ 13, 106, 13, 129, 83, 35, 129, 84, 33, 129, /* 4770 */ 85, 31, 129, 86, 29, 129, 88, 25, 129, 90, /* 4780 */ 21, 129, 93, 15, 129, 96, 9, 129, 193, 129, /* 4790 */ 63, 25, 129, 57, 37, 129, 53, 45, 129, 50, /* 4800 */ 51, 129, 47, 57, 129, 45, 61, 129, 43, 65, /* 4810 */ 129, 41, 69, 129, 39, 73, 129, 38, 21, 92, /* 4820 */ 21, 129, 36, 18, 97, 18, 129, 35, 14, 102, /* 4830 */ 14, 129, 34, 11, 106, 11, 129, 33, 10, 108, /* 4840 */ 10, 129, 32, 8, 111, 8, 129, 32, 6, 113, /* 4850 */ 6, 129, 31, 6, 114, 6, 129, 31, 5, 115, /* 4860 */ 5, 129, 30, 5, 116, 5, 130, 30, 4, 39, /* 4870 */ 2, 117, 4, 129, 30, 4, 40, 4, 117, 4, /* 4880 */ 129, 30, 4, 41, 5, 117, 4, 129, 30, 4, /* 4890 */ 41, 6, 117, 4, 129, 30, 5, 40, 8, 116, /* 4900 */ 5, 129, 30, 5, 39, 10, 116, 5, 129, 31, /* 4910 */ 5, 38, 11, 115, 5, 129, 31, 18, 114, 6, /* 4920 */ 129, 32, 17, 113, 6, 129, 32, 16, 111, 8, /* 4930 */ 129, 33, 15, 108, 10, 129, 33, 14, 106, 11, /* 4940 */ 129, 32, 17, 102, 14, 129, 31, 23, 97, 18, /* 4950 */ 129, 31, 28, 92, 21, 129, 30, 82, 129, 30, /* 4960 */ 80, 129, 30, 11, 43, 65, 129, 30, 10, 45, /* 4970 */ 61, 129, 31, 8, 47, 57, 129, 32, 6, 50, /* 4980 */ 51, 129, 33, 5, 53, 45, 129, 35, 4, 57, /* 4990 */ 37, 129, 38, 2, 63, 25, 129, 193, 129, 30, /* 5000 */ 4, 117, 4, 132, 30, 91, 137, 30, 4, 76, /* 5010 */ 8, 117, 4, 129, 30, 4, 73, 11, 117, 4, /* 5020 */ 129, 30, 4, 70, 14, 117, 4, 129, 30, 4, /* 5030 */ 67, 17, 117, 4, 129, 65, 19, 117, 4, 129, /* 5040 */ 62, 22, 117, 4, 129, 59, 25, 117, 4, 129, /* 5050 */ 56, 28, 117, 4, 129, 53, 31, 117, 4, 129, /* 5060 */ 50, 34, 117, 4, 129, 47, 29, 80, 5, 116, /* 5070 */ 5, 129, 30, 4, 45, 29, 80, 5, 116, 5, /* 5080 */ 129, 30, 4, 42, 29, 80, 5, 116, 5, 129, /* 5090 */ 30, 4, 39, 30, 80, 6, 115, 6, 129, 30, /* 5100 */ 4, 36, 30, 80, 6, 115, 6, 129, 30, 33, /* 5110 */ 81, 6, 114, 6, 129, 30, 30, 81, 8, 112, /* 5120 */ 8, 129, 30, 27, 81, 9, 111, 9, 129, 30, /* 5130 */ 25, 82, 10, 109, 10, 129, 30, 22, 82, 13, /* 5140 */ 106, 13, 129, 30, 19, 83, 35, 129, 30, 16, /* 5150 */ 84, 33, 129, 30, 13, 85, 31, 129, 30, 11, /* 5160 */ 86, 29, 129, 30, 8, 88, 25, 129, 30, 5, /* 5170 */ 90, 21, 129, 30, 4, 93, 15, 129, 30, 4, /* 5180 */ 96, 9, 129, 30, 4, 130, 193, 129, 30, 18, /* 5190 */ 130, 30, 18, 89, 15, 129, 30, 18, 85, 23, /* 5200 */ 129, 34, 11, 83, 27, 129, 34, 9, 81, 31, /* 5210 */ 129, 33, 8, 79, 35, 129, 33, 6, 78, 16, /* 5220 */ 106, 9, 129, 32, 6, 77, 15, 109, 7, 129, /* 5230 */ 32, 5, 76, 14, 111, 6, 129, 31, 5, 75, /* 5240 */ 14, 113, 5, 129, 31, 4, 74, 15, 114, 5, /* 5250 */ 129, 31, 4, 74, 14, 115, 4, 129, 30, 4, /* 5260 */ 73, 15, 116, 4, 129, 30, 4, 73, 14, 116, /* 5270 */ 4, 129, 30, 4, 73, 14, 117, 4, 129, 30, /* 5280 */ 4, 72, 15, 117, 4, 130, 30, 4, 71, 15, /* 5290 */ 117, 4, 130, 30, 4, 70, 15, 117, 4, 129, /* 5300 */ 30, 5, 70, 15, 117, 4, 129, 30, 5, 69, /* 5310 */ 15, 116, 5, 129, 30, 6, 68, 16, 115, 5, /* 5320 */ 129, 31, 6, 67, 16, 114, 6, 129, 31, 7, /* 5330 */ 66, 17, 113, 6, 129, 32, 7, 64, 18, 111, /* 5340 */ 8, 129, 32, 8, 62, 19, 109, 9, 129, 33, /* 5350 */ 9, 60, 20, 107, 10, 129, 34, 11, 57, 22, /* 5360 */ 103, 13, 129, 35, 43, 103, 18, 129, 36, 41, /* 5370 */ 103, 18, 129, 38, 38, 103, 18, 129, 39, 35, /* 5380 */ 103, 18, 129, 41, 31, 129, 43, 27, 129, 46, /* 5390 */ 22, 129, 49, 14, 129, 193, 129, 103, 18, 132, /* 5400 */ 110, 11, 129, 113, 8, 129, 114, 7, 129, 116, /* 5410 */ 5, 130, 117, 4, 132, 30, 4, 117, 4, 132, /* 5420 */ 30, 91, 137, 30, 4, 117, 4, 132, 117, 4, /* 5430 */ 132, 116, 5, 130, 114, 7, 129, 113, 8, 129, /* 5440 */ 110, 11, 129, 103, 18, 132, 193, 129, 117, 4, /* 5450 */ 132, 56, 65, 129, 50, 71, 129, 46, 75, 129, /* 5460 */ 44, 77, 129, 42, 79, 129, 40, 81, 129, 38, /* 5470 */ 83, 129, 36, 85, 129, 35, 86, 129, 34, 20, /* 5480 */ 117, 4, 129, 33, 17, 117, 4, 129, 32, 15, /* 5490 */ 117, 4, 129, 32, 13, 117, 4, 129, 31, 12, /* 5500 */ 129, 31, 10, 129, 31, 9, 129, 30, 9, 129, /* 5510 */ 30, 8, 130, 30, 7, 132, 31, 6, 130, 31, /* 5520 */ 7, 129, 32, 6, 129, 32, 7, 129, 33, 7, /* 5530 */ 129, 34, 7, 129, 35, 8, 129, 36, 9, 117, /* 5540 */ 4, 129, 38, 9, 117, 4, 129, 40, 10, 117, /* 5550 */ 4, 129, 42, 12, 117, 4, 129, 44, 77, 129, /* 5560 */ 46, 75, 129, 50, 71, 129, 56, 43, 100, 21, /* 5570 */ 129, 117, 4, 132, 193, 129, 117, 4, 132, 115, /* 5580 */ 6, 129, 110, 11, 129, 105, 16, 129, 101, 20, /* 5590 */ 129, 96, 25, 129, 92, 29, 129, 87, 34, 129, /* 5600 */ 83, 38, 129, 78, 43, 129, 74, 47, 129, 70, /* 5610 */ 42, 117, 4, 129, 65, 42, 117, 4, 129, 60, /* 5620 */ 43, 117, 4, 129, 56, 42, 129, 51, 42, 129, /* 5630 */ 46, 43, 129, 42, 43, 129, 37, 44, 129, 33, /* 5640 */ 43, 129, 30, 42, 129, 33, 34, 129, 38, 25, /* 5650 */ 129, 42, 16, 129, 47, 15, 129, 52, 15, 129, /* 5660 */ 57, 15, 129, 61, 16, 129, 66, 16, 129, 71, /* 5670 */ 16, 129, 76, 16, 129, 80, 16, 129, 85, 16, /* 5680 */ 117, 4, 129, 90, 16, 117, 4, 129, 95, 16, /* 5690 */ 117, 4, 129, 100, 21, 129, 105, 16, 129, 110, /* 5700 */ 11, 129, 114, 7, 129, 117, 4, 132, 193, 129, /* 5710 */ 117, 4, 132, 115, 6, 129, 110, 11, 129, 105, /* 5720 */ 16, 129, 101, 20, 129, 96, 25, 129, 92, 29, /* 5730 */ 129, 87, 34, 129, 83, 38, 129, 78, 43, 129, /* 5740 */ 74, 47, 129, 70, 42, 117, 4, 129, 65, 42, /* 5750 */ 117, 4, 129, 60, 43, 117, 4, 129, 56, 42, /* 5760 */ 129, 51, 42, 129, 46, 43, 129, 42, 43, 129, /* 5770 */ 37, 44, 129, 33, 43, 129, 30, 42, 129, 33, /* 5780 */ 34, 129, 38, 25, 129, 42, 16, 129, 47, 15, /* 5790 */ 129, 52, 15, 129, 57, 15, 129, 61, 16, 129, /* 5800 */ 65, 17, 129, 60, 27, 129, 56, 36, 129, 51, /* 5810 */ 42, 129, 46, 43, 129, 42, 43, 129, 37, 44, /* 5820 */ 129, 33, 43, 129, 30, 42, 129, 33, 34, 129, /* 5830 */ 38, 25, 129, 42, 16, 129, 47, 15, 129, 52, /* 5840 */ 15, 129, 57, 15, 129, 61, 16, 129, 66, 16, /* 5850 */ 129, 71, 16, 129, 76, 16, 129, 80, 16, 129, /* 5860 */ 85, 16, 117, 4, 129, 90, 16, 117, 4, 129, /* 5870 */ 95, 16, 117, 4, 129, 100, 21, 129, 105, 16, /* 5880 */ 129, 110, 11, 129, 114, 7, 129, 117, 4, 132, /* 5890 */ 193, 129, 30, 4, 117, 4, 132, 30, 4, 115, /* 5900 */ 6, 129, 30, 4, 112, 9, 129, 30, 6, 109, /* 5910 */ 12, 129, 30, 9, 106, 15, 129, 30, 11, 103, /* 5920 */ 18, 129, 30, 14, 100, 21, 129, 30, 4, 38, /* 5930 */ 9, 98, 23, 129, 30, 4, 40, 10, 95, 26, /* 5940 */ 129, 30, 4, 43, 9, 92, 29, 129, 46, 9, /* 5950 */ 89, 32, 129, 49, 8, 86, 28, 117, 4, 129, /* 5960 */ 51, 9, 83, 28, 117, 4, 129, 54, 9, 80, /* 5970 */ 28, 117, 4, 129, 57, 8, 77, 28, 117, 4, /* 5980 */ 129, 59, 9, 74, 28, 129, 62, 37, 129, 64, /* 5990 */ 33, 129, 66, 28, 129, 63, 28, 129, 60, 28, /* 6000 */ 129, 57, 28, 129, 54, 33, 129, 51, 39, 129, /* 6010 */ 48, 29, 83, 9, 129, 30, 4, 45, 29, 86, /* 6020 */ 9, 129, 30, 4, 42, 29, 89, 9, 129, 30, /* 6030 */ 4, 39, 29, 92, 8, 129, 30, 4, 36, 29, /* 6040 */ 94, 9, 129, 30, 32, 97, 9, 129, 30, 29, /* 6050 */ 100, 8, 117, 4, 129, 30, 26, 103, 8, 117, /* 6060 */ 4, 129, 30, 23, 105, 9, 117, 4, 129, 30, /* 6070 */ 20, 108, 13, 129, 30, 18, 111, 10, 129, 30, /* 6080 */ 15, 113, 8, 129, 30, 12, 116, 5, 129, 30, /* 6090 */ 9, 117, 4, 129, 30, 6, 117, 4, 129, 30, /* 6100 */ 4, 117, 4, 132, 193, 129, 117, 4, 132, 114, /* 6110 */ 7, 129, 111, 10, 129, 108, 13, 129, 105, 16, /* 6120 */ 129, 102, 19, 129, 100, 21, 129, 96, 25, 129, /* 6130 */ 93, 28, 129, 90, 31, 129, 87, 34, 129, 84, /* 6140 */ 30, 117, 4, 129, 30, 4, 81, 30, 117, 4, /* 6150 */ 129, 30, 4, 78, 30, 117, 4, 129, 30, 4, /* 6160 */ 75, 30, 117, 4, 129, 30, 4, 72, 30, 129, /* 6170 */ 30, 69, 129, 30, 66, 129, 30, 63, 129, 30, /* 6180 */ 60, 129, 30, 57, 129, 30, 54, 129, 30, 51, /* 6190 */ 129, 30, 48, 129, 30, 51, 129, 30, 4, 73, /* 6200 */ 12, 129, 30, 4, 76, 12, 129, 30, 4, 80, /* 6210 */ 12, 129, 30, 4, 83, 12, 129, 87, 12, 129, /* 6220 */ 90, 12, 117, 4, 129, 94, 11, 117, 4, 129, /* 6230 */ 97, 12, 117, 4, 129, 101, 12, 117, 4, 129, /* 6240 */ 104, 17, 129, 108, 13, 129, 111, 10, 129, 115, /* 6250 */ 6, 129, 117, 4, 134, 193, 129, 30, 1, 103, /* 6260 */ 18, 129, 30, 4, 103, 18, 129, 30, 7, 103, /* 6270 */ 18, 129, 30, 9, 103, 18, 129, 30, 12, 110, /* 6280 */ 11, 129, 30, 15, 113, 8, 129, 30, 18, 114, /* 6290 */ 7, 129, 30, 21, 116, 5, 129, 30, 24, 116, /* 6300 */ 5, 129, 30, 27, 117, 4, 129, 30, 30, 117, /* 6310 */ 4, 129, 30, 33, 117, 4, 129, 30, 4, 37, /* 6320 */ 28, 117, 4, 129, 30, 4, 40, 28, 117, 4, /* 6330 */ 129, 30, 4, 42, 29, 117, 4, 129, 30, 4, /* 6340 */ 45, 29, 117, 4, 129, 30, 4, 48, 29, 117, /* 6350 */ 4, 129, 30, 4, 51, 29, 117, 4, 129, 30, /* 6360 */ 4, 54, 29, 117, 4, 129, 30, 4, 57, 29, /* 6370 */ 117, 4, 129, 30, 4, 59, 30, 117, 4, 129, /* 6380 */ 30, 4, 62, 30, 117, 4, 129, 30, 4, 65, /* 6390 */ 30, 117, 4, 129, 30, 4, 68, 30, 117, 4, /* 6400 */ 129, 30, 4, 71, 30, 117, 4, 129, 30, 4, /* 6410 */ 74, 30, 117, 4, 129, 30, 4, 77, 30, 117, /* 6420 */ 4, 129, 30, 4, 80, 30, 117, 4, 129, 30, /* 6430 */ 4, 83, 30, 117, 4, 129, 30, 4, 86, 35, /* 6440 */ 129, 30, 4, 89, 32, 129, 30, 4, 91, 30, /* 6450 */ 129, 30, 4, 94, 27, 129, 30, 5, 97, 24, /* 6460 */ 129, 30, 5, 100, 21, 129, 30, 7, 103, 18, /* 6470 */ 129, 30, 8, 106, 15, 129, 30, 11, 109, 12, /* 6480 */ 129, 30, 18, 112, 9, 129, 30, 18, 115, 6, /* 6490 */ 129, 30, 18, 117, 4, 129, 30, 18, 120, 1, /* 6500 */ 129, 193, 129, 42, 8, 129, 38, 16, 129, 36, /* 6510 */ 20, 129, 34, 24, 71, 5, 129, 33, 26, 69, /* 6520 */ 10, 129, 32, 28, 68, 13, 129, 31, 30, 68, /* 6530 */ 14, 129, 31, 9, 52, 9, 68, 15, 129, 30, /* 6540 */ 8, 54, 8, 69, 14, 129, 30, 7, 55, 7, /* 6550 */ 71, 4, 78, 6, 129, 30, 6, 56, 6, 79, /* 6560 */ 5, 129, 30, 6, 56, 6, 80, 4, 130, 31, /* 6570 */ 5, 56, 5, 80, 4, 129, 31, 5, 56, 5, /* 6580 */ 79, 5, 129, 32, 5, 55, 5, 78, 6, 129, /* 6590 */ 33, 5, 54, 5, 77, 7, 129, 34, 6, 52, /* 6600 */ 6, 74, 9, 129, 35, 48, 129, 33, 49, 129, /* 6610 */ 32, 49, 129, 31, 49, 129, 30, 49, 129, 30, /* 6620 */ 47, 129, 30, 45, 129, 30, 41, 129, 30, 6, /* 6630 */ 129, 30, 4, 129, 30, 3, 129, 30, 2, 129, /* 6640 */ 193, 129, 30, 4, 117, 4, 130, 31, 90, 136, /* 6650 */ 37, 5, 72, 5, 129, 35, 5, 74, 5, 129, /* 6660 */ 33, 5, 76, 5, 129, 32, 5, 77, 5, 129, /* 6670 */ 31, 5, 78, 5, 129, 31, 4, 79, 4, 129, /* 6680 */ 30, 5, 79, 5, 131, 30, 6, 78, 6, 129, /* 6690 */ 30, 7, 77, 7, 129, 31, 8, 75, 8, 129, /* 6700 */ 31, 11, 72, 11, 129, 32, 15, 67, 15, 129, /* 6710 */ 33, 48, 129, 34, 46, 129, 35, 44, 129, 37, /* 6720 */ 40, 129, 39, 36, 129, 42, 30, 129, 46, 22, /* 6730 */ 129, 193, 129, 48, 18, 129, 43, 28, 129, 41, /* 6740 */ 32, 129, 39, 36, 129, 37, 40, 129, 35, 44, /* 6750 */ 129, 34, 46, 129, 33, 13, 68, 13, 129, 32, /* 6760 */ 9, 73, 9, 129, 32, 7, 75, 7, 129, 31, /* 6770 */ 6, 77, 6, 129, 31, 5, 78, 5, 129, 30, /* 6780 */ 5, 79, 5, 129, 30, 4, 80, 4, 133, 31, /* 6790 */ 3, 79, 4, 129, 31, 4, 79, 4, 129, 32, /* 6800 */ 3, 78, 4, 129, 32, 4, 76, 6, 129, 33, /* 6810 */ 4, 74, 7, 129, 34, 4, 72, 8, 129, 35, /* 6820 */ 5, 72, 7, 129, 37, 5, 73, 4, 129, 39, /* 6830 */ 4, 74, 1, 129, 129, 193, 129, 46, 22, 129, /* 6840 */ 42, 30, 129, 39, 36, 129, 37, 40, 129, 35, /* 6850 */ 44, 129, 34, 46, 129, 33, 48, 129, 32, 15, /* 6860 */ 67, 15, 129, 31, 11, 72, 11, 129, 31, 8, /* 6870 */ 75, 8, 129, 30, 7, 77, 7, 129, 30, 6, /* 6880 */ 78, 6, 129, 30, 5, 79, 5, 131, 31, 4, /* 6890 */ 79, 4, 129, 31, 5, 78, 5, 129, 32, 5, /* 6900 */ 77, 5, 129, 33, 5, 76, 5, 129, 35, 5, /* 6910 */ 74, 5, 117, 4, 129, 37, 5, 72, 5, 117, /* 6920 */ 4, 129, 30, 91, 136, 30, 4, 130, 193, 129, /* 6930 */ 48, 18, 129, 43, 28, 129, 41, 32, 129, 39, /* 6940 */ 36, 129, 37, 40, 129, 35, 44, 129, 34, 46, /* 6950 */ 129, 33, 13, 55, 4, 68, 13, 129, 32, 9, /* 6960 */ 55, 4, 73, 9, 129, 32, 7, 55, 4, 75, /* 6970 */ 7, 129, 31, 6, 55, 4, 77, 6, 129, 31, /* 6980 */ 5, 55, 4, 78, 5, 129, 30, 5, 55, 4, /* 6990 */ 79, 5, 129, 30, 4, 55, 4, 80, 4, 132, /* 7000 */ 30, 4, 55, 4, 79, 5, 129, 31, 3, 55, /* 7010 */ 4, 78, 5, 129, 31, 4, 55, 4, 77, 6, /* 7020 */ 129, 32, 3, 55, 4, 75, 7, 129, 32, 4, /* 7030 */ 55, 4, 73, 9, 129, 33, 4, 55, 4, 68, /* 7040 */ 13, 129, 34, 4, 55, 25, 129, 35, 5, 55, /* 7050 */ 24, 129, 37, 5, 55, 22, 129, 39, 4, 55, /* 7060 */ 20, 129, 55, 18, 129, 55, 16, 129, 55, 11, /* 7070 */ 129, 193, 129, 80, 4, 129, 30, 4, 80, 4, /* 7080 */ 130, 30, 78, 129, 30, 82, 129, 30, 85, 129, /* 7090 */ 30, 87, 129, 30, 88, 129, 30, 89, 129, 30, /* 7100 */ 90, 130, 30, 4, 80, 4, 115, 6, 129, 30, /* 7110 */ 4, 80, 4, 117, 4, 129, 80, 4, 105, 6, /* 7120 */ 117, 4, 129, 80, 4, 103, 10, 116, 5, 129, /* 7130 */ 80, 4, 102, 19, 129, 80, 4, 101, 19, 129, /* 7140 */ 101, 19, 129, 101, 18, 129, 102, 16, 129, 103, /* 7150 */ 12, 129, 105, 6, 129, 193, 129, 12, 10, 59, /* 7160 */ 11, 129, 9, 16, 55, 19, 129, 7, 20, 53, /* 7170 */ 23, 129, 6, 7, 23, 5, 32, 6, 51, 27, /* 7180 */ 129, 4, 7, 25, 16, 50, 29, 129, 3, 6, /* 7190 */ 27, 16, 49, 31, 129, 2, 6, 28, 16, 48, /* 7200 */ 33, 129, 1, 6, 27, 18, 47, 35, 129, 1, /* 7210 */ 6, 27, 31, 71, 12, 129, 1, 5, 26, 15, /* 7220 */ 44, 10, 75, 8, 129, 1, 5, 25, 14, 45, /* 7230 */ 7, 77, 7, 129, 1, 5, 25, 13, 45, 5, /* 7240 */ 79, 5, 129, 1, 5, 24, 14, 45, 4, 80, /* 7250 */ 4, 129, 1, 5, 24, 13, 45, 4, 80, 4, /* 7260 */ 129, 1, 5, 23, 14, 45, 4, 80, 4, 129, /* 7270 */ 1, 5, 23, 13, 45, 4, 80, 4, 129, 1, /* 7280 */ 6, 22, 13, 45, 5, 79, 5, 129, 1, 6, /* 7290 */ 21, 14, 45, 7, 77, 7, 129, 1, 7, 21, /* 7300 */ 13, 46, 8, 75, 8, 129, 1, 8, 20, 13, /* 7310 */ 46, 12, 71, 12, 129, 1, 10, 18, 15, 47, /* 7320 */ 35, 129, 2, 30, 48, 33, 129, 3, 29, 49, /* 7330 */ 32, 129, 4, 27, 50, 31, 129, 5, 25, 51, /* 7340 */ 27, 80, 2, 86, 4, 129, 7, 21, 53, 23, /* 7350 */ 80, 3, 85, 6, 129, 9, 17, 55, 19, 80, /* 7360 */ 12, 129, 12, 12, 59, 11, 81, 11, 129, 82, /* 7370 */ 10, 129, 84, 7, 129, 86, 4, 129, 193, 129, /* 7380 */ 30, 4, 117, 4, 130, 30, 91, 136, 30, 4, /* 7390 */ 72, 5, 129, 30, 4, 74, 5, 129, 75, 5, /* 7400 */ 129, 76, 5, 129, 76, 6, 129, 77, 6, 130, /* 7410 */ 77, 7, 130, 76, 8, 129, 30, 4, 75, 9, /* 7420 */ 129, 30, 4, 72, 12, 129, 30, 54, 129, 30, /* 7430 */ 53, 130, 30, 52, 129, 30, 51, 129, 30, 49, /* 7440 */ 129, 30, 46, 129, 30, 42, 129, 30, 4, 130, /* 7450 */ 193, 129, 30, 4, 80, 4, 129, 30, 4, 80, /* 7460 */ 4, 100, 6, 129, 30, 54, 98, 10, 129, 30, /* 7470 */ 54, 97, 12, 129, 30, 54, 96, 14, 131, 30, /* 7480 */ 54, 97, 12, 129, 30, 54, 98, 10, 129, 30, /* 7490 */ 54, 100, 6, 129, 30, 4, 130, 193, 129, 7, /* 7500 */ 6, 129, 4, 11, 129, 3, 13, 129, 2, 14, /* 7510 */ 129, 1, 15, 130, 1, 3, 6, 9, 129, 1, /* 7520 */ 3, 7, 6, 129, 1, 3, 130, 1, 4, 129, /* 7530 */ 1, 5, 80, 4, 129, 1, 7, 80, 4, 100, /* 7540 */ 6, 129, 2, 82, 98, 10, 129, 3, 81, 97, /* 7550 */ 12, 129, 4, 80, 96, 14, 129, 5, 79, 96, /* 7560 */ 14, 129, 7, 77, 96, 14, 129, 10, 74, 97, /* 7570 */ 12, 129, 14, 70, 98, 10, 129, 19, 65, 100, /* 7580 */ 6, 129, 193, 129, 30, 4, 117, 4, 130, 30, /* 7590 */ 91, 136, 30, 4, 57, 9, 129, 30, 4, 55, /* 7600 */ 12, 129, 52, 17, 129, 50, 20, 129, 48, 24, /* 7610 */ 129, 46, 27, 129, 44, 21, 69, 6, 129, 41, /* 7620 */ 22, 70, 6, 80, 4, 129, 30, 4, 39, 21, /* 7630 */ 72, 6, 80, 4, 129, 30, 4, 36, 22, 73, /* 7640 */ 11, 129, 30, 26, 75, 9, 129, 30, 23, 76, /* 7650 */ 8, 129, 30, 21, 78, 6, 129, 30, 19, 79, /* 7660 */ 5, 129, 30, 16, 80, 4, 129, 30, 14, 80, /* 7670 */ 4, 129, 30, 12, 129, 30, 10, 129, 30, 7, /* 7680 */ 129, 30, 5, 129, 30, 4, 130, 193, 129, 30, /* 7690 */ 4, 117, 4, 130, 30, 91, 136, 30, 4, 130, /* 7700 */ 193, 129, 30, 4, 80, 4, 130, 30, 54, 136, /* 7710 */ 30, 4, 72, 5, 129, 30, 4, 74, 5, 129, /* 7720 */ 75, 5, 129, 76, 5, 129, 30, 4, 75, 7, /* 7730 */ 129, 30, 4, 74, 9, 129, 30, 54, 132, 30, /* 7740 */ 53, 129, 30, 52, 129, 30, 51, 129, 30, 48, /* 7750 */ 129, 30, 4, 72, 5, 129, 30, 4, 74, 5, /* 7760 */ 129, 75, 5, 129, 76, 5, 129, 30, 4, 75, /* 7770 */ 7, 129, 30, 4, 74, 9, 129, 30, 54, 132, /* 7780 */ 30, 53, 129, 30, 52, 129, 30, 51, 129, 30, /* 7790 */ 48, 129, 30, 4, 130, 193, 129, 30, 4, 80, /* 7800 */ 4, 130, 30, 54, 136, 30, 4, 72, 5, 129, /* 7810 */ 30, 4, 74, 5, 129, 75, 5, 129, 76, 5, /* 7820 */ 129, 76, 6, 129, 77, 6, 130, 77, 7, 130, /* 7830 */ 76, 8, 129, 30, 4, 75, 9, 129, 30, 4, /* 7840 */ 72, 12, 129, 30, 54, 129, 30, 53, 130, 30, /* 7850 */ 52, 129, 30, 51, 129, 30, 49, 129, 30, 46, /* 7860 */ 129, 30, 42, 129, 30, 4, 130, 193, 129, 48, /* 7870 */ 18, 129, 43, 28, 129, 41, 32, 129, 39, 36, /* 7880 */ 129, 37, 40, 129, 35, 44, 129, 34, 46, 129, /* 7890 */ 33, 13, 68, 13, 129, 32, 9, 73, 9, 129, /* 7900 */ 32, 7, 75, 7, 129, 31, 6, 77, 6, 129, /* 7910 */ 31, 5, 78, 5, 129, 30, 5, 79, 5, 129, /* 7920 */ 30, 4, 80, 4, 132, 30, 5, 79, 5, 130, /* 7930 */ 31, 5, 78, 5, 129, 31, 6, 77, 6, 129, /* 7940 */ 32, 7, 75, 7, 129, 32, 9, 73, 9, 129, /* 7950 */ 33, 13, 68, 13, 129, 34, 46, 129, 35, 44, /* 7960 */ 129, 37, 40, 129, 39, 36, 129, 41, 32, 129, /* 7970 */ 43, 28, 129, 48, 18, 129, 193, 129, 1, 3, /* 7980 */ 80, 4, 130, 1, 83, 137, 37, 5, 72, 5, /* 7990 */ 129, 35, 5, 74, 5, 129, 33, 5, 76, 5, /* 8000 */ 129, 32, 5, 77, 5, 129, 31, 5, 78, 5, /* 8010 */ 129, 31, 4, 79, 4, 129, 30, 5, 79, 5, /* 8020 */ 131, 30, 6, 78, 6, 129, 30, 7, 77, 7, /* 8030 */ 129, 31, 8, 75, 8, 129, 31, 11, 72, 11, /* 8040 */ 129, 32, 15, 67, 15, 129, 33, 48, 129, 34, /* 8050 */ 46, 129, 35, 44, 129, 37, 40, 129, 39, 36, /* 8060 */ 129, 42, 30, 129, 46, 22, 129, 193, 129, 46, /* 8070 */ 22, 129, 42, 30, 129, 39, 36, 129, 37, 40, /* 8080 */ 129, 35, 44, 129, 34, 46, 129, 33, 48, 129, /* 8090 */ 32, 15, 67, 15, 129, 31, 11, 72, 11, 129, /* 8100 */ 31, 8, 75, 8, 129, 30, 7, 77, 7, 129, /* 8110 */ 30, 6, 78, 6, 129, 30, 5, 79, 5, 131, /* 8120 */ 31, 4, 79, 4, 129, 31, 5, 78, 5, 129, /* 8130 */ 32, 5, 77, 5, 129, 33, 5, 76, 5, 129, /* 8140 */ 35, 5, 74, 5, 129, 37, 5, 72, 5, 129, /* 8150 */ 1, 83, 136, 1, 3, 80, 4, 130, 193, 129, /* 8160 */ 30, 4, 80, 4, 130, 30, 54, 136, 30, 4, /* 8170 */ 68, 6, 129, 30, 4, 70, 6, 129, 71, 7, /* 8180 */ 129, 72, 7, 129, 73, 7, 129, 74, 7, 129, /* 8190 */ 74, 8, 129, 75, 8, 130, 69, 15, 129, 67, /* 8200 */ 17, 129, 66, 18, 129, 65, 19, 130, 65, 18, /* 8210 */ 130, 66, 16, 129, 67, 13, 129, 69, 8, 129, /* 8220 */ 193, 129, 30, 13, 64, 8, 129, 30, 13, 61, /* 8230 */ 14, 129, 30, 13, 59, 18, 129, 30, 13, 57, /* 8240 */ 22, 129, 33, 8, 56, 24, 129, 32, 7, 55, /* 8250 */ 26, 129, 32, 6, 54, 28, 129, 31, 6, 53, /* 8260 */ 16, 77, 6, 129, 31, 5, 53, 14, 79, 4, /* 8270 */ 129, 30, 5, 52, 14, 80, 4, 129, 30, 5, /* 8280 */ 52, 13, 80, 4, 129, 30, 4, 52, 13, 80, /* 8290 */ 4, 129, 30, 4, 52, 12, 80, 4, 129, 30, /* 8300 */ 4, 51, 13, 80, 4, 130, 30, 4, 50, 13, /* 8310 */ 79, 5, 129, 30, 4, 50, 13, 78, 5, 129, /* 8320 */ 30, 5, 49, 14, 77, 6, 129, 31, 4, 49, /* 8330 */ 13, 76, 6, 129, 31, 5, 48, 14, 75, 7, /* 8340 */ 129, 32, 5, 47, 14, 73, 8, 129, 32, 6, /* 8350 */ 45, 16, 71, 13, 129, 33, 27, 71, 13, 129, /* 8360 */ 34, 26, 71, 13, 129, 35, 24, 71, 13, 129, /* 8370 */ 37, 20, 129, 39, 16, 129, 43, 9, 129, 193, /* 8380 */ 129, 80, 4, 131, 41, 56, 129, 37, 60, 129, /* 8390 */ 35, 62, 129, 33, 64, 129, 32, 65, 129, 31, /* 8400 */ 66, 129, 30, 67, 130, 30, 11, 80, 4, 129, /* 8410 */ 30, 9, 80, 4, 129, 30, 8, 80, 4, 129, /* 8420 */ 31, 7, 80, 4, 129, 31, 6, 129, 32, 5, /* 8430 */ 129, 33, 5, 129, 35, 4, 129, 38, 3, 129, /* 8440 */ 193, 129, 80, 4, 130, 42, 42, 129, 38, 46, /* 8450 */ 129, 35, 49, 129, 33, 51, 129, 32, 52, 129, /* 8460 */ 31, 53, 130, 30, 54, 129, 30, 12, 129, 30, /* 8470 */ 9, 129, 30, 8, 129, 30, 7, 130, 31, 6, /* 8480 */ 130, 32, 6, 129, 33, 5, 129, 34, 5, 129, /* 8490 */ 35, 5, 80, 4, 129, 37, 5, 80, 4, 129, /* 8500 */ 30, 54, 136, 30, 4, 130, 193, 129, 80, 4, /* 8510 */ 130, 77, 7, 129, 74, 10, 129, 70, 14, 129, /* 8520 */ 66, 18, 129, 62, 22, 129, 59, 25, 129, 55, /* 8530 */ 29, 129, 51, 33, 129, 47, 37, 129, 44, 32, /* 8540 */ 80, 4, 129, 40, 32, 80, 4, 129, 36, 32, /* 8550 */ 129, 32, 33, 129, 30, 31, 129, 33, 24, 129, /* 8560 */ 36, 17, 129, 40, 12, 129, 44, 12, 129, 48, /* 8570 */ 12, 129, 51, 13, 129, 55, 13, 129, 59, 13, /* 8580 */ 80, 4, 129, 63, 13, 80, 4, 129, 67, 17, /* 8590 */ 129, 71, 13, 129, 74, 10, 129, 78, 6, 129, /* 8600 */ 80, 4, 131, 193, 129, 80, 4, 130, 77, 7, /* 8610 */ 129, 74, 10, 129, 70, 14, 129, 66, 18, 129, /* 8620 */ 62, 22, 129, 59, 25, 129, 55, 29, 129, 51, /* 8630 */ 33, 129, 47, 37, 129, 44, 32, 80, 4, 129, /* 8640 */ 40, 32, 80, 4, 129, 36, 32, 129, 32, 33, /* 8650 */ 129, 30, 31, 129, 33, 24, 129, 36, 17, 129, /* 8660 */ 40, 12, 129, 44, 12, 129, 47, 13, 129, 44, /* 8670 */ 20, 129, 40, 28, 129, 36, 31, 129, 32, 32, /* 8680 */ 129, 30, 30, 129, 33, 24, 129, 36, 17, 129, /* 8690 */ 40, 12, 129, 44, 12, 129, 48, 12, 129, 51, /* 8700 */ 13, 129, 55, 13, 129, 59, 13, 80, 4, 129, /* 8710 */ 63, 13, 80, 4, 129, 67, 17, 129, 71, 13, /* 8720 */ 129, 74, 10, 129, 78, 6, 129, 80, 4, 131, /* 8730 */ 193, 129, 30, 4, 80, 4, 130, 30, 4, 79, /* 8740 */ 5, 129, 30, 5, 77, 7, 129, 30, 6, 74, /* 8750 */ 10, 129, 30, 8, 72, 12, 129, 30, 11, 69, /* 8760 */ 15, 129, 30, 13, 67, 17, 129, 30, 4, 37, /* 8770 */ 8, 64, 20, 129, 30, 4, 39, 8, 62, 22, /* 8780 */ 129, 41, 8, 59, 25, 129, 43, 8, 57, 27, /* 8790 */ 129, 45, 8, 55, 22, 80, 4, 129, 47, 27, /* 8800 */ 80, 4, 129, 49, 23, 129, 47, 22, 129, 44, /* 8810 */ 23, 129, 42, 22, 129, 30, 4, 39, 27, 129, /* 8820 */ 30, 4, 37, 31, 129, 30, 27, 62, 8, 129, /* 8830 */ 30, 25, 64, 8, 129, 30, 22, 66, 8, 80, /* 8840 */ 4, 129, 30, 20, 68, 8, 80, 4, 129, 30, /* 8850 */ 17, 70, 8, 80, 4, 129, 30, 15, 73, 11, /* 8860 */ 129, 30, 12, 75, 9, 129, 30, 10, 77, 7, /* 8870 */ 129, 30, 7, 79, 5, 129, 30, 5, 80, 4, /* 8880 */ 129, 30, 4, 80, 4, 130, 193, 129, 4, 5, /* 8890 */ 80, 4, 129, 2, 9, 80, 4, 129, 1, 11, /* 8900 */ 77, 7, 129, 1, 12, 74, 10, 129, 1, 12, /* 8910 */ 70, 14, 129, 1, 12, 66, 18, 129, 1, 11, /* 8920 */ 62, 22, 129, 2, 9, 59, 25, 129, 4, 11, /* 8930 */ 55, 29, 129, 7, 12, 51, 33, 129, 10, 12, /* 8940 */ 47, 37, 129, 14, 12, 44, 32, 80, 4, 129, /* 8950 */ 17, 13, 40, 32, 80, 4, 129, 21, 13, 36, /* 8960 */ 32, 129, 25, 40, 129, 29, 32, 129, 33, 24, /* 8970 */ 129, 36, 17, 129, 40, 12, 129, 44, 12, 129, /* 8980 */ 48, 12, 129, 51, 13, 129, 55, 13, 129, 59, /* 8990 */ 13, 80, 4, 129, 63, 13, 80, 4, 129, 67, /* 9000 */ 17, 129, 71, 13, 129, 74, 10, 129, 78, 6, /* 9010 */ 129, 80, 4, 131, 193, 129, 30, 1, 71, 13, /* 9020 */ 129, 30, 3, 71, 13, 129, 30, 6, 71, 13, /* 9030 */ 129, 30, 9, 75, 9, 129, 30, 11, 77, 7, /* 9040 */ 129, 30, 14, 79, 5, 129, 30, 17, 79, 5, /* 9050 */ 129, 30, 19, 80, 4, 129, 30, 22, 80, 4, /* 9060 */ 129, 30, 25, 80, 4, 129, 30, 27, 80, 4, /* 9070 */ 129, 30, 4, 36, 24, 80, 4, 129, 30, 4, /* 9080 */ 38, 25, 80, 4, 129, 30, 4, 41, 24, 80, /* 9090 */ 4, 129, 30, 4, 44, 24, 80, 4, 129, 30, /* 9100 */ 4, 46, 25, 80, 4, 129, 30, 4, 49, 25, /* 9110 */ 80, 4, 129, 30, 4, 52, 24, 80, 4, 129, /* 9120 */ 30, 4, 54, 30, 129, 30, 4, 57, 27, 129, /* 9130 */ 30, 4, 59, 25, 129, 30, 4, 62, 22, 129, /* 9140 */ 30, 4, 65, 19, 129, 30, 5, 67, 17, 129, /* 9150 */ 30, 5, 70, 14, 129, 30, 7, 73, 11, 129, /* 9160 */ 30, 9, 76, 8, 129, 30, 13, 78, 6, 129, /* 9170 */ 30, 13, 81, 3, 129, 30, 13, 129, 193, 2, /* 9180 */ 9, 59, 25, 129, 4, 11, 55, 29, 129, 7, /* 9190 */ 12, 51, 33, 129, 10, 12, 47, 37, 129, 14, /* 9200 */ 12, 44, 32, 80, 4, 129, 17, 13, 40, 32, /* 9210 */ 80, 4, 129, 21, 13, 36, 32, 129, 25, 40, /* 9220 */ 129, 29, 32, 129, 33, 24, 129, 36, 17, 129, /* 9230 */ 40, 12, 129, 44, 12, 129, 48, 12, 129, 51, /* 9240 */ 13, 129, 55, 13, 129, 59, 13, 80, 4, 129, /* 9250 */ 63, 13, 80, 4, 129, 67, 17, 129, 71, 13, /* 9260 */ 129, 74, 10, 129, 78, 6, 129, 80, 4, 131, /* 9270 */ 193 }; char line[DWIDTH]; char *message; char print[DWIDTH]; int debug, i, j, linen, max, nchars, pc, term, trace, x, y; int width = DWIDTH; /* -w option: scrunch letters to 80 columns */ static void usage(void); int main(int argc, char *argv[]) { int ch; while ((ch = getopt(argc, argv, "w:td")) != -1) switch (ch) { case 'd': debug = 1; break; case 't': trace = 1; break; case 'w': width = atoi(optarg); if (width <= 0 || width > DWIDTH) errx(1, "illegal argument for -w option"); break; case '?': default: usage(); } argc -= optind; argv += optind; for (i = 0; i < width; i++) { j = i * DWIDTH / width; print[j] = 1; } /* Have now read in the data. Next get the message to be printed. */ if (*argv) { for(i=0, j=0; i < argc; i++) j += strlen(argv[i]) + 1; if ((message = malloc((size_t)j)) == NULL) err(1, "malloc"); strcpy(message, *argv); while (*++argv) { strcat(message, " "); strcat(message, *argv); } nchars = strlen(message); } else { if ((message = malloc((size_t)MAXMSG)) == NULL) err(1, "malloc"); fprintf(stderr,"Message: "); if (fgets(message, MAXMSG, stdin) == NULL) { nchars = 0; message[0] = '\0'; } else { nchars = strlen(message); /* Get rid of newline. */ if (message[nchars - 1] == '\n') message[--nchars] = '\0'; } } /* some debugging print statements */ if (debug) { printf("const int asc_ptr[NCHARS] = {\n"); for (i = 0; i < 128; i++) { printf("%4d, ",asc_ptr[i]); if ((i+1) % 8 == 0) printf("\n"); } printf("};\nconst unsigned char data_table[NBYTES] = {\n"); printf("/* "); for (i = 0; i < 10; i++) printf(" %3d ",i); printf("*/\n"); for (i = 0; i < NBYTES; i += 10) { printf("/* %4d */ ",i); for (j = i; j < i+10; j++) { x = data_table[j] & 0377; printf(" %3d, ",x); } putchar('\n'); } printf("};\n"); } /* check message to make sure it's legal */ j = 0; for (i = 0; i < nchars; i++) if ((u_char) message[i] >= NCHARS || asc_ptr[(u_char) message[i]] == 0) { warnx("the character '%c' is not in my character set", message[i]); j++; } if (j) exit(1); if (trace) printf("Message '%s' is OK\n",message); /* Now have message. Print it one character at a time. */ for (i = 0; i < nchars; i++) { if (trace) printf("Char #%d: %c\n", i, message[i]); for (j = 0; j < DWIDTH; j++) line[j] = ' '; pc = asc_ptr[(u_char) message[i]]; term = 0; max = 0; linen = 0; while (!term) { if (pc < 0 || pc > NBYTES) { printf("bad pc: %d\n",pc); exit(1); } x = data_table[pc] & 0377; if (trace) printf("pc=%d, term=%d, max=%d, linen=%d, x=%d\n",pc,term,max,linen,x); if (x >= 128) { if (x>192) term++; x = x & 63; while (x--) { if (print[linen++]) { for (j=0; j <= max; j++) if (print[j]) putchar(line[j]); putchar('\n'); } } for (j = 0; j < DWIDTH; j++) line[j] = ' '; pc++; } else { y = data_table[pc+1]; /* compensate for narrow teminals */ #ifdef notdef x = (x*width + (DWIDTH/2)) / DWIDTH; y = (y*width + (DWIDTH/2)) / DWIDTH; #endif max = x+y; while (x < max) line[x++] = '#'; pc += 2; if (trace) printf("x=%d, y=%d, max=%d\n",x,y,max); } } } free(message); exit(0); } static void usage() { fprintf(stderr, "usage: banner [-d] [-t] [-w width] message ...\n"); exit(1); } bsdmainutils-9.0.6ubuntu3/usr.bin/banner/banner.60000664000000000000000000000565612665277471016660 0ustar .\" Copyright (c) 1980, 1993, 1995 .\" The Regents of the University of California. All rights reserved. .\" .\" 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: @(#)banner.6 8.2 (Berkeley) 4/29/95 .\" $FreeBSD$ .\" .Dd January 26, 2005 .Dt BANNER 6 .Os .Sh NAME .Nm banner .Nd print large banner on printer .Sh SYNOPSIS .Nm .Op Fl d .Op Fl t .Op Fl w Ar width .Ar message ... .Sh DESCRIPTION .Nm Banner prints a large, high quality banner on the standard output. If the message is omitted, it prompts for and reads one line of its standard input. .Pp The output should be printed on paper of the appropriate width, with no breaks between the pages. .Pp The following options are available: .Bl -tag -width indent .It Fl d Enable debug. .It Fl t Enable trace. .It Fl w Ar width Change the output from a width of 132 to .Ar width , suitable for a narrow terminal. .El .Sh AUTHORS .An Mark Horton .Sh BUGS Several .Tn ASCII characters are not defined, notably <, >, [, ], \\, ^, _, {, }, |, and ~. Also, the characters ", ', and & are funny looking (but in a useful way.) .Pp The .Fl w option is implemented by skipping some rows and columns. The smaller it gets, the grainier the output. Sometimes it runs letters together. .Pp Messages are limited to 1024 characters in length. bsdmainutils-9.0.6ubuntu3/usr.bin/banner/Makefile0000664000000000000000000000035111371260565016734 0ustar PROG = printerbanner MAN = banner.6 topdir=../.. include $(topdir)/config.mk printerbanner.o: banner.c $(CC) -include $(topdir)/freebsd.h $(FLAGS) $(CFLAGS) -c -o $@ $< install-2: mv $(mandir)/banner.6 $(mandir)/printerbanner.1 bsdmainutils-9.0.6ubuntu3/usr.bin/ul/0000775000000000000000000000000012665277472014464 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/ul/ul.c0000664000000000000000000002701612665277470015254 0ustar /* * Copyright (c) 1980, 1993 * The Regents of the University of California. All rights reserved. * * 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 const char copyright[] = "@(#) Copyright (c) 1980, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif /* not lint */ #ifndef lint #if 0 static char sccsid[] = "@(#)ul.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = "$FreeBSD$"; #endif /* not lint */ #include #include #include #include #include #include #include #include #include #define IESC '\033' #define SO '\016' #define SI '\017' #define HFWD '9' #define HREV '8' #define FREV '7' #define MAXBUF 512 #define NORMAL 000 #define ALTSET 001 /* Reverse */ #define SUPERSC 002 /* Dim */ #define SUBSC 004 /* Dim | Ul */ #define UNDERL 010 /* Ul */ #define BOLD 020 /* Bold */ int must_use_uc, must_overstrike; const char *CURS_UP, *CURS_RIGHT, *CURS_LEFT, *ENTER_STANDOUT, *EXIT_STANDOUT, *ENTER_UNDERLINE, *EXIT_UNDERLINE, *ENTER_DIM, *ENTER_BOLD, *ENTER_REVERSE, *UNDER_CHAR, *EXIT_ATTRIBUTES; struct CHAR { char c_mode; wchar_t c_char; int c_width; /* width or -1 if multi-column char. filler */ } ; struct CHAR obuf[MAXBUF]; int col, maxcol; int mode; int halfpos; int upln; int iflag; static void usage(void); void setnewmode(int); void initcap(void); void reverse(void); int outchar(int); void fwd(void); void initbuf(void); void iattr(void); void overstrike(void); void flushln(void); void filter(FILE *); void outc(wint_t, int); #define PRINT(s) if (s == NULL) /* void */; else tputs(s, 1, outchar) int main(int argc, char **argv) { int c; const char *termtype; FILE *f; char termcap[1024]; setlocale(LC_ALL, ""); termtype = getenv("TERM"); if (termtype == NULL || (argv[0][0] == 'c' && !isatty(1))) termtype = "lpr"; while ((c=getopt(argc, argv, "it:T:")) != -1) switch(c) { case 't': case 'T': /* for nroff compatibility */ termtype = optarg; break; case 'i': iflag = 1; break; default: usage(); } switch(tgetent(termcap, termtype)) { case 1: break; default: warnx("trouble reading termcap"); /* FALLTHROUGH */ case 0: /* No such terminal type - assume dumb */ (void)strcpy(termcap, "dumb:os:col#80:cr=^M:sf=^J:am:"); break; } initcap(); if ( (tgetflag("os") && ENTER_BOLD==NULL ) || (tgetflag("ul") && ENTER_UNDERLINE==NULL && UNDER_CHAR==NULL)) must_overstrike = 1; initbuf(); if (optind == argc) filter(stdin); else for (; optind 0) col--; continue; case '\t': col = (col+8) & ~07; if (col > maxcol) maxcol = col; continue; case '\r': col = 0; continue; case SO: mode |= ALTSET; continue; case SI: mode &= ~ALTSET; continue; case IESC: switch (c = getwc(f)) { case HREV: if (halfpos == 0) { mode |= SUPERSC; halfpos--; } else if (halfpos > 0) { mode &= ~SUBSC; halfpos--; } else { halfpos = 0; reverse(); } continue; case HFWD: if (halfpos == 0) { mode |= SUBSC; halfpos++; } else if (halfpos < 0) { mode &= ~SUPERSC; halfpos++; } else { halfpos = 0; fwd(); } continue; case FREV: reverse(); continue; default: errx(1, "unknown escape sequence in input: %o, %o", IESC, c); } continue; case '_': if (obuf[col].c_char || obuf[col].c_width < 0) { while (col > 0 && obuf[col].c_width < 0) col--; w = obuf[col].c_width; for (i = 0; i < w; i++) obuf[col++].c_mode |= UNDERL | mode; if (col > maxcol) maxcol = col; continue; } obuf[col].c_char = '_'; obuf[col].c_width = 1; /* FALLTHROUGH */ case ' ': col++; if (col > maxcol) maxcol = col; continue; case '\n': flushln(); continue; case '\f': flushln(); putwchar('\f'); continue; default: if ((w = wcwidth(c)) <= 0) /* non printing */ continue; if (obuf[col].c_char == '\0') { obuf[col].c_char = c; for (i = 0; i < w; i++) obuf[col + i].c_mode = mode; obuf[col].c_width = w; for (i = 1; i < w; i++) obuf[col + i].c_width = -1; } else if (obuf[col].c_char == '_') { obuf[col].c_char = c; for (i = 0; i < w; i++) obuf[col + i].c_mode |= UNDERL|mode; obuf[col].c_width = w; for (i = 1; i < w; i++) obuf[col + i].c_width = -1; } else if (obuf[col].c_char == c) { for (i = 0; i < w; i++) obuf[col + i].c_mode |= BOLD|mode; } else { w = obuf[col].c_width; for (i = 0; i < w; i++) obuf[col + i].c_mode = mode; } col += w; if (col > maxcol) maxcol = col; continue; } if (ferror(f)) err(1, NULL); if (maxcol) flushln(); } void flushln(void) { int lastmode; int i; int hadmodes = 0; lastmode = NORMAL; for (i=0; i 1) i += obuf[i].c_width - 1; } if (lastmode != NORMAL) { setnewmode(0); } if (must_overstrike && hadmodes) overstrike(); putwchar('\n'); if (iflag && hadmodes) iattr(); (void)fflush(stdout); if (upln) upln--; initbuf(); } /* * For terminals that can overstrike, overstrike underlines and bolds. * We don't do anything with halfline ups and downs, or Greek. */ void overstrike(void) { int i; wchar_t lbuf[256]; wchar_t *cp = lbuf; int hadbold=0; /* Set up overstrike buffer */ for (i=0; i 1) i += obuf[i].c_width - 1; hadbold=1; break; } putwchar('\r'); for (*cp=' '; *cp==' '; cp--) *cp = 0; for (cp=lbuf; *cp; cp++) putwchar(*cp); if (hadbold) { putwchar('\r'); for (cp=lbuf; *cp; cp++) putwchar(*cp=='_' ? ' ' : *cp); putwchar('\r'); for (cp=lbuf; *cp; cp++) putwchar(*cp=='_' ? ' ' : *cp); } } void iattr(void) { int i; wchar_t lbuf[256]; wchar_t *cp = lbuf; for (i=0; i in the calendar file as early as possible. To handle national Easter names in the calendars, .Dq Easter= (for Catholic Easter) or .Dq Paskha= (for Orthodox Easter) can be used. .Pp The .Dq CALENDAR variable can be used to specify the style. Only .Sq Julian and .Sq Gregorian styles are currently supported. Use .Dq CALENDAR= to return to the default (Gregorian). .Pp To enforce special date calculation mode for Cyrillic calendars you should specify .Dq LANG= and .Dq BODUN= where can be ru_RU.KOI8-R, uk_UA.KOI8-U or by_BY.KOI8-B. .Pp Other lines should begin with a month and day. They may be entered in almost any format, either numeric or as character strings. If proper locale is set, national months and weekdays names can be used. A single asterisk (`*') matches every month. A day without a month matches that day of every week. A month without a day matches the first of that month. Two numbers default to the month followed by the day. Lines with leading tabs default to the last entered date, allowing multiple line specifications for a single date. .Dq Easter (may be followed by a positive or negative integer) is Easter for this year. .Dq Paskha (may be followed by a positive or negative integer) is Orthodox Easter for this year. Weekdays may be followed by .Dq -4 .Li ... .Dq +5 (aliases last, first, second, third, fourth) for moving events like .Dq the last Monday in April . .Pp By convention, dates followed by an asterisk .Pq Sq * are not fixed, i.e., change from year to year. .Pp Day descriptions start after the first character in the line; if the line does not contain a character, it isn't printed out. If the first character in the line is a character, it is treated as the continuation of the previous description. .Pp The calendar file is preprocessed by .Xr cpp 1 , allowing the inclusion of shared files such as company holidays or meetings. If the shared file is not referenced by a full pathname, .Xr cpp 1 searches in the current (or home) directory first, and then in the directory .Pa /usr/share/calendar . Empty lines and lines protected by the C commenting syntax .Pq Li /* ... */ are ignored. .Pp Some possible calendar entries (a \fB\et\fR sequence denotes a character): .Bd -unfilled -offset indent LANG=C Easter=Ostern #include #include 6/15\fB\et\fRJune 15 (if ambiguous, will default to month/day). Jun. 15\fB\et\fRJune 15. 15 June\fB\et\fRJune 15. Thursday\fB\et\fREvery Thursday. June\fB\et\fREvery June 1st. 15 *\fB\et\fR15th of every month. May Sun+2\fB\et\fRsecond Sunday in May (Muttertag) 04/SunLast\fB\et\fRlast Sunday in April, \fB\et\fRsummer time in Europe Easter\fB\et\fREaster Ostern-2\fB\et\fRGood Friday (2 days before Easter) Paskha\fB\et\fROrthodox Easter .Ed .Sh FILES .Bl -tag -width ~/.calendar/calendar -compact .It Pa calendar File in current directory. .It Pa ~/.calendar Directory in the user's home directory (which .Nm changes into, if it exists). .It Pa ~/.calendar/calendar File to use if no calendar file exists in the current directory. .It Pa ~/.calendar/nomail .Nm will not send mail if this file exists. .It Pa calendar.all International and national calendar files. .It Pa calendar.birthday Births and deaths of famous (and not-so-famous) people. .It Pa calendar.christian Christian holidays (should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year). .It Pa calendar.computer Days of special significance to computer people. .It Pa calendar.croatian Croatian calendar. .It Pa calendar.discord Discordian calendar (all rites reversed). .It Pa calendar.fictional Fantasy and fiction dates (mostly LOTR). .It Pa calendar.french French calendar. .It Pa calendar.german German calendar. .It Pa calendar.history Miscellaneous history. .It Pa calendar.holiday Other holidays (including the not-well-known, obscure, and .Em really obscure). .It Pa calendar.judaic Jewish holidays (should be updated yearly by the local system administrator so that roving holidays are set correctly for the current year). .It Pa calendar.music Musical events, births, and deaths (strongly oriented toward rock n' roll). .It Pa calendar.openbsd .Ox related events. .It Pa calendar.pagan Pagan holidays, celebrations and festivals. .It Pa calendar.russian Russian calendar. .It Pa calendar.space Cosmic history. .It Pa calendar.ushistory U.S. history. .It Pa calendar.usholiday U.S. holidays. .It Pa calendar.world World wide calendar. .El .Sh SEE ALSO .Xr at 1 , .Xr cal 1 , .Xr cpp 1 , .Xr mail 1 , .Xr cron 8 .Sh STANDARDS The .Nm program previously selected lines which had the correct date anywhere in the line. This is no longer true: the date is only recognized when it occurs at the beginning of a line. .Sh HISTORY A .Nm command appeared in .At v7 . .Sh BUGS .Nm doesn't handle all Jewish holidays or moon phases. bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/test0000664000000000000000000000001411371260565016476 0ustar 30 * foobar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/io.c0000664000000000000000000002560012665277472016373 0ustar /* $OpenBSD: io.c,v 1.35 2009/10/27 23:59:36 deraadt Exp $ */ /* * Copyright (c) 1989, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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. 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. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pathnames.h" #include "calendar.h" struct iovec header[] = { { "From: ", 6 }, { NULL, 0 }, { " (Reminder Service)\nTo: ", 24 }, { NULL, 0 }, { "\nSubject: ", 10 }, { NULL, 0 }, { "'s Calendar\nPrecedence: bulk\n", 29 }, { "Auto-Submitted: auto-generated\n\n", 32 }, }; void cal(void) { int ch, l, i, bodun = 0, bodun_maybe = 0, var, printing; struct event *events, *cur_evt, *ev1, *tmp; char buf[2048 + 1], *prefix = NULL, *p; struct match *m; FILE *fp; events = NULL; cur_evt = NULL; if ((fp = opencal()) == NULL) return; for (printing = 0; fgets(buf, sizeof(buf), stdin) != NULL;) { if ((p = strchr(buf, '\n')) != NULL) *p = '\0'; else while ((ch = getchar()) != '\n' && ch != EOF); for (l = strlen(buf); l > 0 && isspace(buf[l - 1]); l--) ; buf[l] = '\0'; if (buf[0] == '\0') continue; if (strncmp(buf, "LANG=", 5) == 0) { (void) setlocale(LC_ALL, buf + 5); setnnames(); if (!strcmp(buf + 5, "ru_RU.KOI8-R") || !strcmp(buf + 5, "uk_UA.KOI8-U") || !strcmp(buf + 5, "by_BY.KOI8-B")) { bodun_maybe++; bodun = 0; if (prefix) free(prefix); prefix = NULL; } else bodun_maybe = 0; continue; } else if (strncmp(buf, "CALENDAR=", 9) == 0) { char *ep; if (buf[9] == '\0') calendar = 0; else if (!strcasecmp(buf + 9, "julian")) { calendar = JULIAN; errno = 0; julian = strtoul(buf + 14, &ep, 10); if (buf[0] == '\0' || *ep != '\0') julian = 13; if ((errno == ERANGE && julian == ULONG_MAX) || julian > 14) errx(1, "Julian calendar offset is too large"); } else if (!strcasecmp(buf + 9, "gregorian")) calendar = GREGORIAN; else if (!strcasecmp(buf + 9, "lunar")) calendar = LUNAR; } else if (bodun_maybe && strncmp(buf, "BODUN=", 6) == 0) { bodun++; if (prefix) free(prefix); if ((prefix = strdup(buf + 6)) == NULL) err(1, NULL); continue; } /* User defined names for special events */ if ((p = strchr(buf, '='))) { for (i = 0; i < NUMEV; i++) { if (strncasecmp(buf, spev[i].name, spev[i].nlen) == 0 && (p - buf == spev[i].nlen) && buf[spev[i].nlen + 1]) { p++; if (spev[i].uname != NULL) free(spev[i].uname); if ((spev[i].uname = strdup(p)) == NULL) err(1, NULL); spev[i].ulen = strlen(p); i = NUMEV + 1; } } if (i > NUMEV) continue; } if (buf[0] != '\t') { printing = (m = isnow(buf, bodun)) ? 1 : 0; if ((p = strchr(buf, '\t')) == NULL) { printing = 0; continue; } /* Need the following to catch hardwired "variable" * dates */ if (p > buf && p[-1] == '*') var = 1; else var = 0; if (printing) { struct match *foo; ev1 = NULL; while (m) { cur_evt = malloc(sizeof(struct event)); if (cur_evt == NULL) err(1, NULL); cur_evt->when = m->when; snprintf(cur_evt->print_date, sizeof(cur_evt->print_date), "%s%c", m->print_date, (var + m->var) ? '*' : ' '); if (ev1) { cur_evt->desc = ev1->desc; cur_evt->ldesc = NULL; } else { if (m->bodun && prefix) { if (asprintf(&cur_evt->ldesc, "\t%s %s", prefix, p + 1) == -1) err(1, NULL); } else if ((cur_evt->ldesc = strdup(p)) == NULL) err(1, NULL); cur_evt->desc = &(cur_evt->ldesc); ev1 = cur_evt; } insert(&events, cur_evt); foo = m; m = m->next; free(foo); } } } else if (printing) { if (asprintf(&p, "%s\n%s", ev1->ldesc, buf) == -1) err(1, NULL); free(ev1->ldesc); ev1->ldesc = p; } } tmp = events; while (tmp) { (void)fprintf(fp, "%s%s\n", tmp->print_date, *(tmp->desc)); tmp = tmp->next; } tmp = events; while (tmp) { events = tmp; if (tmp->ldesc) free(tmp->ldesc); tmp = tmp->next; free(events); } closecal(fp); } int getfield(char *p, char **endp, int *flags) { int val, var, i; char *start, savech; for (; !isdigit(*p) && !isalpha(*p) && *p != '*' && *p != '\t'; ++p) ; if (*p == '*') { /* `*' is every month */ *flags |= F_ISMONTH; *endp = p+1; return (-1); /* means 'every month' */ } if (isdigit(*p)) { val = strtol(p, &p, 10); /* if 0, it's failure */ for (; !isdigit(*p) && !isalpha(*p) && *p != '*'; ++p) ; *endp = p; return (val); } for (start = p; isalpha(*++p);) ; /* Sunday-1 */ if (*p == '+' || *p == '-') for(; isdigit(*++p); ) ; savech = *p; *p = '\0'; /* Month */ if ((val = getmonth(start)) != 0) *flags |= F_ISMONTH; /* Day */ else if ((val = getday(start)) != 0) { *flags |= F_ISDAY; /* variable weekday */ if ((var = getdayvar(start)) != 0) { if (var <= 5 && var >= -4) val += var * 10; #ifdef DEBUG printf("var: %d\n", var); #endif } } /* Try specials (Easter, Paskha, ...) */ else { for (i = 0; i < NUMEV; i++) { if (strncasecmp(start, spev[i].name, spev[i].nlen) == 0) { start += spev[i].nlen; val = i + 1; i = NUMEV + 1; } else if (spev[i].uname != NULL && strncasecmp(start, spev[i].uname, spev[i].ulen) == 0) { start += spev[i].ulen; val = i + 1; i = NUMEV + 1; } } if (i > NUMEV) { switch(*start) { case '-': case '+': var = atoi(start); if (var > 365 || var < -365) return (0); /* Someone is just being silly */ val += (NUMEV + 1) * var; /* We add one to the matching event and multiply by * (NUMEV + 1) so as not to return 0 if there's a match. * val will overflow if there is an obscenely large * number of special events. */ break; } *flags |= F_SPECIAL; } if (!(*flags & F_SPECIAL)) { /* undefined rest */ *p = savech; return (0); } } for (*p = savech; !isdigit(*p) && !isalpha(*p) && *p != '*' && *p != '\t'; ++p) ; *endp = p; return (val); } FILE * opencal(void) { int pdes[2], fdin; struct stat st; /* open up calendar file as stdin */ if ((fdin = open(calendarFile, O_RDONLY)) == -1 || fstat(fdin, &st) == -1 || !S_ISREG(st.st_mode)) { if (!doall) { char *home = getenv("HOME"); if (home == NULL || *home == '\0') errx(1, "cannot get home directory"); if (!(chdir(home) == 0 && chdir(calendarHome) == 0 && (fdin = open(calendarFile, O_RDONLY)) != -1)) errx(1, "no calendar file: ``%s'' or ``~/%s/%s''", calendarFile, calendarHome, calendarFile); } } if (pipe(pdes) < 0) return (NULL); switch (vfork()) { case -1: /* error */ (void)close(pdes[0]); (void)close(pdes[1]); return (NULL); case 0: dup2(fdin, STDIN_FILENO); /* child -- set stdout to pipe input */ if (pdes[1] != STDOUT_FILENO) { (void)dup2(pdes[1], STDOUT_FILENO); (void)close(pdes[1]); } (void)close(pdes[0]); /* * Set stderr to /dev/null. Necessary so that cron does not * wait for cpp to finish if it's running calendar -a. */ if (doall) { int fderr; fderr = open(_PATH_DEVNULL, O_WRONLY, 0); if (fderr == -1) _exit(0); (void)dup2(fderr, STDERR_FILENO); (void)close(fderr); } execl(_PATH_CPP, "cpp", "-traditional", "-undef", "-U__GNUC__", "-P", "-I.", _PATH_INCLUDE, (char *)NULL); warn(_PATH_CPP); _exit(1); } /* parent -- set stdin to pipe output */ (void)dup2(pdes[0], STDIN_FILENO); (void)close(pdes[0]); (void)close(pdes[1]); /* not reading all calendar files, just set output to stdout */ if (!doall) return (stdout); /* set output to a temporary file, so if no output don't send mail */ return(tmpfile()); } void closecal(FILE *fp) { struct stat sbuf; int nread, pdes[2], status; char buf[1024]; if (!doall) return; (void)rewind(fp); if (fstat(fileno(fp), &sbuf) || !sbuf.st_size) goto done; if (pipe(pdes) < 0) goto done; switch (vfork()) { case -1: /* error */ (void)close(pdes[0]); (void)close(pdes[1]); goto done; case 0: /* child -- set stdin to pipe output */ if (pdes[0] != STDIN_FILENO) { (void)dup2(pdes[0], STDIN_FILENO); (void)close(pdes[0]); } (void)close(pdes[1]); execl(_PATH_SENDMAIL, "sendmail", "-i", "-t", "-F", "\"Reminder Service\"", (char *)NULL); warn(_PATH_SENDMAIL); _exit(1); } /* parent -- write to pipe input */ (void)close(pdes[0]); header[1].iov_base = header[3].iov_base = pw->pw_name; header[1].iov_len = header[3].iov_len = strlen(pw->pw_name); writev(pdes[1], header, 8); while ((nread = read(fileno(fp), buf, sizeof(buf))) > 0) (void)write(pdes[1], buf, nread); (void)close(pdes[1]); done: (void)fclose(fp); while (wait(&status) >= 0) ; } void insert(struct event **head, struct event *cur_evt) { struct event *tmp, *tmp2; if (*head) { /* Insert this one in order */ tmp = *head; tmp2 = NULL; while (tmp->next && tmp->when <= cur_evt->when) { tmp2 = tmp; tmp = tmp->next; } if (tmp->when > cur_evt->when) { cur_evt->next = tmp; if (tmp2) tmp2->next = cur_evt; else *head = cur_evt; } else { cur_evt->next = tmp->next; tmp->next = cur_evt; } } else { *head = cur_evt; cur_evt->next = NULL; } } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/pesach.c0000664000000000000000000000330312665277472017223 0ustar /* $OpenBSD: pesach.c,v 1.3 2009/10/27 23:59:36 deraadt Exp $ */ /* * Copyright (c) 2004 Michael Shalayeff * All rights reserved. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include #include #include "calendar.h" /* Calculate the Julian date of Pesach using the Gauss formula */ #define T (33. + 14. / 24.) #define L ((1. + 485. / 1080.) / 24. / 19.) #define K ((29. + (12. + 793. / 1080.) / 24. ) / 19.) int pesach(int R) { int a, b, y, cumdays; double d; y = R + 3760; a = (12 * y + 17) % 19; b = y % 4; d = (T - 10 * K + L + 14) + K * a + b / 4. - L * y; cumdays = d; /* the postponement */ switch ((int)(cumdays + 3 * y + 5 * b + 5) % 7) { case 1: if (a > 6 && d - cumdays >= (15. + 204. / 1080.) / 24.) cumdays += 2; break; case 0: if (a <= 11 || d - cumdays < (21. + 589. / 1080.) / 24.) break; /* FALLTHROUGH */ case 2: case 4: case 6: cumdays++; break; } if (R > 1582) cumdays += R / 100 - R /400 - 2; return (31 + 28 + cumdays + (isleap(R)? 1 : 0)); } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/0000775000000000000000000000000012665277472017551 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.history0000664000000000000000000006073612665277472022761 0ustar /* * History * * $FreeBSD$ */ #ifndef _calendar_history_ #define _calendar_history_ 01/01 Anniversary of the Triumph of the Revolution in Cuba 01/01 Castro expels Cuban President Batista, 1959 01/01 Churchill delivers his "Iron Curtain" speech, 1947 01/01 First Rose Bowl; Michigan 49 - Stanford 0, 1902 01/04 Quadrantid meteor shower (look north) 01/05 -50 degrees F, Strawberry UT, 1913 01/05 The FCC hears the first demonstration of FM radio, 1940 01/05 Twelfth night 01/06 Millard Fillmore's birthday (let's party!) 01/08 Battle of New Orleans 01/09 Plough Monday 01/10 First meeting of United Nations General Assembly in London, 1946 01/10 Thomas Paine's Common Sense published, 1776 01/11 Anniversary of the Peoples Republic of Albania 01/11 De Hostos' Birthday in Puerto Rico 01/11 Milk delivered in bottles for first time, 1878 01/11 Prithvi Jayanti in Nepal 01/11 Surgeon General condemned cigarettes, 1964 01/11 The Whiskey-A-Go-Go opens on Sunset Boulevard in Los Angeles, 1963 01/14 The first "Be-In" is held in Golden Gate Park, 1967 01/16 Prohibition begins, 1920 01/18 Grey whale migration, California 01/20 St. Agnes Eve (Ah, bitter chill it was...) 01/24 Eskimo Pie patented by Christian Nelson, 1922 01/24 Gold discovered in California at Sutter's Mill, 1848 01/26 Sydney, New South Wales settled, 1788 01/27 Grissom, White and Chaffe burned to death in Apollo 1, 1967 01/27 Vietnam War cease-fire signed, 1973 01/28 First ski tow, Woodstock VT, 1914 01/28 Space Shuttle Challenger (51-L) explodes 74 seconds after liftoff killing Scobee, Smith, McNair, Resnick, Jarvis, Onizuka and McAuliffe, 1986 01/30 Mohandas Gandhi assassinated in New Delhi by Hindu fanatic, 1948 01/30 Tet Offensive, 1968 01/31 "Ham" the chimpanzee soars into space aboard Mercury-Redstone 2, 1961 01/31 Explorer I launched, 1958. Van Allen Belt discovered 01/31 Irving Langmuir, 1881, invented tungsten filament lamp 02/01 First TV soap: Secret Storm, 1954 02/01 Forces led by Khomeini take over Iran, 1979 02/01 Space Shuttle Columbia (STS-107) disintegrates 15 minutes before landing killing Husband, McCool, Chawla, Clark, Ramon, Brown, and Anderson, 2003 02/04 Cybernet inaugurated, 1969 02/04 Patricia Hearst kidnapped by Symbionese Liberation Army, 1974 02/08 1963 Revolution Anniversary in Iraq 02/09 -51 degrees F, Vanderbilt MI, 1934 02/12 US President Abraham Lincoln's real birthday 02/12 Santa Barbara oil leak, 1969 02/14 Bombing of Dresden, 1945 02/15 Chicago Seven convicted, 1970 02/16 Nylon patented, 1937 02/16 Stephen Decatur burns US frigate in Tripoli, 1804 02/18 Pluto discovered by Clyde Tombaugh, Lowell Observatory, AZ, 1930 02/19 US Marines land on Iwo Jima, 1945 02/20 John Glenn orbits the Earth 3 times, 1962 02/21 Battle of Verdun begins, 1916 1M casualties 02/21 First telephone directory, New Haven, Connecticut, 1878 02/21 Malcom X shot to death in Harlem, 1965 02/23 Lt. Calley confesses, implicates Cpt. Medina, 1971 02/24 Impeachment proceedings against Andrew Johnson begin, 1868 02/28 The "French Connection" drug bust occurs in Marseilles, 1972 02/29 French and Indian raid on Deerfield MA, 1704 03/01 Sarah Goode, Sarah Osborne, and Tituba arrested for witchcraft in Salem, Massachusetts, 1692 03/02 Blackthorn winds (New England) (Does anyone know what this is?) 03/04 First meeting of Congress, 1789, in N.Y.C. 03/13 "Striptease" introduced, Paris, 1894 03/14 Teddy Roosevelt excludes Japanese laborers from continental US, 1907 03/15 Day of the 1848 revolution in Hungary 03/15 Buzzards return to Hinckley OH 03/15 France assumes protectorate over Vietnam, 1874 03/15 Watts, Los Angeles, riots kill two, injure 25, 1966 03/15 Ides of March. Gaius Julius Caesar assassinated by senators, including adoptive son Marcus Junius Brutus Caepio, 44BC 03/16 MyLai Massacre; 300 non-combatant villagers killed by US infantrymen 03/16 Robert Goddard launches first liquid-fueled rocket, Auburn MA, 1926 03/17 Vanguard I launched, 1958. Earth proved pear-shaped 03/18 Aleksei Leonov performs first spacewalk, 1965 03/19 Swallows return to Capistrano 03/20 Radio Caroline, the original British pirate radio station, sinks, 1980 03/24 Construction of New York subway system begins, 1900 03/25 Triangle Shirt Waist Fire, 1911 03/26 Popeye statue unveiled, Crystal City TX Spinach Festival, 1937 03/27 Khrushchev becomes Premier of Soviet Union, 1958 03/28 Three Mile Island releases radioactive gas, 1979 03/29 Swedish settled Christiana (Wilmington) DE, 1638 03/30 Alaska purchased from Russia for $7.2 million, 1867 03/30 Five rings around Uranus discovered, 1977 03/30 Pencil with eraser patented, 1858 04/01 People of superb intelligence, savoir-faire, etc. born this day. 04/04 Martin Luther King assassinated in Memphis, Tennessee, 1968 04/04 NATO Established, 1949 04/06 Joseph Smith founds Mormon Church, 1830 04/07 Albert Hofmann synthesizes LSD in Switzerland, 1943 04/07 Alewives run, Cape Cod 04/08 Matthew Flinders and Nicolas Baudin meet in Encounter Bay, 1802 04/09 Lee surrenders to Grant at Appomattox Courthouse, 1865 04/12 Confederate troops fire first shots of Civil War at Ft Sumter, 1861 04/12 Space Shuttle Columbia launched, 1981 04/12 Yuri Gagarin becomes the first man in space, 1961 04/13 Laotian New Year (3 days) in Laos 04/14 US President Abraham Lincoln shot in Ford's Theatre by John Wilkes Booth, 1865 04/14 Titanic hits iceberg and sinks, 1912 04/15 US President Abraham Lincoln dies, 1865 04/15 Ray Kroc opens first McDonalds in Des Plaines, IL, 1955 04/17 Bay of Pigs invasion crushed by Castro forces, 1961 04/18 Einstein's Death, 1955 04/18 First Laundromat opens, Fort Worth Texas, 1934 04/18 San Francisco earthquake, 1906 04/19 Landing of the "33" in Uruguay 04/19 Warsaw Ghetto uprising, 1943 04/20 Supreme Court unanimously rules in favor of busing, 1971 04/21 Lyrid meteor shower 04/22 Vladimir Ilich Ulyanov, called Lenin, Russian political leader, born in Simbirsk, 1870 04/23 Hank Aaron hits his first home run, 1954 04/26 William Shakespeare baptized in Stratford-on-Avon, England, 1564, birthdate unknown 04/27 Magellan killed in Philippines, 1521 04/29 Zipper patented by Gideon Sindback, 1913 05/01 Beltaine; Feast of the god Bel, sun god 05/03 Anti-war protest disrupts business in Washington, 1971 05/04 Four Kent State students are shot down by the National Guard, 1970 05/05 John Scopes arrested for teaching evolution, Dayton, TN, 1925 05/06 Hindenburg explodes and burns upon landing at Lakehurst, NJ, 1937 05/07 Germany surrenders after WWII, 1945 05/08 Beginning of ostrich mating season 05/08 US institutes mining of Haiphong Harbor, 1972 05/09 94 degrees, New York, 1979 05/10 Germany invades Low Countries, 1940 05/10 Nazi bookburning, 1933 05/14 Beginning of Lewis and Clark Expedition, 1804 05/14 Nation of Israel proclaimed, 1948 05/15 Asylum for Inebriates founded, Binghamton NY, 1854 05/17 24" rain in 11 hours, Pearl River, S. China, 1982 05/17 Six SLA members killed in televised gun fight, 1974 05/18 Battle of Las Piedras in Uruguay 05/18 Napoleon crowned Emperor, 1804 05/21 Battle of Iquique in Chile 05/21 US explodes first hydrogen bomb, 1956 05/22 US Civil War ends, 1865 05/23 Israeli raid into Argentina to capture Adolf Eichmann, 1960 05/23 Two Yetis sighted, Mt. Everest, 1953 05/23 Federal Republic of Germany founded, 1949 05/24 Battle of Pinchincha in Ecuador 05/25 Oral Roberts sees 900 foot tall Jesus Christ, Tulsa OK, 1980 05/25 Successful test of the limelight in Purfleet, England, 1830 05/26 Congress sets first immigration quotas, 1924 05/27 Golden Gate Bridge opens, 1937 05/29 Edmund Hillary and Tenzing Norkay climb Mt. Everest, 1953 05/29 First food stamps issued, 1961 05/30 US Marines sent to Nicaragua, 1912 06/02 Native Americans "granted" citizenship, 1924 06/04 Roquefort cheese developed, 1070 06/05 Robert Kennedy assassinated, 1968 06/05 US leaves the Gold Standard, 1933 06/06 First drive-in movie, 1933 06/06 Normandy landing, 1944 06/10 Death of Alexander the Great, 323 B.C. 06/10 Denver police tear gas Jethro Tull and 2000 fans at Red Rocks, 1971 06/11 Greeks seize Troy, 1184BC 06/13 Pioneer flies past Neptune, and therefore out of the Solar System 06/14 Sandpaper invented by I. Fischer, Jr., 1834 06/15 Ben Franklin's kite experiment, 1752 06/15 Magna Carta signed, 1215 06/15 Series of photographs by Edward Muggeridge prove to Leland Stanford that all the hooves of a horse are off the ground during the gallop, 1878 06/16 "The Blues Brothers" premieres in Chicago, 1980 06/17 China explodes its first Hydrogen bomb, 1967 06/17 Watergate Democratic National Committee break-in, 1972 06/19 Julius and Ethel Rosenberg are executed in Sing-Sing prison, 1953 06/19 Lizzie Bordon acquitted, 1893 06/20 Victoria crowned, 1837 06/21 Berlin airlift begins, 1948 06/21 Sun rises over Heelstone at Stonehenge 06/22 Civil rights workers disappear in Mississippi, 1964 06/23 Slavery abolished in England, 1772 06/24 Senate repeals Gulf of Tonkin resolution, 1970 06/25 Custer's Last Stand at Little Big Horn, 1876 06/25 North Korea invades South Korea, 1950 06/26 Battle of Gettysburg, 1863 06/26 St. Lawrence Seaway dedicated by Eisenhower & Queen Elizabeth II, 1959 06/26 Toothbrush invented, 1498 06/27 100 degrees, Fort Yukon, 1915 06/27 Bill Graham closes the Fillmore East, 1971 06/28 Supreme Court decides in favor of Alan Bakke, 1978 06/30 "That" explosion in Siberia, 1908 06/30 China and Soviet Union announce split over ideology, 1960 07/01 Battle of Gettysburg begins, 1863 07/03 Dog days begin 07/04 Battles of Vicksburg and Gettysburg won by Union forces, 1863 07/04 Cloudy, 76 degrees, Philadelphia PA, 1776 07/04 New York abstains on Declaration of Independence vote, 1776 07/04 Thoreau enters woods, 1845 07/06 First `talkie' (talking motion picture) premiere in New York, 1928 07/06 Lawrence of Arabia captures Aqaba, 1917 07/07 First radio broadcast of "Dragnet", 1949 07/07 Terrorists detonate four bombs on London public transport, 2005 07/08 First public reading of the Declaration of Independence, 1776 07/08 Liberty Bell cracks while being rung at funeral of John Marshall, 1835 07/09 10-hour working day set by law, NH, 1847 07/10 134 degrees in Death Valley, 1913 07/12 Minimum wages established: 40 cents/hour, 1933 07/13 Women first compete in Olympic games, 1908 07/16 Detonation of the first atomic bomb at Alamagordo, NM, 1945 07/17 Disneyland opens, 1955 07/18 Ty Cobb gets 4000th base hit, 1927 07/19 Five Massachusetts women executed for witchcraft, 1692 07/20 Armstrong and Aldrin land on moon, 1969 07/21 First Train Robbery, Jesse James gets $3000 near Adair, Iowa, 1873 07/21 Vietnam divided at 17th parallel, 1954 07/23 Ice cream cone introduced, St. Louis MO, 1904 07/24 Scopes Monkey Trial, 1925 07/30 "In God We Trust" made US motto, 1956 07/31 Harry S. Truman dedicates N.Y. Int'l Airport @ Idlewild Field, 1948, later JFK 08/01 Lughnasa; Feast of the god Lugh, a 30 day Celtic feast centers on this day 08/03 Columbus sets sail for Cathay, 1492 08/03 USS Nautilus crosses under north polar ice cap, 1958 08/04 Axe murder of Andrew and Abbey Borden, 1892 08/04 Bombing of N. Vietnam begins, 1964 08/04 Britain declares war on Germany starting World War I, 1914 08/06 Atomic bomb dropped on Hiroshima, 1945 08/06 Caricom in Barbados 08/06 Cy Young pitches first game, 1890 08/08 Montenegro declares war on Germany, 1914 08/08 Richard Nixon resigns the US presidency, 1974 08/08 The Great Train Robbery -- $7,368,000, 1963 08/09 Helter Skelter... the Charles Manson murders take place, 1969 08/09 Persia defeats Spartan King Leonidas at Thermopylae, 480 BC 08/09 US/Canada border defined in the Webster-Ashburton Treaty, 1842 08/09 Atomic bomb dropped on Nagasaki, 1945 08/09 Singapore secedes from Malaysia, 1965 08/10 Chicago incorporated as a village of 300 people, 1833 08/10 US and Panama agree to transfer the canal in the year 2000, 1977 08/11 Dog days end 08/11 France Ends War in Indochina, 1954 08/11 Perseid meteor shower (look north; three days) 08/12 First test flight of Space Shuttle "Enterprise" from 747, 1977 08/12 Last US ground troops out of Vietnam, 1972 08/13 Berlin wall erected, 1961 08/13 Li'l Abner debut, 1934 08/14 Social Security begins in US, 1935 08/15 Gandhi's movement obtains independence for Pakistan and India, 1947 08/15 Hurricane hits Plymouth Plantation, 1635 08/16 Roller Coaster patented, 1898 08/17 First public bath opened in N.Y., 1891 08/18 Anti-Cigarette League of America formed 08/19 Air Force cargo plane snares payload from Discoverer 14 spy satellite, marking start of practical military reconnaissance from space, 1960 08/19 Gail Borden patents condensed milk, 1856 08/22 Death of King Richard III, 1485, Last of the Plantagenets 08/22 Joe Walker sets X-15 all time altitude mark (67 miles), 1963 08/22 St. Columbia reports seeing monster in Loch Ness, 565 08/23 Sacco and Vanzetti executed, 1927 08/24 "Alice's Restaurant" premieres in New York and Los Angeles, 1969 08/24 -126.9 F at Vostok, Antarctica, 1960 08/24 British troops burn Washington, 1814 08/25 Gen. De Gaulle leads French forces into Paris, 1944 08/26 19th amendment of US constitution gives women the vote, 1920 08/27 "Tarzan of the Apes" published, 1912 08/27 Krakatoa, Java explodes with a force of 1,300 megatons, 1883 08/28 Martin Luther King leads over 200,000 in civil rights rally in Washington, DC, 1963 08/29 Star in Cygnus goes nova and becomes 4th brightest in sky, 1975; Nova Cygni 1975. 08/30 75 cents a pound tariff set on opium, 1842 08/30 Japan Stationery Co. sells first felt-tipped pen, 1960 08/30 St. Rose of Lima in Peru 08/30 Washington-to-Moscow hot line connected, 1963 08/31 269 people killed after Korean Airlines 747 shot down by USSR, 1983 08/31 Mary Anne Nichols becomes Jack the Ripper's first victim, 1888 08/31 Non-aggression pact signed by USSR and Afghanistan, 1926 08/31 Federation of Malaya gains independence from Great Britain, 1957 09/01 Bobby Fischer defeats Boris Spassky in World Chess Match, 1972 09/01 Joshua A. Norton proclaims himself 'Emperor Norton I', 1859 09/02 Great Britain adopts Gregorian Calendar, 1752 09/02 Japan signs unconditional surrender on US battleship `Missouri', 1945 09/03 Richard ``the Lionheart'' crowned king of England, 1189 09/03 Anniversary of the Founding of the Republic in San Marino 09/05 US President Kennedy orders resumption of underground nuclear tests, 1961 09/05 The first Continental Congress was convened in Philadelphia, 1774 09/06 149 Pilgrims set forth from England aboard the Mayflower, 1620 09/06 First Star Trek episode (The Man Trap) aired 1966 09/06 US President McKinley shot, 1901 09/06 Somhlolo in Swaziland 09/08 "Star Trek" debuts on NBC (1966) 09/08 Jack the Ripper kills again, Annie Chapman is second victim, 1888 09/08 US President Ford pardons Richard M. Nixon, 1974 09/09 California becomes the 31st state of the USA, 1850 09/09 United Colonies is renamed the United States, 1776 09/10 Mountain Meadows Massacre. Mormons kill Gentile wagon train, 1857 09/11 CIA-sponsored terrorists overthrow Chilean government, murder President Allende, 1973 09/11 Terrorists destroy World Trade Center in New York, 2001 09/12 German paratroopers rescue Mussolini from captivity in Rome, 1943 09/12 Germany annexes Sudetenland, 1938 09/13 58 C (136.4 F) measured at el Azizia, Libya, 1922 09/13 British defeat the French at the Plains of Abraham, just outside the walls of Quebec City, 1759 09/13 Building of Hadrian's Wall begun, 122 09/13 Chiang Kai-Shek becomes president of China, 1943 09/14 Benjamin Franklin is sent to France as an American minister, 1778 09/14 Salem, Massachusetts, is founded, 1629 09/14 The US Selective Service Act establishes the first peacetime draft, 1940 09/15 Soviet Premier Nikita Khrushchev begins his 13 day tour of the US, 1959 09/15 The US Foreign Affairs Dept. becomes the US State Department, 1789 09/16 The village of Shawmut, Massachusetts, becomes the city of Boston, 1630 09/16 Malaya, Sabah, Sarawak and Singapore unite to become Malaysia, 1963 09/17 Battle of Antietam, 1862 09/18 Victory of Uprona in Burundi 09/19 New Zealand women get the right to vote, 1893 09/20 Equal Rights Party nominates Belva Lockwood for US President, 1884 09/20 First meeting of the American Association for the Advancement of Science, 1848 09/20 First meeting of the US National Research Council, 1916 09/20 Magellan leaves Spain on the first Round the World passage, 1519 09/20 The Roxy Theater opens in Hollywood, 1973 09/22 US President Lincoln issues the Emancipation Proclamation, 1862 09/22 Special prosecutor Leon Jeworski subpoenas US President Nixon, 1974 09/22 The first Soviet atomic bomb explodes, 1949 09/23 Philippine President Ferdinand Marcos declares martial law, 1972 09/23 The New York Knickerbockers becomes the first US Baseball club, 1845 09/23 US Vice President Nixon denies campaign fund fraud with his "Checkers" speech, 1952 09/25 Sandra Day O'Connor becomes first woman on US Supreme Court, 1981 09/27 The first passenger was hauled in a locomotive in England, 1825 09/28 "Pilgrim's Progress" published, 1678 09/28 A Greek soldier runs 26+ miles after the Persian defeat at Marathon, 490BC 09/30 Red Jack kills 2, Elizabeth Stride (#3) and Catherine Eddowes (#4), 1888 09/30 The first tooth is extracted under anesthesia in Charleston, Mass, 1846 09/30 The verdicts of the Nuremberg trials are announced, 1946 10/01 NASA officially begins operations, 1958 10/02 Thurgood Marshall sworn as the first black Supreme Court Justice, 1967 10/04 Crimean war begins, 1853 10/04 First space vehicle, Sputnik I, launched, 1957 10/06 Antioch College is the first public school to admit men and women, 1853 10/06 Egyptian President Anwar es-Sadat is assassinated in Cairo, 1981 10/06 Israel is attacked by the alliance of Egypt and Syria, 1973 10/07 Foundation of the German Democratic Republic (GDR or DDR), 1949 10/07 Georgia Tech. beats Cumberland Univ. 222-0, 1916 10/07 Maryland Governor Marvin Mandel sent to prison on fraud charges, 1977 10/07 Mother Teresa of Calcutta awarded the Nobel Peace Prize, 1979 10/07 Police stop Wilbur Mills car, Fanne Fox jumps into water, 1974 10/08 Great Chicago Fire, 1871 10/09 First two-way telephone conversation, 1876 10/10 Beginning of the Wars for Independence in Cuba 10/10 Foundation of the Workers Party in North Korea 10/10 Mercury at Superior Conjunction with Sun. Moves into night sky. (1984) 10/10 Spiro T. Agnew resigns as Vice-President due to income tax fraud, 1973 10/11 "Saturday Night Live" premiers on NBC-TV, 1975 10/11 The Gang of Four are arrested in Peking, 1976 10/11 The first steam powered ferry ran between New York and Hoboken, 1811 10/11 The second Vatican Ecumenical Council opens in Rome, 1962 10/11 First broadcast of Saturday Night Live, 1975 10/12 Bahama Natives discover Columbus of Europe lost on their shores, 1492 10/12 Khrushchev pounds his desk with shoe during a speech to the UN, 1960 10/12 Man O'War's last race, 1920 10/12 Native Americans discover Columbus of Europe lost on their shores, 1492 10/13 Italy declares war on Germany, 1943 10/13 US Navy born, 1775, authorized by the Second Continental Congress 10/14 Battle of Hastings won by William the Conqueror and the Normans, 1066 10/14 Chuck Yeager breaks sound barrier, 1947 10/15 First draft card burned, 1965 10/18 Boston Shoemakers form first US labor org., 1648 10/18 Soviets announce their probe took photos of the Moon's far side, 1959 10/19 Mao Tse-tung establishes the People's Republic of China, 1949 10/19 Napoleon's beaten army begins the long retreat from Moscow, 1812 10/20 "Saturday Night Massacre", 1973 10/20 OPEC embargo, 1973 10/21 Edison makes the first practical incandescent lamp, 1879 10/21 Guggenheim Museum opens, 1959 10/23 Battle of Leyte Gulf begins, 1944 10/23 Day of the 1956 revolution in Hungary 10/23 Earth created at 6:30 AM, 4004BC. 10/23 Swallows leave Capistrano 10/25 The UN removes Taiwan and admits the People's Republic of China, 1971 10/26 UN's World Health Organization declares smallpox eradicated, 1978 10/27 New York's Boss Tweed is arrested on fraud charges, 1871 10/27 The first New York Subway is opened, 1904 10/28 Columbus discovers Cuba, 1492 10/28 Constantine's army defeats forces of Maxentius at Mulvian Bridge, 312 10/28 Harvard was founded in Massachusetts, 1636 10/28 Statue of Liberty was dedicated on Bedloe's Island, 1886 10/29 Stock Market Crash, 1929 10/30 Orson Welles' "War of the Worlds" broadcast, 1938 10/31 Luther nails 95 Theses to door of Castle Church, Wittenberg, 1517 11/01 Austria-Hungary become two separate nations, 1918 11/01 Puerto Rican nationalists try to kill Truman at the Blair House, 1950 11/02 Luftwaffe completes 57 consecutive nights of bombing of London, 1940 11/02 Two Frenchmen make the first free hot air balloon flight, 1783 11/03 Beef rises to 3 cents a pound, IL, 1837 11/03 Linus Pauling wins Nobel Chemistry Prize, 1954 11/03 Sputnik II launched, 1957, bearing space dog Laika 11/04 Iranian militants seize US embassy personnel in Teheran, 1979 11/04 Soviet forces crush the anti-communist revolt in Hungary, 1956 11/05 Guy Fawkes' Plot, 1605 11/07 Abolitionist newspaperman Elijah P. Lovejoy murdered by mob, 1837 11/07 Lewis and Clark Expedition in sight of the Pacific Ocean, 1805 11/09 Blackout of New York, New England, and Eastern Canada, 1965 11/09 Giant panda discovered (?!), China, 1927 11/09 Jack the Ripper kills fifth and final victim, Jane Kelly, 1888 11/09 Margaret Sanger forms American Birth Control League, 1921 11/09 Roosevelt establishes the Civil Works Administration, 1933 11/10 41 Women arrested in suffragette demonstrations near White House, 1917 11/10 Cpt. Wirz, commandant of Andersonville Prison hanged, 1865 11/10 Henry Stanley asks David Livingston, "Dr. Livingston, I presume?", 1871 11/11 Washington becomes the 42nd state, 1889 11/12 Dr. Sun Yat-sen's Birthday in Taiwan 11/12 USA first exports oil to Europe, 1861 11/14 Quarter Pounder price raised from $0.53 to $0.55 in violation of Nixon price controls (but okayed by Price Commission after formal request from McDonald's), 1971 11/15 Niagara Falls power plant startup, 1896 11/16 Opening of the Suez Canal, 1869 11/17 46,000 meteoroids fall over AZ in 20 minutes, 1966 11/17 Richard Nixon says "I am not a crook.", 1973 11/18 First hydrogen bomb blasts Enewetok, 1952 11/18 Local standard time zones established for US, 1883 11/19 Gettysburg Address delivered, 1863 11/21 Announcement of 18 1/2 minute gap on Watergate tape, 1973 11/22 Kennedy shot in Dallas, Texas by Lee Harvey Oswald, 1963 11/23 First broadcast of Dr. Who (longest running TV series), 1963 11/24 Lee Harvey Oswald killed by Jack Ruby, 1963 11/25 Alfred Nobel invents dynamite, 1867 11/27 Alfred Nobel establishes Nobel Prize, 1895 11/27 Friction match invented, England, 1826 11/27 Hoosac Railroad Tunnel completed, 1873, in NW Massachusetts 11/29 King Tut's tomb opened, 1922 12/01 First national corn-husking championship, Alleman IA, 1924 12/01 Martin Luther King Jr., leads black boycott of Montgomery buses, 1955 12/01 Rosa Parks refuses to move to back of the bus (Montgomery, AL), 1953 12/03 First neon light display, Paris, 1910 12/03 First successful human heart transplant led by Dr. Barnard, 1967 12/03 The Montreux Casino burns down during a Frank Zappa concert, 1971 12/04 Washington takes leave of his officers at Fraunce's Tavern, NYC, 1783 12/05 End of Prohibition, 1933 (at least the alcohol part) 12/05 Phi Beta Kappa founded, 1776 12/05 The Eighteenth Amendment repealed, ending Prohibition, 1933 12/07 Japan bombs Pearl Harbor, 1941 12/08 Japan enters Second World War with invasion of Pantai Sabak, Kelantan, 1941 12/09 Ball-bearing roller skates patented, 1884 12/10 Metric system established in France, 1799 12/10 Nobel Peace Prize awarded each year 12/12 First wireless message sent across Atlantic by Marconi, 1901 12/13 Apollo 17 leaves the moon, with "last" men to walk on moon aboard, 1972 12/13 Dartmouth College chartered, 1769 12/13 Geminid meteor shower (look south) 12/15 Argo Merchant oil spill, 1976 12/15 Bill of Rights adopted, 1791 12/15 James Naismith invents basketball, Canada, 1891 12/15 Sitting Bull shot in head while submitting to arrest, 1890 12/20 US buys ~1,000,000 sq. miles of Louisiana for ~$20/sq.mi. 12/21 Phileas Fogg completes his trip around the world in less than 80 days 12/21 Women gain the right to vote in South Australia, 1894 12/21 Women gain the right to hold political office in South Australia, 1894 12/24 KKK formed in Pulaski, Tenn, 1865 12/26 DPMA founded, 1951 12/27 APT report published, 1956 12/27 Ether first used as anesthetic in childbirth, 1845 12/28 Comet Kohoutek at perihelion, 1973 12/28 Proclamation of the Province of South Australia, 1836 12/29 Battle of Wounded knee, 1890 12/30 First Los Angeles freeway dedicated, 1940 12/31 St. Sylvester in Switzerland 12/31 Winterland closes its doors, 1978 #endif /* !_calendar_history_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.australia0000664000000000000000000000430112665277472023227 0ustar /* * Australian holidays * * $FreeBSD$ */ #ifndef _calendar_australia_ #define _calendar_australia_ LANG=en_AU.ISO8859-1 /* Australia */ 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/SunFirst Daylight Savings Time starts in ACT, NSW, SA and VIC. /* ACT, NSW, common */ 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 */ Mar/MonSecond Labour Day (VIC) Nov/TueFirst Melbourne Cup (VIC) /* 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) /* Western Australia */ Mar/MonFirst Labour Day (WA) Jun/MonFirst Foundation Day (WA) Sep 30 Queen's Birthday (WA) /* Northern Territory */ 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 */ May/MonFirst Labour Day (QLD) Aug/WedSecond RNA Show Day (Brisbane metro) /* Second Last Wednesday */ #endif bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_AT.ISO_8859-15/0000775000000000000000000000000012665277472022076 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_AT.ISO_8859-15/calendar.feiertag0000664000000000000000000000224112665277472025356 0ustar /* * Feiertage * * $FreeBSD$ */ #ifndef _de_AT_ISO8859_15_feiertag_ #define _de_AT_ISO8859_15_feiertag_ LANG=de_AT.ISO8859-15 /* arbeitsfreie staatliche Feiertage */ 01/01 Neujahr 05/01 Staatsfeiertag 10/26 Nationalfeiertag /* christliche Feiertage, meist irgendwo arbeitsfrei */ 01/06 Heilige 3 Knige Easter-2 Karfreitag Easter Ostersonntag Easter+1 Ostermontag Easter+49 Pfingstsonntag Easter+50 Pfingstmontag Easter+39 Christi Himmelfahrt Easter+60 Fronleichnam 08/15 Mari Himmelfahrt 11/01 Allerheiligen 11/02 Allerseelen 12/08 Mari Empfngnis 12/24 Heiligabend 12/25 Weihnachten 12/26 Stephanstag 12/31 Silvester /* Gedenktage - nicht arbeitsfreie Feiertage */ 02/14 Valentinstag 02/WednesdayLast Aschermittwoch Easter-7 Palmsonntag Nov Sun+3 Totensonntag Nov Sun+4 1. Advent Dec Sun+1 2. Advent 12/06 Nikolaus Dec Sun+2 3. Advent Dec Sun+3 4. Advent /* Jahreszeiten */ 03/20* Frhlingsanfang 06/21* Sommeranfang 09/23* Herbstanfang 12/21* Winteranfang /* Sommer- und Winterzeit */ 03/SundayLast Anfang der Sommerzeit 10/SundayLast Ende der Sommerzeit /* Blumenverkufer */ May Sun+2 Muttertag #endif /*! _de_AT_ISO8859_15_feiertag_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.russian0000664000000000000000000000026012665277472022726 0ustar /* * Russian calendar files * * $FreeBSD$ */ #ifndef _calendar_russian_ #define _calendar_russian_ #include #endif /* !_calendar_russian_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/0000775000000000000000000000000012665277472021636 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag0000664000000000000000000000220212665277472025113 0ustar /* * Feiertage * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_feiertag_ #define _de_DE_ISO8859_1_feiertag_ LANG=de_DE.ISO8859-1 /* arbeitsfreie staatliche Feiertage */ 01/01 Neujahr 05/01 Maifeiertag 10/03 Tag der deutschen Einheit /* christliche Feiertage, meist irgendwo arbeitsfrei */ Easter-2 Karfreitag Easter Ostersonntag Easter+1 Ostermontag Easter+49 Pfingstsonntag Easter+50 Pfingstmontag Easter+39 Christi Himmelfahrt Easter+60 Fronleichnam 08/08 Friedensfest (Augsburg) 08/15 Mari Himmelfahrt 10/31 Reformationstag 11/01 Allerheiligen 11/02 Allerseelen 11/Wed+4 Bu- und Bettag 12/24 Heiligabend 12/25 Erster Weihnachtstag 12/26 Zweiter Weihnachtstag 12/31 Silvester /* Gedenktage - nicht arbeitsfreie Feiertage :-( */ 06/17 Arbeiteraufstand am 17. Juni 1953 01/27 Gedenktag fr die Opfer des Nationalsozialismus /* Jahreszeiten */ 03/20* Frhlingsanfang 06/21* Sommeranfang 09/23* Herbstanfang 12/21* Winteranfang /* Sommer- und Winterzeit */ 03/SundayLast Anfang der Sommerzeit 10/SundayLast Ende der Sommerzeit /* Blumenverkufer */ May Sun+2 Muttertag #endif /*! _de_DE_ISO8859_1_feiertag_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte0000664000000000000000000002144612665277472025446 0ustar /* * deutsche Geschichte * * * Die Angaben wurden berwiegend entnommen aus dem Buch: * * Fragen an die deutsche Geschichte, Ideen, Krfte, Entscheidungen von * 1800 bis zur Gegenwart; historische Ausstellung im Reichstagsgebude * in Berlin; Katalog, 16. Auflage, Sonderausgabe - Bonn: Deutscher * Bundestag, Referat ffentlichkeitsarbeit, 1990 * * English Title: Questions on German history * * ISBN 3-924521-59-X * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_geschichte_ #define _de_DE_ISO8859_1_geschichte_ LANG=de_DE.ISO8859-1 /* 1800-1933 */ 07/11 Grndung des Rheinbundes, 1806 10/14 Doppelschlacht bei Jena und Auerstedt, 1806 10/16 Vlkerschlacht bei Leipzig, 1813 06/18 Niederlage Napoleons bei Waterloo, 1815 10/18 Wartburgfest der Deutschen Burschenschaften, 1817 01/01 Inkrafttreten des Vertrages ber den deutschen Zollverein, 1834 12/07 Erste deutsche Eisenbahn zwischen Nrnberg und Frth, 1835 06 Aufstand der schlesischen Weber, 1844 12/21 Verabschiedung des Gesetzes ber die Grundrechte des deutschen Volkes durch die Frankfurter Nationalversammlung, 1848 03/27 Annahme der deutschen Reichsverfassung in der Frankfurter Paulskirche, Wahl von Friedrich Wilhelm IV von Preuen zum deutschen Kaiser, 1849 04/28 Ablehnung der deutschen Kaiserkrone durch den preuischen Knig, 1849 07/03 Schlacht von Kniggrtz 07/13 Emser Depesche, 1870 07/18 Verkndung des Dogmas von der ppstlichen Unfehlbarkeit durch das I. Vatikanische Konzil 01/18 Proklamation des deutschen Kaiserreiches in Versailles, 1871 10/18 Verabschiedung des Sozialistengesetzes durch den Reichstag, 1878 03/20 Entlassung von Bismarck als Reichskanzler und preuischer Ministerprsident, 1890 06/21 Erffnung des Nord-Ostsee-Kanals, 1895 01/07 Billigung des Brgerlichen Gesetzbuches (BGB) durch den Reichstag, 1896 01/01 Brgerliches Gesetzbuch tritt in Kraft, 1900 06/28 Ermordung des sterreichischen Thronfolgers Erzherzog Franz Ferdinand durch serbische Nationalisten in Sarajewo, 1914 07/28 Kriegserklrung sterreich-Ungarns an Serbien, 1914 08/01 Deutsche Mobilmachung und Kriegserklrung an Ruland, 1914 08/03 Deutsche Kriegserklrung an Frankreich, 1914 08/04 Kriegserklrung Grobritanniens an Deutschland, 1914 08/04 Bewilligung der Kriegskredite im Reichstag, 1914 08/26 Schlacht bei Tannenberg, 1914 02/21 Schlacht um Verdun, 1916 03/08 Ausbruch der Revolution in Ruland, Abdankung von Zar Nikolaus II, 1917 04/06 Kriegserklrung der USA an Deutschland, 1917 12/15 Waffenstillstand zwisch Ruland und Deutschland, 1917 03/03 Frieden von Brest-Litowsk, 1918 11/03 Matrosenaufstand in Kiel, 1918 11/09 Ausrufung der Republik durch Scheidemann (SPD), 1918 02/11 Friedrich Ebert wird Reichsprsident, Weimar 1919 06/28 Unterzeichnung des Versailler Vertrages, 1919 03/21 Volksabstimmung in Oberschlesien, 1921 04/16 Vertrag von Rapallo, 1922 06/24 Ermordung von Reichsauenminister Rathenau, 1922 01/11 Besetzung des Ruhrgebietes durch Frankreich und Belgien, 1923 09/10 Eintritt Deutschlands in den Vlkerbund, 1926 10/25 Schwarzer Freitag in New York, Beginn der Weltwirtschaftskrise, 1929 /* II. Weltkrieg */ 10/14 Austritt Deutschlands aus dem Vlkerbund, 1933 03/16 Wiedereinfhrung der allgemeinen Wehrpflicht in Deutschland, 1935 10/25 Deutsch-italienischer Vertrag, Achse Berlin-Rom, 1936 11/25 Antikominternpakt zwischen Deutschland und Japan, 1936 01/13 Volksabstimmung im Saargebiet ber die Rckfhrung ins deutsche Reich, 1935 03/12 Einmarsch deutscher Truppen in sterreich, 1938 09/29 Mnchner Abkommen, 1938 03/15 Einmarsch deutscher Truppen in die Tschechoslowakei, 1939 03/23 Rckgabe des Memelgebietes an Deutschland, 1939 08/23 Abschlu des Hitler-Stalin-Paktes, 1939 09/03 Kriegserklrung Grobritaniens und Frankreichs an Deutschland, 1939 04/09 Deutsche Besetzung Dnemarks, Invasion in Norwegen, 1940 05/10 Deutscher Angriff auf Belgien, die Niederlande, Luxemburg und Frankreich, 1940 06/22 Deutscher Angriff gegen die Sowjetunion, 1941 12/11 Kriegserklrung Deutschlands an die USA, 1941 01/14 Konferenz von Casablanca, 1943 01/31 Kapitulation der 6. deutschen Armee in Stalingrad, 1943 06/06 Alliierte Landung in Nordwestfrankreich, 1944 02/04 Konferenz von Jalta, 4.-11.2. 1945 04/25 Zusammentreffen von amerikanischen und sowjetischen Truppen bei Torgau an der Elbe, 1945 05/08 Bedingungslose Kapitulation von Deutschland, 1945 07/01 Rckzug britischer und amerikanischer Truppen aus Sachsen, Thringen und Mecklenburg, Einmarsch westlicher Truppen in Berlin, 1945 07/17 Potsdamer Konferenz, 1945 09/01 Deutscher berfall auf Polen, Beginn des 2. Weltkrieges, 1939 10/01 Verkndigung der Urteile im Nrnberger Hauptkriegsverbrecherproze, 1946 02/25 Auflsung der Landes Preuen durch den Kontrollrat, 1947 08/06 Erster Atombombenabwurf auf Hiroshima, 1945 08/08 Atombombenabwurf auf Nagasaki, 1945 04/19 Aufstand im Warschauer Ghetto, 1943 12/07 Japan bombardiert Pearl Harbor, 1941 /* Deutschland nach dem 2. Weltkrieg */ 04/11 Attentat auf Dutschke, Studentenunruhen, 1968 04/26 GAU in Tschernobyl, 1986 05/05 Natobeitritt, Wiederbewaffnung, Souvernitt der Bundesrepublik, 1955 05/06 Rcktritt von Brandt, 1974 05/16 Wahl von Schmidt (SPD) zum Bundeskanzler, 1974 05/23 Verkndung des Grundgesetzes, 1949 05/23 Wahl von Richard von Weizscker zum Bundesprsidenten, 1984 06/05 Marshallplan, 1947 06/20 Whrungsreform in den Westzonen, 1948 06/24 Beginn der Berliner Blockade, 1948 07/01 Wahl von Heinrich Lbke zum Bundesprsidenten, 1959 07/01 Wirtschafts- und Whrungsunion, 1990 08/12 Deutsch-sowjetischer Gewaltverzichtsvertrag, Moskau 1970 08/14 Wahl zum ersten deutschen Bundestag, 1949 09/03 Vier-Mchte-Abkommen ber Berlin, 1971 09/05 Entfhrung und Ermordung von Arbeitgeberprsident Schleyer, Entfhrung einer Lufthansa-Maschine nach Mogadischu, 1977 09/07 DDR-Staatsratsvorsitzender Honecker in der Bundesrepublik, 1987 09/12 Wahl von Theodor Heuss (FDP) zum Bundesprsidenten, 1949 09/15 Wahl von Konrad Adenauer (CDU) zum Bundeskanzler, 1949 09/17 Bruch der Sozialliberalen Koalition, 1982 09/18 Aufnahme von Bundesrepublik und DDR in die UNO, 1973 10/01 Ablsung von Bundeskanzler Schmidt durch Kohl, 1982 10/23 Volksabstimmung im Saargebiet, 1955 12/02 Washingtoner Abkommen ber Bi-Zone, 1946 12/07 Deutsch-polnischer Vertrag, Warschau 1970 12/10 Friedensnobelpreis fr Brandt, 1971 12/12 Nachrstungsbeschlu des NATO-Ministerates, 1979 12/21 Grundlagenvertrag zwischen DDR und Bundesrepublik, 1972 /* Nationalsozialismus */ 11/09 Hitler-Putsch in Mnchen/Marsch auf die Feldherrenhalle, 1923 11/09 Reichskristallnacht, 1938 09/14 Reichstagswahl: Erdrutsch zugunsten der NSDAP, 1930 07/31 Reichstagswahl: NSDAP wird strkste Fraktion, 1932 11/06 Reichstagswahl: Rckgang der NSDAP, 1932 01/30 Ernennung von Hitler zum Reichskanzler, 1933 02/27 Reichstagsbrand, 1933 03/05 Reichstagswahl: Mehrheit fr NSDAP+DNVP, 1933 03/23 Annahme des Ermchtigungsgesetzes, 1933 03/31 Erstes Gesetz zur Gleichschaltung der Lnder, 1933 04/01 Organisierter Boykott jdischer Geschfte, 1933 04/07 Zweites Gesetz zur Gleichschaltung der Lnder, 1933 05/02 Auflsung der Gewerkschaften, 1933 06 Auflsung aller Parteien auer NSDAP, 1933 07/20 Konkordat zwischen Deutschland und dem Vatikan, 1933 06/30 Rhm-Putsch, Ausschaltung der SA-Fhrung, 1934 09/15 Nrnberger Gesetze, 1935 01/08 Erffnung der olympischen Spiele in Berlin, 1936 01/20 Wannseekonferenz, 1942 04/30 Selbstmord Hitlers, 1945 07/29 Mussolini geboren, 1883 /* Sozialismus */ 01/21 Lenin gestorben, 1924 06 Grndung des Bundes der Kommunisten in London durch Marx und Engels, 1847 05/23 Grndung des Allgemeinen Deutschen Arbeitervereins in Leipzig unter Fhrung von Ferdinand Lassalles, 1863 08/07 Grndung der Sozialdemokratischen Arbeiterpartei in Eisenach unter der Fhrung von August Bebel und Wilhelm Liebknecht, 1869 04/06 Grndung der Unabhngigen Sozialdemokratischen Partei, Gotha 1917 11/07 Oktoberrevolution in Ruland, Putsch der Bolschewisten, 1917 12/31 Grndung der KPD, 1918 01/15 Ermordung von Rosa Luxemburg und Karl Liebknecht, 1919 03/05 Tod Stalins, 1953 03/18 Erste demokratische Volkskammerwahl, 1990 04/21 Zwangsvereinigung von KPD und SPD zur SED, 1946 05/14 Grndung der Warschauer Paktes, 1955 06/17 Arbeiteraufstand am 17. Juni 1953 06/25 Begin der Korea-Krieges, 1950 08/13 Bau der Berliner Mauer, 1961 08/21 Einmarsch des Warschauer Pakts in die Tschechoslowakei, 1968 10/03 Offizielles Ende der DDR :-), 1990 10/07 Grndung der DDR, 1949 10/09 Massendemonstration in Leipzig, 1989 10/14 Kuba-Krise, 1962 10/18 Ablsung von Erich Honecker als SED-Generalsekretr, 1989 11/09 Fall der Berliner Mauer, 1989 09/09 Mao Tse-Tung gestorben im Alter von 82 Jahren, 1976 11/10 Sowjetischer Prsident Leonid Breschnew gestorben, Alter 75, 1982 03/27 Chruschtschow wird sowjetischer Prsident, 1958 10/12 Chruschtschow schlgt whrend einer Rede in der UNO mit den Schuhen auf den Tisch, 1960 #endif /* _de_DE_ISO8859_1_geschichte_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur0000664000000000000000000000325012665277472025344 0ustar /* * Literatur * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_literatur_ #define _de_DE_ISO8859_1_literatur_ LANG=de_DE.ISO8859-1 /* Schriftsteller Fontane Goethe Grass Hegel Heine Schiller */ 01/04 Jakob Grimm geboren, 1785 01/18 Arno Schmidt in Hamburg geboren, 1914 02/09 Thomas Bernhard in Heerlen geboren, 1931 02/12 Immanuel Kant in Knigsberg gestorben, 1804 02/12 Thomas Bernhard in Gmunden gestorben, 1989 02/17 Heinrich Heine in Paris gestorben, 1856 03/22 Johann Wolfgang von Goethe in Weimar gestorben, 1832 04/22 Kant geboren, 1724 05/09 Friedrich von Schiller in Weimar gestorben, 1805 06/03 Arno Schmidt in Celle gestorben, 1979 06/03 Franz Kafka in Prag gestorben, 1924 06/06 Thomas Mann in Lbeck geboren, 1875 07/03 Franz Kafka geboren, 1883 08/12 Thomas Mann gestorben, 1955 08/27 Georg Wilhelm Friedrich Hegel in Stuttgart geboren, 1770 08/28 Johann Wolfgang von Goethe in Frankfurt am Main geboren, 1749 09/20 Theodor Fontane in Berlin gestorben, 1898 10/16 Gnter Grass in Danzig geboren, 1927 11/10 Friedrich von Schiller in Marbach geboren, 1759 11/14 Georg Wilhelm Friedrich Hegel in Berlin gestorben, 1831 12/13 Heinrich Heine in Dsseldorf geboren, 1797 12/30 Theodor Fontane in Neuruppin geboren, 1819 /* Verlage */ 03/09 "die tageszeitung" als erste tglich aktualisierte deutsche Tageszeitung im WWW, 1995, Betatest, vollstndige Ausgabe 05/05 Schweriner Volkszeitung als erste deutsche Tageszeitung im WWW, 1995 05/12 "die tageszeitung" offiziell im WWW, 1995 08/31 Hitler stellt Frankfurter Zeitung ein, 1943 11/01 Frankfurter Allgemeine Zeitung in Leben gerufen, 1949 #endif /* !_de_DE_ISO8859_1_literatur_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.all0000664000000000000000000000064012665277472024101 0ustar /* * deutscher Kalender * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_all_ #define _de_DE_ISO8859_1_all_ #include #include #include #include #include #include #endif /* !_de_DE.ISO8859-1_all_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik0000664000000000000000000000514412665277472024465 0ustar /* * Musik * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_musik_ #define _de_DE_ISO8859_1_musik_ LANG=de_DE.ISO8859-1 /* Barock */ 02/23 Georg Friedrich Hndel in Halle an der Saale geboren, 1685 03/14 Georg Philipp Telemann in Magdeburg geboren, 1681 03/21 Johann Sebastian Bach in Eisenach geboren, 1685 04/14 Georg Friedrich Hndel in London gestorben, 1759 06/25 Georg Philipp Telemann in Hamburg gestorben, 1767 07/17 Diderich Buxtehude in Lbeck gestorben, 1707 07/28 Johann Sebastian Bach in Leipzig gestorben, 1750 /* Klassik */ 01/27 Wolfgang Amadeus Mozart in Salzburg geboren, 1756 01/31 Franz Schubert in Lichtenthal bei Wien geboren, 1797 02/03 Felix Mendelssohn Bartholdy in Hamburg geboren, 1809 02/13 Richard Wagner in Venedig gestorben, 1883 03/01 Frederic Chopin in Zelazowa-Wola bei Warschau geboren, 1810 03/08 (Louis) Hector Berlioz in Paris gestorben, 1869 03/25 Bela Bartok in Nagyszentmiklos geboren, 1881 03/26 Ludwig van Beethoven in Wien gestorben, 1827 03/28 Sergej Rachmaninow in Beverley Hills gestorben, 1943 03/29 Carl Orff in Mnchen gestorben, 1982 03/31 Joseph Haydn in Rohrau geboren, 1732 04/01 Sergej Rachmaninow in Oneg geboren, 1873 04/03 Johannes Brahms in Wien gestorben, 1897 05/07 Johannes Brahms in Hamburg geboren, 1833 05/18 Gustav Mahler in Wien gestorben, 1911 05/22 Richard Wagner in Leipzig geboren, 1813 05/31 Joseph Haydn in Wien gestorben, 1809 06/03 Georges Bizet in Bougival bei Paris gestorben, 1875 06/05 Carl Maria von Weber in London gestorben, 1826 06/08 Robert Schumann in Zwickau geboren, 1810 06/11 Richard Strauss in Mnchen geboren, 1864 06/15 Edvard Grieg in Bergen geboren, 1843 07/07 Gustav Mahler in Kalischt geboren, 1860 07/10 Carl Orff in Mnchen geboren, 1895 07/29 Robert Schumann in Endenich bei Bonn gestorben, 1856 07/31 Franz Liszt in Bayreuth gestorben, 1886 09/04 Edvard Grieg in Bergen gestorben, 1907 09/08 Richard Strauss in Garmisch-Partenkirchen gestorben, 1949 09/26 Bela Bartok in New York gestorben, 1945 10/17 Frederic Chopin in Paris gestorben, 1849 10/22 Franz Liszt in Raiding (Ungarn) geboren, 1811 10/25 Georges Bizet in Paris geboren, 1838 11/04 Felix Mendelssohn Bartholdy in Leipzig gestorben, 1847 11/18 Carl Maria von Weber in Eutin geboren, 1786 11/19 Franz Schubert in Wien gestorben, 1828 11/26 Paul Hindemith in Hanau geboren, 1895 12/05 Wolfgang Amadeus Mozart in Wien gestorben, 1791 12/11 (Louis) Hector Berlioz in La-Cte-Saint-Andr geboren, 1803 12/17 Ludwig van Beethoven in Bonn getauft, 1770 12/28 Paul Hindemith in Frankfurt am Main gestorben, 1963 /* Pop */ 09/18 Jimi Hendrix in Paris gestorben, 1970 #endif /* !_de_DE_ISO8859_1_musik_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft0000664000000000000000000000063212665277472026033 0ustar /* * Wissenschaft * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_wissenschaft_ #define _de_DE_ISO8859_1_wissenschaft_ LANG=de_DE.ISO8859-1 04/12 Erster Mann im All, Juri Gagarin, 1961 04/18 Einstein gestorben, 1955 06/22 Konrad Zuse geboren in Berlin, 1919 10/04 Sputnik 1, erster Satellit im Weltraum, 1957 12/18 Konrad Zuse gestorben in Hnfeld, 1995 #endif /* ! _de_DE_ISO8859_1_wissenschaft_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.kirche0000664000000000000000000000121212665277472024572 0ustar /* * Kirche in Deutschland * * $FreeBSD$ */ #ifndef _de_DE_ISO8859_1_kirche_ #define _de_DE_ISO8859_1_kirche_ LANG=de_DE.ISO8859-1 Easter-46 Aschermittwoch Easter-48 Rosenmontag Easter-7 Palmsonntag 11/Sun-3 Volkstrauertag (maybe) 11/Sun-2 Volkstrauertag oder Totensonntag 11/Sun-1 1. Advent oder Totensonntag 12/Sun+1 1. oder 2. Advent 12/Sun+2 2. oder 3. Advent 12/Sun+3 3. oder 4. Advent 12/Sun+4 4. Advent (maybe) 12/06 Nikolaus 12/25 1. Weihnachtstag 12/26 2. Weihnachtstag /* Evangelische Kirche */ 11/10 Martin Luther geboren in Eisleben, 1483 10/31 95 Thesen von Luther, Wittenberg, 1517 #endif /* !_de_DE_ISO8859_1_kirche_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.holiday0000664000000000000000000005161112665277472022701 0ustar /* * Holiday * * $FreeBSD$ */ #ifndef _calendar_holiday_ #define _calendar_holiday_ 01/01 Beginning of the Year in Japan 01/01 Independence Day in Haiti and Sudan 01/01 Universal Fraternity Day in Mozambique 01/02 Ancestry Day in Haiti 01/02 St. Berchtold's Day in Switzerland 01/03 New Year's Holiday in Scotland 01/03 Revolution Day in Upper Volta 01/04 Independence Day in Burma 01/04 Martyrs Day in Zaire 01/06 Children's Day in Uruguay 01/06 Three Kings' Day in Puerto Rico 01/07 Christmas in Ethiopia 01/07 Pioneer's Day in Liberia 01/09 Day of the Martyrs in Panama 01/11 Armed Forces Day in Liberia 01/12 Zanzibar Revolution Day in Tanzania 01/13 National Liberation Day in Togo 01/15 Arbor Day in Jordan 01/16 Martyrs Day in Benin 01/18 Revolution Day in Tunisia 01/19 Confederate Heroes Day in Texas 01/19 Ethiopian Epiphany in Ethiopia 01/19 Nameday of Archbishop Makarios in Cyprus 01/20 Army Day in Mali 01/20 National Heroes Day in Guinea-Bissau 01/21 Our Lady of Altagracia in Dominican Republic 01/23 Feast of St. Ildefonsus 01/23 US National Handwriting Day 01/24 Economic Liberation Day in Togo 01/26 Republic Day in India 01/MonSecond Adults Day in Japan 01/MonThird Lee-Jackson Day in Virginia (3rd Monday) 01/MonThird Robert E. Lee's Birthday in Alabama & Mississippi (3rd Monday) 01/MonThird Martin Luther King Day in New York (3rd Monday) 02/01 Chinese New Year Holiday (3 days) in Taiwan 02/02 Candlemas 02/04 Independence Commemoration Day in Sri Lanka 02/05 Constitution Day in Mexico 02/06 New Zealand Day 02/07 Independence Day in Grenada 02/09 St. Maron's Day in Lebanon 02/10 Feast of St. Paul's Shipwreck, AD 60 02/11 National Foundation Day in Japan 02/12 Pyidaungsa Day in Burma 02/16 Makha Bucha Day in Thailand 02/18 Democracy Day in Nepal 02/18 Independence Day in The Gambia 02/23 Republic Day in Guyana 02/24 Gregorian Calendar Day 02/25 National Day in Kuwait 02/27 Independence Day in Dominican Republic 03/01 Samil Independence Movement Day in South Korea 03/01 St. David's Day - Patron Saint of Wales 03/02 Peasants Day in Burma 03/02 Texas Independence day 03/02 Victory of Adowa in Ethiopia 03/03 Throne Day in Morocco 03/03 Independence day (Treaty of San Stefano) in Bulgaria 03/04 Vermont Admission Day (admitted as 14th US state in 1791) 03/05 Independence Day in Equatorial Guinea 03/06 Lantern Day, Bejing 03/08 First Annual International Women's Day, 1909 03/08 International Women's Day in former USSR 03/08 Syrian National Day in Libyan Arab Republic 03/08 Women's Day in Guinea-Bissau, Taiwan and Yemen Democratic Republic 03/08 Youth Day in Zambia 03/09 Decoration Day in Liberia 03/09 Falgun Purnima Day in Nepal 03/10 Labor Day in South Korea 03/11 Johnny Appleseed Day; anniversary of the death of John Chapman 03/12 Commonwealth Day in Swaziland 03/12 Independence Day in Mauritius 03/12 Moshoeshoe's Birthday in Lesotho 03/12 Renovation Day in Gabon 03/13 National Day in Grenada 03/16 Black Press Day; first US Black newspaper founded in 1827 03/17 Evacuation Day in Suffolk County, Massachusetts 03/17 St. Patrick's Day - one of the Patron Saints of Ireland 03/19 St. Joseph's Day, observed in Colombia, Costa Rica, Holy See, Liechtenstein, San Marino, Spain, Venezuela 03/19 Tree Planting Day in Lestho 03/20 Independence Day in Tunisia 03/20 Youth Day in Oklahoma 03/20* Vernal Equinox in Japan 03/21 Afghan New Year in Afghanistan 03/21 Juarez' Birthday in Mexico 03/21* Vernal Equinox in Japan 03/22 Abolition Day in Puerto Rico 03/23 Pakistan Day in Pakistan 03/25 Greek Independence Day in Cyprus 03/25 Lady Day (a.k.a. the Feast of the Annunciation) 03/25 Maryland Day in Maryland 03/25 National Holiday in Greece 03/26 Independence Day in Bangladesh 03/26 Prince Jonah Kuhio Kalanianaole Day in Hawaii 03/27 Armed Forces Day in Burma 03/29 Death of President Barthelemy Boganda in Central African Republic 03/29 Memorial Day in Madagascar 03/31 National Day in Malta 03/MonLast Seward's Day in Alaska (last Monday) 04/01 Youth Day in Benin 04/02 Malvinas Day in Argentina 04/02 Pascua Florida Day in Florida 04/04 Ching Ming Festival in Hong Kong 04/04 Liberation Day in Hungary 04/04 National Day in Senegal 04/05 Arbor Day in South Korea 04/05 Tomb Sweeping Day in Taiwan 04/06 Chakri Memorial Day in Thailand 04/06 Victory Day in Ethiopia 04/08 Fast and Prayer Day in Liberia 04/09 Martyrs Day in Tunisia 04/11 National Heroes Day in Costa Rica 04/13 National Day in Chad 04/13 Songkron Day in Thailand 04/14 Day of the Americas in Honduras 04/15 Bengali New Year in Bangladesh 04/16 De Diego's Birthday celebrated in Puerto Rico 04/16 Holy Week (5 days) in Venezuela 04/16 Tourist Week (5 days) in Uruguay 04/17 Burmese New Year in Burma 04/18 Independence Day in Chile and Zimbabwe 04/19 Declaration of Independence in Venezuela 04/19 Republic Day in Sierra Leone 04/21 San Jacinto Day in Texas 04/21 Tiradentes in Brazil 04/22 Arbor Day in Nebraska & Delaware 04/22 Oklahoma Day in Oklahoma 04/23 St. George's Day - Patron Saint of England 04/24 Victory Day in Togo 04/25 Anniversary of the Revolution in Portugal 04/25 Anzac Day, observed in Australia, New Zealand, Tonga and Western Samoa 04/25 Liberation Day in Italy 04/25 National Flag Day in Swaziland 04/26 Confederate Memorial Day in Florida & Georgia 04/26 Union Day in Tanzania 04/27 Independence Day in Togo 04/29 Showa Day in Japan 04/30 Queen's Birthday in the Netherlands, the Netherlands Antilles 04/30 The Workers Day in Uruguay 04/MonLast Arbor Day in Wyoming (last Monday) 04/MonLast Confederate Memorial Day in Alabama & Mississippi (last Monday) 04/MonThird Patriot's Day in Maine & Massachusetts (3rd Monday) 05/01 Labor Day in many places in the USA 05/01 May Day in many places 05/01 US Law Day (decl. by Eisenhower) 05/02 King's Birthday in Lesotho 05/03 Constitution Memorial Day in Japan 05/04 Greenery Day in Japan 05/04 Rhode Island Independence Day 05/05 Battle of Puebla in Mexico 05/05 Children's Day in Japan and South Korea 05/05 Coronation Day in Thailand 05/05 Liberation Day in the Netherlands 05/06 Bataan Day in Philippines 05/06* Bank Holiday in UK 05/07 May Day in United Kingdom 05/08 Buddha's Birthday in South Korea 05/08 Elections for the National Assembly in Philippines 05/08 Truman Day in Missouri 05/09 VE day, end of Second World War, celebrated in many countries 05/10 Confederate Memorial Day in South Carolina 05/10 Mothers Day in Guatemala 05/11 Minnesota Day in Minnesota 05/14 Anniversary of the Founding of Guinean Democratic Party in Guinea 05/14 Buddhist Holiday (Waisak 2528) in Indonesia 05/14 Independence Day (2 days) in Paraguay 05/14 Unification Day in Liberia 05/15 Kamuzu Day in Malawi 05/15 Vesak Day, observed in Singapore and Malaysia 05/15 Visakha Bucha Day in Thailand 05/16 Discovery Day in Cayman Islands 05/17 Constitution Day in Nauru and Norway 05/18 Flag Day in Haiti 05/18 Prayer Day in Denmark 05/19 Youth and Sports Day in Turkey 05/20 Mecklenburg Independence Day in North Carolina 05/20 National Day in Cameroon 05/20 Victoria Day in Canada 05/22 National Heroes Day in Sri Lanka 05/23 Commonwealth Day in Jamaica and Belize 05/23 National Labor Day in Jamaica 05/24 Bermuda Day in Bermuda 05/24 Day of Slav Letters in Bulgaria 05/25 African Freedom Day in Zimbabwe 05/25 African Liberation Day in Chad, Mauritania and Zambia 05/25 Anniversary of the Revolution of 1810 in Argentina 05/25 Independence Day in Jordan 05/25 Memorial Day in New Mexico & Puerto Rico 05/25 Revolution in the Sudan in Libyan Arab Republic 05/27 Afghanistan attains sovereignty, 1921 05/27* Bank Holiday in UK 05/28 Mothers Day in Central African Republic 05/31 Pya Martyrs Day in Togo 05/MonThird Memorial Day in Michigan (3rd Monday) 06/01 Independence Days (3 days) in Western Samoa 06/01 Madaraka Day in Kenya 06/01 Victory Day in Tunisia 06/02 Corpus Christi in Paraguay 06/03 Confederate Memorial Day in Kentucky & Louisiana 06/03 Labor Day in Bahamas 06/03* Bank Holiday in Rep. of Ireland 06/04 Emancipation Day in Tonga 06/04 Queen's Birthday in New Zealand 06/05 Constitution Day in Denmark 06/05 Liberation Day in Seychelles 06/06 His Majesty, Yang Di-Pertuan Agong's Birthday in Malaysia 06/06 Memorial Day in South Korea 06/09 Senior Citizen's Day in Oklahoma 06/10 Camoes Day in Portugal 06/11 King Kamehameha I Day in Hawaii 06/11 Queen's Birthday 06/12 Independence Day in Philippines 06/12 Peace with Bolivia in Paraguay 06/13 Corrective Movement in Yemen Arab Republic 06/14 Flag Day, USA 06/16 Bloomsday - Anniversary of Dublin events, 1904, in "Ulysses" 06/17 Bunker Hill Day in Suffolk County, Massachusetts 06/17 Independence Day in Iceland 06/18 Evacuation Day in Egypt 06/18 Queen's Birthday in Fiji 06/19 Artigas Birthday in Uruguay 06/19 Emancipation Day in Texas 06/19 Labor Day in Trinidad and Tobago 06/19 Revolution Day in Algeria 06/20 Flag Day in Argentina 06/20 West Virginia Day in West Virginia 06/22 Corrective Movement in Yemen Democratic Republic 06/22 Midsummer Eve in Finland, Sweden 06/22 National Sovereignty Day in Haiti 06/23 National Holiday in Luxembourg 06/24 Battle of Carabobob in Venezuela 06/24 Fisherman's Day in Madagascar, Mozambique and Somalia 06/24 Kings Day in Spain 06/24 Peasants Day in Peru 06/24 St. Jean-Baptiste Day in Quebec 06/28 Mothers Day in Central African Republic 06/29 Independence Day in Seychelles 06/30 Day of the Army in Guatemala 06/MonFirst Jefferson Davis's Birthday in Alabama & Mississippi (1st Monday) 06/MonFirst Jefferson Davis's Birthday in Florida, Georgia, & S. Carolina 07/01 Dominion Day in Canada 07/01 Freedom Day in Suriname 07/01 Independence Day in Burundi 07/01 National Day in Rwanda 07/01 Republic Day in Ghana 07/01 Union of the Somalia Republic in Somalia 07/02 National Day in Kiribati 07/04 Caribbean Day in Guyana 07/04 Constitution Day in Cayman Islands 07/04 Family Day in Lesotho 07/04 Heroes Day in Zambia 07/04 Kadooment Day in Barbados 07/04 Philippine-American Friendship Day in the Philippines 07/04 Warriors Day (2 days) in Yugoslavia 07/05 Day of Peace and Unity in Rwanda 07/05 Independence Day in Algeria and Venezuela 07/07 Anniversary of the P.U.N. in Equatorial Guinea 07/07 National Day in Malawi 07/07 Saba Saba Day in Tanzania 07/09 Independence Day in Argentina 07/10 Independence Day in Bahamas 07/11 National Holiday in the Mongolian People's Republic 07/12 Battle of Boyne celebrated in Northern Ireland 07/13 Buddhist Lent in Thailand 07/14 Anniversary of the Revolution in Iraq 07/14 French National Festival 07/14 National Holiday in Monaco 07/15 St. Swithin's Day 07/16 Presidents Day in Botswana 07/17 Constitution Day in South Korea 07/17 July Revolution in Iraq 07/17 Munoz Rivera's Birthday (celebrated in Puerto Rico) 07/17 Public Holiday in Botswana 07/18 Constitution Day in Uruguay 07/18 Liberation Day in Nicaragua 07/19 Martyrs Day in Burma 07/20 Independence Day in Colombia 07/21 National Holiday in Belgium 07/22 King's Birthday in Swaziland 07/22 National Day in Poland 07/23 Anniversary of the Revolution in Egypt 07/23 Egyptian National Day in Syrian Arab Republic 07/23 Remembrance Day in Papua New Guinea 07/24 Pioneer Day in Utah 07/24 Simon Bolivar's Day in Ecuador and Venezuela 07/25 Constitution Day in Puerto Rico 07/25 National Rebellion Day (3 days) in Cuba 07/25 Republic Day in Tunisia 07/25 St. James, Patron Saint in Spain 07/26 Independence Day in Liberia 07/26 National Day in Maldives 07/27 Barbosa's Birthday (celebrated in Puerto Rico) 07/28 Independence Days (2 days) in Peru 07/29 Olsok Eve in Norway to commemorate Norway's Viking King St. Olav 07/29 Rain Day in Waynesburg, PA 07/31 Revolution Day in Congo 07/MonThird Day of Sea in Japan 08/01 Discovery Day in Trinidad and Tobago 08/01 Emancipation Day in Granada 08/01 Founding of Asuncion in Paraguay 08/01 Freedom Day in Guyana 08/01 National Day in Switzerland 08/01 National Holidays (5 days) in El Salvador 08/01 Parent's Day in Zaire 08/02 Our Lady of Los Angeles in Costa Rica 08/03 Independence Day in Jamaica and Niger 08/03 Massacre of the Pidjiguiti in Guinea-Bissau 08/03 Memorial Day of Archbishop Makarios in Cyprus 08/04 Freedom Day in Guyana 08/05* Bank Holiday in Scotland and Northern Ireland 08/06 Bank Holiday in British Columbia, Fiji, Iceland, Ireland, Ontario 08/06 Emancipation Day in Bahamas 08/06 Independence Day in Bolivia 08/07 Battle of Boyaca in Colombia 08/09 National Day in Singapore 08/10 Independence Day in Ecuador 08/11 Heroes Day (2 days) in Zimbabwe 08/11 Independence Day in Chad 08/11 King Hussein's Accession to the Throne in Jordan 08/12 Queen's Birthday in Thailand 08/13 Proclamation of Independence in Central African Republic 08/13 Women's Day in Tunisia 08/14 Independence Day in Pakistan 08/14 VJ Day, 1945 08/14 Waddi Dhahab in Morocco 08/15 Founding of Ascuncion in Paraguay 08/15 Independence Day in India 08/15 Liberation Day in South Korea 08/15 National Day in Congo 08/15 Santa Maria in Malta 08/16 Bennington Battle Day in Vermont 08/16 Independence Days (3 days) in Gabon 08/16 Restoration Day in Dominican Republic 08/17 Anniversary of the Death of General San Martin in Argentina 08/17 Independence Day in Indonesia 08/19 Independence Day in Afghanistan 08/20 Constitution Day in Hungary 08/24 National Flag Day in Liberia 08/25 Constitution Day in Paraguay 08/25 Independence Day in Uruguay 08/26 Susan B. Anthony Day in Massachusetts 08/26* Bank Holiday in England and Wales 08/27 Liberation Day in Hong Kong 08/28 Heroes Day in Philippines 08/30 Huey P. Long Day in Louisiana 08/30 Victory Day in Turkey 08/31 Independence Day (Merdeka) in Malaysia 08/31 Independence Day in Trinidad and Tobago 08/31 Pashtoonian Day in Afghanistan 08/FriThird Admission Day in Hawaii, 1984 (3rd Friday) 09/01 Army Day in Chile 09/03 Independence Day in Qatar 09/03 Memorial Day in Tunisia 09/06 Defense of Pakistan Day in Pakistan 09/06 Unification of Bulgaria 09/07 Independence Day in Brazil 09/09 Admission Day in California 09/09 National Day in North Korea 09/10 Korean Thanksgiving Day (Chusuk) in South Korea 09/10 Moon Festival in Taiwan 09/10 National Day in Belize 09/11 Anniversary of military coup in Chile 09/11 Ethiopian New Year in Ethiopia 09/11 National Holiday in Chile 09/12 Amilcar Cabral's Birthday in Guinea-Bissau 09/12 Defender's Day in Maryland 09/12 Revolution Day in Ethiopia 09/13 Barry Day commemorates the death of Commodore John Barry, USA 09/14 Battle of San Jacinto in Nicaragua 09/15 Foundation of Panama in Panama 09/16 Cherokee Strip Day in Oklahoma 09/16 Independence Days in Mexico and Papua New Guinea 09/17 National Heroes Day in Angola 09/18 Independence Day in Chile and Zimbabwe 09/19 Army Day in Chile 09/21 Independence Day in Belize 09/22 Independence Day in Mali 09/22 National Sovereignty Day in Haiti 09/22* Autumnal Equinox in Japan 09/23 Grito de Lares in Puerto Rico 09/23* Autumnal Equinox in Japan 09/24 Anniversary of the Third Republic in Ghana 09/24 Independence Day in Guinea-Bissau 09/24 National Day in Saudi Arabia 09/24 Our Lady of Mercedes in Dominican Republic 09/24 Republic Day in Trinidad and Tobago 09/25 Army Day in Mozambique 09/25 Referendum Day in Rwanda 09/26 National Day in Maldives 09/26 Revolution Anniversary Day in Yemen 09/27 Feast of Finding the True Cross in Ethiopia 09/28 Confucius' Day in Taiwan 09/29 Michaelmas 09/29 Battle of Boqueron in Paraguay 09/30 Botswana Day in Botswana 09/MonThird Respect for the Aged Day in Japan 10/01 Armed Forces Day in South Korea 10/01 Independence Day in Nigeria 10/01 National Liberation Day (2 days) in China 10/01 Public Holiday in Botswana 10/02 Anniversary of Guinean Independence in Guinea 10/03 Chung Yeung Festival in Hong Kong 10/03 Francisco Morazan's Birthday in Honduras 10/03 German Reunification Day 10/03 National Foundation Day in South Korea 10/03 U.N. Day in Barbados 10/04 Independence Day in Lesotho 10/05 Anniversary of Proclamation of the Republic in Portugal 10/06 National Sports Day in Lesotho 10/07 National Heroes Day in Jamaica 10/08 Battle of Agamos in Peru 10/08 Constitution Day in former USSR 10/08 Thanksgiving Day in Canada 10/08* Fiji Day 10/09 Independence Day in Uganda 10/09 Independence of Guayaquil in Ecuador 10/09 Korean Alphabet Day in South Korea 10/09 Leif Erikson Day commemorates the discovery of North America in AD 1000 10/09 Republic Day in Khmer Republic 10/10 National Day in Taiwan 10/10 Oklahoma Historical Day in Oklahoma 10/11 Day of the Revolution in Panama 10/12 Day of the Race in Argentina 10/12 Discovery Day in Bahamas 10/12 National Day in Equatorial Guinea and Spain 10/12 Our Lady Aparecida Day in Brazil 10/12 Pan American Day in Belize 10/14 National Day in Yemen Arab Republic 10/14 Young People's Day in Zaire 10/14* Thanksgiving Day in Canada 10/15 Evacuation Day in Tunisia 10/16 National Boss Day, USA 10/17 Dessaline's Death Anniversary in Haiti 10/17 Heroes Day in Jamaica 10/17 Mother's Day in Malawi 10/20 Anniversary of the 1944 Revolution in Guatemala 10/20 Kenyatta Day in Kenya 10/21 Armed Forces Day in Honduras 10/21 Revolution Days (2 days) in Somalia 10/23 Chulalongkron's Day in Thailand 10/24 Independence Day in Zambia 10/24 United Nations Day 10/25 Taiwan Restoration Day in Taiwan 10/25 St. Crispin's day, patron saint of shoemakers 10/26 Agam Day in Nauru 10/26 Armed Forces Day in Benin and Rwanda 10/26 National Day in Austria 10/28 National Holiday in Greece 10/28 OHI Day in Cyprus 10/28* Bank Holiday in Republic of Ireland 10/29 Republic Day in Turkey 10/31 All Hallows Eve ("Halloween") 10/31 Nevada Day in Nevada 10/MonFourth Labour Day in New Zealand 10/MonSecond Health Sports Day in Japan 11/01 All Saints Day 11/01 Samhain; Beginning of the Celtic year and most important holiday. 11/02 All Souls Day 11/02 Memorial Day in Ecuador 11/03 Culture Day in Japan 11/03 Independence from Columbia in Panama 11/03 Independence of Cuenca in Ecuador 11/03 Thanksgiving Day in Liberia 11/04 Flag Day in Panama 11/04 Will Rogers Day, USA 11/06 Green March Day in Morocco 11/07 October Revolution Day in Hungary 11/08 Her Majesty, the Queen's Birthday in Nepal 11/10 King's Birthday in Bhutan 11/11 Angola gains independence from Portugal, 1975 11/11 Independence Day in Angola 11/11 Independence of Cartagena in Colombia 11/11 Remembrance Day in Canada 11/11 Republic Day in Maldives 11/14 King Hussein's Birthday in Jordan 11/15 Dynasty Day in Belgium 11/15 Proclamation of the Republic in Brazil 11/15 Thatlouang Festival in Laos 11/16 Oklahoma Heritage Week in Oklahoma 11/17 Army Day in Zaire 11/17 Corrective Movement in Syrian Arab Republic 11/18 Battle of Viertieres in Haiti 11/18 Independence Day in Morocco 11/18 National Days (4 days) in Oman 11/19 Anniversary of the 1968 Coup by the Army in Mali 11/19 Discovery Day in Puerto Rico 11/19 Feast Day of S.A.S. Prince Rainier in Monaco 11/19 Garifuna Settlement in Belize 11/20 Revolution Day in Mexico 11/22 Anniversary of Portuguese Aggression in Guinea 11/22 Independence Day in Lebanon 11/23 Labor Thanksgiving Day in Japan 11/24 Anniversary of the New Regime in Zaire 11/25 Independence Day in Suriname 11/28 Independence Day in Albania and Mauritania 11/28 Independence from Spain in Panama 11/28 Proclamation of the Republic in Chad 11/29 Day of the Republic (2 days) in Yugoslavia 11/29 Goodwill Day in Liberia 11/29 Liberation Day in Albania 11/29 National Day in Burma 11/30 Independence Day in Barbados and Yemen Democratic Republic 11/30 National Day in Benin 11/30 National Heroes Day in Philippines 11/30 St. Andrew's Day - Patron Saint of Scotland 11/Wed+3 Day of Prayer and Repentance (Buss- und Bettag) in Federal Republic of Germany 12/01 Anniversary of the Restoration of Independence in Portugal 12/01 Union Day in Romania 12/01 Independence Day in Central African Republic 12/01 World AIDS Day 12/02 National Holiday in United Arab Emirates 12/03 National Holiday in Laos 12/05 King's Birthday in Thailand 12/06 Independence Day in Finland 12/07 Delaware Day in Delaware 12/07 Independence Day in Ivory Coast 12/07 Independence Day in Panama 12/08 Blessing of the Water in Uruguay 12/08 Mother's Day in Panama 12/08 Our Lady of the Cacupe in Paraguay 12/09 Independence Day in Tanzania 12/10 Foundation of Worker's Party in Angola 12/10 Human Rights Day 12/10 Thai Constitution Day in Thailand 12/10 Wyoming Day in Wyoming 12/11 Independence Day in Upper Volta 12/12 Independence Day in Kenya 12/13 Republic Day in Malta 12/15 Statue Day in the Netherlands Antilles 12/16 Constitution Day in Nepal 12/16 National Day in Bahrain 12/16 Victory Day in Bangladesh 12/17 National Day in Bhutan 12/18 Republic Day in Niger 12/23 Emperor's Birthday in Japan 12/23 Victory Day in Egypt 12/25 Birthday of Quaid-i-Azam in Pakistan 12/25 Children's Day in Congo 12/26 Boxing Day 12/26 Feast of Our Theotokos in Greece 12/26 St. Stephen's Day 12/26 Bank Holiday in Canada, Rep. of Ireland, and UK 12/27 Bank Holiday in Cayman Islands 12/27 Constitution Day in North Korea 12/27 Public Holiday in Lesotho, Zimbabwe 12/29 Civic Holidays (3 days) in Costa Rica 12/29 His Majesty, the King's Birthday in Nepal 12/30 Anniversary of the Democratic Republic of Madagascar in Madagascar 12/31 Bank Holiday in El Salvador, Honduras, Pakistan 12/31 Feed Yourself Day in Benin 12/31 Proclamation of the Republic in Congo #endif /* !_calendar_holiday_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.judaic0000664000000000000000000004554611512674040022477 0ustar /* * Judaic Calendar. Maintained by Josef Grosch . * * $FreeBSD$ * */ /* * $Id: calendar.judaic,v 1.45 2007/01/01 22:24:53 jgrosch Exp $ */ #ifndef _calendar_judaic_ #define _calendar_judaic_ /* * The calendar below has been obtained from the port deskutils/hebcal * for the year of 2010 to 2015 and for the city of New York. */ 2010/Jan/16* Rosh Chodesh Sh'vat 2010/Jan/30* Tu B'Shvat 2010/Feb/13* Shabbat Shekalim 2010/Feb/14* Rosh Chodesh Adar 2010/Feb/15* Rosh Chodesh Adar 2010/Feb/25* Ta'anit Esther 2010/Feb/27* Shabbat Zachor 2010/Feb/28* Purim 2010/Mar/1* Shushan Purim 2010/Mar/6* Shabbat Parah 2010/Mar/13* Shabbat HaChodesh 2010/Mar/16* Rosh Chodesh Nisan 2010/Mar/27* Shabbat HaGadol 2010/Mar/29* Ta'anit Bechorot 2010/Mar/29* Erev Pesach 2010/Mar/30* Pesach I 2010/Mar/31* Pesach II 2010/Apr/1* Pesach III (CH''M) 2010/Apr/2* Pesach IV (CH''M) 2010/Apr/3* Pesach V (CH''M) 2010/Apr/4* Pesach VI (CH''M) 2010/Apr/5* Pesach VII 2010/Apr/6* Pesach VIII 2010/Apr/11* Yom HaShoah 2010/Apr/14* Rosh Chodesh Iyyar 2010/Apr/15* Rosh Chodesh Iyyar 2010/Apr/19* Yom HaZikaron 2010/Apr/20* Yom HaAtzma'ut 2010/May/2* Lag B'Omer 2010/May/Dec* Yom Yerushalayim 2010/May/14* Rosh Chodesh Sivan 2010/May/18* Erev Shavuot 2010/May/19* Shavuot I 2010/May/20* Shavuot II 2010/Jun/Dec* Rosh Chodesh Tamuz 2010/Jun/13* Rosh Chodesh Tamuz 2010/Jun/29* Tzom Tammuz 2010/Jul/Dec* Rosh Chodesh Av 2010/Jul/17* Shabbat Hazon 2010/Jul/20* Tish'a B'Av 2010/Jul/24* Shabbat Nachamu 2010/Aug/Oct* Rosh Chodesh Elul 2010/Aug/11* Rosh Chodesh Elul 2010/Sep/8* Erev Rosh Hashana 2010/Sep/9* Rosh Hashana 5771 2010/Sep/Oct* Rosh Hashana II 2010/Sep/11* Shabbat Shuva 2010/Sep/Dec* Tzom Gedaliah 2010/Sep/17* Erev Yom Kippur 2010/Sep/18* Yom Kippur 2010/Sep/22* Erev Sukkot 2010/Sep/23* Sukkot I 2010/Sep/24* Sukkot II 2010/Sep/25* Sukkot III (CH''M) 2010/Sep/26* Sukkot IV (CH''M) 2010/Sep/27* Sukkot V (CH''M) 2010/Sep/28* Sukkot VI (CH''M) 2010/Sep/29* Sukkot VII (Hoshana Raba) 2010/Sep/30* Shmini Atzeret 2010/Oct/1* Simchat Torah 2010/Oct/8* Rosh Chodesh Cheshvan 2010/Oct/9* Rosh Chodesh Cheshvan 2010/Nov/7* Rosh Chodesh Kislev 2010/Nov/8* Rosh Chodesh Kislev 2010/Dec/1* Chanukah: 1 Candle 2010/Dec/2* Chanukah: 2 Candles 2010/Dec/3* Chanukah: 3 Candles 2010/Dec/4* Chanukah: 4 Candles 2010/Dec/5* Chanukah: 5 Candles 2010/Dec/6* Chanukah: 6 Candles 2010/Dec/7* Rosh Chodesh Tevet 2010/Dec/7* Chanukah: 7 Candles 2010/Dec/8* Rosh Chodesh Tevet 2010/Dec/8* Chanukah: 8 Candles 2010/Dec/9* Chanukah: 8th Day 2010/Dec/16* Asara B'Tevet 2011/1/6* Rosh Chodesh Sh'vat 2011/1/20* Tu B'Shvat 2011/2/4* Rosh Chodesh Adar I 2011/2/5* Rosh Chodesh Adar I 2011/2/18* Purim Katan 2011/3/5* Shabbat Shekalim 2011/3/6* Rosh Chodesh Adar II 2011/3/7* Rosh Chodesh Adar II 2011/3/17* Ta'anit Esther 2011/3/19* Shabbat Zachor 2011/3/20* Purim 2011/3/21* Shushan Purim 2011/3/26* Shabbat Parah 2011/4/2* Shabbat HaChodesh 2011/4/5* Rosh Chodesh Nisan 2011/4/16* Shabbat HaGadol 2011/4/18* Ta'anit Bechorot 2011/4/18* Erev Pesach 2011/4/19* Pesach I 2011/4/20* Pesach II 2011/4/21* Pesach III (CH''M) 2011/4/22* Pesach IV (CH''M) 2011/4/23* Pesach V (CH''M) 2011/4/24* Pesach VI (CH''M) 2011/4/25* Pesach VII 2011/4/26* Pesach VIII 2011/5/1* Yom HaShoah 2011/5/4* Rosh Chodesh Iyyar 2011/5/5* Rosh Chodesh Iyyar 2011/5/9* Yom HaZikaron 2011/5/10* Yom HaAtzma'ut 2011/5/22* Lag B'Omer 2011/6/1* Yom Yerushalayim 2011/6/3* Rosh Chodesh Sivan 2011/6/7* Erev Shavuot 2011/6/8* Shavuot I 2011/6/9* Shavuot II 2011/7/2* Rosh Chodesh Tamuz 2011/7/3* Rosh Chodesh Tamuz 2011/7/19* Tzom Tammuz 2011/8/1* Rosh Chodesh Av 2011/8/6* Shabbat Hazon 2011/8/9* Tish'a B'Av 2011/8/13* Shabbat Nachamu 2011/8/30* Rosh Chodesh Elul 2011/8/31* Rosh Chodesh Elul 2011/9/28* Erev Rosh Hashana 2011/9/29* Rosh Hashana 5772 2011/9/30* Rosh Hashana II 2011/10/1* Shabbat Shuva 2011/10/2* Tzom Gedaliah 2011/10/7* Erev Yom Kippur 2011/10/8* Yom Kippur 2011/10/12* Erev Sukkot 2011/10/13* Sukkot I 2011/10/14* Sukkot II 2011/10/15* Sukkot III (CH''M) 2011/10/16* Sukkot IV (CH''M) 2011/10/17* Sukkot V (CH''M) 2011/10/18* Sukkot VI (CH''M) 2011/10/19* Sukkot VII (Hoshana Raba) 2011/10/20* Shmini Atzeret 2011/10/21* Simchat Torah 2011/10/28* Rosh Chodesh Cheshvan 2011/10/29* Rosh Chodesh Cheshvan 2011/11/27* Rosh Chodesh Kislev 2011/12/20* Chanukah: 1 Candle 2011/12/21* Chanukah: 2 Candles 2011/12/22* Chanukah: 3 Candles 2011/12/23* Chanukah: 4 Candles 2011/12/24* Chanukah: 5 Candles 2011/12/25* Chanukah: 6 Candles 2011/12/26* Rosh Chodesh Tevet 2011/12/26* Chanukah: 7 Candles 2011/12/27* Rosh Chodesh Tevet 2011/12/27* Chanukah: 8 Candles 2011/12/28* Chanukah: 8th Day 2012/1/5* Asara B'Tevet 2012/1/25* Rosh Chodesh Sh'vat 2012/2/8* Tu B'Shvat 2012/2/18* Shabbat Shekalim 2012/2/23* Rosh Chodesh Adar 2012/2/24* Rosh Chodesh Adar 2012/3/3* Shabbat Zachor 2012/3/7* Ta'anit Esther 2012/3/8* Purim 2012/3/9* Shushan Purim 2012/3/17* Shabbat Parah 2012/3/24* Rosh Chodesh Nisan 2012/3/24* Shabbat HaChodesh 2012/3/31* Shabbat HaGadol 2012/4/5* Ta'anit Bechorot 2012/4/6* Erev Pesach 2012/4/7* Pesach I 2012/4/8* Pesach II 2012/4/9* Pesach III (CH''M) 2012/4/10* Pesach IV (CH''M) 2012/4/11* Pesach V (CH''M) 2012/4/12* Pesach VI (CH''M) 2012/4/13* Pesach VII 2012/4/14* Pesach VIII 2012/4/19* Yom HaShoah 2012/4/22* Rosh Chodesh Iyyar 2012/4/23* Rosh Chodesh Iyyar 2012/4/25* Yom HaZikaron 2012/4/26* Yom HaAtzma'ut 2012/5/10* Lag B'Omer 2012/5/20* Yom Yerushalayim 2012/5/22* Rosh Chodesh Sivan 2012/5/26* Erev Shavuot 2012/5/27* Shavuot I 2012/5/28* Shavuot II 2012/6/20* Rosh Chodesh Tamuz 2012/6/21* Rosh Chodesh Tamuz 2012/7/8* Tzom Tammuz 2012/7/20* Rosh Chodesh Av 2012/7/28* Shabbat Hazon 2012/7/29* Tish'a B'Av 2012/8/4* Shabbat Nachamu 2012/8/18* Rosh Chodesh Elul 2012/8/19* Rosh Chodesh Elul 2012/9/16* Erev Rosh Hashana 2012/9/17* Rosh Hashana 5773 2012/9/18* Rosh Hashana II 2012/9/19* Tzom Gedaliah 2012/9/22* Shabbat Shuva 2012/9/25* Erev Yom Kippur 2012/9/26* Yom Kippur 2012/9/30* Erev Sukkot 2012/10/1* Sukkot I 2012/10/2* Sukkot II 2012/10/3* Sukkot III (CH''M) 2012/10/4* Sukkot IV (CH''M) 2012/10/5* Sukkot V (CH''M) 2012/10/6* Sukkot VI (CH''M) 2012/10/7* Sukkot VII (Hoshana Raba) 2012/10/8* Shmini Atzeret 2012/10/9* Simchat Torah 2012/10/16* Rosh Chodesh Cheshvan 2012/10/17* Rosh Chodesh Cheshvan 2012/11/15* Rosh Chodesh Kislev 2012/12/8* Chanukah: 1 Candle 2012/12/9* Chanukah: 2 Candles 2012/12/10* Chanukah: 3 Candles 2012/12/11* Chanukah: 4 Candles 2012/12/12* Chanukah: 5 Candles 2012/12/13* Chanukah: 6 Candles 2012/12/14* Rosh Chodesh Tevet 2012/12/14* Chanukah: 7 Candles 2012/12/15* Chanukah: 8 Candles 2012/12/16* Chanukah: 8th Day 2012/12/23* Asara B'Tevet 2013/1/12* Rosh Chodesh Sh'vat 2013/1/26* Tu B'Shvat 2013/2/9* Shabbat Shekalim 2013/2/10* Rosh Chodesh Adar 2013/2/11* Rosh Chodesh Adar 2013/2/21* Ta'anit Esther 2013/2/23* Shabbat Zachor 2013/2/24* Purim 2013/2/25* Shushan Purim 2013/3/2* Shabbat Parah 2013/3/9* Shabbat HaChodesh 2013/3/12* Rosh Chodesh Nisan 2013/3/23* Shabbat HaGadol 2013/3/25* Ta'anit Bechorot 2013/3/25* Erev Pesach 2013/3/26* Pesach I 2013/3/27* Pesach II 2013/3/28* Pesach III (CH''M) 2013/3/29* Pesach IV (CH''M) 2013/3/30* Pesach V (CH''M) 2013/3/31* Pesach VI (CH''M) 2013/4/1* Pesach VII 2013/4/2* Pesach VIII 2013/4/7* Yom HaShoah 2013/4/10* Rosh Chodesh Iyyar 2013/4/11* Rosh Chodesh Iyyar 2013/4/15* Yom HaZikaron 2013/4/16* Yom HaAtzma'ut 2013/4/28* Lag B'Omer 2013/5/8* Yom Yerushalayim 2013/5/10* Rosh Chodesh Sivan 2013/5/14* Erev Shavuot 2013/5/15* Shavuot I 2013/5/16* Shavuot II 2013/6/8* Rosh Chodesh Tamuz 2013/6/9* Rosh Chodesh Tamuz 2013/6/25* Tzom Tammuz 2013/7/8* Rosh Chodesh Av 2013/7/13* Shabbat Hazon 2013/7/16* Tish'a B'Av 2013/7/20* Shabbat Nachamu 2013/8/6* Rosh Chodesh Elul 2013/8/7* Rosh Chodesh Elul 2013/9/4* Erev Rosh Hashana 2013/9/5* Rosh Hashana 5774 2013/9/6* Rosh Hashana II 2013/9/7* Shabbat Shuva 2013/9/8* Tzom Gedaliah 2013/9/13* Erev Yom Kippur 2013/9/14* Yom Kippur 2013/9/18* Erev Sukkot 2013/9/19* Sukkot I 2013/9/20* Sukkot II 2013/9/21* Sukkot III (CH''M) 2013/9/22* Sukkot IV (CH''M) 2013/9/23* Sukkot V (CH''M) 2013/9/24* Sukkot VI (CH''M) 2013/9/25* Sukkot VII (Hoshana Raba) 2013/9/26* Shmini Atzeret 2013/9/27* Simchat Torah 2013/10/4* Rosh Chodesh Cheshvan 2013/10/5* Rosh Chodesh Cheshvan 2013/11/3* Rosh Chodesh Kislev 2013/11/4* Rosh Chodesh Kislev 2013/11/27* Chanukah: 1 Candle 2013/11/28* Chanukah: 2 Candles 2013/11/29* Chanukah: 3 Candles 2013/11/30* Chanukah: 4 Candles 2013/12/1* Chanukah: 5 Candles 2013/12/2* Chanukah: 6 Candles 2013/12/3* Rosh Chodesh Tevet 2013/12/3* Chanukah: 7 Candles 2013/12/4* Rosh Chodesh Tevet 2013/12/4* Chanukah: 8 Candles 2013/12/5* Chanukah: 8th Day 2013/12/12* Asara B'Tevet 2014/1/2* Rosh Chodesh Sh'vat 2014/1/16* Tu B'Shvat 2014/1/31* Rosh Chodesh Adar I 2014/2/1* Rosh Chodesh Adar I 2014/2/14* Purim Katan 2014/3/1* Shabbat Shekalim 2014/3/2* Rosh Chodesh Adar II 2014/3/3* Rosh Chodesh Adar II 2014/3/13* Ta'anit Esther 2014/3/15* Shabbat Zachor 2014/3/16* Purim 2014/3/17* Shushan Purim 2014/3/22* Shabbat Parah 2014/3/29* Shabbat HaChodesh 2014/4/1* Rosh Chodesh Nisan 2014/4/12* Shabbat HaGadol 2014/4/14* Ta'anit Bechorot 2014/4/14* Erev Pesach 2014/4/15* Pesach I 2014/4/16* Pesach II 2014/4/17* Pesach III (CH''M) 2014/4/18* Pesach IV (CH''M) 2014/4/19* Pesach V (CH''M) 2014/4/20* Pesach VI (CH''M) 2014/4/21* Pesach VII 2014/4/22* Pesach VIII 2014/4/27* Yom HaShoah 2014/4/30* Rosh Chodesh Iyyar 2014/5/1* Rosh Chodesh Iyyar 2014/5/5* Yom HaZikaron 2014/5/6* Yom HaAtzma'ut 2014/5/18* Lag B'Omer 2014/5/28* Yom Yerushalayim 2014/5/30* Rosh Chodesh Sivan 2014/6/3* Erev Shavuot 2014/6/4* Shavuot I 2014/6/5* Shavuot II 2014/6/28* Rosh Chodesh Tamuz 2014/6/29* Rosh Chodesh Tamuz 2014/7/15* Tzom Tammuz 2014/7/28* Rosh Chodesh Av 2014/8/2* Shabbat Hazon 2014/8/5* Tish'a B'Av 2014/8/9* Shabbat Nachamu 2014/8/26* Rosh Chodesh Elul 2014/8/27* Rosh Chodesh Elul 2014/9/24* Erev Rosh Hashana 2014/9/25* Rosh Hashana 5775 2014/9/26* Rosh Hashana II 2014/9/27* Shabbat Shuva 2014/9/28* Tzom Gedaliah 2014/10/3* Erev Yom Kippur 2014/10/4* Yom Kippur 2014/10/8* Erev Sukkot 2014/10/9* Sukkot I 2014/10/10* Sukkot II 2014/10/11* Sukkot III (CH''M) 2014/10/12* Sukkot IV (CH''M) 2014/10/13* Sukkot V (CH''M) 2014/10/14* Sukkot VI (CH''M) 2014/10/15* Sukkot VII (Hoshana Raba) 2014/10/16* Shmini Atzeret 2014/10/17* Simchat Torah 2014/10/24* Rosh Chodesh Cheshvan 2014/10/25* Rosh Chodesh Cheshvan 2014/11/23* Rosh Chodesh Kislev 2014/12/16* Chanukah: 1 Candle 2014/12/17* Chanukah: 2 Candles 2014/12/18* Chanukah: 3 Candles 2014/12/19* Chanukah: 4 Candles 2014/12/20* Chanukah: 5 Candles 2014/12/21* Chanukah: 6 Candles 2014/12/22* Rosh Chodesh Tevet 2014/12/22* Chanukah: 7 Candles 2014/12/23* Rosh Chodesh Tevet 2014/12/23* Chanukah: 8 Candles 2014/12/24* Chanukah: 8th Day 2015/1/1* Asara B'Tevet 2015/1/21* Rosh Chodesh Sh'vat 2015/2/4* Tu B'Shvat 2015/2/14* Shabbat Shekalim 2015/2/19* Rosh Chodesh Adar 2015/2/20* Rosh Chodesh Adar 2015/2/28* Shabbat Zachor 2015/3/4* Ta'anit Esther 2015/3/5* Purim 2015/3/6* Shushan Purim 2015/3/14* Shabbat Parah 2015/3/21* Rosh Chodesh Nisan 2015/3/21* Shabbat HaChodesh 2015/3/28* Shabbat HaGadol 2015/4/2* Ta'anit Bechorot 2015/4/3* Erev Pesach 2015/4/4* Pesach I 2015/4/5* Pesach II 2015/4/6* Pesach III (CH''M) 2015/4/7* Pesach IV (CH''M) 2015/4/8* Pesach V (CH''M) 2015/4/9* Pesach VI (CH''M) 2015/4/10* Pesach VII 2015/4/11* Pesach VIII 2015/4/16* Yom HaShoah 2015/4/19* Rosh Chodesh Iyyar 2015/4/20* Rosh Chodesh Iyyar 2015/4/22* Yom HaZikaron 2015/4/23* Yom HaAtzma'ut 2015/5/7* Lag B'Omer 2015/5/17* Yom Yerushalayim 2015/5/19* Rosh Chodesh Sivan 2015/5/23* Erev Shavuot 2015/5/24* Shavuot I 2015/5/25* Shavuot II 2015/6/17* Rosh Chodesh Tamuz 2015/6/18* Rosh Chodesh Tamuz 2015/7/5* Tzom Tammuz 2015/7/17* Rosh Chodesh Av 2015/7/25* Shabbat Hazon 2015/7/26* Tish'a B'Av 2015/8/1* Shabbat Nachamu 2015/8/15* Rosh Chodesh Elul 2015/8/16* Rosh Chodesh Elul 2015/9/13* Erev Rosh Hashana 2015/9/14* Rosh Hashana 5776 2015/9/15* Rosh Hashana II 2015/9/16* Tzom Gedaliah 2015/9/19* Shabbat Shuva 2015/9/22* Erev Yom Kippur 2015/9/23* Yom Kippur 2015/9/27* Erev Sukkot 2015/9/28* Sukkot I 2015/9/29* Sukkot II 2015/9/30* Sukkot III (CH''M) 2015/10/1* Sukkot IV (CH''M) 2015/10/2* Sukkot V (CH''M) 2015/10/3* Sukkot VI (CH''M) 2015/10/4* Sukkot VII (Hoshana Raba) 2015/10/5* Shmini Atzeret 2015/10/6* Simchat Torah 2015/10/13* Rosh Chodesh Cheshvan 2015/10/14* Rosh Chodesh Cheshvan 2015/11/12* Rosh Chodesh Kislev 2015/11/13* Rosh Chodesh Kislev 2015/12/6* Chanukah: 1 Candle 2015/12/7* Chanukah: 2 Candles 2015/12/8* Chanukah: 3 Candles 2015/12/9* Chanukah: 4 Candles 2015/12/10* Chanukah: 5 Candles 2015/12/11* Chanukah: 6 Candles 2015/12/12* Rosh Chodesh Tevet 2015/12/12* Chanukah: 7 Candles 2015/12/13* Rosh Chodesh Tevet 2015/12/13* Chanukah: 8 Candles 2015/12/14* Chanukah: 8th Day 2015/12/22* Asara B'Tevet /* * The calendar data below was for 2007, so it is commented out. */ /* * Jewish calendar for the CE year 2007 * 11 Tevet 5767 - 22 tevet 5768 01/06* Parshas Vayechi 01/13* Parshas Shemos 01/20* Parshas Vaera 01/20* Rosh Chodesh Shevat (Beginning of the month of Shevat) 01/27* Parshas Bo 02/03* Parshas Beshalach 02/03* Shabbos Shira 02/03* Tu B'Shevat (Feast of Trees) 02/10* Parshas Yisro 02/17* Parshas Mishpatim 02/17* Shabbos Shekalim 02/18* Rosh Chodesh Adar (Beginning of the month of Adar) 02/18* Be Happy! It's Adar 02/19* Rosh Chodesh Adar (Beginning of the month of Adar) 02/19* Be Happy! It's Adar 02/24* Parshas Terumah 03/01* Ta'anis Esther (Fast of Esther, Battle of Purim) 03/03* Parshas Tetzaveh 03/03* Shabbos Zachor 03/04* Purim (Feast of Lots) 03/05* Shushan Purim 03/10* Parshas Ki Sisa 03/10* Shabbos Parah 03/17* Parshas Vayakhel-Pekudei 03/17* Shabbos HaChodesh 03/20* Rosh Chodesh Nissan (Beginning of the month of Nissan) 03/24* Parshas Vayikra 03/31* Parshas Tzav 03/31* Shabbos Haggadol 04/02* Erev Pesach 04/02* Ta'anis Bechoros (Fast of the First Born) 04/02* First Seder night 04/03* Pesach (First Day of Passover; sabbatical) 04/03* Second Sedar night 04/04* Pesach (Second Day of Passover; sabbatical) 04/04* Sefirat ha-Omer begins (Counting of the Omer) 04/05* Omer 2nd day 04/05* Pesach (Third Day of Passover; sabbatical) 04/05* Hol Hamoed 04/06* Omer 3rd day 04/06* Pesach (Fourth Day of Passover) 04/06* Hol Hamoed 04/07* Omer 4th day 04/07* Pesach (Fifth Day of Passover) 04/07* Hol Hamoed 04/08* Omer 5th day 04/08* Pesach (Sixth Day of Passover) 04/08* Hol Hamoed 04/09* Omer 6th day 04/09* Pesach (Seventh Day of Passover) 04/10* Omer 7th day 04/10* Pesach (Last Day of Passover; 8th day of Pesach; sabbatical) 04/10* Yizkor 04/11* Omer 8th day 04/12* Omer 9th day 04/13* Omer 10th day 04/14* Omer 11th day 04/14* Parshas Shmini 04/15* Omer 12th day 04/15* Yom HaShoah (Holocaust Memorial Day) 04/16* Omer 13th day 04/17* Omer 14th day 04/18* Omer 15th day 04/18* Rosh Chodesh Iyar (Beginning of the month of Iyar) 04/19* Omer 16th day 04/19* Rosh Chodesh Iyar (Beginning of the month of Iyar) 04/20* Omer 17th day 04/21* Omer 18th day 04/21* Parshas Tazria-Metzora 04/22* Omer 19th day 04/23* Omer 20th day 04/23* Yom HaZikaron 04/24* Omer 21th day 04/24* Yom HaAtzma'ut (Israel Independence Day) 04/25* Omer 22th day 04/26* Omer 23th day 04/27* Omer 24th day 04/28* Omer 25th day 04/28* Parshas Achrei Kedoshim 04/29* Omer 26th day 04/30* Omer 27th day 05/01* Omer 28th day 05/02* Omer 29th day 05/03* Omer 30th day 05/04* Omer 31th day 05/05* Omer 32th day 05/05* Parshas Emor 05/06* Lag B'Omer (Commemoration of the Great Rebellion) 05/06* Omer 33th day 05/07* Omer 34th day 05/08* Omer 35th day 05/09* Omer 36th day 05/10* Omer 37th day 05/11* Omer 38th day 05/12* Omer 39th day 05/12* Parshas Behar-Bechukosai 05/13* Omer 40th day 05/14* Omer 41th day 05/15* Omer 42th day 05/16* Omer 43th day 05/16* Yom Yerushalayim (Reunification of Jerusalem) 05/17* Omer 44th day 05/18* Omer 45th day 05/18* Rosh Chodesh Sivan (Beginning of the month of Sivan) 05/19* Omer 46th day 05/19* Parshas Bamidbar 05/20* Omer 47th day 05/21* Omer 48th day 05/22* Erev Shavuos 05/22* Omer 49th day 05/23* Shavuos (Festival of Weeks; sabbatical) 05/24* Shavuos (Festival of Weeks; sabbatical) 05/24* Yizkor 05/26* Parshas Nasso 06/02* Parshas Beha'aloscha 06/09* Parshas Shelach Lecha 06/16* Parshas Korach 06/16* Rosh Chodesh Tammuz (Beginning of the month of Tammuz) 06/17* Rosh Chodesh Tammuz (Beginning of the month of Tammuz) 06/23* Parshas Chukas 06/30* Parshas Balak 07/03* Fast of Shiv'a Asar B'Tammuz (Romans breach Wall of Jerusalem; fast day) 07/03* Tzom Tammuz 07/07* Parshas Pinchas 07/14* Parshas Matos-Masei 07/16* Rosh Chodesh Av (Beginning of the month of Av) 07/21* Parshas Devarim 07/21* Shabbos Hazon 07/24* Fast of Tish'a B'Av (Babylon/Rome destroys Holy Temple; fast day) 07/28* Parshas Vaeschanan 07/28* Shabbos Nachamu 07/30* Tu B'Av 08/04* Parshas Eikev 08/11* Parshas Re'eh 08/14* Rosh Chodesh Elul (Beginning of the month of Elul) 08/15* Rosh Chodesh Elul (Beginning of the month of Elul) 08/18* Parshas Shoftim 08/25* Parshas Ki Tetze 09/01* Parshas Ki Savo 09/08* Parshas Nitzavim-Vayeilech 09/12* Erev Rosh Hashana 09/13* First Day of Rosh Hashanah (Jewish New Year; 5768; sabbatical) 09/13* Rosh Chodesh Tishrei (Beginning of the month of Tishrei) 09/14* Rosh Hashanah (sabbatical) 09/15* Parshas Ha'Azinu 09/15* Shabbos Shuvah 09/16* Fast of Gedalya (Murder of Gedalya and subsequent Exile; fast day) 09/16* Tzom Gedaliah 09/21* Erev Yom Kippur 09/22* Yom Kippur (Day of Atonement; sabbatical, fast day) 09/22* Yizkor 09/26* Erev Sukkos 09/27* Succos (Festival of Tabernacles; sabbatical) 09/28* Succos (sabbatical) 09/28* Sukkos (Second day of Sukkos) 09/29* Sukkos (Third day of Sukkos) 09/29* Hol Hamoed 09/30* Sukkos (Fourth day of Sukkos) 09/30* Hol Hamoed 10/01* Sukkos (Fifth day of Sukkos) 10/01* Hol Hamoed 10/02* Sukkos (Sixth day of Sukkos) 10/02* Hol Hamoed 10/03* Hoshanah Rabba (Seventh day of Succos) 10/03* Sukkos (Seventh day of Sukkos) 10/04* Shmini Atzeres (8th Day of Gathering; sabbatical) 10/04* Yizkor 10/05* Simchas Torah (Rejoicing of the Law; sabbatical) 10/06* Parshas Bereshis 10/12* Rosh Chodesh Heshvan (Beginning of the month of Heshvan) 10/13* Parshas Noach 10/13* Rosh Chodesh Heshvan (Beginning of the month of Heshvan) 10/20* Parshas Lech-Lecha 10/27* Parshas Vayera 11/03* Parshas Chayei Sara 11/10* Parshas Toldos 11/11* Rosh Chodesh Kislev (Beginning of the month of Kislev) 11/17* Parshas Vayetzei 11/24* Parshas Vayishlach 12/01* Parshas Vayeshev 12/04* Erev Chanukah 12/04* Light 1st candle 12/05* Chanukah (First Day) 12/05* Light 2nd candle 12/06* Chanukah (Second Day) 12/06* Light 3rd candle 12/07* Chanukah (Third Day) 12/07* Light 4th candle 12/08* Chanukah (Fourth Day) 12/08* Parshas Miketz 12/08* Light 5th candle 12/09* Chanukah (Fifth Day) 12/09* Light 6th candle 12/10* Chanukah (Sixth Day) 12/10* Rosh Chodesh Tevet (Beginning of the month of Tevet) 12/10* Light 7th candle 12/11* Chanukah (Seventh Day) 12/11* Light 8th candle 12/12* Chanukah (Eight Day) 12/15* Parshas Vayigash 12/19* Asara B'Tevet 12/19* Fast of Asara B'Tevet (Babylonians put siege on Jerusalem; fast day) 12/22* Parshas Vayechi 12/29* Parshas Shemos */ #endif /* !_calendar_judaic_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.all0000664000000000000000000000075411512674040022000 0ustar /* * International and national calendar files * * $FreeBSD$ */ #ifndef _calendar_all_ #define _calendar_all_ #include #include #include #include #include #include #include #include #include #include #include #include #endif /* !_calendar_all_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.dutch0000664000000000000000000000316612665277472022361 0ustar /* * $FreeBSD$ * * Originally submitted by Edwin Groothuis */ LANG=nl_NL.ISO8859-15 Easter=Pasen /* * Feestdagen */ 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 */ Pasen-50 Carnaval 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 Eerste paasdag Pasen+1 Tweede paasdag Pasen+39 Hemelvaartsdag Pasen+49 Eerste Pinksterdag Pasen+50 Tweede Pinksterdag Pasen+56 Trinitatis /* * Misc */ mei/SunSecond Moederdag jun/SunThird Vaderdag sep/TueThird Prinsjesdag /* * Het koningshuis */ 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) bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.freebsd0000664000000000000000000006530412665277472022666 0ustar /* * FreeBSD * * $FreeBSD$ */ #ifndef _calendar_freebsd_ #define _calendar_freebsd_ 01/01 Dimitry Andric born in Utrecht, the Netherlands, 1969 01/01 Alexander Langer born in Duesseldorf, Nordrhein-Westfalen, Germany, 1981 01/02 Ion-Mihai "IOnut" Tetcu born in Bucharest, Romania, 1980 01/02 Patrick Li born in Beijing, People's Republic of China, 1985 01/03 Tetsurou Okazaki born in Mobara, Chiba, Japan, 1972 01/04 Hiroyuki Hanai born in Kagawa pre., Japan, 1969 01/06 Philippe Audeoud born in Bretigny-Sur-Orge, France, 1980 01/08 Michael L. Hostbaek born in Copenhagen, Denmark, 1977 01/10 Jean-Yves Lefort born in Charleroi, Belgium, 1980 01/12 Yen-Ming Lee born in Taipei, Taiwan, Republic of China, 1977 01/12 Ying-Chieh Liao born in Taipei, Taiwan, Republic of China, 1979 01/14 Yi-Jheng Lin born in Taichung, Taiwan, Republic of China, 1985 01/16 Ariff Abdullah born in Kuala Lumpur, Malaysia, 1978 01/16 Dmitry Sivachenko born in Moscow, USSR, 1978 01/16 Vanilla I. Shu born in Taipei, Taiwan, Republic of China, 1978 01/18 Dejan Lesjak born in Ljubljana, Slovenia, Yugoslavia, 1977 01/19 Marshall Kirk McKusick born in Wilmington, Delaware, United States, 1954 01/19 Ruslan Ermilov born in Simferopol, USSR, 1974 01/19 Marcelo S. Araujo born in Joinville, Santa Catarina, Brazil, 1981 01/20 Poul-Henning Kamp born in Korsoer, Denmark, 1966 01/22 Johann Visagie born in Cape Town, South Africa, 1970 01/23 Hideyuki KURASHINA born in Niigata, Japan, 1982 01/24 Fabien Thomas born in Avignon, France, 1971 01/24 Matteo Riondato born in Padova, Italy, 1986 01/25 Bernd Walter born in Moers, Nordrhein-Westfalen, Germany, 1974 01/26 Andrew Gallatin born in Buffalo, New York, United States, 1970 01/27 Nick Sayer born in San Diego, California, United States, 1968 01/27 Jacques Anthony Vidrine born in Baton Rouge, Louisiana, United States, 1971 01/31 Hidetoshi Shimokawa born in Yokohama, Kanagawa, Japan, 1970 02/01 Doug Rabson born in London, England, 1966 02/01 Nicola Vitale born in Busto Arsizio, Varese, Italy, 1976 02/01 Paul Saab born in Champaign-Urbana, Illinois, United States, 1978 02/01 Martin Wilke born in Ludwigsfelde, Brandenburg, Germany, 1980 02/01 Christian Brueffer born in Gronau, Nordrhein-Westfalen, Germany, 1982 02/01 Steven Kreuzer born in Oceanside, New York, United States, 1982 02/01 Juli Mallett born in Washington, Pennsylvania, United States, 1985 02/02 Diomidis D. Spinellis born in Athens, Greece, 1967 02/02 Michael W Lucas born in Detroit, Michigan, United States, 1967 02/02 Yoichi Nakayama born in Tsu, Mie, Japan, 1976 02/02 Dmitry Chagin born in Stalingrad, USSR, 1976 02/05 Frank Laszlo born in Howell, Michigan, United States, 1983 02/10 David Greenman born in Portland, Oregon, United States, 1968 02/10 Paul Richards born in Ammanford, Carmarthenshire, United Kingdom, 1968 02/10 Simon Barner born in Rosenheim, Bayern, Germany, 1980 02/13 Jesper Skriver born in Aarhus, Denmark, 1975 02/13 Steve Wills born in Lynchburg, Virginia, United States, 1975 02/13 Andrey Slusar born in Odessa, USSR, 1979 02/13 David W. Chapman Jr. born in Bethel, Connecticut, United States, 1981 02/14 Manolis Kiagias born in Chania, Greece, 1970 02/14 Erwin Lansing born in 's-Hertogenbosch, the Netherlands, 1975 02/14 Martin Blapp born in Olten, Switzerland, 1976 02/19 Murray Stokely born in Jacksonville, Florida, United States, 1979 02/20 Anders Nordby born in Oslo, Norway, 1976 02/21 Alexey Zelkin born in Simferopol, Ukraine, 1978 02/22 Brooks Davis born in Longview, Washington, United States, 1976 02/22 Jake Burkholder born in Maynooth, Ontario, Canada, 1979 02/23 Peter Wemm born in Perth, Western Australia, Australia, 1971 02/23 Mathieu Arnold born in Champigny sur Marne, Val de Marne, France, 1978 02/24 Johan Karlsson born in Mariannelund, Sweden, 1974 02/24 Colin Percival born in Burnaby, Canada, 1981 02/26 Pietro Cerutti born in Faido, Switzerland, 1984 05/19 Sofian Brabez born in Toulouse, France, 1984 02/28 Daichi GOTO born in Shimizu Suntou, Shizuoka, Japan, 1980 03/01 Hye-Shik Chang born in Daejeon, Republic of Korea, 1980 03/02 Cy Schubert born in Edmonton, Alberta, Canada, 1956 03/03 Sergey Matveychuk born in Moscow, Russian Federation, 1973 03/03 Doug White born in Eugene, Oregon, United States, 1977 03/03 Gordon Tetlow born in Reno, Nevada, United States, 1978 03/04 Oleksandr Tymoshenko born in Chernihiv, Ukraine, 1980 03/05 Baptiste Daroussin born in Beauvais, France, 1980 03/05 Philip Paeps born in Leuven, Belgium, 1983 03/05 Ulf Lilleengen born in Hamar, Norway, 1985 03/06 Christopher Piazza born in Kamloops, British Columbia, Canada, 1981 03/07 Michael P. Pritchard born in Los Angeles, California, United States, 1964 03/07 Giorgos Keramidas born in Athens, Greece, 1976 03/10 Andreas Klemm born in Duesseldorf, Nordrhein-Westfalen, Germany, 1963 03/11 Soeren Straarup born in Andst, Denmark, 1978 03/12 Greg Lewis born in Adelaide, South Australia, Australia, 1969 03/13 Alexander Leidinger born in Neunkirchen, Saarland, Germany, 1976 03/13 Will Andrews born in Pontiac, Michigan, United States, 1982 03/14 Bernhard Froehlich born in Graz, Styria, Austria, 1985 03/15 Paolo Pisati born in Lodi, Italy, 1977 03/15 Brian Fundakowski Feldman born in Alexandria, Virginia, United States, 1983 03/17 Michael Smith born in Bankstown, New South Wales, Australia, 1971 03/17 Alexander Motin born in Simferopol, Ukraine, 1979 03/18 Koop Mast born in Dokkum, the Netherlands, 1981 03/19 Mikhail Teterin born in Kyiv, Ukraine, 1972 03/20 Joseph S. Atkinson born in Batesville, Arkansas, United States, 1977 03/20 Henrik Brix Andersen born in Aarhus, Denmark, 1978 03/20 MANTANI Nobutaka born in Hiroshima, Japan, 1978 03/20 Cameron Grant died in Hemel Hempstead, United Kingdom, 2005 03/22 Brad Davis born in Farmington, New Mexico, United States, 1983 03/23 Daniel C. Sobral born in Brasilia, Distrito Federal, Brazil, 1971 03/23 Benno Rice born in Adelaide, South Australia, Australia, 1977 03/24 Marcel Moolenaar born in Hilversum, the Netherlands, 1968 03/24 Emanuel Haupt born in Zurich, Switzerland, 1979 03/25 Andrew R. Reiter born in Springfield, Massachusetts, United States, 1980 03/27 Josef El-Rayes born in Linz, Austria, 1982 03/28 Sean C. Farley born in Indianapolis, Indiana, United States, 1970 03/29 Thierry Thomas born in Luxeuil les Bains, France, 1961 03/30 Po-Chuan Hsieh born in Taipei, Taiwan, Republic of China, 1978 03/31 First quarter status reports are due on 04/15 04/01 Matthew Jacob born in San Francisco, California, United States, 1958 04/01 Bill Fenner born in Bellefonte, Pennsylvania, United States, 1971 04/01 Peter Edwards born in Dublin, Ireland, 1973 04/03 Hellmuth Michaelis born in Kiel, Schleswig-Holstein, Germany, 1958 04/03 Tong Liu born in Beijing, People's Republic of China, 1981 04/03 Gabor Pali born in Kunhegyes, Hungary, 1982 04/05 Stacey Son born in Burley, Idaho, United States, 1967 04/07 Edward Tomasz Napierala born in Wolsztyn, Poland, 1981 04/08 Jordan K. Hubbard born in Honolulu, Hawaii, United States, 1963 04/09 Ceri Davies born in Haverfordwest, Pembrokeshire, United Kingdom, 1976 04/11 Bruce A. Mah born in Fresno, California, United States, 1969 04/12 Patrick Gardella born in Columbus, Ohio, United States, 1967 04/12 Ed Schouten born in Oss, the Netherlands, 1986 04/13 Oliver Braun born in Nuremberg, Bavaria, Germany, 1972 04/14 Crist J. Clark born in Milwaukee, Wisconsin, United States, 1970 04/15 David Malone born in Dublin, Ireland, 1973 04/17 Dryice Liu born in Jinan, Shandong, China, 1975 04/22 Joerg Wunsch born in Dresden, Sachsen, Germany, 1962 04/22 Jun Kuriyama born in Matsue, Shimane, Japan, 1973 04/26 Rene Ladan born in Geldrop, the Netherlands, 1980 04/29 Adam Weinberger born in Berkeley, California, United States, 1980 04/29 Eric Anholt born in Portland, Oregon, United States, 1983 05/01 Randall Stewart born in Spokane, Washington, United States, 1959 05/02 Wojciech A. Koszek born in Czestochowa, Poland, 1987 05/03 Brian Dean born in Elkins, West Virginia, United States, 1966 05/03 Robert Nicholas Maxwell Watson born in Harrow, Middlesex, United Kingdom, 1977 05/04 Denis Peplin born in Nizhniy Novgorod, Russian Federation, 1977 05/08 Kirill Ponomarew born in Volgograd, Russian Federation, 1977 05/08 Sean Kelly born in Walnut Creek, California, United States, 1982 05/09 Daniel Eischen born in Syracuse, New York, United States, 1963 05/09 Aaron Dalton born in Boise, Idaho, United States, 1973 05/10 Markus Brueffer born in Gronau, Nordrhein-Westfalen, Germany, 1977 05/11 Jesus Rodriguez born in Barcelona, Spain, 1972 05/11 Roman Kurakin born in Moscow, USSR, 1979 05/13 Pete Fritchman born in Lansdale, Pennsylvania, United States, 1983 05/14 Tatsumi Hosokawa born in Tokyo, Japan, 1968 05/14 Shigeyuku Fukushima born in Osaka, Japan, 1974 05/14 Bruce Cran born in Cambridge, United Kingdom, 1981 05/16 Johann Kois born in Wolfsberg, Austria, 1975 05/16 Marcus Alves Grando born in Florianopolis, Santa Catarina, Brazil, 1979 05/17 Thomas Abthorpe born in Port Arthur, Ontario, Canada, 1968 05/19 Philippe Charnier born in Fontainebleau, France, 1966 05/19 Ian Dowse born in Dublin, Ireland, 1975 05/20 Dan Moschuk died in Burlington, Ontario, Canada, 2010 05/21 Kris Kennaway born in Winnipeg, Manitoba, Canada, 1978 05/22 Clive Tong-I Lin born in Changhua, Taiwan, Republic of China, 1978 05/22 Michael Bushkov born in Rostov-on-Don, Russian Federation, 1985 05/22 Rui Paulo born in Evora, Portugal, 1986 05/23 Munechika Sumikawa born in Osaka, Osaka, Japan, 1972 05/24 Duncan McLennan Barclay born in London, Middlesex, United Kingdom, 1970 05/24 Oliver Lehmann born in Karlsburg, Germany, 1981 05/25 Tom Rhodes born in Ellwood City, Pennsylvania, United States, 1981 05/25 Roman Divacky born in Brno, Czech Republic, 1983 05/26 Jim Pirzyk born in Chicago, Illinois, United States, 1968 05/26 Florian Smeets born in Schwerte, Nordrhein-Westfalen, Germany, 1982 05/27 Ollivier Robert born in Paris, France, 1967 05/29 Wilko Bulte born in Arnhem, the Netherlands, 1965 05/29 Seigo Tanimura born in Kitakyushu, Fukuoka, Japan, 1976 05/31 Ville Skytta born in Helsinki, Finland, 1974 06/02 Jean-Marc Zucconi born in Pontarlier, France, 1954 06/02 Alexander Botero-Lowry born in Austin, Texas, United States, 1986 06/03 CHOI Junho born in Seoul, Korea, 1974 06/03 Wesley Shields born in Binghamton, New York, United States, 1981 06/04 Julian Elischer born in Perth, Australia, 1959 06/04 Justin Gibbs born in San Pedro, California, United States, 1973 06/04 Jason Evans born in Greeley, Colorado, United States, 1973 06/04 Thomas Moestl born in Braunschweig, Niedersachsen, Germany, 1980 06/04 Zack Kirsch born in Memphis, Tennessee, United States, 1982 06/06 Sergei Kolobov born in Karpinsk, Russian Federation, 1972 06/06 Alan Eldridge died in Denver, Colorado, 2003 06/07 Jimmy Olgeni born in Milano, Italy, 1976 06/07 Benjamin Close born in Adelaide, Australia, 1978 06/14 Josh Paetzel born in Minneapolis, Minnesota, United States, 1973 06/17 Tilman Linneweh born in Weinheim, Baden-Wuertemberg, Germany, 1978 06/18 Li-Wen Hsu born in Taipei, Taiwan, Republic of China, 1984 06/18 Roman Bogorodskiy born in Saratov, Russian Federation, 1986 06/19 Charlie Root born in Portland, Oregon, United States, 1993 06/21 Ganbold Tsagaankhuu born in Ulaanbaatar, Mongolia, 1971 06/21 Niels Heinen born in Markelo, the Netherlands, 1978 06/22 Andreas Tobler born in Heiden, Switzerland, 1968 06/24 Chris Faulhaber born in Springfield, Illinois, United States, 1971 06/26 Brian Somers born in Dundrum, Dublin, Ireland, 1967 06/28 Mark Santcroos born in Rotterdam, the Netherlands, 1979 06/28 Xin Li born in Beijing, People's Republic of China, 1982 06/29 Wilfredo Sanchez Vega born in Majaguez, Puerto Rico, United States, 1972 06/29 Daniel Harris born in Lubbock, Texas, United States, 1985 06/29 Andrew Pantyukhin born in Moscow, Russian Federation, 1985 06/30 Guido van Rooij born in Best, Noord-Brabant, the Netherlands, 1965 06/30 Second quarter status reports are due on 07/15 07/01 Matthew Dillon born in San Francisco, California, United States, 1966 07/02 Mark Christopher Ovens born in Preston, Lancashire, United Kingdom, 1958 07/02 Vasil Venelinov Dimov born in Shumen, Bulgaria, 1982 07/04 Motoyuki Konno born in Musashino, Tokyo, Japan, 1969 07/04 Florent Thoumie born in Montmorency, Val d'Oise, France, 1982 07/05 Sergey Kandaurov born in Gubkin, Russian Federation, 1985 07/07 Andrew Thompson born in Lower Hutt, Wellington, New Zealand, 1979 07/07 Maxime Henrion born in Metz, France, 1981 07/07 George Reid born in Frimley, Hampshire, United Kingdom, 1983 07/10 Jung-uk Kim born in Seoul, Korea, 1971 07/10 Justin Seger born in Harvard, Massachusetts, United States, 1981 07/10 David Schultz born in Oakland, California, United States, 1982 07/11 Jesus R. Camou born in Hermosillo, Sonora, Mexico, 1983 07/15 Gary Jennejohn born in Rochester, New York, United States, 1950 07/16 Suleiman Souhlal born in Roma, Italy, 1983 07/17 Michael Chin-Yuan Wu born in Taipei, Taiwan, Republic of China, 1980 07/19 Masafumi NAKANE born in Okazaki, Aichi, Japan, 1972 07/19 Simon L. Nielsen born in Copenhagen, Denmark, 1980 07/19 Gleb Smirnoff born in Kharkov, USSR, 1981 07/20 Andrey V. Elsukov born in Kotelnich, Russian Federation, 1981 07/22 James Housley born in Chicago, Illinois, United States, 1965 07/22 Jens Schweikhardt born in Waiblingen, Baden-Wuerttemberg, Germany, 1967 07/22 Lukas Ertl born in Weissenbach/Enns, Steiermark, Austria, 1976 07/23 Sergey A. Osokin born in Krasnogorsky, Stepnogorsk, Akmolinskaya region, Kazakhstan, 1972 07/24 Alexander Nedotsukov born in Ulyanovsk, Russian Federation, 1974 07/24 Alberto Villa born in Vercelli, Italy, 1987 07/27 Andriy Gapon born in Kyrykivka, Sumy region, Ukraine, 1976 07/28 Jim Mock born in Bethlehem, Pennsylvania, United States, 1974 07/28 Tom Hukins born in Manchester, United Kingdom, 1976 07/29 Dirk Meyer born in Kassel, Hessen, Germany, 1965 07/29 Felippe M. Motta born in Maceio, Alagoas, Brazil, 1988 08/02 Gabor Kovesdan born in Budapest, Hungary, 1987 08/03 Peter Holm born in Copenhagen, Denmark, 1955 08/05 Alfred Perlstein born in Brooklyn, New York, United States, 1978 08/06 Anton Berezin born in Dnepropetrovsk, Ukraine, 1970 08/06 John-Mark Gurney born in Detroit, Michigan, United States, 1978 08/07 Jonathan Mini born in San Mateo, California, United States, 1979 08/08 Mikolaj Golub born in Kharkov, USSR, 1977 08/10 Peter Pentchev born in Sofia, Bulgaria, 1977 08/12 Joe Marcus Clarke born in Lakeland, Florida, United States, 1976 08/12 Max Brazhnikov born in Leningradskaya, Russian Federation, 1979 08/14 Stefan Esser born in Cologne, Nordrhein-Westfalen, Germany, 1961 08/17 Olivier Houchard born in Nancy, France, 1980 08/19 Chin-San Huang born in Yi-Lan, Taiwan, Republic of China, 1979 08/19 Pav Lucistnik born in Kutna Hora, Czech Republic, 1980 08/20 Michael Heffner born in Cleona, Pennsylvania, United States, 1981 08/24 Mark Linimon born in Houston, Texas, United States, 1955 08/25 Beech Rintoul born in Oakland, California, United States, 1952 08/25 Jean Milanez Melo born in Divinopolis, Minas Gerais, Brazil, 1982 08/26 Dima Ruban born in Nalchik, USSR, 1970 08/26 Marc Fonvieille born in Avignon, France, 1972 08/26 Herve Quiroz born in Aix-en-Provence, France, 1977 08/27 Andrey Chernov born in Moscow, USSR, 1966 08/27 Tony Finch born in London, United Kingdom, 1974 08/27 Michael Johnson born in Morganton, North Carolina, United States, 1980 08/28 Norikatsu Shigemura born in Fujisawa, Kanagawa, Japan, 1974 08/29 Thomas Gellekum born in Moenchengladbach, Nordrhein-Westfalen, Germany, 1967 08/29 Max Laier born in Karlsruhe, Germany, 1981 09/01 Pyun YongHyeon born in Kimcheon, Korea, 1968 09/03 Max Khon born in Novosibirsk, USSR, 1976 09/03 Cheng-Lung Sung born in Taipei, Taiwan, Republic of China, 1977 09/05 Mark Robert Vaughan Murray born in Harare, Mashonaland, Zimbabwe, 1961 09/05 Adrian Harold Chadd born in Perth, Western Australia, Australia, 1979 09/07 Tim Bishop born in Cornwall, United Kingdom, 1978 09/08 Boris Samorodov born in Krasnodar, Russian Federation, 1963 09/09 Yoshio Mita born in Hiroshima, Japan, 1972 09/10 Wesley R. Peters born in Hartford, Alabama, United States, 1961 09/12 Weongyo Jeong born in Haman, Korea, 1980 09/12 Benedict Christopher Reuschling born in Darmstadt, Germany, 1981 09/12 William C. Fumerola II born in Detroit, Michigan, United States, 1981 09/15 Dima Panov born in Khabarovsk, Russian Federation, 1978 09/17 Maxim Bolotin born in Rostov-on-Don, Russian Federation, 1976 09/18 Matthew Fleming born in Cleveland, Ohio, United States, 1975 09/20 Kevin Lo born in Taipei, Taiwan, Republic of China, 1972 09/27 Neil Blakey-Milner born in Port Elizabeth, South Africa, 1978 09/27 Renato Botelho born in Araras, Sao Paulo, Brazil, 1979 09/28 Greg Lehey born in Melbourne, Victoria, Australia, 1948 09/28 Alex Dupre born in Milano, Italy, 1980 09/29 Matthew Hunt born in Johnstown, Pennsylvania, United States, 1976 09/30 Hiten M. Pandya born in Dar-es-Salaam, Tanzania, East Africa, 1986 09/30 Third quarter status reports are due on 10/15 10/02 Beat Gaetzi born in Zurich, Switzerland, 1980 10/05 Hiroki Sato born in Yamagata, Japan, 1977 10/05 Chris Costello born in Houston, Texas, United States, 1985 10/09 Stefan Walter born in Werne, Nordrhein-Westfalen, Germany, 1978 10/12 Pawel Jakub Dawidek born in Radzyn Podlaski, Poland, 1980 10/15 Maxim Konovalov born in Khabarovsk, USSR, 1973 10/16 Remko Lodder born in Rotterdam, the Netherlands, 1983 10/17 Maho NAKATA born in Osaka, Japan, 1974 10/18 Sheldon Hearn born in Cape Town, Western Cape, South Africa, 1974 10/19 Nicholas Souchu born in Suresnes, Hauts-de-Seine, France, 1972 10/19 Nick Barkas born in Longview, Washington, United States, 1981 10/20 Joel Dahl born in Lidkoping, Sweden, 1983 10/20 Dmitry Marakasov born in Moscow, Russian Federation, 1984 10/21 Ben Smithurst born in Sheffield, South Yorkshire, United Kingdom, 1981 10/22 Jean-Sebastien Pedron born in Redon, Ille-et-Vilaine, France, 1980 10/23 Mario Sergio Fujikawa Ferreira born in Brasilia, Distrito Federal, Brazil, 1976 10/25 Eric Melville born in Los Gatos, California, United States, 1980 10/26 Philip M. Gollucci born in Silver Spring, Maryland, United States, 1979 10/27 Takanori Watanabe born in Numazu, Shizuoka, Japan, 1972 11/05 M. Warner Losh born in Kansas City, Kansas, United States, 1966 11/09 Coleman Kane born in Cincinnati, Ohio, United States, 1980 11/09 Antoine Brodin born in Bagnolet, France, 1981 11/10 Gregory Neil Shapiro born in Providence, Rhode Island, United States, 1970 11/13 John Baldwin born in Stuart, Virginia, United States, 1977 11/15 Lars Engels born in Hilden, Nordrhein-Westfalen, Germany, 1980 11/15 Tijl Coosemans born in Duffel, Belgium, 1983 11/16 Jose Maria Alcaide Salinas born in Madrid, Spain, 1962 11/17 Ralf S. Engelschall born in Dachau, Bavaria, Germany, 1972 11/18 Thomas Quinot born in Paris, France, 1977 11/19 Konstantin Belousov born in Kiev, USSR, 1972 11/20 Dmitry Morozovsky born in Moscow, USSR, 1968 11/20 Gavin Atkinson born in Middlesbrough, United Kingdom, 1979 11/22 Frederic Culot born in Saint-Germain-En-Laye, France, 1976 11/23 Josef Lawrence Karthauser born in Pembury, Kent, United Kingdom, 1972 11/24 Andrey Zakhvatov born in Chelyabinsk, Russian Federation, 1974 11/24 Daniel Gerzo born in Bratislava, Slovakia, 1986 11/28 Nik Clayton born in Peterborough, United Kingdom, 1973 11/28 Stanislav Sedov born in Chelyabinsk, USSR, 1985 12/01 Hajimu Umemoto born in Nara, Japan, 1961 12/01 Alexey Dokuchaev born in Magadan, USSR, 1980 12/02 Ermal Lui born in Tirane, Albania, 1980 12/03 Diane Bruce born in Ottawa, Ontario, Canada, 1952 12/05 Ivan Voras born in Slavonski Brod, Croatia, 1981 12/06 Stefan Farfeleder born in Wien, Austria, 1980 12/15 James FitzGibbon born in Amersham, Buckinghamshire, United Kingdom, 1974 12/15 Timur I. Bakeyev born in Kazan, Republic of Tatarstan, USSR, 1974 12/18 Chris Timmons born in Ellensburg, Washington, United States, 1964 12/18 Dag-Erling Smorgrav born in Brussels, Belgium, 1977 12/18 Semen Ustimenko born in Novosibirsk, Russian Federation, 1979 12/21 Rong-En Fan born in Taipei, Taiwan, Republic of China, 1982 12/22 Maxim Sobolev born in Dnepropetrovsk, Ukraine, 1976 12/23 Sean Chittenden born in Seattle, Washington, United States, 1979 12/23 Alejandro Pulver born in Buenos Aires, Argentina, 1989 12/28 Soren Schmidt born in Maribo, Denmark, 1960 12/28 Ade Lovett born in London, England, 1969 12/28 Marius Strobl born in Cham, Bavaria, Germany, 1978 12/31 Edwin Groothuis born in Geldrop, the Netherlands, 1970 12/31 Fourth quarter status reports are due on 01/15 #endif /* !_calendar_freebsd_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hr_HR.ISO8859-2/0000775000000000000000000000000012665277472021701 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all0000664000000000000000000000027212665277472024145 0ustar /* * hrvatski calendar * * $FreeBSD$ */ #ifndef _hr_HR_ISO8859_2_all #define _hr_HR_ISO8859_2_all #include #endif /* !_hr_HR_ISO8859_2_all */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici0000664000000000000000000000146012665277472025214 0ustar /* * hrvatski praznici * * $FreeBSD$ */ #ifndef _hr_HR_ISO8859_2_praznici #define _hr_HR_ISO8859_2_praznici LANG=hr_HR.ISO8859-2 /* dravni praznici */ 01/01 Nova godina 05/01 Praznik rada 05/30 Tjelovo 06/22 Dan antifaistike borbe 06/25 Dan dravnosti 08/05 Dan domovinske zahvalnosti 10/08 Dan neovisnosti /* katoliki blagdani */ 01/06 Sveta tri kralja Easter-2 Veliki petak Easter Uskrs Easter+1 Uskrsni ponedjeljak Easter+49 Duhovi Easter+50 Duhovni ponedjeljak Easter+39 Uzaae 08/15 Velika Gospa 11/01 Svi sveti 12/25 Boi 12/26 Stjepandan /* godinja doba */ 03/21* Poetak proljea 06/21* Poetak ljeta 09/21* Poetak jesena 12/21* Poetak zime /* ljetno vrijeme */ 03/NedjeljaLast Poetak ljetnog vremena 10/NedjeljaLast Kraj ljetnog vremena #endif /* !_hr_HR_ISO8859_2_praznici */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.southafrica0000664000000000000000000000136212665277472023556 0ustar /* * South African holidays * Note: The Public Holidays Act (Act No 36 of 1994) determines whenever * any public holiday falls on a Sunday, the Monday following on it shall * be an unnamed public holiday in addition to the named holiday the day * before. This file format is not complex enough to reflect this, but * if it ever is, the change should be made. * $FreeBSD$ */ #ifndef _calendar_southafrica_ #define _calendar_southafrica_ 03/01 Human Rights Day in South Africa 04/27 Freedom Day in South Africa 05/01 Workers Day in South Africa 06/16 Youth Day in South Africa 08/09 National Women's Day in South Africa 09/24 Heritage Day in South Africa 12/16 Day of Reconciliation in South Africa 12/26 Day of Goodwill in South Africa #endif bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.newzealand0000664000000000000000000000111212665277472023367 0ustar /* * New Zealand holidays * * $FreeBSD$ */ #ifndef _calendar_newzealand_ #define _calendar_newzealand_ Jan 02 New Year Holiday (NZ) Jan 14 Anniversary Day (Southland) Jan 21 Anniversary Day (Wellington) Jan 28 Anniversary Day (Auckland) Feb 06 Waitangi Day (NZ) Mar 11 Anniversary Day (Taranaki) Mar 25 Anniversary Day (Otago) Jun 03 Queen's Birthday (NZ) Sep 23 Anniversary Day (South Canterbury) Oct 25 Anniversary Day (Hawke's Bay) Oct 28 Labour Day (NZ) Nov 04 Anniversary Day (Marlborough) Nov 15 Anniversary Day (Canterbury) Dec 02 Anniversary Day (Chatham Islands) #endif bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.croatian0000664000000000000000000000026712665277472023051 0ustar /* * Croatian calendar files * * $FreeBSD$ */ #ifndef _calendar_croatian_ #define _calendar_croatian_ #include #endif /* !_calendar_croatian_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.birthday0000664000000000000000000003166012665277472023060 0ustar /* * Birthday * * $FreeBSD$ */ #ifndef _calendar_birthday_ #define _calendar_birthday_ 01/01 J.D. Salinger born, 1919 01/01 Paul Revere born in Boston, 1735 01/02 Isaac Asimov born in Petrovichi, Russian SFSR, 1920 01/04 George Washington Carver born in Missouri, 1864 01/04 Jakob Grimm born, 1785 01/04 Wilhelm Beer born, 1797, first astronomer to map Mars 01/05 DeWitt B. Brace born, 1859, inventor of spectrophotometer 01/10 Ethan Allen born, 1738 01/11 Alexander Hamilton born in Nevis, British West Indies, 1757? 01/12 "Long" John Baldry is born in London, 1941 01/13 Horatio Alger born, 1834 01/13 Sophie Tucker born, 1884 01/13 Wilhelm Wien born, 1864, Nobel prize for blackbody radiation laws 01/14 Albert Schweitzer born, 1875 01/15 Martin Luther King, Jr. born 01/17 Benjamin Franklin born in Boston, 1706 01/19 Edgar Allan Poe born in Boston, 1809 01/19 Robert Edward Lee born in Stratford Estate, Virginia, 1807 01/20 George Burns born, 1898 01/21 Lenin died, 1924 01/21 Thomas Jonathan "Stonewall" Jackson born in Clarksburg, VA, 1824 01/22 Sir Francis Bacon born, 1561 01/23 Ernst Abbe born, 1840, formulated diffraction theory 01/23 Humphrey Bogart born in New York City, 1899 01/23 John Hancock born, 1737 01/23 Joseph Hewes born, 1730 01/23 Samuel Barber died, 1981 01/24 John Belushi is born in Chicago, 1949 01/25 Robert Burns born, 1759 01/25 Virginia Woolf born, 1882 01/25 W. Somerset Maugham born, 1874 01/27 Samuel Gompers born, 1850 01/30 Franklin Delano Roosevelt born in Hyde Park, New York, 1882 01/31 Jackie Robinson born, 1919 02/03 Gertrude Stein born, 1874 02/04 Ken Thompson, creator of unix, born, 1943 02/05 Alex Harvey (SAHB) is born in Glasgow, Scotland, 1935 02/06 King George VI of UK dies; his daughter becomes Elizabeth II, 1952 02/07 Sinclair Lewis born, 1885 02/08 Friedleib F. Runge born, 1795, father of paper chromatography 02/08 Jules Verne born in Nantes, France, 1828 02/09 George Hartmann born, 1489, designed astrolabes, timepieces, etc. 02/10 Charles Lamb born, 1775 02/10 William Allen White born, 1868 02/11 Thos. Edison born, 1847 02/11 William Henry Fox Talbot (photographic pioneer) born, 1800 02/12 Abraham Lincoln born, 1809 02/12 Charles Darwin born in Shrewsbury, England, 1809 02/15 Galileo Galilei born in Pisa, Italy, 1564 02/15 Susan B. Anthony born, 1820 02/16 Pierre Bouguer born, 1698, founder of photometry 02/17 Federick Eugene Ives born, 1856, pioneer of halftone 02/17 Marion Anderson born, 1902 02/17 T. J. Watson, Sr. born, 1874 02/18 Ernst Mach born, 1838, philosopher & optics pioneer 02/19 Nicolas Copernicus born in Thorn, Poland, 1473 02/20 Ludwig Boltzmann born, 1838, atomic physics pioneer 02/21 Alexis De Rochon born, 1838, developed the spyglass 02/22 George Washington born, 1732 02/22 Pierre Jules Cesar Janssen born, 1838, found hydrogen in the sun 02/23 W.E.B. DuBois born, 1868 02/24 Winslow Homer born, 1836 02/24 Steve Jobs born, 1955 02/25 George Harrison born in Liverpool, England, 1943 02/25 Renoir born, 1841 02/26 Dominique Francois Jean Arago born, 1786; observed "Poisson's spot" cf June 21 02/28 Michel de Mantaigne born, 1533 02/29 Herman Hollerith born, 1860 03/01 David Niven born, 1910 03/02 Dr. Seuss born, 1904 03/04 Casimir Pulaski born, 1747 03/05 John Belushi dies in Los Angeles, 1982 03/07 Sir John Frederick William Herschel born, 1792, astronomer 03/08 Alvan Clark born, 1804, astronomer & lens manufacturer 03/08 Howard Aiken born, 1900 03/11 Robert Treat Paine born, 1737 03/11 Vannevar Bush born, 1890 03/12 Gustav Robert Kirchhoff born, 1824, physicist 03/14 Albert Einstein born, 1879 03/14 Casey Jones born, 1864 03/14 Giovanni Virginia Schiaparelli born, 1835, astronomer; named Mars "canals" 03/14 Jean Baptiste Joseph Fourier born, 1768, mathematician & physicist 03/15 Andrew "Old Hickory" Jackson, 7th President of the United States, born in Waxhaw, South Carolina, 1767 03/15 J.J. Robert's Birthday in Liberia 03/16 George Clymer born, 1739 03/16 James Madison, 4th President of the United States, born in King George County, Virginia, 1751 03/21 NetBSD project born, 1993 03/24 Harry Houdini born, 1874 03/26 Benjamin Thompson born, 1753, Count Rumford; physicist 03/26 David Packard died, 1996; age of 83 03/27 Wilhelm Conrad Roentgen born, 1845, discoverer of X-rays 03/28 Pierre Simon de Laplace born, 1749, mathematician & astronomer 03/30 Francisco Jose de Goya born, 1746 03/30 Sean O'Casey born, 1880 03/30 Vincent Van Gogh born, 1853 03/31 Rene Descartes born, 1596, mathematician & philosopher 04/02 Hans Christian Andersen born, 1805, fairy tale author 04/02 Pope John Paul II (Karol Wojtyla) died in Vatican, 2005 04/03 Washington Irving born, 1783 04/05 Thomas Hobbes born, 1588, philosopher 04/08 Buddha born, 563 BC 04/08 David Rittenhouse born, 1732, astronomer & mathematician 04/09 Edward Muybridge born, 1830, motion-picture pioneer 04/09 J. Presper Eckert born, 1919 04/10 Commodore Matthew Calbraith Perry born, 1794 04/10 William Booth born, 1829, founder of the Salvation Army 04/13 Thomas Jefferson, 3rd President of the United States, born Shadwell Plantation, Albemarle County, Virginia, 1743 04/14 Christian Huygen born, 1629, physicist & astronomer; discovered Saturn's rings 04/15 Leonardo da Vinci born, 1452 04/16 Charles (Charlie) Chaplin (Sir) born in London, 1889 04/22 Kant born, 1724 04/27 Louis Victor de Broglie born, 1774, physicist 04/28 James Monroe, 5th President of the United States, born in Westmoreland County, Viriginia, 1758 04/29 Jules Henri Poincare born, 1854, founder of topology 04/29 William Randolph Hearst born in San Francisco, 1863 04/30 Karl Friedrich Gauss born, 1777, mathematician & astronomer 05/01 Little Walter (Marion Walter Jacobs) is born in Alexandria, Louisiana, 1930 05/02 Dr. Benjamin Spock born, 1903 05/04 Alice Liddell born, 1852, Alice's Adventures in Wonderland & Through the Looking-Glass 05/09 Pinza died, 1957 05/10 Fred Astaire (Frederick Austerlitz) born in Omaha, Nebraska, 1899 05/11 Johnny Appleseed born, 1768 05/12 Florence Nightingale born in Florence, Italy, 1820 05/13 Arthur S. Sullivan born, 1842 05/15 Mike Oldfield is born in Essex, England, 1953 05/18 Pope John Paul II (Karol Wojtyla) born in Wadowice, Poland, 1920 05/19 Ho Chi Minh born, 1890 05/21 Plato (Aristocles) born in Athens(?), 427BC 05/27 Hubert H. Humphrey born, 1911 05/28 Dionne quintuplets born, 1934 05/29 Gilbert Keith Chesterton born, 1874 05/29 John Fitzgerald Kennedy, 35th President of the United States, born in Brookline, Massachusetts, 1917 05/29 Patrick Henry born, 1736 05/30 Mel (Melvin Jerome) Blanc born in San Francisco, 1908 06/01 Brigham Young born, 1801 06/01 Marilyn Monroe born, 1928 06/02 Edward Elgar (Sir) born in Worcester, England, 1857 06/03 Henry James born, 1811 06/07 (Eugene Henri) Paul Gaugin born, 1848 06/07 George Bryan "Beau" Brummel born, 1778 06/07 Alan Mathison Turing died, 1954 06/08 Frank Lloyd Wright born in Richland Center, Wisconsin, 1867 06/13 Alexander the Great dies (323BC) 06/15 Edward (Edvard Hagerup) Grieg born in Bergen, Norway, 1843 06/16 Hammurabi the Great dies, Babylon, 1686 BC 06/18 M.C. Escher born, 1898 06/19 FreeBSD project born, 1993 06/22 Carl Hubbell born, 1903 06/22 Meryl Streep born in Summit, New Jersey, 1949 06/22 Konrad Zuse born in Berlin, 1919 06/23 Alan Mathison Turing born, 1912 06/25 Eric Arthur Blair (a.k.a. George Orwell) born, 1903 06/27 Helen Keller born, 1880 07/03 Franz Kafka born, 1883 07/04 Nathaniel Hawthorne born in Salem, Massachusetts, 1804 07/04 John Adams and Thomas Jefferson die on same day, 1826 07/06 (Helen) Beatrix Potter born, 1866 07/06 John Paul Jones born, 1747 07/07 P.T. Barnum dies, 1891 07/08 Count Ferdinand von Zeppelin born, 1838 07/10 John Calvin born, 1509 07/11 John Quincy Adams, 6th President of the United States, born in Braintree, Massachusetts, 1767 07/12 Henry David Thoreau born, 1817 07/15 Clement Clarke Moore born, 1779, author of "A Visit from Saint Nicholas" 07/18 Brian Auger is born in London, 1939 07/25 Steve Goodman is born in Chicago, 1948 07/29 Mussolini born, 1883 07/30 Emily Bronte born, 1818 07/30 Henry Ford born, 1863 08/01 Herman Melville born, 1819 08/03 Lenny Bruce dies of a morphine overdose, 1966 08/06 Jonathan B. Postel is born in Altadena, California, 1943 08/08 Dustin Hoffman born in Los Angeles, 1937 08/12 Thomas Mann's Death, 1955 08/13 Alfred Hitchcock born, 1899 08/13 Annie Oakley born, 1860 08/13 Fidel Castro born, 1927 08/17 Mae West born, 1892 08/18 Meriwether Lewis born, 1774 08/20 Leon Trotsky assassinated, 1940 08/21 Christopher Robin Milne born, 1920 08/21 Winnie-the-Pooh (Edward Bear) born (given to Christopher Robin Milne), 1921 08/23 Gene Kelly born, 1912 08/27 Lyndon B. Johnson born, 1908 08/29 Oliver Wendell Holmes born, 1809, physician & father of the jurist 08/30 John W. Mauchly born, 1907 09/05 King Louis XIV of France born, 1638 09/05 Raquel Welch born, 1942 09/06 Word is received that Perry has reached the North Pole and died, 1909 09/07 James Fenimore Cooper born in Burlington, NJ, 1789 09/07 Queen Elizabeth I of England born, 1533 09/08 Richard ``the Lionheart'', king of England born in Oxford, 1157 09/08 Peter Sellers born in Southsea, England, 1925 09/09 Chinese Communist Party Chairman Mao Tse-Tung dies at age 82, 1976 09/09 Dennis MacAlistair Ritchie, creator of C, born, 1941 09/12 Jesse Owens born, 1913 09/13 Walter Reed born, 1851 09/15 Agatha Christie born in Torquay, England, 1890 09/16 Allen Funt born in Brooklyn, NY, 1914 09/18 Greta Garbo born, 1905 09/18 Jimi Hendrix dies from an overdose, 1970 09/20 Upton (Beall) Sinclair born, 1878 09/21 H.G. (Herbert George) Wells born in Bromley, England, 1866 09/21 Louis Joliet born, 1645 09/22 President Garfield dies of wounds in Baltimore, 1881 09/23 Augustus (Gaius Octavius) Caesar born in Rome, 63 BC 09/23 Euripides born in Salamis, Greece, 480 BC 09/24 F. Scott Fitzgerald born, 1896 09/26 Johnny Appleseed born, 1774 09/26 T.S. (Thomas Stearns) Eliot born in St. Louis, 1888 09/27 Thomas Nast born, 1840 09/28 Michelangelo Buonarroti born in Caprese, Italy, 1573 09/28 Pompey (Gnaeus Pompeius Magnus) born in Rome, 106BC 09/28 Seymour Cray born, 1925 09/29 Gene Autry born, 1907 10/01 Jimmy Carter, 39th President of United States, born in Plains, Georgia, 1924 10/02 Aristotle dies of indigestion, 322 BC 10/02 Mohandas K. Gandhi born at Porbandar, Kathiawad, India, 1869 10/04 John V. Atanasoff born, 1903 10/05 Ray Kroc (founder of McDonald's) born, 1902 10/05 Steve Jobs died at the age of 56, 2011 10/12 Dennis MacAlistair Ritchie died at the age of 70, 2011 10/13 Lenny Bruce is born in New York City, 1925 10/13 Virgil (Publius Vergilius Maro) born near Mantua, Italy, 70 BC 10/14 Dwight David Eisenhower, 34th President of the United States, born in Denison, Texas, 1890 10/14 William Penn born in London, 1644 10/15 Pelham Grenville Wodehouse born, 1881 10/16 Noah Webster born, 1758 10/16 Oscar (Fingal O'Flahertie Wills) Wilde born in Dublin, 1854 10/16 Dr. Jonathan B. Postel dies at age 55, 1998 10/17 Richard Mentor Johnson born, 1780, 9th V.P. of U.S. 10/21 Alfred Nobel born in Stockholm, 1833 10/25 Pablo Picasso born in Malaga, Spain, 1881 10/27 James Cook is born, 1728 10/27 Theodore (Teddy) Roosevelt, 26th President of the United States, born New York, New York, 1858 10/27 Gerald M. Weinberg born, 1933 10/30 John Adams, 2nd President of the United States, born Quincy, Massachusetts 1735. 10/31 Chiang Kai-Shek born, 1887 10/31 Dale Evans born, 1912 11/02 Daniel Boone born near Reading, PA, 1734 11/04 King William III of Orange born, 1650 11/05 Roy Rogers born, 1912 11/09 Carl Sagan born, 1934 11/10 Martin Luther born in Eisleben, Germany, 1483 11/10 Soviet President Leonid Brezhnev dies at age 75, 1982 11/11 Kurt Vonnegut, Jr, born in Indianapolis, 1922 11/13 Robert Louis Stevenson born, 1850 11/13 St. Augustine of Hippo born in Numidia, Algeria, 354 11/18 Imogene Coca born, 1908 11/18 William S. Gilbert born, 1836 11/20 Robert Francis Kennedy (RFK) born in Boston, Massachusetts, 1925 11/26 Charles Schulz born in Minneapolis, 1922 11/26 Norbert Wiener born in Columbia, Missouri, 1894 11/29 John Mayall is born in Cheshire, England, 1933 11/30 Cleopatra died, 30 BC 11/30 Mark Twain (Samuel Clemmens) born in Florida, Missouri, 1835 12/01 Woody Allen (Allen Stuart Konigsberg) born in Brooklyn, NY, 1935 12/04 Tommy Bolin dies of a heroin overdose in Miami, 1976 12/05 Martin Van Buren, 8th President of the United States, born in Kinderhook, New York, 1837 12/05 Walt (Walter Elias) Disney born in Chicago, 1901 12/08 Horace (Quintus Horatius Flaccus) born in Venosa (Italy), 65BC 12/08 James (Grover) Thurber born in Columbus, Ohio, 1894 12/10 Emily Dickenson born, 1830 12/12 E.G. Robinson born, 1893 12/14 George Washington dies, 1799 12/17 William Safire (Safir) born, 1929 12/18 Konrad Zuse died in Hnfeld, 1995 12/20 Carl Sagan died, 1996 12/21 Benjamin Disraeli born, 1804 12/22 Giacomo Puccini born, 1858 12/23 Joseph Smith born, 1805 12/25 Isaac Newton (Sir) born in Grantham, England, 1642 12/26 Chas. Babbage born, 1791 12/28 John von Neumann born, 1903 #endif /* !_calendar_birthday_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.world0000664000000000000000000000060111371260565022354 0ustar /* * World wide calendar files, except national calendars * * $FreeBSD$ */ #ifndef _calendar_world_ #define _calendar_world_ #include #include #include #include #include #include #include #include #endif /* !_calendar_world_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.christian0000664000000000000000000000172312665277472023233 0ustar /* * Christian * * $FreeBSD$ */ #ifndef _calendar_christian_ #define _calendar_christian_ 01/05 Last (twelfth) day of Christmastide 01/06 Epiphany Easter-47 Shrove Tuesday / Mardi Gras (day before Ash Wednesday) Easter-46 Ash Wednesday (First day of Lent) Easter-7 Palm Sunday (7 days before Easter) Easter-3 Maundy Thursday (3 days before Easter) Easter-2 Good Friday (2 days before Easter) Easter Easter Sunday Easter+39 Ascension Day (10 days before Pentecost) Easter+49 Pentecost (Whitsunday) Easter+50 Whitmonday Easter+56 Trinity Sunday (7 days after Pentecost) Easter+60 Corpus Christi (11 days after Pentecost) 05/28* Rogation Sunday 10/18 Feast Day of St. Luke 11/SunLast First Sunday of Advent (4th Sunday before Christmas) 12/SunFirst First Sunday of Advent (4th Sunday before Christmas) 12/06 St. Nicholas' Day 12/24 Christmas Eve 12/25 Christmastide begins: First day of Christmas 12/26 Second day of Christmas (Boxing Day) #endif /* !_calendar_christian_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/uk_UA.KOI8-U/0000775000000000000000000000000012665277472021470 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.misc0000664000000000000000000000061112665277472024114 0ustar /* * ۦ æצ * * $FreeBSD$ */ #ifndef _uk_UA_KOI8_U_misc_ #define _uk_UA_KOI8_U_misc_ LANG=uk_UA.KOI8-U /* ¦ ΦҦ צ 13 1996 . N 509 * " Ҧ " */ -1 Ȧ ̦Φ ( Ħ ) -1 Ȧ ( Ħ ) #endif /* !_uk_UA_KOI8_U_misc_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.holiday0000664000000000000000000000063112665277472024614 0ustar /* * ˦ Φ * * $FreeBSD$ */ #ifndef _uk_UA_KOI8_U_holiday_ #define _uk_UA_KOI8_U_holiday_ LANG=uk_UA.KOI8-U Paskha= 01 07 08 8 - 01 1 - æ 09 +49 Ҧ 28 æ 24 Ԧ #endif /* !_uk_UA_KOI8_U_holiday_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.all0000664000000000000000000000040212665277472023727 0ustar /* * * * $FreeBSD$ */ #ifndef _uk_UA_KOI8_U_all_ #define _uk_UA_KOI8_U_all_ #include #include #include #endif /* !_uk_UA_KOI8_U_all_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.orthodox0000664000000000000000000000164412665277472025036 0ustar /* * Φ * * $FreeBSD$ */ #ifndef _uk_UA_KOI8_U_orthodox_ #define _uk_UA_KOI8_U_orthodox_ LANG=uk_UA.KOI8-U Paskha= 7 19 Τ 15 Ҧ Τ -46 -7 Ħ -3 -2 ' Ӧ +39 Ӧ Τ +49 ϧ Ҧæ, ' +60 Ԧ 7 צ צ ϧ Ҧ 7 12 ̦ 19 Τ 28 ϧ æ 11 Ӧ ϧ 21 ϧ æ 27 14 ϧ æ 4 ϧ æ #endif /* !_uk_UA_KOI8_U_orthodox_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/fr_FR.ISO8859-1/0000775000000000000000000000000012665277472021674 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.all0000664000000000000000000000042512665277472024140 0ustar /* * Calendrier franais * * $FreeBSD$ */ #ifndef _fr_FR_ISO8859_1_all_ #define _fr_FR_ISO8859_1_all_ #include #include #include #endif /* !_fr_FR.ISO8859-1_all_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.jferies0000664000000000000000000000156412665277472025024 0ustar /* * Jours fris * * $FreeBSD$ */ #ifndef _fr_FR_ISO8859_1_jferies_ #define _fr_FR_ISO8859_1_jferies_ LANG=fr_FR.ISO8859-1 /* Jours chms */ 01/01 Nouvel an 05/01 Fte du travail 05/08 Armistice 1945 07/14 Fte nationale franaise 11/11 Armistice 1918 /* Jours fris religieux */ Easter Pques Easter+1 Lundi de Pques Easter+39 Ascension Easter+49 Pentecte Easter+50 Lundi de Pentecte 08/15 Assomption 11/01 Toussaint 12/25 Nol /* Les dates suivantes ne sont malheureusement pas fries... */ /* Saisons */ 03/21* Printemps 06/21* t 09/21* Automne 12/21* Hiver /* Changements d'heure */ 03/SundayLast Passage l'heure d't 10/SundayLast Passage l'heure d'hiver /* Divers */ /* BUG : si Penteco^te = 05/SunLast, fe^te des me`res repousse'e d'une semaine */ 05/SundayLast Ftes des mres June Sun+3 Ftes des pres #endif /*! _fr_FR_ISO8859_1_jferies_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes0000664000000000000000000005351112665277472024502 0ustar /* * Ftes souhaiter * * $FreeBSD$ */ #ifndef _fr_FR_ISO8859_1_fetes_ #define _fr_FR_ISO8859_1_fetes_ LANG=fr_FR.ISO8859-1 /* * N.B.: ceci n'est pas un calendrier liturgique! * Il a seulement t ralis pour me faire payer boire * par mes collgues de travail; on n'y trouve donc que * des prnoms seuls. * * Par ex. St Antoine de Padoue se retrouve abrg en * Antoine, et si Antoine est ft plusieurs jours par an, * tant mieux pour lui, c'est voulu. */ 01/01 Aujourd'hui, c'est la St(e) Almaque. 01/01 N'oubliez pas les Tlmaque ! 01/02 Bonne fte aux Basile ! 01/02 Aujourd'hui, c'est la St(e) Vassili. 01/02 N'oubliez pas les Grgoire ! 01/03 Bonne fte aux Genevive ! 01/03 Aujourd'hui, c'est la St(e) Ginette. 01/04 N'oubliez pas les Odilon ! 01/04 Bonne fte aux Angle ! 01/04 Aujourd'hui, c'est la St(e) Robert. 01/05 N'oubliez pas les douard ! 01/05 Bonne fte aux Gerlac ! 01/06 Aujourd'hui, c'est la St(e) Mlaine. 01/06 N'oubliez pas les Andr ! 01/07 Galette des rois 01/07 Aujourd'hui, c'est la St(e) Raymond. 01/07 N'oubliez pas les Raymonde ! 01/07 Bonne fte aux Virginie ! 01/08 Aujourd'hui, c'est la St(e) Lucien. 01/08 N'oubliez pas les Lucienne ! 01/08 Bonne fte aux Peggy ! 01/08 Aujourd'hui, c'est la St(e) Gudule. 01/09 N'oubliez pas les Adrien ! 01/09 Bonne fte aux Alix ! 01/10 Aujourd'hui, c'est la St(e) Guillaume. 01/10 N'oubliez pas les Guillemette ! 01/11 Bonne fte aux Paulin ! 01/11 Aujourd'hui, c'est la St(e) Pauline. 01/12 N'oubliez pas les Tatiana ! 01/12 Bonne fte aux Alfred ! 01/12 Aujourd'hui, c'est la St(e) Ailred (Aelred, Eilred, Elred). 01/13 N'oubliez pas les Vivant ! 01/13 Bonne fte aux Vivence ! 01/13 Aujourd'hui, c'est la St(e) Hilaire. 01/13 N'oubliez pas les Yvette ! 01/14 Bonne fte aux Nina ! 01/14 Aujourd'hui, c'est la St(e) Sraphin. 01/15 N'oubliez pas les Rmi ! 01/16 Bonne fte aux Marcel ! 01/16 Aujourd'hui, c'est la St(e) Marcelle. 01/16 N'oubliez pas les Marceau ! 01/16 Bonne fte aux Honorat ! 01/17 Aujourd'hui, c'est la St(e) Roseline. 01/17 N'oubliez pas les Antoine ! 01/17 Bonne fte aux Anthony ! 01/18 Aujourd'hui, c'est la St(e) Prisca. 01/18 N'oubliez pas les Libert ! 01/19 Bonne fte aux Marius ! 01/19 Aujourd'hui, c'est la St(e) Canut. 01/20 N'oubliez pas les Fabienne ! 01/20 Bonne fte aux Sbastien ! 01/20 Aujourd'hui, c'est la St(e) Bastien. 01/21 N'oubliez pas les Agns ! 01/21 Bonne fte aux Fructueux ! 01/21 Aujourd'hui, c'est la St(e) Augure. 01/21 N'oubliez pas les Euloge ! 01/21 Bonne fte aux Avit ! 01/22 Aujourd'hui, c'est la St(e) Vincent. 01/22 N'oubliez pas les Blsille ! 01/23 Bonne fte aux Barnard ! 01/24 Aujourd'hui, c'est la St(e) Franois. 01/25 N'oubliez pas les Morgane ! 01/26 Bonne fte aux Paule ! 01/26 Aujourd'hui, c'est la St(e) Timothe. 01/26 N'oubliez pas les Tite ! 01/27 Bonne fte aux Angle ! 01/28 Aujourd'hui, c'est la St(e) Thomas. 01/29 N'oubliez pas les Gildas ! 01/29 Bonne fte aux Sulpice ! 01/30 Aujourd'hui, c'est la St(e) Martine. 01/31 N'oubliez pas les Marcelle ! 01/31 Bonne fte aux Jean ! 02/01 Aujourd'hui, c'est la St(e) Ella. 02/01 N'oubliez pas les Viridiane ! 02/02 Bonne fte aux Thophane ! 02/03 Aujourd'hui, c'est la St(e) Blaise. 02/03 N'oubliez pas les Anschaire ! 02/04 Bonne fte aux Vronique ! 02/04 Aujourd'hui, c'est la St(e) Jeanne. 02/04 N'oubliez pas les Gilbert ! 02/05 Bonne fte aux Agathe ! 02/06 Aujourd'hui, c'est la St(e) Gaston. 02/06 N'oubliez pas les Armand ! 02/07 Bonne fte aux Eugnie ! 02/07 Aujourd'hui, c'est la St(e) Partne. 02/08 N'oubliez pas les Jacqueline ! 02/08 Bonne fte aux Jrme ! 02/09 Aujourd'hui, c'est la St(e) Apolline. 02/09 N'oubliez pas les Appollonie ! 02/10 Bonne fte aux Arnaud ! 02/10 Aujourd'hui, c'est la St(e) Scholastique. 02/11 N'oubliez pas les Sverin ! 02/11 Bonne fte aux Sverine ! 02/12 Aujourd'hui, c'est la St(e) Flix. 02/12 N'oubliez pas les Eulalie ! 02/13 Bonne fte aux Batrice ! 02/13 Aujourd'hui, c'est la St(e) Polyeucte. 02/14 N'oubliez pas les Valentin ! 02/14 Bonne fte aux Mthode ! 02/14 Aujourd'hui, c'est la St(e) Cyrille. 02/15 N'oubliez pas les Claude ! 02/15 Bonne fte aux Georgette ! 02/16 Aujourd'hui, c'est la St(e) Julienne. 02/17 N'oubliez pas les Alexis ! 02/18 Bonne fte aux Bernadette et aux Nadine ! 02/19 Aujourd'hui, c'est la St(e) Gabin. 02/20 N'oubliez pas les Aime ! 02/20 Bonne fte aux Aim ! 02/20 Aujourd'hui, c'est la St(e) Amata. 02/21 N'oubliez pas les Pierre-Damien ! 02/22 Bonne fte aux Isabelle ! 02/23 Aujourd'hui, c'est la St(e) Lazare. 02/23 N'oubliez pas les Polycarpe ! 02/24 Bonne fte aux Modeste ! 02/25 Aujourd'hui, c'est la St(e) Romo. 02/25 N'oubliez pas les Avertan ! 02/26 Bonne fte aux Nestor ! 02/27 Aujourd'hui, c'est la St(e) Honorine. 02/27 N'oubliez pas les Gabriel ! 02/28 Bonne fte aux Romain ! 02/28 Aujourd'hui, c'est la St(e) Lupicin. 02/29 N'oubliez pas les Auguste ! 03/01 Bonne fte aux Aubin ! 03/01 Aujourd'hui, c'est la St(e) Albin. 03/02 N'oubliez pas les Charles ! 03/03 Bonne fte aux Gunol (Gwnol) ! 03/04 Aujourd'hui, c'est la St(e) Casimir. 03/05 N'oubliez pas les Olive ! 03/05 Bonne fte aux Olivia ! 03/06 Aujourd'hui, c'est la St(e) Colette. 03/06 N'oubliez pas les Nicole ! 03/07 Bonne fte aux Flicit ! 03/07 Aujourd'hui, c'est la St(e) Flicie. 03/07 N'oubliez pas les Perptue ! 03/08 Bonne fte aux Jean ! 03/09 Aujourd'hui, c'est la St(e) Franoise. 03/10 N'oubliez pas les Vivien ! 03/10 Bonne fte aux Dominique ! 03/11 Aujourd'hui, c'est la St(e) Rosine. 03/12 N'oubliez pas les Justine ! 03/12 Bonne fte aux Maximilien ! 03/13 Aujourd'hui, c'est la St(e) Rodrigue. 03/13 N'oubliez pas les Salomon ! 03/13 Bonne fte aux Euphrasie ! 03/14 Aujourd'hui, c'est la St(e) Mathilde. 03/15 N'oubliez pas les Louise ! 03/16 Bonne fte aux Bndicte ! 03/16 Aujourd'hui, c'est la St(e) Benote. 03/16 N'oubliez pas les Julien ! 03/17 C'est la St Patrick ! 03/17 Aujourd'hui, c'est la St(e) Patrice. 03/18 N'oubliez pas les Cyrille ! 03/19 Bonne fte aux Joseph ! 03/20 Aujourd'hui, c'est la St(e) Herbert. 03/20 N'oubliez pas les Wulfran ! 03/21 Bonne fte aux Clmence ! 03/22 Aujourd'hui, c'est la St(e) La. 03/23 N'oubliez pas les Victorien ! 03/23 Bonne fte aux Turibio ! 03/24 Aujourd'hui, c'est la St(e) Catherine. 03/24 N'oubliez pas les Karine ! 03/26 Bonne fte aux Lara ! 03/26 Aujourd'hui, c'est la St(e) Ludger. 03/26 N'oubliez pas les Larissa ! 03/27 Bonne fte aux Habib ! 03/28 Aujourd'hui, c'est la St(e) Gontran. 03/29 N'oubliez pas les Gwladys ! 03/29 Bonne fte aux Eustase ! 03/30 Aujourd'hui, c'est la St(e) Amde. 03/31 N'oubliez pas les Benjamin ! 03/31 Bonne fte aux Benjamine ! 04/01 Votre fichier calendar est corrompu. 04/01 N'oubliez pas les Hugues ! 04/02 Bonne fte aux Sandrine ! 04/03 Aujourd'hui, c'est la St(e) Richard. 04/04 N'oubliez pas les Isidore ! 04/04 Bonne fte aux Benot ! 04/05 Aujourd'hui, c'est la St(e) Irne. 04/05 N'oubliez pas les Vincent ! 04/06 Bonne fte aux Marcellin ! 04/06 Aujourd'hui, c'est la St(e) Clestin. 04/06 N'oubliez pas les Guillaume ! 04/07 Bonne fte aux Jean-Baptiste ! 04/07 Aujourd'hui, c'est la St(e) Julienne. 04/08 N'oubliez pas les Perpet ! 04/08 Bonne fte aux Perpetuus ! 04/09 Aujourd'hui, c'est la St(e) Gautier. 04/09 N'oubliez pas les Jean ! 04/10 Bonne fte aux Fulbert ! 04/10 Aujourd'hui, c'est la St(e) Michel. 04/11 N'oubliez pas les Stanislas ! 04/11 Bonne fte aux Gemma ! 04/11 Aujourd'hui, c'est la St(e) Lon. 04/12 N'oubliez pas les Jules ! 04/12 Bonne fte aux Sabas ! 04/13 Aujourd'hui, c'est la St(e) Ida. 04/13 N'oubliez pas les Hermngilde ! 04/14 Bonne fte aux Maxime ! 04/14 Aujourd'hui, c'est la St(e) Lydwine. 04/14 N'oubliez pas les Bnzet ! 04/15 Bonne fte aux Pierre ! 04/16 Aujourd'hui, c'est la St(e) Benot. 04/17 N'oubliez pas les Anicet ! 04/17 Bonne fte aux Kateri ! 04/18 Aujourd'hui, c'est la St(e) Parfait. 04/19 N'oubliez pas les Emma ! 04/19 Bonne fte aux Elphge ! 04/20 Aujourd'hui, c'est la St(e) Odette. 04/20 N'oubliez pas les Agns ! 04/21 Bonne fte aux Anselme ! 04/22 Aujourd'hui, c'est la St(e) Alexandre. 04/22 N'oubliez pas les Soter ! 04/22 Bonne fte aux Caus ! 04/22 Aujourd'hui, c'est la St(e) Lonide. 04/23 N'oubliez pas les Georges ! 04/23 Bonne fte aux Pierre ! 04/24 Aujourd'hui, c'est la St(e) Fidle. 04/24 N'oubliez pas les Marie-Euphrasie ! 04/25 Bonne fte aux Marc ! 04/26 Aujourd'hui, c'est la St(e) Alida. 04/27 N'oubliez pas les Zita ! 04/27 Bonne fte aux Pierre ! 04/28 Aujourd'hui, c'est la St(e) Valrie. 04/28 N'oubliez pas les Louis-Marie ! 04/28 Bonne fte aux Paul ! 04/29 Aujourd'hui, c'est la St(e) Joseph-Benot. 04/29 N'oubliez pas les Hugues ! 04/30 Bonne fte aux Robert ! 04/30 Aujourd'hui, c'est la St(e) Catherine. 05/02 N'oubliez pas les Boris ! 05/03 Bonne fte aux Jacques ! 05/03 Aujourd'hui, c'est la St(e) Philippe. 05/04 N'oubliez pas les Sylvain ! 05/05 Bonne fte aux Judith ! 05/06 Aujourd'hui, c'est la St(e) Prudence. 05/07 N'oubliez pas les Gisle ! 05/09 Bonne fte aux Pacme ! 05/10 Aujourd'hui, c'est la St(e) Solange. 05/11 N'oubliez pas les Estelle ! 05/12 Bonne fte aux Achille ! 05/14 Aujourd'hui, c'est la St(e) Matthias. 05/15 N'oubliez pas les Denise ! 05/16 Bonne fte aux Honor ! 05/17 Aujourd'hui, c'est la St(e) Pascal. 05/18 N'oubliez pas les ric ! 05/19 Bonne fte aux Yves ! 05/19 Aujourd'hui, c'est la St(e) Yvonne. 05/20 N'oubliez pas les Bernardin ! 05/21 Bonne fte aux Constantin ! 05/22 Aujourd'hui, c'est la St(e) mile. 05/23 N'oubliez pas les Didier ! 05/24 Bonne fte aux Donatien ! 05/25 Aujourd'hui, c'est la St(e) Sophie. 05/26 N'oubliez pas les Brenger ! 05/28 Bonne fte aux Germain ! 05/29 Aujourd'hui, c'est la St(e) Aymard. 05/30 N'oubliez pas les Ferdinand ! 06/01 Bonne fte aux Justin ! 06/02 Aujourd'hui, c'est la St(e) Blandine. 06/03 N'oubliez pas les Kvin ! 06/04 Bonne fte aux Clotilde ! 06/05 Aujourd'hui, c'est la St(e) Igor. 06/06 N'oubliez pas les Norbert ! 06/07 Bonne fte aux Gilbert ! 06/08 Aujourd'hui, c'est la St(e) Mdard. 06/09 N'oubliez pas les Diane ! 06/11 Bonne fte aux Barnab ! 06/11 Aujourd'hui, c'est la St(e) Yolande. 06/12 N'oubliez pas les Guy ! 06/13 Bonne fte aux Antoine ! 06/14 Aujourd'hui, c'est la St(e) lise. 06/15 N'oubliez pas les Germaine ! 06/16 Bonne fte aux Jean-Franois ! 06/17 Aujourd'hui, c'est la St(e) Herv. 06/18 N'oubliez pas les Lonce ! 06/19 Bonne fte aux Romuald ! 06/20 Aujourd'hui, c'est la St(e) Silvre. 06/21 N'oubliez pas les Rodolphe ! 06/22 Bonne fte aux Alban ! 06/23 Aujourd'hui, c'est la St(e) Audrey. 06/24 N'oubliez pas les Jean-Baptiste ! 06/25 Bonne fte aux Prosper ! 06/26 Aujourd'hui, c'est la St(e) Anthelme. 06/27 N'oubliez pas les Fernand ! 06/28 Bonne fte aux Irne ! 06/29 Aujourd'hui, c'est la St(e) Paul. 06/29 N'oubliez pas les Pierre ! 06/30 Bonne fte aux Martial ! 07/01 Aujourd'hui, c'est la St(e) Thierry. 07/02 N'oubliez pas les Martinien ! 07/03 Bonne fte aux Thomas ! 07/04 Aujourd'hui, c'est la St(e) Florent. 07/05 N'oubliez pas les Antoine ! 07/06 Bonne fte aux Mariette ! 07/07 Aujourd'hui, c'est la St(e) Raoul. 07/08 N'oubliez pas les Thibaut ! 07/09 Bonne fte aux Amandine ! 07/10 Aujourd'hui, c'est la St(e) Ulrich. 07/11 N'oubliez pas les Benot ! 07/12 Bonne fte aux Olivier ! 07/13 Aujourd'hui, c'est la St(e) Henri. 07/13 N'oubliez pas les Jol ! 07/14 Bonne fte aux Camille ! 07/15 Aujourd'hui, c'est la St(e) Donald. 07/17 N'oubliez pas les Caroline ! 07/17 Bonne fte aux Charlotte ! 07/18 Aujourd'hui, c'est la St(e) Frdric. 07/19 N'oubliez pas les Arsne ! 07/20 Bonne fte aux Marina ! 07/21 Aujourd'hui, c'est la St(e) Victor. 07/22 N'oubliez pas les Marie-Madeleine ! 07/23 Bonne fte aux Brigitte ! 07/24 Aujourd'hui, c'est la St(e) Christine. 07/25 N'oubliez pas les Jacques ! 07/26 Bonne fte aux Anne ! 07/26 Aujourd'hui, c'est la St(e) Joachim. 07/27 N'oubliez pas les Nathalie ! 07/28 Bonne fte aux Samson ! 07/29 Aujourd'hui, c'est la St(e) Marthe. 07/30 N'oubliez pas les Juliette ! 07/31 Bonne fte aux Ignace ! 08/01 Aujourd'hui, c'est la St(e) Alphonse. 08/01 N'oubliez pas les Pierre ! 08/02 Bonne fte aux Julien ! 08/03 Aujourd'hui, c'est la St(e) Lydie. 08/03 N'oubliez pas les Pierre-Julien ! 08/04 Bonne fte aux Jean-Marie ! 08/04 Aujourd'hui, c'est la St(e) Dominique. 08/05 N'oubliez pas les Abel ! 08/05 Bonne fte aux Oswald ! 08/07 Aujourd'hui, c'est la St(e) Gatan. 08/08 N'oubliez pas les Dominique ! 08/08 Bonne fte aux Cyriaque ! 08/09 Aujourd'hui, c'est la St(e) Amour. 08/10 N'oubliez pas les Laurent ! 08/11 Bonne fte aux Claire ! 08/11 Aujourd'hui, c'est la St(e) Philomne. 08/12 N'oubliez pas les Clarisse ! 08/13 Bonne fte aux Hyppolite ! 08/13 Aujourd'hui, c'est la St(e) Radegonde. 08/14 N'oubliez pas les vrard ! 08/14 Bonne fte aux Maximilien ! 08/15 Aujourd'hui, c'est la St(e) Marie. 08/16 N'oubliez pas les Armel ! 08/16 Bonne fte aux Roch ! 08/17 Aujourd'hui, c'est la St(e) Hyacinthe. 08/18 N'oubliez pas les Hlne ! 08/19 Bonne fte aux Jean-Eudes ! 08/19 Aujourd'hui, c'est la St(e) Louis. 08/20 N'oubliez pas les Bernard ! 08/21 Bonne fte aux Christophe ! 08/21 Aujourd'hui, c'est la St(e) Jeanne. 08/22 N'oubliez pas les Fabrice ! 08/22 Bonne fte aux Symphorien ! 08/23 Aujourd'hui, c'est la St(e) Rose. 08/23 N'oubliez pas les Philippe ! 08/24 Bonne fte aux Barthlmy ! 08/25 Aujourd'hui, c'est la St(e) Louis. 08/26 N'oubliez pas les Natacha ! 08/26 Bonne fte aux Zphirin ! 08/26 Aujourd'hui, c'est la St(e) Eulade. 08/27 N'oubliez pas les Edwige ! 08/27 Bonne fte aux Monique et aux Joseph ! 08/28 Aujourd'hui, c'est la St(e) Augustin. 08/29 N'oubliez pas les Sabine ! 08/30 Bonne fte aux Fiacre ! 08/30 Aujourd'hui, c'est la St(e) Rose. 08/31 N'oubliez pas les Aristide ! 08/31 Bonne fte aux Raymond ! 09/01 Aujourd'hui, c'est la St(e) Gilles. 09/02 N'oubliez pas les Ingrid ! 09/03 Bonne fte aux Grgoire ! 09/04 Aujourd'hui, c'est la St(e) Rosalie. 09/05 N'oubliez pas les Rassa ! 09/06 Bonne fte aux Bertrand ! 09/07 Aujourd'hui, c'est la St(e) Reine. 09/09 N'oubliez pas les Alain ! 09/10 Bonne fte aux Ins ! 09/11 Aujourd'hui, c'est la St(e) Adelphe. 09/12 N'oubliez pas les Apollinaire ! 09/13 Bonne fte aux Aim ! 09/15 Aujourd'hui, c'est la St(e) Roland. 09/16 N'oubliez pas les dith ! 09/17 Bonne fte aux Renaud ! 09/18 Aujourd'hui, c'est la St(e) Nadge. 09/19 N'oubliez pas les milie ! 09/20 Bonne fte aux Davy ! 09/21 Aujourd'hui, c'est la St(e) Matthieu. 09/22 N'oubliez pas les Maurice ! 09/23 Bonne fte aux Constant ! 09/24 Aujourd'hui, c'est la St(e) Thcle. 09/25 N'oubliez pas les Hermann ! 09/26 Bonne fte aux Cme ! 09/26 Aujourd'hui, c'est la St(e) Damien. 09/27 N'oubliez pas les Vincent ! 09/28 Bonne fte aux Venceslas ! 09/29 Aujourd'hui, c'est la St(e) Michel. 09/29 N'oubliez pas les Raphal ! 09/30 Bonne fte aux Jrme ! 10/01 Aujourd'hui, c'est la St(e) Thrse. 10/02 N'oubliez pas les Lger ! 10/03 Bonne fte aux Grard ! 10/04 Aujourd'hui, c'est la St(e) Franois. 10/05 N'oubliez pas les Placide ! 10/05 Bonne fte aux Fleur ! 10/05 Aujourd'hui, c'est la St(e) Flore. 10/05 N'oubliez pas les Pquerette ! 10/05 Bonne fte aux Violette ! 10/05 Aujourd'hui, c'est la St(e) Pervenche. 10/05 N'oubliez pas les Anmone ! 10/05 Bonne fte aux Bluette ! 10/05 Aujourd'hui, c'est la St(e) Capucine. 10/05 N'oubliez pas les Dahlia ! 10/05 Bonne fte aux Myrtille ! 10/05 Aujourd'hui, c'est la St(e) Hortense. 10/05 N'oubliez pas les Violaine ! 10/05 Bonne fte aux Anne-Aymone ! 10/05 Aujourd'hui, c'est la St(e) Dalie. 10/06 N'oubliez pas les Bruno ! 10/06 Bonne fte aux Foy ! 10/07 Aujourd'hui, c'est la St(e) Serge. 10/08 N'oubliez pas les Plagie ! 10/26 Bonne fte aux Dmtrius ! 10/09 Aujourd'hui, c'est la St(e) Denis. 10/09 N'oubliez pas les Denys ! 10/10 Bonne fte aux Ghislain ! 10/10 Aujourd'hui, c'est la St(e) Ghislaine. 10/10 N'oubliez pas les Guislain ! 10/10 Bonne fte aux Guislaine ! 10/11 Aujourd'hui, c'est la St(e) Firmin. 10/11 N'oubliez pas les Gausbert ! 10/12 Bonne fte aux Wilfried ! 10/12 Aujourd'hui, c'est la St(e) Sraphin. 10/13 N'oubliez pas les Graud ! 10/14 Bonne fte aux Juste ! 10/14 Aujourd'hui, c'est la St(e) Calliste. 10/15 N'oubliez pas les Thrse ! 10/16 Bonne fte aux Edwige ! 10/16 Aujourd'hui, c'est la St(e) Marie-Marguerite. 10/17 N'oubliez pas les Baudoin ! 10/17 Bonne fte aux Ignace ! 10/18 Aujourd'hui, c'est la St(e) Luc. 10/19 N'oubliez pas les Ren ! 10/20 Bonne fte aux Adeline ! 10/20 Aujourd'hui, c'est la St(e) Aline. 10/20 N'oubliez pas les Line ! 10/21 Bonne fte aux Cline ! 10/21 Aujourd'hui, c'est la St(e) Hilarion. 10/22 N'oubliez pas les lodie ! 10/22 Bonne fte aux Nunillon ! 10/22 Aujourd'hui, c'est la St(e) Salom. 10/23 N'oubliez pas les Jean ! 10/24 Bonne fte aux Florentin ! 10/25 Aujourd'hui, c'est la St(e) Crpin. 10/25 N'oubliez pas les Crpinien ! 10/25 Bonne fte aux Chrysanthe ! 10/25 Aujourd'hui, c'est la St(e) Darie. 10/25 N'oubliez pas les Enguerran ! 10/26 Bonne fte aux Dimitri ! 10/26 Aujourd'hui, c'est la St(e) variste. 10/27 N'oubliez pas les meline ! 10/27 Bonne fte aux Didier ! 10/27 Aujourd'hui, c'est la St(e) Frumence. 10/28 N'oubliez pas les Jude ! 10/28 Bonne fte aux Judas ! 10/28 Aujourd'hui, c'est la St(e) Thadde. 10/28 N'oubliez pas les Simon ! 10/28 Bonne fte aux Simone (Simonne) ! 10/29 Aujourd'hui, c'est la St(e) Narcisse. 10/30 N'oubliez pas les Bienvenue ! 10/30 Bonne fte aux Dorothe ! 10/31 Aujourd'hui, c'est la St(e) Quentin. 10/31 N'oubliez pas les Alphonse ! 10/31 Bonne fte aux Wolfgang ! 11/03 Aujourd'hui, c'est la St(e) Hubert. 11/04 N'oubliez pas les Charles ! 11/04 Bonne fte aux Amans ! 11/05 Aujourd'hui, c'est la St(e) Sylvie. 11/05 N'oubliez pas les Sylvette ! 11/05 Bonne fte aux Sylviane ! 11/05 Aujourd'hui, c'est la St(e) Zacharie. 11/05 N'oubliez pas les lisabeth ! 11/06 Bonne fte aux Bertille ! 11/06 Aujourd'hui, c'est la St(e) Lonard. 11/06 N'oubliez pas les Winnoc ! 11/07 Bonne fte aux Carine ! 11/07 Aujourd'hui, c'est la St(e) Karine. 11/07 N'oubliez pas les Ernest ! 11/07 Bonne fte aux Ernst ! 11/07 Aujourd'hui, c'est la St(e) Willibrord. 11/08 N'oubliez pas les Geoffroy ! 11/09 Bonne fte aux Thodore ! 11/10 Aujourd'hui, c'est la St(e) Lon. 11/10 N'oubliez pas les Lontine ! 11/10 Bonne fte aux Lionel ! 11/11 Aujourd'hui, c'est la St(e) Martin. 11/12 N'oubliez pas les Christian ! 11/12 Bonne fte aux Josaphat ! 11/13 Aujourd'hui, c'est la St(e) Brice. 11/13 N'oubliez pas les Digo ! 11/13 Bonne fte aux Didace ! 11/14 Aujourd'hui, c'est la St(e) Sidoine. 11/14 N'oubliez pas les Sidonie ! 11/14 Bonne fte aux Srapion ! 11/15 Aujourd'hui, c'est la St(e) Albert. 11/16 N'oubliez pas les Marguerite ! 11/16 Bonne fte aux Gertrude ! 11/17 Aujourd'hui, c'est la St(e) lisabeth. 11/17 N'oubliez pas les lise ! 11/17 Bonne fte aux Lise ! 11/18 Aujourd'hui, c'est la St(e) Aude. 11/19 N'oubliez pas les Tanguy ! 11/19 Bonne fte aux Tanneguy ! 11/19 Aujourd'hui, c'est la St(e) Mechtilde. 11/19 N'oubliez pas les Mathilde ! 11/19 Bonne fte aux Patrocle ! 11/20 Aujourd'hui, c'est la St(e) Edmond. 11/20 N'oubliez pas les Octave ! 11/20 Bonne fte aux Adventor ! 11/20 Aujourd'hui, c'est la St(e) Solutor. 11/20 N'oubliez pas les Ambroise ! 11/20 Bonne fte aux Rutus ! 11/22 Aujourd'hui, c'est la St(e) Ccile. 11/22 N'oubliez pas les Clia ! 11/23 Bonne fte aux Clment ! 11/23 Aujourd'hui, c'est la St(e) Clmentine. 11/23 N'oubliez pas les Colomban ! 11/24 Bonne fte aux Augusta ! 11/24 Aujourd'hui, c'est la St(e) Flora. 11/25 N'oubliez pas les Catherine ! 11/24 Bonne fte aux Maria ! 11/26 Aujourd'hui, c'est la St(e) Delphine. 11/26 N'oubliez pas les Elzar ! 11/27 Bonne fte aux Sverin ! 11/27 Aujourd'hui, c'est la St(e) Sverine. 11/27 N'oubliez pas les Maxime ! 11/28 Bonne fte aux Jacques ! 11/29 Aujourd'hui, c'est la St(e) Saturnin. 11/29 N'oubliez pas les Sernin (Cernin) ! 11/29 Bonne fte aux Savourin ! 11/29 Aujourd'hui, c'est la St(e) Sornin. 11/30 N'oubliez pas les Andr ! 11/30 Bonne fte aux Andra ! 12/01 Aujourd'hui, c'est la St(e) Florence. 12/01 N'oubliez pas les loi ! 12/01 Bonne fte aux Airy ! 12/02 Aujourd'hui, c'est la St(e) Viviane. 12/03 N'oubliez pas les Franois-Xavier ! 12/03 Bonne fte aux Xavier ! 12/03 Aujourd'hui, c'est la St(e) Eugne. 12/04 N'oubliez pas les Barbara ! 12/04 Bonne fte aux Barbe ! 12/05 Aujourd'hui, c'est la St(e) Grald. 12/05 N'oubliez pas les Graldine ! 12/05 Bonne fte aux Graud ! 12/05 Aujourd'hui, c'est la St(e) Sabas. 12/06 N'oubliez pas les Nicolas ! 12/07 Bonne fte aux Ambroise ! 12/09 Aujourd'hui, c'est la St(e) Pierre. 12/10 N'oubliez pas les Romaric ! 12/10 Bonne fte aux Eulalie ! 12/10 Aujourd'hui, c'est la St(e) Melchaide. 12/10 N'oubliez pas les Miltiade ! 12/11 Bonne fte aux Daniel ! 12/11 Aujourd'hui, c'est la St(e) Damase. 12/12 N'oubliez pas les Chantal ! 12/13 Bonne fte aux Lucie ! 12/13 Aujourd'hui, c'est la St(e) Rolande. 12/13 N'oubliez pas les Aurore ! 12/14 Bonne fte aux Odile ! 12/15 Aujourd'hui, c'est la St(e) Ninon. 12/15 N'oubliez pas les Nina ! 12/15 Bonne fte aux Christiane ! 12/15 Aujourd'hui, c'est la St(e) Christina. 12/16 N'oubliez pas les Alice ! 12/16 Bonne fte aux Adlade ! 12/16 Aujourd'hui, c'est la St(e) vrard. 12/16 N'oubliez pas les berhard ! 12/17 Bonne fte aux Gal ! 12/17 Aujourd'hui, c'est la St(e) Lazare. 12/17 N'oubliez pas les Olympe ! 12/17 Bonne fte aux Olympias ! 12/17 Aujourd'hui, c'est la St(e) Judical. 12/18 N'oubliez pas les Gatien ! 12/18 Bonne fte aux Winebald ! 12/19 Aujourd'hui, c'est la St(e) Urbain. 12/20 N'oubliez pas les Abraham ! 12/20 Bonne fte aux Thophile ! 12/21 Aujourd'hui, c'est la St(e) Pierre. 12/22 N'oubliez pas les Franoise-Xavire ! 12/22 Bonne fte aux Flavien ! 12/23 Aujourd'hui, c'est la St(e) Armand. 12/24 N'oubliez pas les Adle ! 12/24 Bonne fte aux Charbel ! 12/25 Aujourd'hui, c'est la St(e) Emmanuel. 12/25 N'oubliez pas les Emmanuelle ! 12/25 Bonne fte aux Nol ! 12/26 Aujourd'hui, c'est la St(e) tienne. 12/26 N'oubliez pas les Stphane ! 12/26 Bonne fte aux Stphanie ! 12/27 Aujourd'hui, c'est la St(e) Jean. 12/27 N'oubliez pas les Yann ! 12/28 Bonne fte aux Innocents ! 12/29 Aujourd'hui, c'est la St(e) David. 12/30 N'oubliez pas les Roger ! 12/31 Bonne fte aux Sylvestre ! #endif /*! _fr_FR_ISO8859_1_fetes */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.french0000664000000000000000000000026112665277472024633 0ustar /* * French calendar file(s) * * $FreeBSD$ */ #ifndef _calendar_french_ #define _calendar_french_ #include #endif /* !_calendar_french_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.proverbes0000664000000000000000000002337512665277472025410 0ustar /* * Proverbes lis au calendrier * * $FreeBSD$ */ #ifndef _fr_FR_ISO8859_1_proverbes_ #define _fr_FR_ISO8859_1_proverbes_ LANG=fr_FR.ISO8859-1 /* Janvier */ 01/01 Calme et claire nuit de l'an bonne anne donne l'lan. 01/02 Janvier d'eau chiche Fait le paysan riche. 01/04 Un mois de janvier sans gele N'amne jamais une bonne anne. 01/06 Pluie aux Rois, Bl jusqu'au toit. 01/08 Janvier sec et sage Est un bon prsage. 01/09 Saint Julien brise la glace; S'il ne la brise, c'est qu'il l'embrasse. 01/10 Beau temps la saint Guillaume Donne plus de bl que de chaume. 01/13 Soleil au jour de saint Hilaire, Fends du bois pour ton hiver. 01/14 Pingouin dans les champs, Hiver mchant. 01/15 S'il gle la saint Maur, La moiti de l'hiver est dehors. 01/18 la saint Pierre, L'hiver s'en va ou se resserre. 01/20 S'il gle la saint Sbastien, L'hiver s'en va ou revient. 01/22 Pour saint Vincent, L'hiver perd ses dents Ou les retrouve pour longtemps. 01/24 S'il tonne en janvier, Monte les barriques au grenier. 01/25 Le jour de saint Paul, L'hiver se rompt le col. 01/31 Janvier fait le pch, Mars en est accus. /* Fvrier */ 02/01 la saint Ignace, L'eau est de glace. 02/02 Chandeleur claire, hiver derrire; Chandeleur trouble, hiver redouble. 02/03 la saint Blaise, L'hiver s'apaise, Mais s'il redouble et s'il reprend, Longtemps aprs on s'en ressent. 02/05 Pour la sainte Agathe, sme ton oignon, Ft-il dans la glace, il deviendra bon. 02/09 la sainte Apolline Bien souvent l'hiver nous quitte. 02/12 Si le soleil rit la sainte Eulalie, Pommes et cidre la folie. 02/14 la saint Valentin, Tous les vents sont marins. 02/16 Pluie de fvrier la terre vaut du fumier. 02/18 Fvrier trop doux, Printemps en courroux. 02/20 La neige de fvrier Brle le bl. 02/22 Neige la sainte Isabelle Fait la fleur plus belle. 02/24 Saint Mathias Casse la glace; S'il n'y en a pas, Il en fera. 02/27 Gele de la sainte Honorine Rend toute la valle chagrine. 02/28 Fleur de fvrier Va mal au pommier. /* Mars */ 03/01 Taille la saint Aubin Donnera de gros raisins. 03/02 Quand mars mouillera, Bien du vin tu auras. 03/03 Soit au dbut, soit la fin, Mars nous montre son venin. 03/06 la sainte Colette Commence chanter l'alouette. 03/08 Quand en mars il tonne, L'anne sera bonne. 03/10 Mars venteux, Vergers pommeux. 03/12 la saint Grgoire, Il faut tailler la vigne pour boire. 03/13 Poussire de mars Est poussire d'or... 03/15 Pluie de mars grandit l'herbette Et souvent annonce disette. 03/17 S'il fait doux la saint Patrice, De leurs trous sortent les crevisses. 03/19 Pour saint Joseph, L'hirondelle va et vient. 03/21 S'il pleut la saint Benot, Il pleut trente-sept jours plus trois. 03/23 Quand glace il gle la saint Victorien, En pches et en abricots il n'y a rien. 03/25 Quand fleurs en mars il y aura, Gure de fruits ne mangeras. 03/28 la saint Gontran, si la temprature est belle, Arrivent les premires hirondelles. 03/30 Quand mars se dguise en t, Avril prend ses habits fourrs. 03/31 la saint Benjamin, Le mauvais temps prend fin. /* Mobiles */ Easter-7 Le propre jour des Rameaux Sme oignons et poireaux. Easter-3 La gele du jeudi saint Gle le sarrasin. Easter-2 Gele du vendredi saint Gle le pain et le vin. Easter S'il pleut Pques, Il pleut pendant quarante jours. Easter Pques en mars, Pestes, guerres ou famines. Easter+36 Haricots de rogations Rendent foison. Easter+37 Belles rogations, Belles moissons. Easter+39 S'il pleut l'Ascension, Tout va en perdition. Easter+49 La Pentecte Donne les fruits, ou les te. Easter+56 S'il pleut la Trinit, Il pleut tous les jours de l'anne. /* Avril */ 04/01 Avril entrant, Coucou chantant, Sonnailles tintant. 04/05 Avril fait la fleur, Mai en a l'honneur. 04/10 Il n'est point d'avril si beau Qu'il n'ait de neige son chapeau. 04/15 En avril, ne te dcouvre pas d'un fil; En mai, fais ce qu'il te plat; En juin, de trois habits n'en garde qu'un. 04/17 Orage en avril, Prpare tes barrils. 04/19 la sainte Lonide Chaque bl pousse rapide. 04/22 Pluie la sainte Opportune, Ni cerises ni prunes. 04/23 la saint Georges, Sme ton orge, la saint Marc, Il est trop tard. 04/25 la saint Marc, s'il tombe de l'eau, Il n'y aura pas de fruits couteau. 04/28 Avril pluvieux et mai venteux Ne rendent pas le paysan disetteux. 04/30 La pluie la saint Robert De bon vin emplira ton verre. /* Mai */ 05/03 Les trois saints au sang de navet, Pancrace, Mamert et Servais, Sont bien nomms les saints de glace, Mamert, Servais et Pancrace. 05/15 la sainte Denise, Le froid n'en fait plus sa guise. 05/16 la saint Honor, S'il fait gele, Le vin diminue de moiti. 05/18 Bon fermier sainte Juliette Doit vendre ses poulettes. 05/22 Beau temps la sainte milie Donne du fruit la folie. 05/23 Qui sme haricots la saint Didier Les arrachera poignes. /* Juin */ 06/08 S'il pleut la saint Mdard, Il pleut quarante jours plus tard, moins que saint Barnab Ne vienne l'arrter. 06/11 la saint Barnab, Fauche ton pr. 06/16 Si le jour de saint Fargeau La lune se fait dans l'eau, Le reste du mois est beau. 06/19 S'il pleut la saint Gervais, Il pleut quarante jours aprs. 06/20 Pluie d'orage la saint Sylvre, C'est beaucoup de vin dans le verre. 06/24 S'il pleut la saint Jean, Gure de vin ni de pain. 06/25 Aprs la saint Jean, si le coucou chante, L'anne sera rude et mchante. 06/29 S'il pleut la veille de la saint Pierre, La vigne est rduite du tiers. /* Juillet */ 07/02 S'il pleut la Visitation, Pluie discrtion. 07/03 la saint Anatole, Confiture dans la casserole. 07/06 Juillet sans orage, Famine au village. 07/10 Petite pluie de juillet ensoleill Emplit caves et greniers. 07/13 Quand reviendra la saint Henri, Tu planteras ton cleri. 07/16 Qui veut des beaux navets Les sme en juillet. 07/20 la sainte Marguerite, pluie Jamais au paysan ne souris; Mais pluie la sainte Anne, Pour lui c'est de la manne. 07/21 S'il pleut la saint Victor, La rcolte n'est pas d'or. 07/22 S'il pleut la sainte Madeleine, Il pleuvra durant six semaines. 07/25 Si saint jacques est serein, L'hiver sera d et serein. 07/26 Pour la sainte Anne, s'il pleut, Trente jours seront pluvieux. /* Aot */ August Sun+2 En aot et vendanges, il n'y a ni ftes ni dimanches. 08/02 S'il pleut au mois d'aot, Les truffes sont au bout. 08/04 Aot donne got. 08/06 Soleil rouge en aot, C'est de la pluie partout. 08/10 Qui sme la saint Laurent Y perd la graine et puis le temps. 08/13 S'il pleut la sainte Radegonde, Misre abonde sur le monde. 08/15 Pluie de l'Assomption, Huit jours de mouillon. 08/16 De saint Roch la grande chaleur Prpare du vin la couleur. 08/18 Temps trop beau en aot Annonce hiver en courroux. 08/20 Brumes d'aot font passer les chtaignes. 08/22 Jamais d'aot la scheresse N'amnera la richesse. 08/24 la saint Barthlmy, Paie to d. 08/28 Fine pluie la saint Augustin, C'est comme s'il pleuvait du vin. 08/29 Quand les hirondelles voient la saint Michel, L'hiver ne vient qu' Nol. /* Septembre */ 09/01 Pluie de la saint Gilles ruine les glands. 09/05 Septembre humide, Pas de tonneau vide. 09/11 Tu peux semer sans crainte Quand arrive la saint Hyacinthe. 09/15 La rose de saint Albin est, dit-on, rose de vin. 09/19 Qui sme la saint Janvier De l'an rcolte le premier. 09/21 Si Matthieu pleure au lieu de rire, Le vin en vinaigre vire. 09/22 Semis de saint Maurice, Rcolte ton caprice. 09/23 Septembre se nomme Le mai de l'automne. 09/25 la saint Firmin L'hiver est en chemin. 09/29 Pluie de saint Michel sans orage D'un hiver doux est le prsage. 09/30 la saint Jrme, Hoche tes pommes. /* Octobre */ 10/02 la saint Lger, Faut s'purger! 10/04 Sme la saint Franois, Ton bl aura plus de poids. 10/09 Beau temps la saint Denis, Hiver pourri. 10/13 En octobre, qui ne fume rien Ne rcolte rien. 10/16 Coupe ton chou la saint Gall, En hiver c'est un rgal. 10/18 la saint Luc, sme dru, Ou ne sme plus. 10/23 Gele d'octobre Rend le vigneron sobre. 10/25 Pour saint Crpin, mort aux mouches. 10/28 la sainte Simone, Il faut avoir rentr ses pommes. 10/31 Quand octobre prend sa fin, Dans la cave est le vin. /* Novembre */ 11/01 la Toussaint commence l't de la saint Martin. 11/02 Telle Toussaint, tel Nol, Et Pques pareil. 11/04 la saint Charles, La gele parle. 11/08 En novembre, s'il tonne, L'anne sera bonne. 11/11 Si l'hiver va droit son chemin, Vous l'aurez la saint Martin, Mais s'il trouve quelque encombre, Vous l'aurez la saint Andr. 11/11 Tue ton cochon la saint Martin Et invite ton voisin. 11/19 Sainte lisabeth nous montre quel bonhomme sera l'hiver. 11/22 Pour sainte Ccile, Chaque haricot en fait mille. 11/23 Quand l'hiver vient doucement, Il est l la saint Clment. 11/25 Sainte Catherine, toute fille veut la fter, Mais aucune ne veut la coiffer. 11/25 Quand sainte Catherine au ciel fait la moue, Il faut patauger longtemps dans la boue. 11/30 Quand l'hiver n'est pas press, Il arrive la saint Andr. /* Dcembre */ 12/SundayFirst Tel avent, Tel printemps. 12/06 Neige de saint Nicolas Donne froid pour trois mois. 12/07 la saint Ambroise, Du froid pour huit jours. 12/10 la sainte Julie, Le soleil ne quitte pas son lit. 12/13 la sainte Luce, Le jour crot du saut d'une puce. 12/16 Dcembre de froid trop chiche Ne fait pas le paysan riche. 12/21 S'il gle la saint Thomas, Il glera encore trois mois. 12/23 Le tonnerre en dcembre Annonce pour l'an qui vient Aux btes et aux gens Abondance de biens. 12/25 Nol au balcon, Pques au tison. 12/26 la saint tienne, Chacun trouve la sienne. 12/28 Les jours entre Nol et les Rois Indiquent le temps des douze mois. #endif /*! _fr_FR_ISO8859_1_proverbes_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.music0000664000000000000000000003130012665277472022361 0ustar /* * Music * * $FreeBSD$ */ #ifndef _calendar_music_ #define _calendar_music_ 01/01 Country Joe McDonald is born in El Monte, California, 1942 01/03 Steven Stills is born in Dallas, 1945 01/04 Jazz great Charlie Mingus dies at 57 in Cuernavaca, Mexico, 1979 01/08 David Bowie (then David Robert Jones) is born in London, 1947 01/08 Elvis Presley born, 1935 01/09 James Patrick Page (Led Zeppelin) is born in Middlesex, England, 1945 01/10 Blues guitarist Howlin' Wolf dies in Chicago, 1976 01/10 Jim Croce is born in Philadelphia, 1943 01/10 Pat Benatar is born in Long Island, 1952 01/10 Rod Stewart is born in Glasgow, Scotland, 1945 01/13 Eric Clapton plays the "Rainbow Concert" in London, 1973 01/17 Led Zeppelin's first album is released, 1969 01/19 Janis Joplin is born in Port Arthur, Texas, 1943 01/22 Sam Cooke is born in Chicago, 1935 01/24 Warren Zevon is born in Chicago, 1947 01/25 Bob Dylan plays the second "Hurricane" benefit, in the Astrodome, 1978 01/27 Bobby "Blue" Bland (Robert Calvin Bland) is born in Tennessee, 1930 01/27 Wolfgang Amadeus Mozart is born in Salzburg, Austria, 1756 01/28 Jimi Hendrix headlines Madison Square Garden, 1970 01/30 Lightnin' Hopkins, the most-recorded blues artist ever, dies, 1982 01/31 Franz Schubert is born in Lichtenthal, Vienna, Austria, 1797 01/31 The Grateful Dead are busted in New Orleans, 1970 02/01 RCA Victor unveils the 45 rpm record playing system, 1949 02/02 Graham Nash is born in Lancashire, England, 1942 02/03 Felix Mendelssohn Bartholdy is born in Hamburg, Germany, 1809 02/03 The Day The Music Died; Buddy Holly, Richie Valens, and the Big Bopper are killed in a plane crash outside Mason City, Iowa, 1959 02/07 Beatles land at JFK airport to begin first U.S. tour, 1964 02/07 Steven Stills makes the first digitally recorded rock album, 1979 02/09 Carole King (Carole Klein) is born in Brooklyn, 1941 02/12 The Beatles play Carnegie Hall in New York City, 1964 02/13 Richard Wagner dies in Venice, Italy, 1883 02/17 Jazz great Thelonius Monk dies in Englewood, New Jersey, 1982 02/18 Yoko Ono Lennon is born in Tokyo, 1933 02/19 Paul McCartney's "Give Ireland Back to the Irish" is banned in Britain, 1972 02/19 William "Smokey" Robinson is born in Detroit, 1940 02/20 J. Geils (J. Geils Band) is born, 1946 02/20 Yes sells out Madison Square Garden...without advertising, 1974 02/23 George Friedrich Handel is born in Halle on the Saale, Germany, 1685 02/23 Johnny Winter is born in Leland, Mississippi, 1944 02/25 George Harrison born in Liverpool, England, 1943 02/29 Jimmy Dorsey born, 1904 03/01 Frederic Chopin is born in Zelazowa Wola, Warsaw, Poland, 1810 03/01 Jim Morrison is busted for obscenity in Miami, 1969 03/02 Blues guitarist Rory Gallagher is born in Ballyshannon, Ireland, 1949 03/03 Buffalo Springfield is formed in Los Angeles, 1966 03/04 Antonio Vivaldi born in Venice, Italy, 1678 03/07 Last Gilbert & Sullivan opera produced, 1896 03/08 Ron "Pigpen" McKernan (Grateful Dead) dies in California, 1973 03/08 (Louis) Hector Berlioz dies in Paris, 1869 03/09 Robin Trower is born in London, 1945 03/13 The Allman Brothers record their live album at the Fillmore East, 1971 03/15 Sly Stone born, 1944 03/17 Paul Kantner (Jefferson Airplane) is born in San Francisco, 1942 03/21 Johann Sebastian Bach is born in Eisenach, Germany, 1685 03/22 Ten Years After plays their last concert, 1974 03/25 Aretha Franklin is born in Detroit, 1943 03/25 Bela Bartok is born in Nagyszentmiklos, Hungary, 1881 03/26 Emerson, Lake, and Palmer record "Pictures at an Exhibition" live, 1971 03/26 Ludwig van Beethoven dies in Vienna, Austria, 1827 03/28 Sergej Rachmaninow dies in Beverley Hills, 1943 03/29 Carl Orff dies in Munich, Germany, 1982 03/29 Dr. Hook gets a group picture on the cover of "Rolling Stone", 1973 03/30 Eric Clapton is born in Surrey, England, 1945 03/31 Joseph Haydn is born in Rohrau, Austria, 1732 04/01 Sergej Rachmaninow is born in Oneg, Russia, 1873 04/02 Marvin Gaye is born in Washington, D.C., 1939 04/04 Muddy Waters (McKinley Morganfield) is born in Rolling Fork, Mississippi, 1915 04/09 Paul Robeson born, 1898 04/10 Paul McCartney announces that he's quitting the Beatles, 1970 04/14 George Friedrich Handel dies in London, England, 1759 04/14 Ritchie Blackmore (Deep Purple, Rainbow) is born, 1945 04/18 Yes breaks up after 13 years, 1981 04/25 Blues guitarist Albert King is born, 1925 04/25 Ella Fitzgerald born, 1918 04/26 Carol Burnett born in San Antonio, Texas, 1933 04/29 "Hair" premiers on Broadway, 1968 05/01 Kate Smith born, 1909 05/01 Antonin Dvorak dies in Prague, 1904 05/03 Bob Seger is born in Ann Arbor, Michigan, 1945 05/07 Johannes Brahms is born in Hamburg, Germany, 1833 05/07 Tchaikowsky born, 1840 05/10 Dave Mason is born in Worcester, England, 1945 05/11 Bob Marley dies in his sleep in Miami, 1981 05/12 Pink Floyd performs the first quadrophonic concert, 1977 05/18 Gustav Mahler dies in Vienna, Austria, 1911 05/18 Rick Wakeman is born in West London, England, 1949 05/19 Pete Townshend is born in London, 1945 05/20 The Jimi Hendrix Experience is signed by Reprise Records, 1967 05/22 Richard Wagner is born in Leipzig, Germany, 1813 05/23 Blues great Elmore James dies, 1963 05/24 Bob Dylan (Robert Zimmerman) is born in Duluth, 1941 05/26 Al Jolson born, 1886 05/31 Joseph Haydn dies in Vienna, Austria, 1809 05/31 The Who perform the loudest concert ever -- 76,000 watts of PA, 1976 06/01 The Beatles release "Sgt. Pepper", 1967 06/03 Georges Bizet dies in Bougival, Paris, France, 1875 06/05 Carl Maria von Weber dies in London, England, 1826 06/06 "Rock Around The Clock" makes Billboard's #1 slot, 1955 06/06 Dee Dee Ramone dies, 2002 06/07 Blind Faith debuts in concert at London's Hyde Park, 1969 06/08 Robert Schumann is born in Zwickau, Germany, 1810 06/09 Les Paul (Lester Polfus) is born in Waukesha, Wisconsin, 1923 06/10 Howlin' Wolf (Chester Burnett) is born in West Point, Mississippi, 1910 06/10 Judy Garland born, 1922 06/11 Richard Strauss is born in Munich, Germany, 1864 06/15 Edvard Grieg is born in Bergen, Norway, 1843 06/15 Harry Nilsson is born in Brooklyn, 1941 06/16 The Monterey Pop festival opens, 1967 06/18 Paul McCartney born in Liverpool, England, 1942 06/21 Columbia records announces the first mass production of LP's, 1948 06/22 Todd Rundgren is born in Upper Darby, Pennsylvania, 1948 06/24 Jeff Beck is born in Surrey, England, 1944 06/27 John Entwistle dies in Las Vegas, 2002 07/02 Felix Pappalardi and Leslie West form Mountain, 1969 07/03 Jim Morrison dies in Paris, 1971 07/06 The Jefferson Airplane is formed in San Francisco, 1965 07/07 Gustav Mahler is born in Kalischt, Bohemia, 1860 07/07 Ringo Starr (Richard Starkey) born in Liverpool, England, 1940 07/10 Carl Orff is born in Munich, Germany, 1895 07/12 Chicago DJ Steve Dahl holds "Disco Demolition" at Kamisky Park, 1979 07/14 Woodie Guthrie born, 1912 07/16 Cream forms in the U.K., 1966 07/16 Harry Chapin dies on Long Island Expressway, 1981 07/17 "Yellow Submarine" premieres at the London Pavilion, 1968 07/20 Carlos Santana is born in Autlan, Mexico, 1947 07/25 Bob Dylan goes electric at the Newport Folk Festival, 1965 07/25 Crosby, Stills, Nash & Young debut at the Fillmore East, 1969 07/26 Mick Jagger is born in Kent, England, 1943 07/28 Antonio Vivaldi dies in Vienna, 1741 07/28 Johann Sebastian Bach dies in Leipzig, 1750 07/28 The Watkins Glen "Summer Jam" opens, 1973 07/29 Robert Schumann dies in Endenich, Bonn, Germany, 1856 08/01 The Concert for Bangla Desh takes place at Madison Square Garden, 1971 08/04 John Lennon points out that "the Beatles are more popular than Jesus", 1966 08/10 Ian Anderson (Jethro Tull) is born in Edinburgh, Scotland, 1947 08/13 Dan Fogelberg is born in Peoria, Illinois, 1951 08/15 Beatles replace drummer Pete Best with Richard Starkey, 1962 08/15 The Beatles play Shea Stadium in New York, 1965 08/15 Woodstock Festival, Max Yasgur's farm, 1969 08/16 Elvis Presley dies, 1977 08/16 Madonna Louise Ciccone born in Bay City, Michigan, 1958 08/21 Joe Strummer (The Clash), born John Mellor in Ankara, Turkey, 1952 08/23 Keith Moon is born in London, England, 1946 08/26 Jimi Hendrix gives his last performance at the Isle of Wight, 1970 08/26 Jimi Hendrix's Electric Ladyland Studios opens in New York, 1970 09/04 Edvard Grieg dies in Bergen, Norway, 1907 09/07 Keith Moon (The Who) dies in London of a drug overdose, 1978 09/07 Warren Zevon dies in Los Angeles of lung cancer (mesothelioma), 2003 09/08 Antonin Dvorak born in Nelahozeves, Bohemia, 1841 09/08 Richard Strauss dies in Garmisch-Partenkirchen, Germany, 1949 09/08 Ron "Pigpen" McKernan (Grateful Dead) is born in San Bruno, California, 1945 09/14 Francis Scott Key writes words to "Star Spangled Banner", 1814 09/16 B.B. King is born in Itta Bena, Mississippi, 1925 09/18 Dee Dee Ramone (Douglas Colvin) born in Fort Lee, Virginia, 1952 09/19 Simon & Garfunkel reunite to play New York's Central Park, 1981 09/20 Jim Croce dies in a plane crash, 1973 09/23 "Paul is dead" rumors sweep the country, 1969 09/23 Bruce "The Boss" Springsteen is born in Freehold, New Jersey, 1949 09/25 John Bonham (Led Zeppelin) dies of alcohol poisoning, 1980 09/26 Bela Bartok dies in New York, 1945 09/26 George Gershwin is born in Brooklyn, NY, 1898 10/04 Janis Joplin dies of a heroin overdose in Hollywood, 1970 10/05 Steve Miller is born in Dallas, 1943 10/07 First Bandstand (later, American Bandstand) broadcast, 1957 10/09 John Entwistle is born in London, England, 1944 10/09 John Lennon born in Liverpool, England, 1940 10/10 John Prine is born in Maywood, Illinois, 1946 10/12 Ray Conniff dies after falling down and hitting his head, 2002 10/12 The Jimi Hendrix Experience is formed in London, 1966 10/16 Bob Weir (Grateful Dead) is born in San Francisco, 1947 10/17 "Hair" opens at New York's Public Theater, 1967 10/17 Frederic Chopin dies in Paris, France, 1849 10/18 Chuck Berry is born in St. Louis, Missouri, 1926 10/20 Three members of Lynyrd Skynyrd die in a plane crash, 1977 10/21 Jesus Christ Super Star debuted on Broadway, 1971 10/22 Franz Liszt born, 1811 10/22 Pablo Casals dies in Puerto Rico, 1973 10/25 Georges Bizet is born in Paris, France, 1838 10/25 Jon Anderson (Yes) is born in Lancashire, England, 1944 10/25 The Rolling Stones appear on The Ed Sullivan Show, 1964 10/29 Duane Allman dies in motorcycle crash near Macon, Georgia, 1971 10/30 Grace Slick is born in Chicago, 1939 11/02 Jimi Hendrix's "Electric Ladyland" enters US charts at #1, 1968 11/02 Keith Emerson is born, 1944 11/03 James Taylor and Carly Simon are married in Manhattan, 1972 11/04 Felix Mendelssohn Bartholdy dies in Leipzig, Germany, 1847 11/06 Ray Conniff born in Attleboro, Massachusetts, 1916 11/07 Joni Mitchell (Roberta Joan Anderson) is born in Alberta, Canada, 1943 11/08 Patti Page born, 1927 11/09 The first issue of "Rolling Stone" is published, 1967 11/10 Greg Lake is born in Bournemouth, England, 1948 11/12 Neil Young is born in Toronto, 1945 11/13 Paul Simon born, 1942 11/16 Bill Ham first demonstrates his psychedelic "Light Show", 1965 11/18 Carl Maria von Weber is born in Eutin, Germany, 1786 11/19 Franz Schubert dies in Vienna, Austria, 1828 11/20 Duane Allman is born in Nashville, Tennessee, 1946 11/20 Joe Walsh is born in Cleveland, 1947 11/22 Saint Cecilia's day (patron saint of music) 11/24 Scott Joplin born, 1868 11/25 "The Last Waltz" concert is played by The Band at Winterland, 1976 11/25 Johann Strauss, Jr., writes `On the Beautiful Blue Danube', 1867 11/26 Cream performs their farewell concert at Royal Albert Hall, 1968 11/26 Paul Hindemith is born in Hanau, Germany, 1895 11/27 Jimi Hendrix (Johnny Allen Hendrix) is born in Seattle, 1942 11/29 Pau Casals born in Vendrell, 1876 11/30 George Harrison dies at 13:30 in L.A., 2001 12/04 Frank Zappa dies in his Laurel Canyon home shortly before 18:00, 1993 12/05 Wolfgang Amadeus Mozart dies in Vienna, Austria, 1791 12/06 First sound recording made by Thomas Edison, 1877 12/06 The Rolling Stones play Altamont Speedway near San Francisco, 1969 12/07 Harry Chapin is born in New York City, 1942 12/08 Jim Morrison is born in Melbourne, Florida, 1943 12/08 John Lennon is shot and killed in New York City, 1980 12/09 The Who's "Tommy" premieres in London, 1973 12/11 (Louis) Hector Berlioz born in La-Cte-Saint-Andr, 1803 12/13 Ted Nugent, the motor city madman, born in Detroit, 1949 12/15 Thomas Edison receives patent on the phonograph, 1877 12/16 Don McLean's "American Pie" is released, 1971 12/17 Ludwig van Beethoven is christened in Bonn, 1770 12/21 Frank Zappa is born in Baltimore, 1940 12/23 First G&S collaboration, Thespis, 1871 12/23 Joe Strummer (born John Mellor) dies in Broomfield, England, 2002 12/28 Edgar Winter is born in Beaumont, Texas, 1946 12/28 Paul Hindemith dies in Frankfurt/Main, Germany, 1963 12/31 Jimi Hendrix introduces the Band of Gypsies at the Fillmore East, 1969 #endif /* !_calendar_music_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.ukrainian0000664000000000000000000000027012665277472023224 0ustar /* * Ukrainian calendar files * * $FreeBSD$ */ #ifndef _calendar_ukrainian_ #define _calendar_ukrainian_ #include #endif /* !_calendar_ukrainian_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.lotr0000664000000000000000000000246212665277472022230 0ustar /* * Lord Of The Rings * * $FreeBSD$ */ #ifndef _calendar_lotr_ #define _calendar_lotr_ 01/05 Fellowship enters Moria 01/09 Fellowship reaches Lorien 01/17 Passing of Gandalf 02/07 Fellowship leaves Lorien 02/17 Death of Boromir 02/20 Meriadoc & Pippin meet Treebeard 02/22 Passing of King Ellesar 02/24 Ents destroy Isengard 02/26 Aragorn takes the Paths of the Dead 03/05 Frodo & Samwise encounter Shelob 03/08 Deaths of Denethor & Theoden 03/18 Destruction of the Ring 03/29 Flowering of the Mallorn 04/04 Gandalf visits Bilbo 04/17 An unexpected party 04/23 Crowning of King Ellesar 05/19 Arwen leaves Lorian to wed King Ellesar 06/11 Sauron attacks Osgilliath 06/13 Bilbo returns to Bag End 06/23 Wedding of Ellesar & Arwen 07/04 Gandalf imprisoned by Saruman 07/24 The ring comes to Bilbo 07/26 Bilbo rescued from Wargs by Eagles 08/03 Funeral of King Theoden 08/29 Saruman enters the Shire 09/10 Gandalf escapes from Orthanc 09/14 Frodo & Bilbo's birthday 09/15 Black riders enter the Shire 09/18 Frodo and company rescued by Bombadil 09/28 Frodo wounded at Weathertop 10/05 Frodo crosses bridge of Mitheithel 10/16 Boromir reaches Rivendell 10/17 Council of Elrond 10/25 End of War of the Ring 11/16 Bilbo reaches the Lonely Mountain 12/05 Death of Smaug 12/16 Fellowship begins Quest #endif /* !_calendar_lotr_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.french0000664000000000000000000000026112665277472022510 0ustar /* * French calendar file(s) * * $FreeBSD$ */ #ifndef _calendar_french_ #define _calendar_french_ #include #endif /* !_calendar_french_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.usholiday0000664000000000000000000000256012665277472023250 0ustar /* * USA holiday * * $FreeBSD$ */ #ifndef _calendar_usholiday_ #define _calendar_usholiday_ 01/01 New Year's Day 01/14 Julian Calendar New Year's Day 02/02 Groundhog Day 02/14 St. Valentine's Day 02/MonThird President's Day (3rd Monday of February) 03/05 Mother-in-Law Day, USA 03/SunSecond Daylight Savings Time begins in USA; clocks move forward (2nd Sunday of March) 03/17 St. Patrick's Day 03/20* Vernal Equinox 04/01 April Fool's Day 04/15 Income Tax Day, USA. 04/28* Arbor Day, USA (varies from state to state) 05/SunSecond Mother's Day (2nd Sunday of May) 05/SatThird Armed Forces in USA Day (3rd Saturday of May) 05/MonLast Memorial Day in USA (Last Monday of May) 06/SunThird Father's Day (3rd Sunday of June) 06/21* Summer Solstice 07/04 US Independence Day 09/MonFirst Labor Day in USA (1st Monday of September) 09/SunSecond Grandparent's Day in USA (2nd Sunday of September; varies from state to state) 09/22* Autumnal Equinox 10/MonSecond Columbus Day in USA (2nd Monday of October) 10/31 All Hallows Eve (Halloween) 11/05* Election Day in USA (1st Tuesday after 1st Monday for even years) 11/SunFirst Daylight Savings Time ends in USA; clocks move back (1st Sunday of November) 11/11 Veterans' Day 11/ThuFourth Thanksgiving Day (4th Thursday in November) 12/21* Winter Solstice 12/24 Christmas Eve 12/25 Christmas 12/31 New Year's Eve #endif /* !_calendar_usholiday_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/0000775000000000000000000000000012665277472021515 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.pagan0000664000000000000000000000165612665277472024306 0ustar /* * * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_pagan_ #define _ru_RU_KOI8_R_pagan_ LANG=ru_RU.KOI8-R Paskha= 21 * 25 ( ) 6 24 29 1 14 , -47 +7 +16 20 * 7 ( ) 6 , 22 15 21 * 1 7 ( ) 27 , 2 21 28 14 22 * ( ) 10 21 9 #endif /* !_ru_RU_KOI8_R_pagan_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday0000664000000000000000000000077612665277472024653 0ustar /* * ( "" ) * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_holiday_ #define _ru_RU_KOI8_R_holiday_ LANG=ru_RU.KOI8-R 1 2 3 4 5 7 23 8 1 9 12 4 #endif /* !_ru_RU_KOI8_R_holiday_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all0000664000000000000000000000056412665277472023765 0ustar /* * * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_all #define _ru_RU_KOI8_R_all #include #include #include #include #include #include #endif /* !_ru_RU_KOI8_R_all */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military0000664000000000000000000000327612665277472025052 0ustar /* * * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_military_ #define _ru_RU_KOI8_R_military_ LANG=ru_RU.KOI8-R 27 (1944 ) 2 - (1943 ) 23 (1918 ) 18 ( , 1242 ) 10 (1709 ) 9 (1714 ) 23 - (1943 ) 8 .. (1812 ) 11 .. (1790 ) 21 - (1380 ) 7 (1612 ) 1 .. (1853 ) 5 - (1941 ) 24 .. (1790 ) #endif /* !_ru_RU_KOI8_R_military_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common0000664000000000000000000000656012665277472024507 0ustar /* * * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_common_ #define _ru_RU_KOI8_R_common_ LANG=ru_RU.KOI8-R 12 13 14 21 25 . 8 10 1 03/SunSecond 11 18 03/SunThird , - 27 27 1 2 04/SunFirst 12 04/SunSecond 26 30 7 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 - 08/SunSecond 08/SunThird 22 27 08/SunLast 1 2 3 4 09/SunFirst 09/SunSecond 09/SunThird 28 09/SunLast 1 1 4 5 14 10/SunSecond 10/SunThird 24 25 30 10/SunLast 7 1917 9 10 16 17 19 21 26 11/SunLast 1 3 9 12 17 20 22 27 #endif /* !_ru_RU_KOI8_R_common_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk0000664000000000000000000000050012665277472023775 0ustar /* * * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_msk_ #define _ru_RU_KOI8_R_msk_ LANG=ru_RU.KOI8-R 03/SunLast ; 10/SunLast ; #endif /* !_ru_RU_KOI8_R_msk_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.orthodox0000664000000000000000000000137212665277472025061 0ustar /* * * * $FreeBSD$ */ #ifndef _ru_RU_KOI8_R_orthodox_ #define _ru_RU_KOI8_R_orthodox_ LANG=ru_RU.KOI8-R Paskha= 21 28 14 4 7 19 15 -46 -7 -3 -2 +39 +49 +56 +60 7 19 28 #endif /* !_ru_RU_KOI8_R_orthodox_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.german0000664000000000000000000000026112665277472022514 0ustar /* * German calendar file(s) * * $FreeBSD$ */ #ifndef _calendar_german_ #define _calendar_german_ #include #endif /* !_calendar_german_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.hungarian0000664000000000000000000000027512665277472023224 0ustar /* * Hungarian calendar file(s) * * $FreeBSD$ */ #ifndef _calendar_hungarian_ #define _calendar_hungarian_ #include #endif /* !_calendar_hungarian_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hu_HU.ISO8859-2/0000775000000000000000000000000012665277472021707 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.all0000664000000000000000000000035112665277472024151 0ustar /* * Magyar kalendrium * * $FreeBSD$ */ #ifndef _hu_HU_ISO8859_2_all_ #define _hu_HU_ISO8859_2_all_ #include #include #endif /* !_hu_HU.ISO8859-2_all_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.unnepek0000664000000000000000000000243212665277472025050 0ustar /* * nnepnapok * * $FreeBSD$ */ #ifndef _hu_HU_ISO8859_2_unnepek_ #define _hu_HU_ISO8859_2_unnepek_ LANG=hu_HU.ISO8859-2 /* Munkaszneti napok */ 01/01 jv 03/15 1848-as szabadsgharc s forradalom nnepe 05/01 Munka nnepe 10/23 1956-os forradalom nnepe /* Vallsi munkaszneti napok */ Easter Hsvt Easter+1 Hsvt htf Easter+42 Virgvasrnap Easter+49 Pnksd Easter+50 Pnksd htf 08/20 Szent Istvn nap, llamalapts nnepe 11/01 Halottak napja 12/25 Karcsony els napja 12/26 Karcsony msodik napja /* Az itt kvetkez dtumok nem munkaszneti napok csak nnepnapok */ /* Csillagszati vszakok */ 03/21* Tavaszi napjegyenlsg 06/21* Nyri napfordul 09/21* szi napjegyenlsg 12/21* Tli napfordul /* Tli s nyri idszmts kztti vlts */ 03/SundayLast Vlts a nyri idszmtsra 10/SundayLast Vlts a tli idszmtsra /* Egyb vallsi nnepek amelyek nem munkaszneti napok */ Easter-2 Nagy pntek ("a harangok Romba mennek") /* Egyb nnepnapok s emlknapok*/ 02/14 Valentin nap - a szerelmesek nnepe 03/08 N nap - egy-egy szl virg a nknek May Sun+2 Anyk napja 10/06 Az 1848-as aradi vrtanuk napja 12/06 Mikuls napja - gyerekek csokit kapnak 12/24 Karcsony elestje 12/31 Szilveszter napja #endif /*! _hu_HU_ISO8859_2_unnepek_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.nevnapok0000664000000000000000000001405212665277472025225 0ustar /* * Nvnapok * * $FreeBSD$ */ #ifndef _hu_HU_ISO8859_2_nevnapok_ #define _hu_HU_ISO8859_2_nevnapok_ LANG=hu_HU.ISO8859-2 /* * N.B.: A nvnapok Magyarorszgon a szentek napjai alapjn szerepelnek * a naptrban. Nhny nv tbbszr is szerepel, de mindenki * csak egyszer tart nvnapot egy vben. A vlasztott nap * ebben az esetben a hagyomnyokon s az illetn mlik. * */ 01/01 Fruzsina 01/02 bel, Gergely 01/03 Genovva, Benjmin 01/04 Titusz, Leona 01/05 Simon 01/06 Boldizsr, Menyhrt 01/07 Attila, Ramna 01/08 Gyngyvr 01/09 Marcell 01/10 Melnia 01/11 gota, Baltazr 01/12 Ern, Czr 01/13 Veronika 01/14 Bdog, Flix 01/15 Lrnt, Lornd 01/16 Gusztv 01/17 Antal, Antnia 01/18 Piroska 01/19 Sra, Mri 01/20 Fbin, Sebestyn 01/21 gnes 01/22 Vince, Artr 01/23 Zelma, Rajmund 01/24 Timt, Xnia 01/25 Pl 01/26 Vanda, Paula 01/27 Angelika, Angla 01/28 Kroly, Karola 01/29 Adl 01/30 Gerda, Martina 01/31 Marcella 02/01 Ignc 02/02 Karolina, Aida 02/03 Balzs 02/04 Rhel, Csenge 02/05 gota, Ingrid 02/06 Dra, Dorottya 02/07 Rme, Tdor 02/08 Aranka 02/09 Abigl, Alex 02/10 Elvira 02/11 Bertold, Marietta 02/12 Lvia, Ldia 02/13 Ella, Linda 02/14 Blint, Valentin 02/15 Kolos 02/16 Julianna, Lilla 02/17 Dont 02/18 Bernadett 02/19 Zsuzsanna 02/20 Aladr, lmos 02/21 Eleonra 02/22 Gerzson 02/23 Alfrd 02/24 Mtys 02/25 Gza 02/26 Edina 02/27 kos, Btor 02/28 Elemr 03/01 Albin 03/02 Lujza 03/03 Kornlia 03/04 Kzmr 03/05 Adorjn, Adrin 03/06 Leonra, Inez 03/07 Tams 03/08 Zoltn 03/09 Franciska, Fanni 03/10 Ildik 03/11 Szilrd 03/12 Gergely 03/13 Krisztin, Ajtony 03/14 Matild 03/15 Kristf 03/16 Henrietta 03/17 Gertrd, Patrik 03/18 Sndor, Ede 03/19 Jzsef, Bnk 03/20 Klaudia 03/21 Benedek 03/22 Beta, Izolda 03/23 Emke 03/24 Gbor, Karina 03/25 Irn, Irisz 03/26 Emnuel 03/27 Hajnalka 03/28 Gedeon, Johanna 03/29 Aguszta 03/30 Zaln 03/31 rpd 04/01 Hug 04/02 ron 04/03 Buda, Richrd 04/04 Izidor 04/05 Vince 04/06 Vilmos, Bborka 04/07 Herman 04/08 Dnes 04/09 Erhard 04/10 Zsolt 04/11 Le, Szaniszl 04/12 Gyula 04/13 Ida 04/14 Tibor 04/15 Anasztzia, Tas 04/16 Csongor 04/17 Rudolf 04/18 Andrea, Ilma 04/19 Emma 04/20 Tivadar 04/21 Konrd 04/22 Csilla, Nomi 04/23 Bla 04/24 Gyrgy 04/25 Mrk 04/26 Ervin 04/27 Zita 04/28 Valria 04/29 Pter 04/30 Katalin, Kitti 05/01 Flp, Jakab 05/02 Zsigmond 05/03 Tmea, Irma 05/04 Mnika, Flrin 05/05 Gyrgyi 05/06 Ivett, Frida 05/07 Gizella 05/08 Mihly 05/09 Gergely 05/10 rmin, Plma 05/11 Ferenc 05/12 Pongrc 05/13 Szervc, Imola 05/14 Bonifc 05/15 Zsfia, Szonja 05/16 Mzes, Botond 05/17 Paszkl 05/18 Erik, Alexandra 05/19 Iv, Miln 05/20 Bernt, Felcia 05/21 Konstantin 05/22 Jlia, Rita 05/23 Dezs 05/24 Eszter, Eliza 05/25 Orbn 05/26 Flp, Evelin 05/27 Hella 05/28 Emil, Csand 05/29 Magdolna 05/30 Janka, Zsanett 05/31 Angla, Petronella 06/01 Tnde 06/02 Krmen, Anita 06/03 Klotild 06/04 Bulcs 06/05 Fatime 06/06 Norbert, Cintia 06/07 Rbert 06/08 Medrd 06/09 Flix 06/10 Margit, Gitta, Grta 06/11 Barnabs 06/12 Vill 06/13 Antal, Anett 06/14 Vazul 06/15 Joln, Vid 06/16 Jusztin 06/17 Laura, Alida 06/18 Arnold, Levente 06/19 Gyrfs 06/20 Rafael 06/21 Alajos, Leila 06/22 Paulina 06/23 Zoltn, Szidonia 06/24 Ivn 06/25 Vilmos, Viola 06/26 Jnos, Pl 06/27 Lszl 06/28 Levente, Irn 06/29 Pter, Pl 06/30 Pl 07/01 Annamria, Tihamr 07/02 Ott 07/03 Kornl, Soma 07/04 Ulrik 07/05 Emese, Sarolta 07/06 Csaba 07/07 Apollnia 07/08 Ellk 07/09 Lukrcia 07/10 Amlia 07/11 Nra, Lili 07/12 Izabella, Dalma 07/13 Jen 07/14 rs, Stella 07/15 Henrik, Roland 07/16 Valter 07/17 Endre, Elek 07/18 Frigyes 07/19 Emlia 07/20 Ills 07/21 Daniella, Dniel 07/22 Magdolna 07/23 Lenke 07/24 Kinga, Kincs 07/25 Kristf, Jakab 07/26 Anna, Anik 07/27 Olga, Lilina 07/28 Szabolcs 07/29 Mrta, Flra 07/30 Judit, Xnia 07/31 Oszkr 08/01 Boglrka 08/02 Lehel 08/03 Hermina 08/04 Domonkos, Dominika 08/05 Krisztina 08/06 Berta, Bettina 08/07 Ibolya 08/08 Lszl 08/09 Emd 08/10 Lrinc 08/11 Zsuzsanna, Tiborc 08/12 Klra 08/13 Ipoly 08/14 Marcell 08/15 Mria 08/16 brahm 08/17 Jcint 08/18 Ilona 08/19 Huba 08/20 Istvn 08/21 Smuel, Hajna 08/22 Menyhrt, Mirjam 08/23 Bence 08/24 Bertalan 08/25 Lajos, Patrcia 08/26 Izs 08/27 Gspr 08/28 goston 08/29 Beatrix, Erna 08/30 Rzsa 08/31 Erika, Bella 09/01 Egyed, Egon 09/02 Rebeka, Dorina 09/03 Hilda 09/04 Rozlia 09/05 Viktor, Lrinc 09/06 Zakaris 09/07 Regina 09/08 Mria, Adrienn 09/09 dm 09/10 Nikolett, Hunor 09/11 Teodra 09/12 Mria 09/13 Kornl 09/14 Szerna, Roxna 09/15 Enik, Melitta 09/16 Edit 09/17 Zsfia 09/18 Dina 09/19 Vilhelmina 09/20 Friderika 09/21 Mt, Mirella 09/22 Mric 09/23 Tekla 09/24 Gellrt, Mercdesz 09/25 Eufrozina, Kende 09/26 Jusztina 09/27 Adalbert 09/28 Vencel 09/29 Mihly 09/30 Jeromos 10/01 Malvin 10/02 Petra 10/03 Helga 10/04 Ferenc 10/05 Aurl 10/06 Brn, Renta 10/07 Amlia 10/08 Koppny 10/09 Dnes 10/10 Gedeon 10/11 Brigitta 10/12 Miksa 10/13 Klmn, Ede 10/14 Heln 10/15 Terz 10/16 Gl 10/17 Hedvig 10/18 Lukcs 10/19 Nndor 10/20 Vendel 10/21 Orsolya 10/22 Eld 10/23 Gyngyi 10/24 Salamon 10/25 Blanka, Bianka 10/26 Dmtr 10/27 Szabina 10/28 Simon, Szimonetta 10/29 Nrcisz 10/30 Alfonz 10/31 Farkas 11/01 Marianna 11/02 Achilles 11/03 Gyz 11/04 Kroly 11/05 Imre 11/06 Lnrd 11/07 Rezs 11/08 Zsombor 11/09 Tivadar 11/10 Rka 11/11 Mrton 11/12 Jns, Rent 11/13 Szilvia 11/14 Aliz 11/15 Albert, Lipt 11/16 dn 11/17 Hortenzia, Gerg 11/18 Jen 11/19 Erzsbet 11/20 Joln 11/21 Olivr 11/22 Ceclia 11/23 Kelemen, Klementina 11/24 Emma 11/25 Katalin 11/26 Virg 11/27 Virgil 11/28 Stefnia 11/29 Taksony 11/30 Andrs, Andor 12/01 Elza 12/02 Melinda, Vivien 12/03 Ferenc, Olvia 12/04 Borbla, Barbara 12/05 Vilma 12/06 Mikls 12/07 Ambrus 12/08 Mria 12/09 Natlia 12/10 Judit 12/11 rpd 12/12 Gabriella 12/13 Luca, Otlia 12/14 Szilrda 12/15 Valr 12/16 Etelka, Aletta 12/17 Lzr, Olimpia 12/18 Auguszta 12/19 Viola 12/20 Teofil 12/21 Tams 12/22 Zn 12/23 Viktria 12/24 dm, va 12/25 Eugnia 12/26 Istvn 12/27 Jnos 12/28 Kamilla 12/29 Tams, Tamara 12/30 Dvid 12/31 Szilveszter #endif /*! _hu_HU_ISO8859_2_nevnapok_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendars/calendar.computer0000664000000000000000000000616412665277472023111 0ustar /* * Computer * * $FreeBSD$ */ #ifndef _calendar_computer_ #define _calendar_computer_ 01/01 AT&T officially divests its local Bell companies, 1984 01/01 The Epoch (Time 0 for UNIX systems, Midnight GMT, 1970) 01/03 Apple Computer founded, 1977 01/08 American Telephone and Telegraph loses antitrust case, 1982 01/08 Herman Hollerith patents first data processing computer, 1889 01/08 Justice Dept. drops IBM suit, 1982 01/10 First CDC 1604 delivered to Navy, 1960 01/16 Set uid bit patent issued, to Dennis Ritchie, 1979 01/17 Justice Dept. begins IBM anti-trust suit, 1969 (drops it, January 8, 1982) 01/24 DG Nova introduced, 1969 01/25 First U.S. meeting of ALGOL definition committee, 1958 01/26 EDVAC demonstrated, 1952 01/31 Hewlett-Packard founded, 1939 02/11 Last day of JOSS service at RAND Corp., 1966 02/14 First micro-on-a-chip patented (TI), 1978 02/15 ENIAC demonstrated, 1946 03/01 First NPL (later PL/I) report published, 1964 03/04 First Cray-1 shipped to Los Alamos 03/09 "GOTO considered harmful" (E.J. Dijkstra) published in CACM, 1968 03/14 LISP introduced, 1960 03/28 DEC announces PDP-11, 1970 03/31 Eckert-Mauchly Computer Corp. founded, Phila, 1946 04/01 Yourdon, Inc. founded, 1974 (It figures.) 04/03 IBM 701 introduced, 1953 04/04 Tandy Corp. acquires Radio Shack, 1963 (9 stores) 04/07 IBM announces System/360, 1964 04/09 ENIAC Project begun, 1943 04/28 Zilog Z-80 introduced, 1976 05/06 EDSAC demonstrated, 1949 05/01 First BASIC program run at Dartmouth, 1964 05/16 First report on SNOBOL distributed (within BTL), 1963 05/19 UNIX is 10000 days old, 1997 05/21 DEC announces PDP-8, 1965 05/22 Ethernet first described, 1973 05/27 First joint meeting of U.S. and European ALGOL definition cte., 1958 05/28 First meeting of COBOL definition cte. (eventually CODASYL), 1959 05/30 Colossus Mark II, 1944 06/02 First issue of Computerworld, 1967 06/07 Alan Mathison Turing died, 1954 06/10 First Apple II shipped, 1977 06/15 UNIVAC I delivered to the Census Bureau, 1951 06/16 First publicized programming error at Census Bureau, 1951 06/23 IBM unbundles software, 1969 06/23 Alan Mathison Turing born, 1912 06/30 First advanced degree on computer related topic: to H. Karamanian, Temple Univ., Phila, 1948, for symbolic differentiation on the ENIAC 07/08 Bell Telephone Co. formed (predecessor of AT&T), 1877 07/08 CDC incorporated, 1957 07/FriLast System Administrator Appreciation Day 08/14 First Unix-based mallet created, 1954 08/14 IBM PC announced, 1981 08/22 CDC 6600 introduced, 1963 08/23 DEC founded, 1957 09/15 ACM founded, 1947 09/20 Harlan Herrick runs first FORTRAN program, 1954 10/02 First robotics-based CAM, 1939 10/06 First GPSS manual published, 1961 10/08 First VisiCalc prototype, 1978 10/12 Univac gives contract for SIMULA compiler to Nygaard and Dahl, 1962 10/14 British Computer Society founded, 1957 10/15 First FORTRAN Programmer's Reference Manual published, 1956 10/20 Zurich ALGOL report published, 1958 10/25 DEC announces VAX-11/780 11/04 UNIVAC I program predicts Eisenhower victory based on 7% of votes, 1952 12/08 First Ph.D. awarded by Computer Science Dept, Univ. of Penna, 1965 #endif /* !_calendar_computer_ */ bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendar.h0000664000000000000000000000742312665277472017545 0ustar /* $OpenBSD: calendar.h,v 1.13 2010/04/28 18:20:15 jsg Exp $ */ /* * Copyright (c) 1989, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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. 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. */ extern struct passwd *pw; extern int doall; extern int bodun_always; extern time_t f_time; extern struct tm *tp; extern char *calendarFile; extern char *calendarHome; extern char *optarg; struct fixs { char *name; int len; }; struct event { time_t when; char print_date[31]; char **desc; char *ldesc; struct event *next; }; struct match { time_t when; char print_date[30]; int bodun; int var; struct match *next; }; struct specialev { char *name; int nlen; char *uname; int ulen; int (*getev)(int); }; void cal(void); void closecal(FILE *); int getday(char *); int getdayvar(char *); int getfield(char *, char **, int *); int getmonth(char *); int pesach(int); int easter(int); int paskha(int); void insert(struct event **, struct event *); struct match *isnow(char *, int); FILE *opencal(void); void settime(time_t *); time_t Mktime(char *); void usage(void); int foy(int); void variable_weekday(int *, int, int); void setnnames(void); /* some flags */ #define F_ISMONTH 0x01 /* month (Januar ...) */ #define F_ISDAY 0x02 /* day of week (Sun, Mon, ...) */ /*#define F_ISDAYVAR 0x04 variables day of week, like SundayLast */ #define F_SPECIAL 0x08 /* Events that occur once a year but don't track * calendar time--e.g. Easter or easter depending * days */ extern int f_dayAfter; /* days after current date */ extern int f_dayBefore; /* days before current date */ extern int f_SetdayAfter; /* calendar invoked with -A */ /* Special events; see also setnnames() in day.c */ /* '=' is not a valid character in a special event name */ #define PESACH "pesach" #define PESACHLEN (sizeof(PESACH) - 1) #define EASTER "easter" #define EASTERNAMELEN (sizeof(EASTER) - 1) #define PASKHA "paskha" #define PASKHALEN (sizeof(PASKHA) - 1) /* calendars */ extern enum calendars { GREGORIAN = 0, JULIAN, LUNAR } calendar; extern u_long julian; #define NUMEV 3 /* Total number of such special events */ extern struct specialev spev[NUMEV]; /* For calendar -a, specify a maximum time (in seconds) to spend parsing * each user's calendar files. This prevents them from hanging calendar * (e.g. by using named pipes) */ #define USERTIMEOUT 20 bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/source.data0000664000000000000000000003530411371260565017741 0ustar http://uahc.org/congs/dc/dc001/holidays.html http://www.vjholidays.com/vjholidaysindex.htm Some useful web-based sources: http://holidays.net/ http://users.ox.ac.uk/~chri0264/calendar.html http://www.smart.net/~mmontes/ec-cal.html http://www.smart.net/~mmontes/ushols.html http://www.arborday.org/ "National Arbor Day is the last Friday in April, but many states observe Arbor Day on different dates according to their best tree-planting times. Check the list below to find out when your state or territory observes Arbor Day. Also listed is each state's official state tree." http://www.smart.net/~mmontes/ec-cal.html: Ecclesiastical Calendar for A.D. 1999 Easter, Lent and movable Feasts associated with Easter Ash Wednesday is 17 February, 1999. Laetare Sunday is 14 March, 1999. Palm/Passion Sunday is 28 March, 1999. Good Friday is 2 April, 1999. Western (Catholic, Anglican, and Protestant) Easter Sunday is 4 April, 1999. Ascension is Thursday, 13 May, 1999. Pentecost is Sunday, 23 May, 1999. Trinity Sunday is 30 May, 1999. Corpus Christi is Thursday, 3 June, 1999. Sacred Heart of Jesus is Friday, 11 June, 1999. Immaculate Heart of Mary is Saturday, 12 June, 1999. NOTE: Currently in some locations, Ascension and Corpus Christi are celebrated the Sunday following the dates listed above. Paskha (Orthodox Easter Sunday) is 11 April, 1999. A selection of Celebrations with fixed dates The Solemnity of Mary is Friday, 1 January, 1999. Epiphany is Sunday, 3 January, 1999. Epiphany (traditional) is Wednesday, 6 January, 1999. The Baptism of the Lord is Sunday, 10 January, 1999. The Presentation of the Lord (Candlemas) is Tuesday, 2 February, 1999. Solemnity of Joseph, Husband of Mary is Friday, 19 March, 1999. The Annunciation is Thursday, 25 March, 1999. The Transfiguration of the Lord is Friday, 6 August, 1999. Assumption (Feast of Mary) is Sunday, 15 August, 1999. The Birth of Virgin Mary is Wednesday, 8 September, 1999. Celebration of The Holy Cross is Tuesday, 14 September, 1999. Mass of Archangels Michael, Gabriel and Raphael is Wednesday, 29 September, 1999. All Saints' Day is Monday, 1 November, 1999. All Souls' Day is Tuesday, 2 November, 1999. Feast of Christ the King is Sunday, 21 November, 1999. NOTE: In many places, Epiphany is now celebrated the Sunday on or after 2 January. Advent, Christmas, and Celebrations during Advent The 1st Sunday of Advent is 28 November, 1999. The 2nd Sunday of Advent is 5 December, 1999. The Feast of the Immaculate Conception is Wednesday, 8 December, 1999. The 3rd Sunday of Advent (Gaudete Sunday) is 12 December, 1999. The celebration of Our Lady of Guadalupe is Monday, 13 December, 1999. The 4th Sunday of Advent is 19 December, 1999. Christmas is Saturday, 25 December, 1999. The Solemnity of the Holy Family is Sunday, 26 December, 1999. American Holidays and Dates of Interest for A.D. 1999 New Year's Day is Friday, 1 January, 1999. Birthday of Martin Luther King is Monday, 18 January, 1999. National Freedom Day (signing of 13th Am.; pres. procl) is Monday, 1 February, 1999. Groundhog Day is Tuesday, 2 February, 1999. Lincoln's Birthday is Friday, 12 February, 1999. Valentine's Day is Sunday, 14 February, 1999. Washington's Birthday (Observed) is Monday, 15 February, 1999. Washington's Birthday is Monday, 22 February, 1999. St. Patrick's Day is Wednesday, 17 March, 1999. April Fool's Day is Thursday, 1 April, 1999. Daylight Saving Time begins Sunday, 4 April, 1999. Federal Income Taxes are due Thursday, 15 April, 1999. Arbor Day in many locations is Friday, 30 April, 1999, but please see The List of Arbor Dates for States Mothers' Day is Sunday, 9 May, 1999. Armed Forces Day is Saturday, 15 May, 1999. Memorial Day is Monday, 31 May, 1999. Flag Day is Monday, 14 June, 1999. Fathers' Day is Sunday, 20 June, 1999. Canada Day is Thursday, 1 July, 1999. United States of America Independence Day is Sunday, 4 July, 1999. United States of America Independence Day (Federal Observed) is Monday, 5 July, 1999. Labor Day is Monday, 6 September, 1999. Parents' Day is Sunday, 25 July, 1999. Grandparents Day is Sunday, 12 September, 1999. Citizenship Day is Friday, 17 September, 1999. Columbus Day (Observed) is Monday, 11 October, 1999. Columbus Day (Traditional) is Tuesday, 12 October, 1999. United Nations Day is Sunday, 24 October, 1999. Daylight Saving Time ends Sunday, 31 October, 1999. Halloween is Sunday, 31 October, 1999. Election Day is Tuesday, 2 November, 1999. Veterans' Day is Thursday, 11 November, 1999. Thanksgiving Day is Thursday, 25 November, 1999. Bill of Rights Day is Wednesday, 15 December, 1999. Christmas Day (Federal Observed) is Friday, 24 December, 1999. Christmas Day is Saturday, 25 December, 1999. http://www.holidays.net/ Holidays of 1999 Winter'99 New Year's Day: Friday, January 1 Martin Luther King, Jr's Birthday: Monday, January 18 Groundhog Day: Tuesday, February 2 Lincoln's Birthday: Friday, February 12 Valentine's Day: Sunday, February 14 President's Day: Monday, February 15 Washington's Birthday: Monday, February 22 Purim (Begins at Sundown): Monday, March 1 St. Patrick's Day: Wednesday, March 17 Spring'99 April Fool's Day: Thursday, April 1 Easter: Sunday, April 4 Passover (Begins at Sundown): Wednesday, March 31 Mother's Day: Sunday, May 9 Memorial Day: Monday, May 31 Shavuot (Begins at Sundown): Thursday, May 20 Flag Day: Monday, June 14 Father's Day: Sunday, June 20 Summer'99 US Independence Day: Sunday, July 4 Labor Day: Monday, September 6 Rosh Hashanah (Begins at Sundown): Friday, September 10 Grandparents Day: Sunday, September 12 Yom Kippur (Begins at Sundown): Sunday, September 19 Fall'99 Sukkot (Begins at Sundown): Friday, September 24 Columbus Day: Tuesday, October 12, (Observed: Monday, October 11) Halloween: Sunday, October 31 US Election Day: Tuesday, November 2 Veterans' Day: Thursday, November 11 Thanksgiving Day: Thursday, November 25 Winter'99 Chanukah (Begins at Sundown): Friday, December 3 Ramadan: Friday, December 10 (Depends on the sighting of the moon in North America) Christmas Day: Saturday: December 25 Kwanzaa: Sunday, December 26 Oliver Elphick: From the tables in the Book of Common Prayer, I think Easter Sunday should be April 4. These dates are dependent on Easter: Septuagesima Sunday: Jan 31 Shrove Tuesday: Feb 16 1st day of Lent (Ash Wednesday): Feb 17 Palm Sunday: Mar 28 Maundy Thursday: Apr 1 Good Friday: Apr 2 Easter Day: Apr 4 Easter Monday: Apr 5 Rogation Sunday: May 9 Rogation days: May 10-12 Ascension Day: May 13 Whitsunday/Pentecost: May 23 Trinity Sunday: May 30 Advent Sunday: Nov 28 Daniel Martin: Calendar has these three - Yom HaAtzma'ut happens 20 days after passover, unless that would put it on a Friday or Saturday, in which case it happens on the Thursday prior. Lag BaOmer happens 33 days after passover and Yom Yerushalim happens 43 days after passover. This puts them for next year on April 21st, May 4th, and May 14th, respectively. (I got these by reading calendar's lisp code) > 07/31* Fast of Tish'a B'Av (Babylon/Rome destroys Holy Temple; fast > day) Next year this happens on 7/22 > 10/12* Shmini Atzeres/Simchas Torah (Rejoicing of the Law; > sabbatical) This always happens the day before Simchat Torah. Next year that puts it on October 2nd. Rogation Sunday is the Sunday before Ascension Day; that puts it last year on May 17th, and in 1999 on May 9th Julian Gilbey: An almost complete calendar for 1999 (including all the ones you had queries about): 02/01 Tu Bishvat (New Year for Trees) 03/01 Fast of Esther 03/02 Purim (Jews rescued from decrees of Haman) 03/03 Shushan Purim (Purim in Jerusalem) 04/01-04/08 Pesach (Passover) 04/14 Yom HaShoah (Holocaust Memorial Day) 04/20 Yom HaZikaron (Israeli Fallen Soldiers Remembrance Day) 04/21 Yom HaAtzmaut (Israel Independence Day) 05/04 Lag Ba`omer (Commemoration of the Great Rebellion) 05/14 Yom Yerushalayim (Reunification of Jerusalem) 05/21-05/22 Shavuot (Pentecost) 07/01 Fast of Shiv'a Asar B'Tammuz (Romans breach Wall of Jerusalem; fast day) 07/22 Fast of Tish'a B'Av (Babylon/Rome destroys Holy Temple; fast day) 07/28 Tu B'Av (Festival of Fifteenth of Av) 09/11-12 Rosh Hashanah (New Year) 09/13 Fast of Tzom Gedaliah (Fast commemorating assassination of Gedaliah, the head of the Jewish community in Israel during the Babylonian exile) 09/20 Yom Kippur (Day of Atonement; fast day) 09/25-10/01 Sukkot (Tabernacles) 10/01 Hoshana Rabbah (Day of final appeal for a good judgement; part of Sukkot) 10/02 Shmini Atzeret (Eighth day of Festival) 10/03 Simchat Torah (Rejoicing of the Law) 12/04-12/11 Chanukah (Festival of Lights) 12/19 Fast of Asara B'Tevet (Babylonians put siege on Jerusalem; fast day) (Also, it's on 12/29/98 this year, and not as in the current calendar, but never mind.) Finally, I've used the Orthodox dates for Diaspora Jewry (i.e., outside of Israel). In Israel and outside according to the Reform (and possibly Conservative) practice, Pesach is one day shorter, Shavuot is only one day, and Shmini Atzeret and Simchat Torah become one day (10/02). Date: Fri, 12 Oct 2001 17:25:29 -0400 To: md@linux.it Subject: Christian Holidays From: "James A. Treacy" Marco, I saw on IRC that you were looking for a list of Christian holidays for 2002. I believe the following is correct - just took a little digging on the web. 1 Jan Feast of Mary, Mother of God 6 Jan Epiphany 7 Jan Orthodox Christmas 13 Feb Ash Wednesday (Lent begins) 17 Mar St. Patrick's Day 18 Mar Start of Lent for Orthodox Christians 24 Mar Passion Sunday 28 Mar Maundy Thursday 29 Mar Good Friday 31 Mar Easter Sunday 5 May Pascha (Orthodox Easter) 9 May Ascension Thursday 12 May Ascension Sunday 19 May Pentecost Sunday 2 Jun Body and Blood of Christ (Corpus Christi) 15 Aug Assumption of Mary 1 Nov All Saints Day 1 Dec First Day of Advent 9 Dec Immaculate Conception 25 Dec Christmas -- James (Jay) Treacy treacy@debian.org Date: Sat, 13 Oct 2001 12:39:46 -0400 To: Marco d'Itri Subject: Re: Christian Holidays From: "James A. Treacy" On Fri, Oct 12, 2001 at 11:31:35PM +0200, Marco d'Itri wrote: > Thank you, but this is not what I'm looking for. > The moveable feasts which need to be determined for 2002 and 2003 are: > Those are Christian holidays? I've never heard of any of them! As it is, I put down more dates than 99% of all Chrisitans would care about (even Catholics - but that may just be due to poor christian education in north america). If you want to go to extremes, you could add all the saints days. :) I have to admit that I don't know what this is for. One thing I'd love to see with a list of holidays is a description of what the holiday is. Anyway, using a dictionary and the web, I came up with the following. Hopefully you can add the string describing when the holiday is as a comment somewhere: http://www.oremus.org/liturgy/asb/cal/cal.html contains a lot of useful information. The only part that doesn't agree well is its definition of Ember Days. > Feb 11 Septuagesima the 3rd Sunday before Lent (or the 9th before Easter) 27 Jan 2002 16 Feb 2003 > Feb 18 Sexagesima The second Sunday before Lent; -- so called as being about the sixtieth day before Easter. 3 Feb 2002 23 Feb 2003 > Feb 25 Quinquagesima the Sunday before Ash Wednesday 10 Feb 2002 2 Mar 2003 > Mar 04 Quadragesima (1st Sunday of Lent) dates below (from the web) Ember day: A day reserved for prayer and fasting by some Christian churches, observed on the Wednesday, Friday, and Saturday after the first Sunday of Lent, after Whitsunday, after September 14, and after December 13. (Whitsunday: the seventh Sunday after Easter) Or Ember Days are the Wednesdays, Fridays, and Saturdays within the weeks before the Third Sunday in Advent, the Second Sunday in Lent, and the Sundays nearest to the Festivals of St Peter, and St Michael and All Angels. On these days prayer is offered for all who serve the Church in its various ministries, both clerical and lay, and for all who are to be ordained or commissioned to those ministries. Ember Days may also be observed on such days as are directed by the Bishop. This does not agree with the previous definition except for the week during Lent: - St. Michaels and All Angels is 29 Sep (much later in the month) - St. Peter is 29 Jun (much later in the month) - The dates you gave for 2001 and the previous definition point to the week AFTER the Third Sunday in Advent The first definition was used to give the dates below. > Jun 05 Ember day > Jun 07 Ember day > Jun 08 Ember day Shouldn't those have been 6, 8 and 9? Jun 5, 2001 was a Tuesday. 17 Feb 2002 Quadragesima 20 Feb 2002 Ember day 22 Feb 2002 Ember day 23 Feb 2002 Ember day 9 Mar 2003 Quadragesima 12 Mar 2003 Ember day 14 Mar 2003 Ember day 15 Mar 2003 Ember day 19 May 2002 Whitsunday 22 May 2002 Ember day 24 May 2002 Ember day 25 May 2002 Ember day 8 Jun 2003 Whitsunday 11 Jun 2003 Ember day 13 Jun 2003 Ember day 14 Jun 2003 Ember day (14 Sep 2002 on a Sat) 18 Sep 2002 Ember day 20 Sep 2002 Ember day 21 Sep 2002 Ember day (14 Sep 2003 on a Sun) 17 Sep 2003 Ember day 19 Sep 2003 Ember day 20 Sep 2003 Ember day (13 Dec 2002 on a Fri) 18 Dec 2002 Ember day 20 Dec 2002 Ember day 21 Dec 2002 Ember day (13 Dec 2003 on a Sat) 17 Dec 2003 Ember day 19 Dec 2003 Ember day 20 Dec 2003 Ember day > May 20 Rogation Sunday 5th Sunday after Easter > May 21 Rogation Day Rogation Day: In western Christendom, prescribed days of prayer and fasting traditionally for the harvest, usually the three days before Ascension Day Ascension day is the Thursday after the 5th Sunday after Easter. 31 Mar 2002 Easter 5 May 2002 Rogation Sunday 6 May 2002 Rogation Day 7 May 2002 Rogation Day 8 May 2002 Rogation Day 9 May 2002 Ascension day 20 Apr 2002 Easter 25 May 2003 Rogation Sunday 26 May 2003 Rogation Day 27 May 2003 Rogation Day 28 May 2003 Rogation Day 29 May 2003 Ascension day Except for not being 100% positive on how the Ember days are set, this looks like it should be accurate. It would be a good idea for someone to check it (calendar mode in emacs is very handy). Hope this helps. :) -- James (Jay) Treacy treacy@debian.org bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/pathnames.h0000664000000000000000000000351112665277472017746 0ustar /* $OpenBSD: pathnames.h,v 1.4 2003/06/03 02:56:06 millert Exp $ */ /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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. 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. * * @(#)pathnames.h 8.1 (Berkeley) 6/6/93 */ #include #define _PATH_CPP "/usr/bin/cpp" /* XXX -- fix when cpp parses arguments rationally */ #define _PATH_INCLUDE "-I/usr/share/calendar" bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/ostern.c0000664000000000000000000000465312665277472017303 0ustar /* $OpenBSD: ostern.c,v 1.7 2009/10/27 23:59:36 deraadt Exp $ */ /* * Copyright (c) 1996 Wolfram Schneider . Berlin. * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $Id: ostern.c,v 1.7 2009/10/27 23:59:36 deraadt Exp $ */ #include #include #include #include "calendar.h" /* return year day for Easter */ int easter(int year) /* 0 ... abcd, NOT since 1900 */ { int e_a, e_b, e_c, e_d, e_e,e_f, e_g, e_h, e_i, e_k; int e_l, e_m, e_n, e_p, e_q; /* silly, but it works */ e_a = year % 19; e_b = year / 100; e_c = year % 100; e_d = e_b / 4; e_e = e_b % 4; e_f = (e_b + 8) / 25; e_g = (e_b + 1 - e_f) / 3; e_h = ((19 * e_a) + 15 + e_b - (e_d + e_g)) % 30; e_i = e_c / 4; e_k = e_c % 4; e_l = (32 + 2 * e_e + 2 * e_i - (e_h + e_k)) % 7; e_m = (e_a + 11 * e_h + 22 * e_l) / 451; e_n = (e_h + e_l + 114 - (7 * e_m)) / 31; e_p = (e_h + e_l + 114 - (7 * e_m)) % 31; e_p = e_p + 1; e_q = 31 + 28 + e_p; if (isleap(year)) e_q++; if (e_n == 4) e_q += 31; #if DEBUG printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", e_a, e_b, e_c, e_d, e_e, e_f, e_g, e_h, e_i, e_k, e_l, e_m, e_n, e_p, e_q); #endif return (e_q); } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/convdates.pl0000664000000000000000000000237111371260565020127 0ustar #!/usr/bin/perl -w # Converts calendar data files from US-style dates (MM/DD 01/15) into # human-readable dates (Jan 15) which everyone should be able to read # without mental gymnastics. # This code sucks. Feel free to improve it. # This script doesn't support localized month names. use strict; my %monthhash = ( '01' => 'Jan', '02' => 'Feb', '03' => 'Mar', '04' => 'Apr', '05' => 'May', '06' => 'Jun', '07' => 'Jul', '08' => 'Aug', '09' => 'Sep', '10' => 'Oct', '11' => 'Nov', '12' => 'Dec' ); my $instdir = 'debian/bsdmainutils/usr/share/calendar'; #$ARGV[0] or die; open(PIPE, "find usr.bin/calendar/calendars -type d|") or die $!; while () { chomp; my $dir = $_; next if /CVS$/; next if /\.svn/; s#.*/calendars/?##; my $subdir = $_; print "converting: $dir\n"; opendir(DIR, $dir) or die $!; unless (-d "$instdir/$subdir") { mkdir("$instdir/$subdir", 0755) or die; } while (defined (my $file = readdir DIR)) { next if -d "$dir/$file"; convfile("$dir/$file", "$instdir/$subdir/$file"); } closedir DIR; } close PIPE or die $!; exit 0; sub convfile { my ($in, $out) = @_; open(IN, $in) or die $!; open(OUT, ">$out") or die $!; while () { s#^(\d\d?)[/\\ ](\d\d?)#$monthhash{$1} $2#; print OUT $_; } close IN; close OUT; } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/calendar.c0000664000000000000000000001511512665277472017535 0ustar /* $OpenBSD: calendar.c,v 1.27 2011/09/12 21:23:00 jmc Exp $ */ /* * Copyright (c) 1989, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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. 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. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pathnames.h" #include "calendar.h" char *calendarFile = "calendar"; /* default calendar file */ char *calendarHome = ".calendar"; /* HOME */ char *calendarNoMail = "nomail"; /* don't sent mail if this file exists */ struct passwd *pw; int doall = 0; time_t f_time = 0; int bodun_always = 0; int f_dayAfter = 0; /* days after current date */ int f_dayBefore = 0; /* days before current date */ int f_SetdayAfter = 0; /* calendar invoked with -A */ struct specialev spev[NUMEV]; void childsig(int); int main(int argc, char *argv[]) { int ch; char *caldir; (void)setlocale(LC_ALL, ""); while ((ch = getopt(argc, argv, "abf:t:A:B:-")) != -1) switch (ch) { case '-': /* backward contemptible */ case 'a': if (getuid()) errx(1, "%s", strerror(EPERM)); doall = 1; break; case 'b': bodun_always++; break; case 'f': /* other calendar file */ calendarFile = optarg; break; case 't': /* other date, undocumented, for tests */ if ((f_time = Mktime(optarg)) <= 0) errx(1, "specified date is outside allowed range"); break; case 'A': /* days after current date */ f_dayAfter = atoi(optarg); f_SetdayAfter = 1; break; case 'B': /* days before current date */ f_dayBefore = atoi(optarg); break; default: usage(); } argc -= optind; argv += optind; if (argc) usage(); /* use current time */ if (f_time <= 0) (void)time(&f_time); if (f_dayBefore) { /* Move back in time and only look forwards */ f_dayAfter += f_dayBefore; f_time -= SECSPERDAY * f_dayBefore; f_dayBefore = 0; } settime(&f_time); if (doall) { pid_t kid, deadkid; int kidstat, kidreaped, runningkids; int acstat; struct stat sbuf; time_t t; unsigned int sleeptime; signal(SIGCHLD, childsig); runningkids = 0; t = time(NULL); while ((pw = getpwent()) != NULL) { acstat = 0; /* Avoid unnecessary forks. The calendar file is only * opened as the user later; if it can't be opened, * it's no big deal. Also, get to correct directory. * Note that in an NFS environment root may get EACCES * on a chdir(), in which case we have to fork. As long as * we can chdir() we can stat(), unless the user is * modifying permissions while this is running. */ if (chdir(pw->pw_dir)) { if (errno == EACCES) acstat = 1; else continue; } if (stat(calendarFile, &sbuf) != 0) { if (chdir(calendarHome)) { if (errno == EACCES) acstat = 1; else continue; } if (stat(calendarNoMail, &sbuf) == 0 || stat(calendarFile, &sbuf) != 0) continue; } sleeptime = USERTIMEOUT; switch ((kid = fork())) { case -1: /* error */ warn("fork"); continue; case 0: /* child */ (void)setlocale(LC_ALL, ""); if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL ^ LOGIN_SETLOGIN)) err(1, "unable to set user context (uid %u)", pw->pw_uid); if (acstat) { if (chdir(pw->pw_dir) || stat(calendarFile, &sbuf) != 0 || chdir(calendarHome) || stat(calendarNoMail, &sbuf) == 0 || stat(calendarFile, &sbuf) != 0) exit(0); } cal(); exit(0); } /* parent: wait a reasonable time, then kill child if * necessary. */ runningkids++; kidreaped = 0; do { sleeptime = sleep(sleeptime); /* Note that there is the possibility, if the sleep * stops early due to some other signal, of the child * terminating and not getting detected during the next * sleep. In that unlikely worst case, we just sleep * too long for that user. */ for (;;) { deadkid = waitpid(-1, &kidstat, WNOHANG); if (deadkid <= 0) break; runningkids--; if (deadkid == kid) { kidreaped = 1; sleeptime = 0; } } } while (sleeptime); if (!kidreaped) { /* It doesn't _really_ matter if the kill fails, e.g. * if there's only a zombie now. */ (void)kill(kid, SIGTERM); warnx("uid %u did not finish in time", pw->pw_uid); } if (time(NULL) - t >= SECSPERDAY) errx(2, "'calendar -a' took more than a day; " "stopped at uid %u", pw->pw_uid); } for (;;) { deadkid = waitpid(-1, &kidstat, WNOHANG); if (deadkid <= 0) break; runningkids--; } if (runningkids) warnx("%d child processes still running when " "'calendar -a' finished", runningkids); } else if ((caldir = getenv("CALENDAR_DIR")) != NULL) { if(!chdir(caldir)) cal(); } else cal(); exit(0); } void usage(void) { (void)fprintf(stderr, "usage: calendar [-ab] [-A num] [-B num] [-f calendarfile] " "[-t [[[cc]yy]mm]dd]\n"); exit(1); } void childsig(int signo) { } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/day.c0000664000000000000000000004311512665277472016542 0ustar /* $OpenBSD: day.c,v 1.23 2010/04/28 18:20:15 jsg Exp $ */ /* * Copyright (c) 1989, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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. 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. */ #include #include #include #include #include #include #include #include #include #include #include "pathnames.h" #include "calendar.h" extern struct iovec header[]; #define WEEKLY 1 #define MONTHLY 2 #define YEARLY 3 struct tm *tp; int *cumdays, offset; char dayname[10]; enum calendars calendar; u_long julian; /* 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 *days[] = { "sun", "mon", "tue", "wed", "thu", "fri", "sat", NULL, }; static 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 */ void setnnames(void) { char buf[80]; int i, l; struct tm tm; for (i = 0; i < 7; i++) { tm.tm_wday = i; l = strftime(buf, sizeof(buf), "%a", &tm); for (; l > 0 && isspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (ndays[i].name != NULL) free(ndays[i].name); if ((ndays[i].name = strdup(buf)) == NULL) err(1, NULL); ndays[i].len = strlen(buf); l = strftime(buf, sizeof(buf), "%A", &tm); for (; l > 0 && isspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (fndays[i].name != NULL) free(fndays[i].name); if ((fndays[i].name = strdup(buf)) == NULL) err(1, NULL); fndays[i].len = strlen(buf); } for (i = 0; i < 12; i++) { tm.tm_mon = i; l = strftime(buf, sizeof(buf), "%b", &tm); for (; l > 0 && isspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (nmonths[i].name != NULL) free(nmonths[i].name); if ((nmonths[i].name = strdup(buf)) == NULL) err(1, NULL); nmonths[i].len = strlen(buf); l = strftime(buf, sizeof(buf), "%B", &tm); for (; l > 0 && isspace((int)buf[l - 1]); l--) ; buf[l] = '\0'; if (fnmonths[i].name != NULL) free(fnmonths[i].name); if ((fnmonths[i].name = strdup(buf)) == NULL) err(1, NULL); fnmonths[i].len = strlen(buf); } /* Hardwired special events */ spev[0].name = strdup(PESACH); spev[0].nlen = PESACHLEN; spev[0].getev = pesach; spev[1].name = strdup(EASTER); spev[1].nlen = EASTERNAMELEN; spev[1].getev = easter; spev[2].name = strdup(PASKHA); spev[2].nlen = PASKHALEN; spev[2].getev = paskha; for (i = 0; i < NUMEV; i++) { if (spev[i].name == NULL) err(1, NULL); spev[i].uname = NULL; } } void settime(time_t *now) { tp = localtime(now); tp->tm_sec = 0; tp->tm_min = 0; /* Avoid getting caught by a timezone shift; set time to noon */ tp->tm_isdst = 0; tp->tm_hour = 12; *now = mktime(tp); if (isleap(tp->tm_year + TM_YEAR_BASE)) cumdays = daytab[1]; else cumdays = daytab[0]; /* Friday displays Monday's events */ offset = tp->tm_wday == 5 ? 3 : 1; if (f_SetdayAfter) offset = 0; /* Except not when range is set explicitly */ header[5].iov_base = dayname; (void) setlocale(LC_TIME, "C"); header[5].iov_len = strftime(dayname, sizeof(dayname), "%A", tp); (void) setlocale(LC_TIME, ""); setnnames(); } /* convert [Year][Month]Day into unix time (since 1970) * Year: two or four digits, Month: two digits, Day: two digits */ time_t Mktime(char *date) { time_t t; int len; struct tm tm; (void)time(&t); tp = localtime(&t); len = strlen(date); if (len < 2) return((time_t)-1); tm.tm_sec = 0; tm.tm_min = 0; /* Avoid getting caught by a timezone shift; set time to noon */ tm.tm_isdst = 0; tm.tm_hour = 12; tm.tm_wday = 0; tm.tm_mday = tp->tm_mday; tm.tm_mon = tp->tm_mon; tm.tm_year = tp->tm_year; /* Day */ tm.tm_mday = atoi(date + len - 2); /* Month */ if (len >= 4) { *(date + len - 2) = '\0'; tm.tm_mon = atoi(date + len - 4) - 1; } /* Year */ if (len >= 6) { *(date + len - 4) = '\0'; tm.tm_year = atoi(date); /* tm_year up TM_YEAR_BASE ... */ if (tm.tm_year < 69) /* Y2K */ tm.tm_year += 2000 - TM_YEAR_BASE; else if (tm.tm_year < 100) tm.tm_year += 1900 - TM_YEAR_BASE; else if (tm.tm_year > TM_YEAR_BASE) tm.tm_year -= TM_YEAR_BASE; } #if DEBUG printf("Mktime: %d %d %d %s\n", (int)mktime(&tm), (int)t, len, asctime(&tm)); #endif return(mktime(&tm)); } void adjust_calendar(int *day, int *month) { switch (calendar) { case GREGORIAN: break; case JULIAN: *day += julian; if (*day > (cumdays[*month + 1] - cumdays[*month])) { *day -= (cumdays[*month + 1] - cumdays[*month]); if (++*month > 12) *month = 1; } break; case LUNAR: break; } } /* * Possible date formats include any combination of: * 3-charmonth (January, Jan, Jan) * 3-charweekday (Friday, Monday, mon.) * numeric month or day (1, 2, 04) * * Any character except \t or '*' may separate them, or they may not be * separated. Any line following a line that is matched, that starts * with \t, is shown along with the matched line. */ struct match * isnow(char *endp, int bodun) { int day = 0, flags = 0, month = 0, v1, v2, i; int monthp, dayp, varp = 0; struct match *matches = NULL, *tmp, *tmp2; int interval = YEARLY; /* how frequently the event repeats. */ int vwd = 0; /* Variable weekday */ time_t tdiff, ttmp; struct tm tmtmp; /* * CONVENTION * * Month: 1-12 * Monthname: Jan .. Dec * Day: 1-31 * Weekday: Mon-Sun * */ /* read first field */ /* didn't recognize anything, skip it */ if (!(v1 = getfield(endp, &endp, &flags))) return (NULL); /* adjust bodun rate */ if (bodun && !bodun_always) bodun = !arc4random_uniform(3); /* Easter or Easter depending days */ if (flags & F_SPECIAL) vwd = v1; /* * 1. {Weekday,Day} XYZ ... * * where Day is > 12 */ else if (flags & F_ISDAY || v1 > 12) { /* found a day; day: 13-31 or weekday: 1-7 */ day = v1; /* {Day,Weekday} {Month,Monthname} ... */ /* if no recognizable month, assume just a day alone -- this is * very unlikely and can only happen after the first 12 days. * --find month or use current month */ if (!(month = getfield(endp, &endp, &flags))) { month = tp->tm_mon + 1; /* F_ISDAY is set only if a weekday was spelled out */ /* F_ISDAY must be set if 0 < day < 8 */ if ((day <= 7) && (day >= 1)) interval = WEEKLY; else interval = MONTHLY; } else if ((day <= 7) && (day >= 1)) day += 10; /* it's a weekday; make it the first one of the month */ if (month == -1) { month = tp->tm_mon + 1; interval = MONTHLY; } else if (calendar) adjust_calendar(&day, &month); if ((month > 12) || (month < 1)) return (NULL); } /* 2. {Monthname} XYZ ... */ else if (flags & F_ISMONTH) { month = v1; if (month == -1) { month = tp->tm_mon + 1; interval = MONTHLY; } /* Monthname {day,weekday} */ /* if no recognizable day, assume the first day in month */ if (!(day = getfield(endp, &endp, &flags))) day = 1; /* If a weekday was spelled out without an ordering, * assume the first of that day in the month */ if ((flags & F_ISDAY)) { if ((day >= 1) && (day <=7)) day += 10; } else if (calendar) adjust_calendar(&day, &month); } /* Hm ... */ else { v2 = getfield(endp, &endp, &flags); /* * {Day} {Monthname} ... * where Day <= 12 */ if (flags & F_ISMONTH) { day = v1; month = v2; if (month == -1) { month = tp->tm_mon + 1; interval = MONTHLY; } else if (calendar) adjust_calendar(&day, &month); } /* {Month} {Weekday,Day} ... */ else { /* F_ISDAY set, v2 > 12, or no way to tell */ month = v1; /* if no recognizable day, assume the first */ day = v2 ? v2 : 1; if ((flags & F_ISDAY)) { if ((day >= 1) && (day <= 7)) day += 10; } else adjust_calendar(&day, &month); } } /* convert Weekday into *next* Day, * e.g.: 'Sunday' -> 22 * 'SundayLast' -> ?? */ if (flags & F_ISDAY) { #if DEBUG fprintf(stderr, "\nday: %d %s month %d\n", day, endp, month); #endif varp = 1; /* variable weekday, SundayLast, MondayFirst ... */ if (day < 0 || day >= 10) vwd = day; else { day = tp->tm_mday + (((day - 1) - tp->tm_wday + 7) % 7); interval = WEEKLY; } } else /* Check for silliness. Note we still catch Feb 29 */ if (!(flags & F_SPECIAL) && (day > (cumdays[month + 1] - cumdays[month]) || day < 1)) { if (!((month == 2 && day == 29) || (interval == MONTHLY && day <= 31))) return (NULL); } if (!(flags & F_SPECIAL)) { monthp = month; dayp = day; day = cumdays[month] + day; #if DEBUG fprintf(stderr, "day2: day %d(%d) yday %d\n", dayp, day, tp->tm_yday); #endif /* Speed up processing for the most common situation: yearly events * when the interval being checked is less than a month or so (this * could be less than a year, but then we have to start worrying about * leap years). Only one event can match, and it's easy to find. * Note we can't check special events, because they can wander widely. */ if (((v1 = offset + f_dayAfter) < 50) && (interval == YEARLY)) { memcpy(&tmtmp, tp, sizeof(struct tm)); tmtmp.tm_mday = dayp; tmtmp.tm_mon = monthp - 1; if (vwd) { /* We want the event next year if it's late now * this year. The 50-day limit means we don't have to * worry if next year is or isn't a leap year. */ if (tp->tm_yday > 300 && tmtmp.tm_mon <= 1) variable_weekday(&vwd, tmtmp.tm_mon + 1, tmtmp.tm_year + TM_YEAR_BASE + 1); else variable_weekday(&vwd, tmtmp.tm_mon + 1, tmtmp.tm_year + TM_YEAR_BASE); day = cumdays[tmtmp.tm_mon + 1] + vwd; tmtmp.tm_mday = vwd; } v2 = day - tp->tm_yday; if ((v2 > v1) || (v2 < 0)) { if ((v2 += isleap(tp->tm_year + TM_YEAR_BASE) ? 366 : 365) <= v1) tmtmp.tm_year++; else if(!bodun || (day - tp->tm_yday) != -1) return(NULL); } if ((tmp = malloc(sizeof(struct match))) == NULL) err(1, NULL); if (bodun && (day - tp->tm_yday) == -1) { tmp->when = f_time - 1 * SECSPERDAY; tmtmp.tm_mday++; tmp->bodun = 1; } else { tmp->when = f_time + v2 * SECSPERDAY; tmp->bodun = 0; } (void)mktime(&tmtmp); if (strftime(tmp->print_date, sizeof(tmp->print_date), /* "%a %b %d", &tm); Skip weekdays */ "%b %d", &tmtmp) == 0) tmp->print_date[sizeof(tmp->print_date) - 1] = '\0'; tmp->var = varp; tmp->next = NULL; return(tmp); } } else { varp = 1; /* Set up v1 to the event number and ... */ v1 = vwd % (NUMEV + 1) - 1; vwd /= (NUMEV + 1); if (v1 < 0) { v1 += NUMEV + 1; vwd--; } dayp = monthp = 1; /* Why not */ } /* Compare to past and coming instances of the event. The i == 0 part * of the loop corresponds to this specific instance. Note that we * can leave things sort of higgledy-piggledy since a mktime() happens * on this before anything gets printed. Also note that even though * we've effectively gotten rid of f_dayBefore, we still have to check * the one prior event for situations like "the 31st of every month" * and "yearly" events which could happen twice in one year but not in * the next */ tmp2 = matches; for (i = -1; i < 2; i++) { memcpy(&tmtmp, tp, sizeof(struct tm)); tmtmp.tm_mday = dayp; tmtmp.tm_mon = month = monthp - 1; do { v2 = 0; switch (interval) { case WEEKLY: tmtmp.tm_mday += 7 * i; break; case MONTHLY: month += i; tmtmp.tm_mon = month; switch(tmtmp.tm_mon) { case -1: tmtmp.tm_mon = month = 11; tmtmp.tm_year--; break; case 12: tmtmp.tm_mon = month = 0; tmtmp.tm_year++; break; } if (vwd) { v1 = vwd; variable_weekday(&v1, tmtmp.tm_mon + 1, tmtmp.tm_year + TM_YEAR_BASE); tmtmp.tm_mday = v1; } else tmtmp.tm_mday = dayp; break; case YEARLY: default: tmtmp.tm_year += i; if (flags & F_SPECIAL) { tmtmp.tm_mon = 0; /* Gee, mktime() is nice */ tmtmp.tm_mday = spev[v1].getev(tmtmp.tm_year + TM_YEAR_BASE) + vwd; } else if (vwd) { v1 = vwd; variable_weekday(&v1, tmtmp.tm_mon + 1, tmtmp.tm_year + TM_YEAR_BASE); tmtmp.tm_mday = v1; } else { /* Need the following to keep Feb 29 from * becoming Mar 1 */ tmtmp.tm_mday = dayp; tmtmp.tm_mon = monthp - 1; } break; } /* How many days apart are we */ if ((ttmp = mktime(&tmtmp)) == -1) warnx("time out of range: %s", endp); else { tdiff = difftime(ttmp, f_time)/ SECSPERDAY; if (tdiff <= offset + f_dayAfter || (bodun && tdiff == -1)) { if (tdiff >= 0 || (bodun && tdiff == -1)) { if ((tmp = malloc(sizeof(struct match))) == NULL) err(1, NULL); tmp->when = ttmp; if (strftime(tmp->print_date, sizeof(tmp->print_date), /* "%a %b %d", &tm); Skip weekdays */ "%b %d", &tmtmp) == 0) tmp->print_date[sizeof(tmp->print_date) - 1] = '\0'; tmp->bodun = bodun && tdiff == -1; tmp->var = varp; tmp->next = NULL; if (tmp2) tmp2->next = tmp; else matches = tmp; tmp2 = tmp; v2 = (i == 1) ? 1 : 0; } } else i = 2; /* No point checking in the future */ } } while (v2 != 0); } return (matches); } int getmonth(char *s) { char **p; struct fixs *n; for (n = fnmonths; n->name; ++n) if (!strncasecmp(s, n->name, n->len)) return ((n - fnmonths) + 1); for (n = nmonths; n->name; ++n) if (!strncasecmp(s, n->name, n->len)) return ((n - nmonths) + 1); for (p = months; *p; ++p) if (!strncasecmp(s, *p, 3)) return ((p - months) + 1); return (0); } int getday(char *s) { char **p; struct fixs *n; for (n = fndays; n->name; ++n) if (!strncasecmp(s, n->name, n->len)) return ((n - fndays) + 1); for (n = ndays; n->name; ++n) if (!strncasecmp(s, n->name, n->len)) return ((n - ndays) + 1); for (p = days; *p; ++p) if (!strncasecmp(s, *p, 3)) return ((p - days) + 1); return (0); } /* return offset for variable weekdays * -1 -> last weekday in month * +1 -> first weekday in month * ... etc ... */ int getdayvar(char *s) { int offset; offset = strlen(s); /* Sun+1 or Wednesday-2 * ^ ^ */ /* printf ("x: %s %s %d\n", s, s + offset - 2, offset); */ switch(*(s + offset - 2)) { case '-': case '+': return(atoi(s + offset - 2)); break; } /* * some aliases: last, first, second, third, fourth */ /* last */ if (offset > 4 && !strcasecmp(s + offset - 4, "last")) return(-1); else if (offset > 5 && !strcasecmp(s + offset - 5, "first")) return(+1); else if (offset > 6 && !strcasecmp(s + offset - 6, "second")) return(+2); else if (offset > 5 && !strcasecmp(s + offset - 5, "third")) return(+3); else if (offset > 6 && !strcasecmp(s + offset - 6, "fourth")) return(+4); /* no offset detected */ return(0); } int foy(int year) { /* 0-6; what weekday Jan 1 is */ year--; return ((1 - year/100 + year/400 + (int)(365.25 * year)) % 7); } void variable_weekday(int *day, int month, int year) { int v1, v2; int *cumdays; int day1; if (isleap(year)) cumdays = daytab[1]; else cumdays = daytab[0]; day1 = foy(year); /* negative offset; last, -4 .. -1 */ if (*day < 0) { v1 = *day/10 - 1; /* offset -4 ... -1 */ *day = 10 + (*day % 10); /* day 1 ... 7 */ /* which weekday the end of the month is (1-7) */ v2 = (cumdays[month + 1] + day1) % 7 + 1; /* and subtract enough days */ *day = cumdays[month + 1] - cumdays[month] + (v1 + 1) * 7 - (v2 - *day + 7) % 7; #if DEBUG fprintf(stderr, "\nMonth %d ends on weekday %d\n", month, v2); #endif } /* first, second ... +1 ... +5 */ else { v1 = *day/10; /* offset */ *day = *day % 10; /* which weekday the first of the month is (1-7) */ v2 = (cumdays[month] + 1 + day1) % 7 + 1; /* and add enough days */ *day = 1 + (v1 - 1) * 7 + (*day - v2 + 7) % 7; #if DEBUG fprintf(stderr, "\nMonth %d starts on weekday %d\n", month, v2); #endif } } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/Makefile0000664000000000000000000000016311371260565017241 0ustar PROG = calendar SRC = calendar.c io.c day.c ostern.c paskha.c pesach.c topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/paskha.c0000664000000000000000000000355312665277472017236 0ustar /* $OpenBSD: paskha.c,v 1.6 2009/10/27 23:59:36 deraadt Exp $ */ /* * Copyright (C) 1993-1996 by Andrey A. Chernov, Moscow, Russia. * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. */ #include #include #include "calendar.h" /* return year day for Orthodox Easter using Gauss formula */ /* (new style result); subtract 13 for old style */ int paskha(int R) /*year*/ { int a, b, c, d, e; static int x = 15; static int y = 6; int cumdays; a = R % 19; b = R % 4; c = R % 7; d = (19*a + x) % 30; e = (2*b + 4*c + 6*d + y) % 7; cumdays = 31 + 28; if (isleap(R)) cumdays++; return ((cumdays + 22) + (d + e) + 13); } bsdmainutils-9.0.6ubuntu3/usr.bin/calendar/default0000664000000000000000000000114411371260565017150 0ustar /* This is the system-wide default calendar file, used if calendar(1) * is invoked by a user without a ~/calendar or ~/.calendar/calendar file. * It may be edited or even deleted to reflect local policy. * * In the standard setup, we simply include the default calendar * definitions from /usr/share/calendar/calendar.all. If you want * only some of those definitions, copy calendar.all to /etc/calendar * and edit it there. That way, your changes will be kept next time * you upgrade. * * The search path for include files is: * /etc/calendar * /usr/share/calendar */ #include "calendar.all" bsdmainutils-9.0.6ubuntu3/usr.bin/write/0000775000000000000000000000000012665277472015176 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/write/write.c0000664000000000000000000002050612665277470016475 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory. * * 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 const char copyright[] = "@(#) Copyright (c) 1989, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif #if 0 #ifndef lint static char sccsid[] = "@(#)write.c 8.1 (Berkeley) 6/6/93"; #endif #endif #include __FBSDID("$FreeBSD$"); #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include void done(int); void do_write(char *, char *, uid_t); static void usage(void); int term_chk(char *, int *, time_t *, int); void wr_fputs(unsigned char *s); void search_utmp(char *, char *, char *, uid_t); int utmp_chk(char *, char *); int main(int argc, char **argv) { time_t atime; uid_t myuid; int msgsok, myttyfd; char tty[MAXPATHLEN], *mytty; (void)setlocale(LC_CTYPE, ""); while (getopt(argc, argv, "") != -1) usage(); argc -= optind; argv += optind; /* check that sender has write enabled */ if (isatty(fileno(stdin))) myttyfd = fileno(stdin); else if (isatty(fileno(stdout))) myttyfd = fileno(stdout); else if (isatty(fileno(stderr))) myttyfd = fileno(stderr); else errx(1, "can't find your tty"); if (!(mytty = ttyname(myttyfd))) errx(1, "can't find your tty's name"); if (!strncmp(mytty, _PATH_DEV, strlen(_PATH_DEV))) mytty += strlen(_PATH_DEV); if (term_chk(mytty, &msgsok, &atime, 1)) exit(1); if (!msgsok) errx(1, "you have write permission turned off"); myuid = getuid(); /* check args */ switch (argc) { case 1: search_utmp(argv[0], tty, mytty, myuid); do_write(tty, mytty, myuid); break; case 2: if (!strncmp(argv[1], _PATH_DEV, strlen(_PATH_DEV))) argv[1] += strlen(_PATH_DEV); if (utmp_chk(argv[0], argv[1])) errx(1, "%s is not logged in on %s", argv[0], argv[1]); if (term_chk(argv[1], &msgsok, &atime, 1)) exit(1); if (myuid && !msgsok) errx(1, "%s has messages disabled on %s", argv[0], argv[1]); do_write(argv[1], mytty, myuid); break; default: usage(); } done(0); return (0); } static void usage(void) { (void)fprintf(stderr, "usage: write user [tty]\n"); exit(1); } /* * utmp_chk - checks that the given user is actually logged in on * the given tty */ int utmp_chk(char *user, char *tty) { struct utmp u; int ufd; if ((ufd = open(_PATH_UTMP, O_RDONLY)) < 0) return(0); /* ignore error, shouldn't happen anyway */ while (read(ufd, (char *) &u, sizeof(u)) == sizeof(u)) if (strncmp(user, u.ut_name, sizeof(u.ut_name)) == 0 && strncmp(tty, u.ut_line, sizeof(u.ut_line)) == 0) { (void)close(ufd); return(0); } (void)close(ufd); return(1); } /* * search_utmp - search utmp for the "best" terminal to write to * * Ignores terminals with messages disabled, and of the rest, returns * the one with the most recent access time. Returns as value the number * of the user's terminals with messages enabled, or -1 if the user is * not logged in at all. * * Special case for writing to yourself - ignore the terminal you're * writing from, unless that's the only terminal with messages enabled. */ void search_utmp(char *user, char *tty, char *mytty, uid_t myuid) { struct utmp u; time_t bestatime, atime; int ufd, nloggedttys, nttys, msgsok, user_is_me; char atty[UT_LINESIZE + 1]; if ((ufd = open(_PATH_UTMP, O_RDONLY)) < 0) err(1, "utmp"); nloggedttys = nttys = 0; bestatime = 0; user_is_me = 0; while (read(ufd, (char *) &u, sizeof(u)) == sizeof(u)) if (strncmp(user, u.ut_name, sizeof(u.ut_name)) == 0) { ++nloggedttys; (void)strncpy(atty, u.ut_line, UT_LINESIZE); atty[UT_LINESIZE] = '\0'; if (term_chk(atty, &msgsok, &atime, 0)) continue; /* bad term? skip */ if (myuid && !msgsok) continue; /* skip ttys with msgs off */ if (strcmp(atty, mytty) == 0) { user_is_me = 1; continue; /* don't write to yourself */ } ++nttys; if (atime > bestatime) { bestatime = atime; (void)strcpy(tty, atty); } } (void)close(ufd); if (nloggedttys == 0) errx(1, "%s is not logged in", user); if (nttys == 0) { if (user_is_me) { /* ok, so write to yourself! */ (void)strcpy(tty, mytty); return; } errx(1, "%s has messages disabled", user); } else if (nttys > 1) { warnx("%s is logged in more than once; writing to %s", user, tty); } } /* * term_chk - check that a terminal exists, and get the message bit * and the access time */ int term_chk(char *tty, int *msgsokP, time_t *atimeP, int showerror) { struct stat s; char path[MAXPATHLEN]; (void)snprintf(path, sizeof(path), "%s%s", _PATH_DEV, tty); if (stat(path, &s) < 0) { if (showerror) warn("%s", path); return(1); } *msgsokP = (s.st_mode & (S_IWRITE >> 3)) != 0; /* group write bit */ *atimeP = s.st_atime; return(0); } /* * do_write - actually make the connection */ void do_write(char *tty, char *mytty, uid_t myuid) { const char *login; char *nows; struct passwd *pwd; time_t now; char path[MAXPATHLEN], host[MAXHOSTNAMELEN], line[512]; /* Determine our login name before we reopen() stdout */ if ((login = getlogin()) == NULL) { if ((pwd = getpwuid(myuid))) login = pwd->pw_name; else login = "???"; } (void)snprintf(path, sizeof(path), "%s%s", _PATH_DEV, tty); if ((freopen(path, "w", stdout)) == NULL) err(1, "%s", path); (void)signal(SIGINT, done); (void)signal(SIGHUP, done); /* print greeting */ if (gethostname(host, sizeof(host)) < 0) (void)strcpy(host, "???"); now = time((time_t *)NULL); nows = ctime(&now); nows[16] = '\0'; (void)printf("\r\n\007\007\007Message from %s@%s on %s at %s ...\r\n", login, host, mytty, nows + 11); while (fgets(line, sizeof(line), stdin) != NULL) wr_fputs(line); } /* * done - cleanup and exit */ void done(int n __unused) { (void)printf("EOF\r\n"); exit(0); } /* * wr_fputs - like fputs(), but makes control characters visible and * turns \n into \r\n */ void wr_fputs(unsigned char *s) { #define PUTC(c) if (putchar(c) == EOF) err(1, NULL); for (; *s != '\0'; ++s) { if (*s == '\n') { PUTC('\r'); } else if (((*s & 0x80) && *s < 0xA0) || /* disable upper controls */ (!isprint(*s) && !isspace(*s) && *s != '\a' && *s != '\b') ) { if (*s & 0x80) { *s &= ~0x80; PUTC('M'); PUTC('-'); } if (iscntrl(*s)) { *s ^= 0x40; PUTC('^'); } } PUTC(*s); } return; #undef PUTC } bsdmainutils-9.0.6ubuntu3/usr.bin/write/write.10000664000000000000000000000745311371260565016407 0ustar .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory. .\" .\" 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. .\" .\" @(#)write.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" .Dd July 17, 2004 .Dt WRITE 1 .Os .Sh NAME .Nm write .Nd send a message to another user .Sh SYNOPSIS .Nm .Ar user .Op Ar tty .Sh DESCRIPTION The .Nm utility allows you to communicate with other users, by copying lines from your terminal to theirs. .Pp When you run the .Nm command, the user you are writing to gets a message of the form: .Pp .Dl Message from yourname@yourhost on yourtty at hh:mm ... .Pp Any further lines you enter will be copied to the specified user's terminal. If the other user wants to reply, they must run .Nm as well. .Pp When you are done, type an end-of-file or interrupt character. The other user will see the message .Ql EOF indicating that the conversation is over. .Pp You can prevent people (other than the super-user) from writing to you with the .Xr mesg 1 command. .Pp If the user you want to write to is logged in on more than one terminal, you can specify which terminal to write to by specifying the terminal name as the second operand to the .Nm command. Alternatively, you can let .Nm select one of the terminals \- it will pick the one with the shortest idle time. This is so that if the user is logged in at work and also dialed up from home, the message will go to the right place. .Pp The traditional protocol for writing to someone is that the string .Ql \-o , either at the end of a line or on a line by itself, means that it is the other person's turn to talk. The string .Ql oo means that the person believes the conversation to be over. .Sh SEE ALSO .Xr mesg 1 , .Xr talk 1 , .Xr wall 1 , .Xr who 1 .Sh HISTORY A .Nm command appeared in .At v1 . .Sh BUGS The sender's .Ev LC_CTYPE setting is used to determine which characters are safe to write to a terminal, not the receiver's (which .Nm has no way of knowing). .Pp The .Nm utility does not recognize multibyte characters. bsdmainutils-9.0.6ubuntu3/usr.bin/write/Makefile0000664000000000000000000000043211371260565016621 0ustar PROG = bsd-write MAN = write.1 topdir=../.. include $(topdir)/config.mk bsd-write.o: write.c $(CC) -include $(topdir)/freebsd.h $(FLAGS) $(CFLAGS) -c -o $@ $< install-2: chown root:tty $(bindir)/$(PROG) chmod 2755 $(bindir)/$(PROG) mv $(mandir)/write.1 $(mandir)/bsd-write.1 bsdmainutils-9.0.6ubuntu3/usr.bin/lorder/0000775000000000000000000000000012665277472015333 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/lorder/lorder.10000664000000000000000000000500611371260565016671 0ustar .\" $OpenBSD: lorder.1,v 1.9 2007/08/06 19:16:06 sobrado Exp $ .\" $NetBSD: lorder.1,v 1.5 1995/08/31 22:42:44 jtc Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. 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. .\" .\" @(#)lorder.1 8.2 (Berkeley) 4/28/95 .\" .Dd $Mdocdate: August 6 2007 $ .Dt LORDER 1 .Os .Sh NAME .Nm lorder .Nd list dependencies for object files .Sh SYNOPSIS .Nm lorder .Ar .Sh DESCRIPTION The .Nm utility uses .Xr nm 1 to determine interdependencies in the list of object files specified on the command line. .Nm outputs a list of file names where the first file contains a symbol which is defined by the second file. .Pp The output is normally used with .Xr tsort 1 when a library is created to determine the optimum ordering of the object modules so that all references may be resolved in a single pass of the loader. .Sh EXAMPLES .Bd -literal $ ar cr library.a `lorder ${OBJS} | tsort` .Ed .Sh SEE ALSO .Xr ar 1 , .Xr ld 1 , .Xr nm 1 , .Xr ranlib 1 , .Xr tsort 1 .Sh HISTORY An .Nm utility appeared in .At v7 . bsdmainutils-9.0.6ubuntu3/usr.bin/lorder/lorder.sh0000664000000000000000000000527412665277470017164 0ustar #!/bin/sh - # $OpenBSD: lorder.sh,v 1.14 2003/07/02 00:21:16 avsm Exp $ # $NetBSD: lorder.sh.gnm,v 1.3 1995/12/20 04:45:11 cgd Exp $ # # Copyright (c) 1990, 1993 # The Regents of the University of California. All rights reserved. # # 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. 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. # # @(#)lorder.sh 8.1 (Berkeley) 6/6/93 # # one argument can be optimized: put out the filename twice case $# in 0) echo "usage: lorder file ..."; exit ;; 1) echo $1 $1; exit ;; esac # temporary files R=`mktemp /tmp/_referenceXXXXXXXXXX` || exit 1 S=`mktemp /tmp/_symbolXXXXXXXXXX` || { rm -f ${R} exit 1 } # remove temporary files on HUP, INT, QUIT, PIPE, TERM trap "rm -f $R $S; exit 0" 0 trap "rm -f $R $S; exit 1" 1 2 3 13 15 # make sure files depend on themselves for file in "$@"; do echo "$file $file" ; done # if the line has " T ", " D ", " G ", " R ", it's a globally defined # symbol, put it into the symbol file. # # if the line has " U " it's a globally undefined symbol, put it into # the reference file. ${NM:-nm} -go "$@" | sed " / [TDGR] / { s/:.* [TDGR] / / w $S d } / U / { s/:.* U / / w $R } d " # sort symbols and references on the first field (the symbol) # join on that field, and print out the file names (dependencies). sort +1 $R -o $R sort +1 $S -o $S join -j 2 -o 1.1 2.1 $R $S rm -f $R $S bsdmainutils-9.0.6ubuntu3/usr.bin/lorder/Makefile0000664000000000000000000000011111371260565016750 0ustar PROG = lorder SRC = lorder.sh topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/usr.bin/look/0000775000000000000000000000000012665277472015010 5ustar bsdmainutils-9.0.6ubuntu3/usr.bin/look/look.10000664000000000000000000000712012665277470016034 0ustar .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" 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. .\" .\" @(#)look.1 8.1 (Berkeley) 6/14/93 .\" $FreeBSD$ .\" .Dd July 17, 2004 .Dt LOOK 1 .Os .Sh NAME .Nm look .Nd display lines beginning with a given string .Sh SYNOPSIS .Nm .Op Fl df .Op Fl t Ar termchar .Ar string .Op Ar .Sh DESCRIPTION The .Nm utility displays any lines in .Ar file which contain .Ar string as a prefix. As .Nm performs a binary search, the lines in .Ar file must be sorted. .Pp If .Ar file is not specified, the file .Pa /usr/share/dict/words is used, only alphanumeric characters are compared and the case of alphabetic characters is ignored. .Pp The following options are available: .Bl -tag -width indent .It Fl d Dictionary character set and order, i.e., only alphanumeric characters are compared. .It Fl f Ignore the case of alphabetic characters. .It Fl t Specify a string termination character, i.e., only the characters in .Ar string up to and including the first occurrence of .Ar termchar are compared. .El .Sh ENVIRONMENT The .Ev LANG , LC_ALL and .Ev LC_CTYPE environment variables affect the execution of the .Nm utility. Their effect is described in .Xr environ 7 . .Sh FILES .Bl -tag -width /usr/share/dict/words -compact .It Pa /usr/share/dict/words the dictionary .El .Sh EXIT STATUS The .Nm utility exits 0 if one or more lines were found and displayed, 1 if no lines were found, and >1 if an error occurred. .Sh COMPATIBILITY The original manual page stated that tabs and blank characters participated in comparisons when the .Fl d option was specified. This was incorrect and the current man page matches the historic implementation. .Sh SEE ALSO .Xr grep 1 , .Xr sort 1 .Sh HISTORY A .Nm utility appeared in .At v7 . .Sh BUGS Lines are not compared according to the current locale's collating order. Input files must be sorted with .Ev LC_COLLATE set to .Ql C . bsdmainutils-9.0.6ubuntu3/usr.bin/look/pathnames.h0000664000000000000000000000360011371260565017124 0ustar /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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. * * @(#)pathnames.h 8.1 (Berkeley) 6/9/93 */ #define _PATH_WORDS "/usr/share/dict/words" bsdmainutils-9.0.6ubuntu3/usr.bin/look/look.c0000664000000000000000000002222012665277470016114 0ustar /*- * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * David Hitz of Auspex Systems, Inc. * * 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 const char copyright[] = "@(#) Copyright (c) 1991, 1993\n\ The Regents of the University of California. All rights reserved.\n"; #endif /* not lint */ #ifndef lint #if 0 static char sccsid[] = "@(#)look.c 8.2 (Berkeley) 5/4/95"; #endif #endif /* not lint */ #include __FBSDID("$FreeBSD$"); /* * look -- find lines in a sorted list. * * The man page said that TABs and SPACEs participate in -d comparisons. * In fact, they were ignored. This implements historic practice, not * the manual page. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "pathnames.h" static char _path_words[] = _PATH_WORDS; #define EQUAL 0 #define GREATER 1 #define LESS (-1) int dflag, fflag; char *binary_search(wchar_t *, unsigned char *, unsigned char *); int compare(wchar_t *, unsigned char *, unsigned char *); char *linear_search(wchar_t *, unsigned char *, unsigned char *); int look(wchar_t *, unsigned char *, unsigned char *); wchar_t *prepkey(const char *, wchar_t); void print_from(wchar_t *, unsigned char *, unsigned char *); static void usage(void); int main(int argc, char *argv[]) { struct stat sb; int ch, fd, match; wchar_t termchar; unsigned char *back, *front; unsigned const char *file; wchar_t *key; (void) setlocale(LC_CTYPE, ""); file = _path_words; termchar = L'\0'; while ((ch = getopt(argc, argv, "dft:")) != -1) switch(ch) { case 'd': dflag = 1; break; case 'f': fflag = 1; break; case 't': if (mbrtowc(&termchar, optarg, MB_LEN_MAX, NULL) != strlen(optarg)) errx(2, "invalid termination character"); break; case '?': default: usage(); } argc -= optind; argv += optind; if (argc == 0) usage(); if (argc == 1) /* But set -df by default. */ dflag = fflag = 1; key = prepkey(*argv++, termchar); if (argc >= 2) file = *argv++; match = 1; do { if ((fd = open(file, O_RDONLY, 0)) < 0 || fstat(fd, &sb)) err(2, "%s", file); if (sb.st_size > SIZE_T_MAX) errx(2, "%s: %s", file, strerror(EFBIG)); if (sb.st_size == 0) { close(fd); continue; } if ((front = mmap(NULL, (size_t)sb.st_size, PROT_READ, MAP_SHARED, fd, (off_t)0)) == MAP_FAILED) err(2, "%s", file); back = front + sb.st_size; match *= (look(key, front, back)); close(fd); } while (argc-- > 2 && (file = *argv++)); exit(match); } wchar_t * prepkey(const char *string, wchar_t termchar) { const char *readp; wchar_t *key, *writep; wchar_t ch; size_t clen; /* * Reformat search string and convert to wide character representation * to avoid doing it multiple times later. */ if ((key = malloc(sizeof(wchar_t) * (strlen(string) + 1))) == NULL) err(2, NULL); readp = string; writep = key; while ((clen = mbrtowc(&ch, readp, MB_LEN_MAX, NULL)) != 0) { if (clen == (size_t)-1 || clen == (size_t)-2) errc(2, EILSEQ, NULL); if (fflag) ch = towlower(ch); if (!dflag || iswalnum(ch)) *writep++ = ch; readp += clen; } *writep = L'\0'; if (termchar != L'\0' && (writep = wcschr(key, termchar)) != NULL) *++writep = L'\0'; return (key); } int look(wchar_t *string, unsigned char *front, unsigned char *back) { front = binary_search(string, front, back); front = linear_search(string, front, back); if (front) print_from(string, front, back); return (front ? 0 : 1); } /* * Binary search for "string" in memory between "front" and "back". * * This routine is expected to return a pointer to the start of a line at * *or before* the first word matching "string". Relaxing the constraint * this way simplifies the algorithm. * * Invariants: * front points to the beginning of a line at or before the first * matching string. * * back points to the beginning of a line at or after the first * matching line. * * Base of the Invariants. * front = NULL; * back = EOF; * * Advancing the Invariants: * * p = first newline after halfway point from front to back. * * If the string at "p" is not greater than the string to match, * p is the new front. Otherwise it is the new back. * * Termination: * * The definition of the routine allows it return at any point, * since front is always at or before the line to print. * * In fact, it returns when the chosen "p" equals "back". This * implies that there exists a string is least half as long as * (back - front), which in turn implies that a linear search will * be no more expensive than the cost of simply printing a string or two. * * Trying to continue with binary search at this point would be * more trouble than it's worth. */ #define SKIP_PAST_NEWLINE(p, back) \ while (p < back && *p++ != '\n'); char * binary_search(wchar_t *string, unsigned char *front, unsigned char *back) { unsigned char *p; p = front + (back - front) / 2; SKIP_PAST_NEWLINE(p, back); /* * If the file changes underneath us, make sure we don't * infinitely loop. */ while (p < back && back > front) { if (compare(string, p, back) == GREATER) front = p; else back = p; p = front + (back - front) / 2; SKIP_PAST_NEWLINE(p, back); } return (front); } /* * Find the first line that starts with string, linearly searching from front * to back. * * Return NULL for no such line. * * This routine assumes: * * o front points at the first character in a line. * o front is before or at the first line to be printed. */ char * linear_search(wchar_t *string, unsigned char *front, unsigned char *back) { while (front < back) { switch (compare(string, front, back)) { case EQUAL: /* Found it. */ return (front); case LESS: /* No such string. */ return (NULL); case GREATER: /* Keep going. */ break; } SKIP_PAST_NEWLINE(front, back); } return (NULL); } /* * Print as many lines as match string, starting at front. */ void print_from(wchar_t *string, unsigned char *front, unsigned char *back) { for (; front < back && compare(string, front, back) == EQUAL; ++front) { for (; front < back && *front != '\n'; ++front) if (putchar(*front) == EOF) err(2, "stdout"); if (putchar('\n') == EOF) err(2, "stdout"); } } /* * Return LESS, GREATER, or EQUAL depending on how the string1 compares with * string2 (s1 ??? s2). * * o Matches up to len(s1) are EQUAL. * o Matches up to len(s2) are GREATER. * * Compare understands about the -f and -d flags, and treats comparisons * appropriately. * * The string "s1" is null terminated. The string s2 is '\n' terminated (or * "back" terminated). */ int compare(wchar_t *s1, unsigned char *s2, unsigned char *back) { wchar_t ch1, ch2; size_t len2; for (; *s1 && s2 < back && *s2 != '\n'; ++s1, s2 += len2) { ch1 = *s1; len2 = mbrtowc(&ch2, s2, back - s2, NULL); if (len2 == (size_t)-1 || len2 == (size_t)-2) { ch2 = *s2; len2 = 1; } if (fflag) ch2 = towlower(ch2); if (dflag && !iswalnum(ch2)) { /* Ignore character in comparison. */ --s1; continue; } if (ch1 != ch2) return (ch1 < ch2 ? LESS : GREATER); } return (*s1 ? GREATER : EQUAL); } static void usage(void) { (void)fprintf(stderr, "usage: look [-df] [-t char] string [file ...]\n"); exit(2); } bsdmainutils-9.0.6ubuntu3/usr.bin/look/Makefile0000664000000000000000000000006611371260565016436 0ustar PROG = look topdir=../.. include $(topdir)/config.mk bsdmainutils-9.0.6ubuntu3/README0000664000000000000000000000264511371260565013337 0ustar This is bsdmainutils, a collection of userland programs from the *BSD source distributions. All of the program except for calendar(1) and lorder(1) come from FreeBSD, while these two come from OpenBSD. The calendars themselves mostly come from FreeBSD though, but not all. These sources were originally pacakged by Austin Donnelly , and were based heavily on bsdutils, which was originally put together by Ian Murdock . After that, the package was maintained by Charles Briscoe-Smith . He gathered data for the 1999-2001 calendar files from various sources on the Internet. Oliver Elphick, Julian Gilbey, Daniel Martin and Jaldhar H. Vyas provided much useful data on the various religous calendars. After Charles, Marco d'Itri maintained the package for almost two years, before Tollef Fog Heen took over followed by Graham Wilson and Daniel Baumann . The package is now maintained by Giacomo Catenazzi and Michael Meskes . Graham Wilson replaced the FreeBSD calendar(1) with the calendar from OpenBSD(1), thanks to a suggestion from Matt Zimmerman. Nicolas Évrard provided calendar files for the EU and Belgium, and Martin Schulze provided a calendar with Debian dates. See /usr/share/doc/bsdmainutils/source.data.gz for more information on calendar sources. $Id$ bsdmainutils-9.0.6ubuntu3/freebsd.h0000664000000000000000000000073611371260565014241 0ustar #ifndef _FREEBSD_H_ #define _FREEBSD_H_ /* from OpenBSD's src/include/tzfile.h */ #define SECSPERMIN 60 #define MINSPERHOUR 60 #define HOURSPERDAY 24 #define DAYSPERWEEK 7 #define DAYSPERNYEAR 365 #define DAYSPERLYEAR 366 #define SECSPERHOUR (SECSPERMIN * MINSPERHOUR) #define SECSPERDAY ((long) SECSPERHOUR * HOURSPERDAY) #define MONSPERYEAR 12 #define TM_YEAR_BASE 1900 #define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0) #endif /* _FREEBSD_H_ */ bsdmainutils-9.0.6ubuntu3/Makefile0000664000000000000000000000076511371260565014120 0ustar # Makefile for the new bsdmainutils # $Id$ # what programs to build BIN=$(wildcard usr.bin/*) # used for building in the subdirectories rmake=@set -e; for i in $(BIN); do $(MAKE) --no-print-directory -C $$i $(1); done all: $(BIN) $(call rmake) clean: $(call rmake,clean) install: all mkdir -p $(DESTDIR)/usr/bin mkdir -p $(DESTDIR)/usr/share/man/man1 $(call rmake,install) dist: clean tar -czf ../`basename $(PWD)`.tar.gz -C .. --exclude .svn `basename $(PWD)` .PHONY: all install clean