home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume8 / phoon < prev    next >
SHell self-extracting ARchive  |  1987-02-26  |  54.0 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: phoon

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail, ASCII text default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 30 38 69 30 38 |Subject:| v08i08|
|00000010| 31 3a 20 20 50 68 61 73 | 65 20 6f 66 20 74 68 65 |1: Phas|e of the|
|00000020| 20 6d 6f 6f 6e 2c 20 64 | 61 74 65 20 72 6f 75 74 | moon, d|ate rout|
|00000030| 69 6e 65 73 0a 4e 65 77 | 73 67 72 6f 75 70 73 3a |ines.New|sgroups:|
|00000040| 20 6d 6f 64 2e 73 6f 75 | 72 63 65 73 0a 41 70 70 | mod.sou|rces.App|
|00000050| 72 6f 76 65 64 3a 20 6d | 69 72 72 6f 72 21 72 73 |roved: m|irror!rs|
|00000060| 0a 0a 53 75 62 6d 69 74 | 74 65 64 20 62 79 3a 20 |..Submit|ted by: |
|00000070| 4a 65 66 20 50 6f 73 6b | 61 6e 7a 65 72 20 3c 75 |Jef Posk|anzer <u|
|00000080| 6e 69 73 6f 66 74 21 63 | 68 61 72 6d 69 6e 67 3e |nisoft!c|harming>|
|00000090| 0a 4d 6f 64 2e 73 6f 75 | 72 63 65 73 3a 20 56 6f |.Mod.sou|rces: Vo|
|000000a0| 6c 75 6d 65 20 38 2c 20 | 49 73 73 75 65 20 38 31 |lume 8, |Issue 81|
|000000b0| 0a 41 72 63 68 69 76 65 | 2d 6e 61 6d 65 3a 20 70 |.Archive|-name: p|
|000000c0| 68 6f 6f 6e 0a 0a 23 21 | 20 2f 62 69 6e 2f 73 68 |hoon..#!| /bin/sh|
|000000d0| 0a 23 20 54 68 69 73 20 | 69 73 20 61 20 73 68 65 |.# This |is a she|
|000000e0| 6c 6c 20 61 72 63 68 69 | 76 65 2c 20 6d 65 61 6e |ll archi|ve, mean|
|000000f0| 69 6e 67 3a 0a 23 20 31 | 2e 20 52 65 6d 6f 76 65 |ing:.# 1|. Remove|
|00000100| 20 65 76 65 72 79 74 68 | 69 6e 67 20 61 62 6f 76 | everyth|ing abov|
|00000110| 65 20 74 68 65 20 23 21 | 20 2f 62 69 6e 2f 73 68 |e the #!| /bin/sh|
|00000120| 20 6c 69 6e 65 2e 0a 23 | 20 32 2e 20 53 61 76 65 | line..#| 2. Save|
|00000130| 20 74 68 65 20 72 65 73 | 75 6c 74 69 6e 67 20 74 | the res|ulting t|
|00000140| 65 78 74 20 69 6e 20 61 | 20 66 69 6c 65 2e 0a 23 |ext in a| file..#|
|00000150| 20 33 2e 20 45 78 65 63 | 75 74 65 20 74 68 65 20 | 3. Exec|ute the |
|00000160| 66 69 6c 65 20 77 69 74 | 68 20 2f 62 69 6e 2f 73 |file wit|h /bin/s|
|00000170| 68 20 28 6e 6f 74 20 63 | 73 68 29 20 74 6f 20 63 |h (not c|sh) to c|
|00000180| 72 65 61 74 65 20 74 68 | 65 20 66 69 6c 65 73 3a |reate th|e files:|
|00000190| 0a 23 09 52 45 41 44 4d | 45 20 4d 61 6b 65 66 69 |.#.READM|E Makefi|
|000001a0| 6c 65 20 64 65 6c 74 69 | 6d 65 2e 63 20 64 65 6c |le delti|me.c del|
|000001b0| 74 69 6d 65 2e 6d 61 6e | 20 64 74 69 6d 65 2e 63 |time.man| dtime.c|
|000001c0| 20 64 74 69 6d 65 70 2e | 6c 65 78 20 6c 65 78 65 | dtimep.|lex lexe|
|000001d0| 64 69 74 2e 73 65 64 0a | 23 09 6c 65 78 73 74 72 |dit.sed.|#.lexstr|
|000001e0| 69 6e 67 2e 63 20 6c 69 | 62 74 77 73 2e 6d 61 6e |ing.c li|btws.man|
|000001f0| 20 70 61 72 73 65 74 69 | 6d 65 2e 63 20 70 68 6f | parseti|me.c pho|
|00000200| 6f 6e 2e 63 20 70 68 6f | 6f 6e 2e 6d 61 6e 20 74 |on.c pho|on.man t|
|00000210| 77 73 2e 68 0a 23 20 54 | 68 69 73 20 61 72 63 68 |ws.h.# T|his arch|
|00000220| 69 76 65 20 63 72 65 61 | 74 65 64 20 62 79 0a 23 |ive crea|ted by.#|
|00000230| 20 4a 65 66 20 50 6f 73 | 6b 61 6e 7a 65 72 20 28 | Jef Pos|kanzer (|
|00000240| 50 61 72 61 74 68 65 6f | 2d 41 6e 61 6d 65 74 61 |Paratheo|-Anameta|
|00000250| 6d 79 73 74 69 6b 68 6f | 6f 64 20 4f 66 20 45 72 |mystikho|od Of Er|
|00000260| 69 73 20 45 73 6f 74 65 | 72 69 63 2c 20 41 64 61 |is Esote|ric, Ada|
|00000270| 20 4c 6f 76 65 6c 61 63 | 65 20 43 61 62 61 6c 29 | Lovelac|e Cabal)|
|00000280| 0a 65 78 70 6f 72 74 20 | 50 41 54 48 3b 20 50 41 |.export |PATH; PA|
|00000290| 54 48 3d 2f 62 69 6e 3a | 24 50 41 54 48 0a 65 63 |TH=/bin:|$PATH.ec|
|000002a0| 68 6f 20 73 68 61 72 3a | 20 65 78 74 72 61 63 74 |ho shar:| extract|
|000002b0| 69 6e 67 20 22 27 52 45 | 41 44 4d 45 27 22 20 27 |ing "'RE|ADME'" '|
|000002c0| 28 32 35 37 31 20 63 68 | 61 72 61 63 74 65 72 73 |(2571 ch|aracters|
|000002d0| 29 27 0a 69 66 20 74 65 | 73 74 20 2d 66 20 27 52 |)'.if te|st -f 'R|
|000002e0| 45 41 44 4d 45 27 0a 74 | 68 65 6e 0a 09 65 63 68 |EADME'.t|hen..ech|
|000002f0| 6f 20 73 68 61 72 3a 20 | 77 69 6c 6c 20 6e 6f 74 |o shar: |will not|
|00000300| 20 6f 76 65 72 2d 77 72 | 69 74 65 20 65 78 69 73 | over-wr|ite exis|
|00000310| 74 69 6e 67 20 66 69 6c | 65 20 22 27 52 45 41 44 |ting fil|e "'READ|
|00000320| 4d 45 27 22 0a 65 6c 73 | 65 0a 73 65 64 20 27 73 |ME'".els|e.sed 's|
|00000330| 2f 5e 58 2f 2f 27 20 3c | 3c 20 5c 53 48 41 52 5f |/^X//' <|< \SHAR_|
|00000340| 45 4f 46 20 3e 20 27 52 | 45 41 44 4d 45 27 0a 58 |EOF > 'R|EADME'.X|
|00000350| 53 65 63 6f 6e 64 20 64 | 69 73 74 72 69 62 75 74 |Second d|istribut|
|00000360| 69 6f 6e 20 6f 66 20 70 | 68 6f 6f 6e 2c 20 64 65 |ion of p|hoon, de|
|00000370| 6c 74 69 6d 65 2c 20 61 | 6e 64 20 6c 69 62 74 77 |ltime, a|nd libtw|
|00000380| 73 20 2d 20 32 34 66 65 | 62 38 37 2e 0a 58 0a 58 |s - 24fe|b87..X.X|
|00000390| 0a 58 54 68 69 73 20 70 | 61 63 6b 61 67 65 20 63 |.XThis p|ackage c|
|000003a0| 6f 6e 74 61 69 6e 73 20 | 74 77 6f 20 70 72 6f 67 |ontains |two prog|
|000003b0| 72 61 6d 73 20 61 6e 64 | 20 61 20 6c 69 62 72 61 |rams and| a libra|
|000003c0| 72 79 3a 0a 58 0a 58 20 | 20 20 20 70 68 6f 6f 6e |ry:.X.X | phoon|
|000003d0| 20 2d 20 70 72 6f 67 72 | 61 6d 20 74 6f 20 64 69 | - progr|am to di|
|000003e0| 73 70 6c 61 79 20 74 68 | 65 20 50 48 61 73 65 20 |splay th|e PHase |
|000003f0| 6f 66 20 74 68 65 20 6d | 4f 4f 4e 2e 20 20 55 6e |of the m|OON. Un|
|00000400| 6c 69 6b 65 20 6f 74 68 | 65 72 0a 58 20 20 20 20 |like oth|er.X |
|00000410| 73 75 63 68 20 70 72 6f | 67 72 61 6d 73 2c 20 77 |such pro|grams, w|
|00000420| 68 69 63 68 20 6a 75 73 | 74 20 74 65 6c 6c 20 79 |hich jus|t tell y|
|00000430| 6f 75 20 68 6f 77 20 6c | 6f 6e 67 20 73 69 6e 63 |ou how l|ong sinc|
|00000440| 65 20 66 69 72 73 74 20 | 71 75 61 72 74 65 72 0a |e first |quarter.|
|00000450| 58 20 20 20 20 6f 72 20 | 73 6f 6d 65 74 68 69 6e |X or |somethin|
|00000460| 67 20 6c 69 6b 65 20 74 | 68 61 74 2c 20 70 68 6f |g like t|hat, pho|
|00000470| 6f 6e 20 2a 73 68 6f 77 | 73 2a 20 79 6f 75 20 74 |on *show|s* you t|
|00000480| 68 65 20 70 68 61 73 65 | 20 77 69 74 68 20 61 20 |he phase| with a |
|00000490| 6c 69 74 74 6c 65 0a 58 | 20 20 20 20 70 69 63 74 |little.X| pict|
|000004a0| 75 72 65 2e 20 20 49 27 | 76 65 20 70 75 74 20 61 |ure. I'|ve put a|
|000004b0| 6e 20 65 78 61 6d 70 6c | 65 20 61 74 20 74 68 65 |n exampl|e at the|
|000004c0| 20 65 6e 64 20 6f 66 20 | 74 68 69 73 20 66 69 6c | end of |this fil|
|000004d0| 65 2e 20 20 49 20 66 69 | 72 73 74 0a 58 20 20 20 |e. I fi|rst.X |
|000004e0| 20 77 72 6f 74 65 20 74 | 68 69 73 20 70 72 6f 67 | wrote t|his prog|
|000004f0| 72 61 6d 20 69 6e 20 50 | 61 73 63 61 6c 20 2f 20 |ram in P|ascal / |
|00000500| 54 4f 50 53 2d 32 30 20 | 61 74 20 43 4d 55 20 69 |TOPS-20 |at CMU i|
|00000510| 6e 20 31 39 37 39 3b 20 | 49 20 74 72 61 6e 73 6c |n 1979; |I transl|
|00000520| 61 74 65 64 0a 58 20 20 | 20 20 69 74 20 74 6f 20 |ated.X | it to |
|00000530| 52 61 74 66 6f 72 20 2f | 20 53 6f 66 74 77 61 72 |Ratfor /| Softwar|
|00000540| 65 20 54 6f 6f 6c 73 20 | 69 6e 20 31 39 38 31 3b |e Tools |in 1981;|
|00000550| 20 61 6e 64 20 6e 6f 77 | 20 69 74 27 73 20 69 6e | and now| it's in|
|00000560| 20 43 20 2f 20 55 6e 69 | 78 2a 2e 0a 58 0a 58 20 | C / Uni|x*..X.X |
|00000570| 20 20 20 64 65 6c 74 69 | 6d 65 20 2d 20 70 72 6f | delti|me - pro|
|00000580| 67 72 61 6d 20 74 6f 20 | 73 75 62 74 72 61 63 74 |gram to |subtract|
|00000590| 20 64 61 74 65 2f 74 69 | 6d 65 73 2e 20 20 54 65 | date/ti|mes. Te|
|000005a0| 6c 6c 73 20 79 6f 75 20 | 74 68 65 20 64 69 66 66 |lls you |the diff|
|000005b0| 65 72 65 6e 63 65 0a 58 | 20 20 20 20 62 65 74 77 |erence.X| betw|
|000005c0| 65 65 6e 20 74 77 6f 20 | 64 61 74 65 2f 74 69 6d |een two |date/tim|
|000005d0| 65 73 2c 20 6f 72 20 62 | 65 74 77 65 65 6e 20 6e |es, or b|etween n|
|000005e0| 6f 77 20 61 6e 64 20 61 | 20 73 70 65 63 69 66 69 |ow and a| specifi|
|000005f0| 65 64 20 64 61 74 65 2f | 74 69 6d 65 2e 0a 58 20 |ed date/|time..X |
|00000600| 20 20 20 49 20 6f 6e 63 | 65 20 75 73 65 64 20 74 | I onc|e used t|
|00000610| 68 69 73 20 74 6f 20 68 | 65 6c 70 20 61 20 66 72 |his to h|elp a fr|
|00000620| 69 65 6e 64 20 71 75 69 | 74 20 73 6d 6f 6b 69 6e |iend qui|t smokin|
|00000630| 67 20 2d 20 65 76 65 72 | 79 20 74 69 6d 65 20 73 |g - ever|y time s|
|00000640| 68 65 0a 58 20 20 20 20 | 6c 6f 67 67 65 64 20 69 |he.X |logged i|
|00000650| 6e 2c 20 74 68 65 20 63 | 6f 6d 70 75 74 65 72 20 |n, the c|omputer |
|00000660| 74 6f 6c 64 20 68 65 72 | 20 68 6f 77 20 6d 61 6e |told her| how man|
|00000670| 79 20 64 61 79 73 20 73 | 69 6e 63 65 20 68 65 72 |y days s|ince her|
|00000680| 20 6c 61 73 74 0a 58 20 | 20 20 20 63 69 67 61 72 | last.X | cigar|
|00000690| 65 74 74 65 2e 20 20 49 | 20 61 6c 73 6f 20 75 73 |ette. I| also us|
|000006a0| 65 20 69 74 20 69 6e 20 | 6d 79 20 2e 6c 6f 67 69 |e it in |my .logi|
|000006b0| 6e 2c 20 74 6f 20 74 65 | 6c 6c 20 6d 65 20 68 6f |n, to te|ll me ho|
|000006c0| 77 20 6f 6c 64 20 49 20 | 61 6d 2e 0a 58 0a 58 20 |w old I |am..X.X |
|000006d0| 20 20 20 6c 69 62 74 77 | 73 20 2d 20 64 61 74 65 | libtw|s - date|
|000006e0| 2f 74 69 6d 65 20 6c 69 | 62 72 61 72 79 2e 20 20 |/time li|brary. |
|000006f0| 55 6e 6c 69 6b 65 20 74 | 68 65 20 73 74 61 6e 64 |Unlike t|he stand|
|00000700| 61 72 64 20 55 6e 69 78 | 2a 0a 58 20 20 20 20 64 |ard Unix|*.X d|
|00000710| 61 74 65 2f 74 69 6d 65 | 20 72 6f 75 74 69 6e 65 |ate/time| routine|
|00000720| 73 2c 20 6c 69 62 74 77 | 73 20 6c 65 74 73 20 79 |s, libtw|s lets y|
|00000730| 6f 75 20 70 61 72 73 65 | 20 61 20 64 61 74 65 2f |ou parse| a date/|
|00000740| 74 69 6d 65 20 73 74 72 | 69 6e 67 0a 58 20 20 20 |time str|ing.X |
|00000750| 20 69 6e 74 6f 20 69 6e | 74 65 72 6e 61 6c 20 66 | into in|ternal f|
|00000760| 6f 72 6d 2e 20 20 4d 6f | 73 74 20 6f 66 20 74 68 |orm. Mo|st of th|
|00000770| 69 73 20 6c 69 62 72 61 | 72 79 20 63 61 6d 65 20 |is libra|ry came |
|00000780| 66 72 6f 6d 20 76 65 72 | 73 69 6f 6e 0a 58 20 20 |from ver|sion.X |
|00000790| 20 20 36 2e 35 20 6f 66 | 20 74 68 65 20 4d 48 20 | 6.5 of| the MH |
|000007a0| 6d 65 73 73 61 67 65 20 | 68 61 6e 64 6c 69 6e 67 |message |handling|
|000007b0| 20 73 79 73 74 65 6d 2c | 20 63 6f 75 72 74 65 73 | system,| courtes|
|000007c0| 79 20 6f 66 20 4d 61 72 | 73 68 61 6c 6c 20 52 6f |y of Mar|shall Ro|
|000007d0| 73 65 2e 0a 58 20 20 20 | 20 49 20 65 78 74 65 6e |se..X | I exten|
|000007e0| 64 65 64 20 69 74 20 73 | 6f 6d 65 77 68 61 74 20 |ded it s|omewhat |
|000007f0| 61 6e 64 20 61 64 64 65 | 64 20 74 68 65 20 6d 61 |and adde|d the ma|
|00000800| 6e 75 61 6c 20 65 6e 74 | 72 79 2e 0a 58 0a 58 0a |nual ent|ry..X.X.|
|00000810| 58 46 69 6c 65 73 20 69 | 6e 20 74 68 69 73 20 64 |XFiles i|n this d|
|00000820| 69 73 74 72 69 62 75 74 | 69 6f 6e 3a 0a 58 0a 58 |istribut|ion:.X.X|
|00000830| 20 20 20 20 52 45 41 44 | 4d 45 09 09 74 68 69 73 | READ|ME..this|
|00000840| 0a 58 20 20 20 20 4d 61 | 6b 65 66 69 6c 65 09 09 |.X Ma|kefile..|
|00000850| 67 75 65 73 73 0a 58 20 | 20 20 20 64 65 6c 74 69 |guess.X | delti|
|00000860| 6d 65 2e 63 09 09 73 6f | 75 72 63 65 20 66 6f 72 |me.c..so|urce for|
|00000870| 20 74 69 6d 65 20 73 75 | 62 74 72 61 63 74 69 6f | time su|btractio|
|00000880| 6e 20 74 6f 6f 6c 0a 58 | 20 20 20 20 64 65 6c 74 |n tool.X| delt|
|00000890| 69 6d 65 2e 6d 61 6e 09 | 09 6d 61 6e 75 61 6c 20 |ime.man.|.manual |
|000008a0| 66 6f 72 20 74 69 6d 65 | 20 73 75 62 74 72 61 63 |for time| subtrac|
|000008b0| 74 69 6f 6e 20 74 6f 6f | 6c 0a 58 20 20 20 20 64 |tion too|l.X d|
|000008c0| 74 69 6d 65 2e 63 09 09 | 73 6f 75 72 63 65 20 66 |time.c..|source f|
|000008d0| 6f 72 20 6d 6f 73 74 20 | 6f 66 20 74 68 65 20 74 |or most |of the t|
|000008e0| 69 6d 65 20 72 6f 75 74 | 69 6e 65 73 0a 58 20 20 |ime rout|ines.X |
|000008f0| 20 20 64 74 69 6d 65 70 | 2e 6c 65 78 09 09 73 6f | dtimep|.lex..so|
|00000900| 75 72 63 65 20 66 6f 72 | 20 74 69 6d 65 2d 70 61 |urce for| time-pa|
|00000910| 72 73 69 6e 67 20 72 6f | 75 74 69 6e 65 0a 58 20 |rsing ro|utine.X |
|00000920| 20 20 20 6c 65 78 65 64 | 69 74 2e 73 65 64 09 09 | lexed|it.sed..|
|00000930| 73 63 72 69 70 74 20 74 | 6f 20 6d 6f 64 69 66 79 |script t|o modify|
|00000940| 20 6f 75 74 70 75 74 20 | 6f 66 20 6c 65 78 0a 58 | output |of lex.X|
|00000950| 20 20 20 20 6c 65 78 73 | 74 72 69 6e 67 2e 63 09 | lexs|tring.c.|
|00000960| 09 66 72 6f 6e 74 20 65 | 6e 64 20 66 6f 72 20 74 |.front e|nd for t|
|00000970| 69 6d 65 2d 70 61 72 73 | 69 6e 67 20 72 6f 75 74 |ime-pars|ing rout|
|00000980| 69 6e 65 0a 58 20 20 20 | 20 6c 69 62 74 77 73 2e |ine.X | libtws.|
|00000990| 6d 61 6e 09 09 6d 61 6e | 75 61 6c 20 66 6f 72 20 |man..man|ual for |
|000009a0| 74 69 6d 65 20 6c 69 62 | 72 61 72 79 0a 58 20 20 |time lib|rary.X |
|000009b0| 20 20 70 61 72 73 65 74 | 69 6d 65 2e 63 09 09 73 | parset|ime.c..s|
|000009c0| 6f 75 72 63 65 20 66 6f | 72 20 74 65 73 74 20 70 |ource fo|r test p|
|000009d0| 72 6f 67 72 61 6d 0a 58 | 20 20 20 20 70 68 6f 6f |rogram.X| phoo|
|000009e0| 6e 2e 63 09 09 73 6f 75 | 72 63 65 20 66 6f 72 20 |n.c..sou|rce for |
|000009f0| 70 68 61 73 65 20 6f 66 | 20 6d 6f 6f 6e 20 70 72 |phase of| moon pr|
|00000a00| 6f 67 72 61 6d 0a 58 20 | 20 20 20 70 68 6f 6f 6e |ogram.X | phoon|
|00000a10| 2e 6d 61 6e 09 09 6d 61 | 6e 75 61 6c 20 66 6f 72 |.man..ma|nual for|
|00000a20| 20 70 68 61 73 65 20 6f | 66 20 6d 6f 6f 6e 20 70 | phase o|f moon p|
|00000a30| 72 6f 67 72 61 6d 0a 58 | 20 20 20 20 74 77 73 2e |rogram.X| tws.|
|00000a40| 68 09 09 69 6e 63 6c 75 | 64 65 20 66 69 6c 65 20 |h..inclu|de file |
|00000a50| 66 6f 72 20 74 69 6d 65 | 20 6c 69 62 72 61 72 79 |for time| library|
|00000a60| 0a 58 0a 58 0a 58 55 6e | 70 61 63 6b 20 74 68 65 |.X.X.XUn|pack the|
|00000a70| 20 66 69 6c 65 73 2c 20 | 65 64 69 74 20 4d 61 6b | files, |edit Mak|
|00000a80| 65 66 69 6c 65 20 61 6e | 64 20 63 68 61 6e 67 65 |efile an|d change|
|00000a90| 20 74 68 65 20 6f 70 74 | 69 6f 6e 73 20 74 6f 20 | the opt|ions to |
|00000aa0| 73 75 69 74 2c 0a 58 6d | 61 6b 65 2c 20 61 6e 64 |suit,.Xm|ake, and|
|00000ab0| 20 65 6e 6a 6f 79 21 20 | 20 49 27 76 65 20 74 65 | enjoy! | I've te|
|00000ac0| 73 74 65 64 20 74 68 69 | 73 20 73 74 75 66 66 20 |sted thi|s stuff |
|00000ad0| 75 6e 64 65 72 20 34 2e | 32 20 42 53 44 2c 20 34 |under 4.|2 BSD, 4|
|00000ae0| 2e 33 20 42 53 44 2c 0a | 58 61 6e 64 20 53 79 73 |.3 BSD,.|Xand Sys|
|00000af0| 74 65 6d 20 56 20 72 65 | 6c 20 32 2e 20 20 4e 65 |tem V re|l 2. Ne|
|00000b00| 76 65 72 74 68 65 6c 65 | 73 73 2c 20 49 27 6d 20 |verthele|ss, I'm |
|00000b10| 73 75 72 65 20 62 75 67 | 73 20 72 65 6d 61 69 6e |sure bug|s remain|
|00000b20| 2e 20 20 46 65 65 64 62 | 61 63 6b 0a 58 69 73 20 |. Feedb|ack.Xis |
|00000b30| 77 65 6c 63 6f 6d 65 20 | 2d 20 73 65 6e 64 20 62 |welcome |- send b|
|00000b40| 75 67 20 72 65 70 6f 72 | 74 73 2c 20 65 6e 68 61 |ug repor|ts, enha|
|00000b50| 6e 63 65 6d 65 6e 74 73 | 2c 20 63 68 65 63 6b 73 |ncements|, checks|
|00000b60| 2c 20 6d 6f 6e 65 79 20 | 6f 72 64 65 72 73 2c 0a |, money |orders,.|
|00000b70| 58 65 74 63 2e 20 74 6f | 20 74 68 65 20 61 64 64 |Xetc. to| the add|
|00000b80| 72 65 73 73 65 73 20 62 | 65 6c 6f 77 2e 0a 58 0a |resses b|elow..X.|
|00000b90| 58 0a 58 20 20 20 20 20 | 4a 65 66 20 50 6f 73 6b |X.X |Jef Posk|
|00000ba0| 61 6e 7a 65 72 2c 20 55 | 6e 69 53 6f 66 74 20 53 |anzer, U|niSoft S|
|00000bb0| 79 73 74 65 6d 73 2c 20 | 42 65 72 6b 65 6c 65 79 |ystems, |Berkeley|
|00000bc0| 0a 58 09 20 75 6e 69 73 | 6f 66 74 21 6a 65 66 40 |.X. unis|oft!jef@|
|00000bd0| 75 63 62 76 61 78 2e 42 | 65 72 6b 65 6c 65 79 2e |ucbvax.B|erkeley.|
|00000be0| 45 64 75 0a 58 09 20 20 | 20 20 20 20 2e 2e 2e 75 |Edu.X. | ...u|
|00000bf0| 63 62 76 61 78 21 75 6e | 69 73 6f 66 74 21 6a 65 |cbvax!un|isoft!je|
|00000c00| 66 0a 58 09 09 20 20 28 | 34 31 35 29 36 34 34 2d |f.X.. (|415)644-|
|00000c10| 31 32 33 30 0a 58 0a 58 | 0a 58 2a 20 55 6e 69 78 |1230.X.X|.X* Unix|
|00000c20| 20 69 73 20 61 20 76 69 | 72 75 73 20 66 72 6f 6d | is a vi|rus from|
|00000c30| 20 6f 75 74 65 72 20 73 | 70 61 63 65 2e 0a 58 0a | outer s|pace..X.|
|00000c40| 58 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X.X | |
|00000c50| 20 20 20 20 2e 2d 2d 0a | 58 20 20 20 20 20 20 20 | .--.|X |
|00000c60| 20 20 20 20 20 20 2e 2d | 2d 0a 58 20 20 20 20 20 | .-|-.X |
|00000c70| 20 20 20 20 20 2e 2d 27 | 20 0a 58 20 20 20 20 20 | .-'| .X |
|00000c80| 20 20 2e 2d 27 40 20 0a | 58 20 20 20 20 20 20 2f | .-'@ .|X /|
|00000c90| 40 40 40 20 0a 58 20 20 | 20 20 2e 2f 20 20 20 20 |@@@ .X | ./ |
|00000ca0| 0a 58 20 20 20 2f 40 40 | 20 20 6f 0a 58 20 20 2f |.X /@@| o.X /|
|00000cb0| 40 40 40 40 20 20 0a 58 | 20 20 7c 40 40 40 40 40 |@@@@ .X| |@@@@@|
|00000cc0| 0a 58 20 2f 40 40 40 40 | 40 20 09 09 4c 61 73 74 |.X /@@@@|@ ..Last|
|00000cd0| 20 51 75 61 72 74 65 72 | 20 2b 20 0a 58 20 7c 20 | Quarter| + .X | |
|00000ce0| 40 40 40 40 20 09 09 34 | 20 20 31 3a 33 36 3a 31 |@@@@ ..4| 1:36:1|
|00000cf0| 30 0a 58 20 7c 40 20 40 | 40 40 09 09 4e 65 77 20 |0.X |@ @|@@..New |
|00000d00| 4d 6f 6f 6e 20 2d 20 20 | 20 20 20 0a 58 20 7c 20 |Moon - | .X | |
|00000d10| 20 20 20 20 20 09 09 33 | 20 20 37 3a 33 34 3a 35 | ..3| 7:34:5|
|00000d20| 33 0a 58 20 5c 20 20 2e | 20 40 20 0a 58 20 20 7c |3.X \ .| @ .X ||
|00000d30| 20 20 20 20 20 0a 58 20 | 20 5c 20 20 20 20 20 40 | .X | \ @|
|00000d40| 0a 58 20 20 20 5c 20 20 | 6f 20 20 0a 58 20 20 20 |.X \ |o .X |
|00000d50| 20 60 5c 20 20 20 20 0a | 58 20 20 20 20 20 20 5c | `\ .|X \|
|00000d60| 20 20 20 20 0a 58 20 20 | 20 20 20 20 20 60 2d 2e | .X | `-.|
|00000d70| 20 20 0a 58 20 20 20 20 | 20 20 20 20 20 20 60 2d | .X | `-|
|00000d80| 2e 20 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |. .X | |
|00000d90| 20 60 2d 2d 0a 58 20 20 | 20 20 20 20 20 20 20 20 | `--.X | |
|00000da0| 20 20 20 20 20 20 20 60 | 2d 2d 0a 53 48 41 52 5f | `|--.SHAR_|
|00000db0| 45 4f 46 0a 69 66 20 74 | 65 73 74 20 32 35 37 31 |EOF.if t|est 2571|
|00000dc0| 20 2d 6e 65 20 22 60 77 | 63 20 2d 63 20 3c 20 27 | -ne "`w|c -c < '|
|00000dd0| 52 45 41 44 4d 45 27 60 | 22 0a 74 68 65 6e 0a 09 |README'`|".then..|
|00000de0| 65 63 68 6f 20 73 68 61 | 72 3a 20 65 72 72 6f 72 |echo sha|r: error|
|00000df0| 20 74 72 61 6e 73 6d 69 | 74 74 69 6e 67 20 22 27 | transmi|tting "'|
|00000e00| 52 45 41 44 4d 45 27 22 | 20 27 28 73 68 6f 75 6c |README'"| '(shoul|
|00000e10| 64 20 68 61 76 65 20 62 | 65 65 6e 20 32 35 37 31 |d have b|een 2571|
|00000e20| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 66 69 | charact|ers)'.fi|
|00000e30| 0a 66 69 20 23 20 65 6e | 64 20 6f 66 20 6f 76 65 |.fi # en|d of ove|
|00000e40| 72 77 72 69 74 69 6e 67 | 20 63 68 65 63 6b 0a 65 |rwriting| check.e|
|00000e50| 63 68 6f 20 73 68 61 72 | 3a 20 65 78 74 72 61 63 |cho shar|: extrac|
|00000e60| 74 69 6e 67 20 22 27 4d | 61 6b 65 66 69 6c 65 27 |ting "'M|akefile'|
|00000e70| 22 20 27 28 32 31 33 37 | 20 63 68 61 72 61 63 74 |" '(2137| charact|
|00000e80| 65 72 73 29 27 0a 69 66 | 20 74 65 73 74 20 2d 66 |ers)'.if| test -f|
|00000e90| 20 27 4d 61 6b 65 66 69 | 6c 65 27 0a 74 68 65 6e | 'Makefi|le'.then|
|00000ea0| 0a 09 65 63 68 6f 20 73 | 68 61 72 3a 20 77 69 6c |..echo s|har: wil|
|00000eb0| 6c 20 6e 6f 74 20 6f 76 | 65 72 2d 77 72 69 74 65 |l not ov|er-write|
|00000ec0| 20 65 78 69 73 74 69 6e | 67 20 66 69 6c 65 20 22 | existin|g file "|
|00000ed0| 27 4d 61 6b 65 66 69 6c | 65 27 22 0a 65 6c 73 65 |'Makefil|e'".else|
|00000ee0| 0a 73 65 64 20 27 73 2f | 5e 58 2f 2f 27 20 3c 3c |.sed 's/|^X//' <<|
|00000ef0| 20 5c 53 48 41 52 5f 45 | 4f 46 20 3e 20 27 4d 61 | \SHAR_E|OF > 'Ma|
|00000f00| 6b 65 66 69 6c 65 27 0a | 58 23 20 4d 61 6b 65 66 |kefile'.|X# Makef|
|00000f10| 69 6c 65 20 66 6f 72 20 | 70 68 6f 6f 6e 2c 20 64 |ile for |phoon, d|
|00000f20| 65 6c 74 69 6d 65 2c 20 | 70 61 72 73 65 74 69 6d |eltime, |parsetim|
|00000f30| 65 2c 20 61 6e 64 20 6c | 69 62 74 77 73 20 28 73 |e, and l|ibtws (s|
|00000f40| 74 6f 6c 65 6e 20 66 72 | 6f 6d 20 6d 68 29 2e 0a |tolen fr|om mh)..|
|00000f50| 58 0a 58 0a 58 23 20 56 | 61 6c 69 64 20 6f 70 74 |X.X.X# V|alid opt|
|00000f60| 69 6f 6e 73 3a 0a 58 23 | 20 20 20 42 53 44 34 32 |ions:.X#| BSD42|
|00000f70| 20 20 20 20 20 20 53 65 | 74 20 74 68 69 73 20 69 | Se|t this i|
|00000f80| 66 20 79 6f 75 72 20 73 | 79 73 74 65 6d 20 69 73 |f your s|ystem is|
|00000f90| 20 42 53 44 20 34 2e 32 | 20 6f 72 20 6c 61 74 65 | BSD 4.2| or late|
|00000fa0| 72 2e 0a 58 23 20 20 20 | 53 59 53 35 20 20 20 20 |r..X# |SYS5 |
|00000fb0| 20 20 20 53 65 74 20 74 | 68 69 73 20 69 66 20 79 | Set t|his if y|
|00000fc0| 6f 75 72 20 73 79 73 74 | 65 6d 20 69 73 20 53 79 |our syst|em is Sy|
|00000fd0| 73 74 65 6d 20 56 2e 0a | 58 23 20 20 20 45 55 52 |stem V..|X# EUR|
|00000fe0| 4f 50 45 20 20 20 20 20 | 4d 61 6b 65 73 20 6e 6e |OPE |Makes nn|
|00000ff0| 2f 6e 6e 2f 6e 6e 20 6d | 65 61 6e 20 64 64 2f 6d |/nn/nn m|ean dd/m|
|00001000| 6d 2f 79 79 20 69 6e 73 | 74 65 61 64 20 6f 66 20 |m/yy ins|tead of |
|00001010| 6d 6d 2f 64 64 2f 79 79 | 2e 0a 58 23 20 20 20 41 |mm/dd/yy|..X# A|
|00001020| 54 5a 20 20 20 20 20 20 | 20 20 54 68 69 73 20 68 |TZ | This h|
|00001030| 61 73 20 73 6f 6d 65 74 | 68 69 6e 67 20 74 6f 20 |as somet|hing to |
|00001040| 64 6f 20 77 69 74 68 20 | 61 6c 70 68 61 2d 6e 75 |do with |alpha-nu|
|00001050| 6d 65 72 69 63 20 74 69 | 6d 65 20 7a 6f 6e 65 73 |meric ti|me zones|
|00001060| 2e 0a 58 23 20 20 20 44 | 53 54 58 58 58 20 20 20 |..X# D|STXXX |
|00001070| 20 20 54 68 69 73 20 68 | 61 73 20 73 6f 6d 65 74 | This h|as somet|
|00001080| 68 69 6e 67 20 74 6f 20 | 64 6f 20 77 69 74 68 20 |hing to |do with |
|00001090| 64 61 79 6c 69 67 68 74 | 20 73 61 76 69 6e 67 73 |daylight| savings|
|000010a0| 20 74 69 6d 65 2e 0a 58 | 23 20 20 20 48 55 4a 49 | time..X|# HUJI|
|000010b0| 20 20 20 20 20 20 20 49 | 20 64 6f 6e 27 74 0a 58 | I| don't.X|
|000010c0| 23 20 20 20 49 4e 45 54 | 4f 4e 4c 59 20 20 20 20 |# INET|ONLY |
|000010d0| 20 20 20 20 20 20 20 6b | 6e 6f 77 20 77 68 61 74 | k|now what|
|000010e0| 0a 58 23 20 20 20 4c 45 | 58 44 45 42 55 47 20 20 |.X# LE|XDEBUG |
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001100| 20 20 20 74 68 65 20 72 | 65 73 74 20 6f 66 20 74 | the r|est of t|
|00001110| 68 65 73 65 0a 58 23 20 | 20 20 4f 4e 45 43 41 53 |hese.X# | ONECAS|
|00001120| 45 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |E | |
|00001130| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001140| 20 20 20 20 20 20 20 20 | 20 64 6f 2e 0a 58 4f 50 | | do..XOP|
|00001150| 54 49 4f 4e 53 09 3d 09 | 2d 44 42 53 44 34 32 20 |TIONS.=.|-DBSD42 |
|00001160| 2d 44 41 54 5a 20 2d 44 | 44 53 54 58 58 58 20 2d |-DATZ -D|DSTXXX -|
|00001170| 44 4f 4e 45 43 41 53 45 | 0a 58 0a 58 0a 58 43 43 |DONECASE|.X.X.XCC|
|00001180| 20 20 20 20 20 20 3d 09 | 63 63 0a 58 43 46 4c 41 | =.|cc.XCFLA|
|00001190| 47 53 20 20 3d 09 2d 4f | 20 24 28 4f 50 54 49 4f |GS =.-O| $(OPTIO|
|000011a0| 4e 53 29 0a 58 4c 44 46 | 4c 41 47 53 20 3d 09 2d |NS).XLDF|LAGS =.-|
|000011b0| 6e 73 0a 58 0a 58 2e 53 | 55 46 46 49 58 45 53 3a |ns.X.X.S|UFFIXES:|
|000011c0| 09 2e 6d 61 6e 20 2e 63 | 61 74 0a 58 2e 6d 61 6e |..man .c|at.X.man|
|000011d0| 2e 63 61 74 3a 0a 58 09 | 09 6e 72 6f 66 66 20 2d |.cat:.X.|.nroff -|
|000011e0| 68 20 2d 6d 61 6e 20 24 | 3c 20 3e 20 24 40 0a 58 |h -man $|< > $@.X|
|000011f0| 0a 58 0a 58 61 6c 6c 3a | 09 09 70 68 6f 6f 6e 20 |.X.Xall:|..phoon |
|00001200| 70 68 6f 6f 6e 2e 63 61 | 74 20 64 65 6c 74 69 6d |phoon.ca|t deltim|
|00001210| 65 20 64 65 6c 74 69 6d | 65 2e 63 61 74 20 6c 69 |e deltim|e.cat li|
|00001220| 62 74 77 73 2e 63 61 74 | 0a 58 0a 58 0a 58 70 68 |btws.cat|.X.X.Xph|
|00001230| 6f 6f 6e 3a 09 09 70 68 | 6f 6f 6e 2e 6f 20 6c 69 |oon:..ph|oon.o li|
|00001240| 62 74 77 73 2e 61 0a 58 | 09 09 24 28 43 43 29 20 |btws.a.X|..$(CC) |
|00001250| 24 28 4c 44 46 4c 41 47 | 53 29 20 2d 6f 20 70 68 |$(LDFLAG|S) -o ph|
|00001260| 6f 6f 6e 20 70 68 6f 6f | 6e 2e 6f 20 2d 6c 6d 20 |oon phoo|n.o -lm |
|00001270| 6c 69 62 74 77 73 2e 61 | 0a 58 0a 58 70 68 6f 6f |libtws.a|.X.Xphoo|
|00001280| 6e 2e 6f 3a 09 70 68 6f | 6f 6e 2e 63 20 74 77 73 |n.o:.pho|on.c tws|
|00001290| 2e 68 0a 58 0a 58 0a 58 | 64 65 6c 74 69 6d 65 3a |.h.X.X.X|deltime:|
|000012a0| 09 64 65 6c 74 69 6d 65 | 2e 6f 20 6c 69 62 74 77 |.deltime|.o libtw|
|000012b0| 73 2e 61 0a 58 09 09 24 | 28 43 43 29 20 24 28 4c |s.a.X..$|(CC) $(L|
|000012c0| 44 46 4c 41 47 53 29 20 | 2d 6f 20 64 65 6c 74 69 |DFLAGS) |-o delti|
|000012d0| 6d 65 20 64 65 6c 74 69 | 6d 65 2e 6f 20 6c 69 62 |me delti|me.o lib|
|000012e0| 74 77 73 2e 61 0a 58 0a | 58 64 65 6c 74 69 6d 65 |tws.a.X.|Xdeltime|
|000012f0| 2e 6f 3a 09 64 65 6c 74 | 69 6d 65 2e 63 20 74 77 |.o:.delt|ime.c tw|
|00001300| 73 2e 68 0a 58 0a 58 0a | 58 70 61 72 73 65 74 69 |s.h.X.X.|Xparseti|
|00001310| 6d 65 3a 09 70 61 72 73 | 65 74 69 6d 65 2e 6f 20 |me:.pars|etime.o |
|00001320| 6c 69 62 74 77 73 2e 61 | 0a 58 09 09 24 28 43 43 |libtws.a|.X..$(CC|
|00001330| 29 20 24 28 4c 44 46 4c | 41 47 53 29 20 2d 6f 20 |) $(LDFL|AGS) -o |
|00001340| 70 61 72 73 65 74 69 6d | 65 20 70 61 72 73 65 74 |parsetim|e parset|
|00001350| 69 6d 65 2e 6f 20 6c 69 | 62 74 77 73 2e 61 0a 58 |ime.o li|btws.a.X|
|00001360| 0a 58 70 61 72 73 65 74 | 69 6d 65 2e 6f 3a 09 70 |.Xparset|ime.o:.p|
|00001370| 61 72 73 65 74 69 6d 65 | 2e 63 20 74 77 73 2e 68 |arsetime|.c tws.h|
|00001380| 0a 58 0a 58 0a 58 6c 69 | 62 74 77 73 2e 61 3a 09 |.X.X.Xli|btws.a:.|
|00001390| 64 74 69 6d 65 2e 6f 20 | 64 74 69 6d 65 70 2e 6f |dtime.o |dtimep.o|
|000013a0| 20 6c 65 78 73 74 72 69 | 6e 67 2e 6f 0a 58 09 09 | lexstri|ng.o.X..|
|000013b0| 61 72 20 72 20 6c 69 62 | 74 77 73 2e 61 20 64 74 |ar r lib|tws.a dt|
|000013c0| 69 6d 65 2e 6f 20 64 74 | 69 6d 65 70 2e 6f 20 6c |ime.o dt|imep.o l|
|000013d0| 65 78 73 74 72 69 6e 67 | 2e 6f 0a 58 23 20 54 68 |exstring|.o.X# Th|
|000013e0| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 61 6d 75 73 |e follow|ing amus|
|000013f0| 69 6e 67 20 62 75 6c 6c | 73 68 69 74 20 6d 61 6b |ing bull|shit mak|
|00001400| 65 73 20 73 75 72 65 20 | 74 68 61 74 20 72 61 6e |es sure |that ran|
|00001410| 6c 69 62 0a 58 23 20 67 | 65 74 73 20 65 78 65 63 |lib.X# g|ets exec|
|00001420| 75 74 65 64 20 69 66 20 | 69 74 20 69 73 20 70 72 |uted if |it is pr|
|00001430| 65 73 65 6e 74 2c 20 6e | 6f 20 6d 61 74 74 65 72 |esent, n|o matter|
|00001440| 20 77 68 69 63 68 20 73 | 68 65 6c 6c 0a 58 23 20 | which s|hell.X# |
|00001450| 6d 61 6b 65 20 75 73 65 | 73 2e 20 20 49 66 20 74 |make use|s. If t|
|00001460| 68 65 72 65 27 73 20 61 | 20 62 65 74 74 65 72 20 |here's a| better |
|00001470| 77 61 79 20 74 6f 20 64 | 6f 20 74 68 69 73 2c 20 |way to d|o this, |
|00001480| 73 6f 6d 65 6f 6e 65 0a | 58 23 20 70 6c 65 61 73 |someone.|X# pleas|
|00001490| 65 20 74 65 6c 6c 20 6d | 65 21 0a 58 09 09 2d 69 |e tell m|e!.X..-i|
|000014a0| 66 20 74 65 73 74 20 2d | 72 20 2f 75 73 72 2f 62 |f test -|r /usr/b|
|000014b0| 69 6e 2f 72 61 6e 6c 69 | 62 20 3b 20 74 68 65 6e |in/ranli|b ; then|
|000014c0| 20 72 61 6e 6c 69 62 20 | 6c 69 62 74 77 73 2e 61 | ranlib |libtws.a|
|000014d0| 20 3b 20 66 69 0a 58 09 | 09 2d 69 66 20 28 20 2d | ; fi.X.|.-if ( -|
|000014e0| 72 20 2f 75 73 72 2f 62 | 69 6e 2f 72 61 6e 6c 69 |r /usr/b|in/ranli|
|000014f0| 62 20 29 20 72 61 6e 6c | 69 62 20 6c 69 62 74 77 |b ) ranl|ib libtw|
|00001500| 73 2e 61 0a 58 0a 58 0a | 58 64 74 69 6d 65 2e 6f |s.a.X.X.|Xdtime.o|
|00001510| 3a 09 64 74 69 6d 65 2e | 63 20 74 77 73 2e 68 0a |:.dtime.|c tws.h.|
|00001520| 58 0a 58 0a 58 64 74 69 | 6d 65 70 2e 6f 3a 09 64 |X.X.Xdti|mep.o:.d|
|00001530| 74 69 6d 65 70 2e 63 20 | 74 77 73 2e 68 0a 58 0a |timep.c |tws.h.X.|
|00001540| 58 64 74 69 6d 65 70 2e | 63 3a 09 64 74 69 6d 65 |Xdtimep.|c:.dtime|
|00001550| 70 2e 6c 65 78 0a 58 09 | 09 6c 65 78 20 2d 6e 74 |p.lex.X.|.lex -nt|
|00001560| 20 64 74 69 6d 65 70 2e | 6c 65 78 20 7c 20 73 65 | dtimep.|lex | se|
|00001570| 64 20 2d 66 20 6c 65 78 | 65 64 69 74 2e 73 65 64 |d -f lex|edit.sed|
|00001580| 20 3e 20 64 74 69 6d 65 | 70 2e 63 0a 58 0a 58 0a | > dtime|p.c.X.X.|
|00001590| 58 6c 65 78 73 74 72 69 | 6e 67 2e 6f 3a 09 6c 65 |Xlexstri|ng.o:.le|
|000015a0| 78 73 74 72 69 6e 67 2e | 63 0a 58 09 09 24 28 43 |xstring.|c.X..$(C|
|000015b0| 43 29 20 24 28 43 46 4c | 41 47 53 29 20 2d 63 20 |C) $(CFL|AGS) -c |
|000015c0| 6c 65 78 73 74 72 69 6e | 67 2e 63 0a 58 0a 58 0a |lexstrin|g.c.X.X.|
|000015d0| 58 63 6c 65 61 6e 3a 0a | 58 09 09 2d 72 6d 20 2d |Xclean:.|X..-rm -|
|000015e0| 66 20 64 74 69 6d 65 70 | 2e 63 20 2a 2e 6f 20 6c |f dtimep|.c *.o l|
|000015f0| 69 62 74 77 73 2e 61 20 | 70 68 6f 6f 6e 20 64 65 |ibtws.a |phoon de|
|00001600| 6c 74 69 6d 65 20 70 61 | 72 73 65 74 69 6d 65 20 |ltime pa|rsetime |
|00001610| 2a 2e 63 61 74 20 70 68 | 6f 6f 6e 2e 73 68 61 72 |*.cat ph|oon.shar|
|00001620| 2a 20 63 6f 72 65 0a 58 | 0a 58 70 68 6f 6f 6e 2e |* core.X|.Xphoon.|
|00001630| 73 68 61 72 3a 09 70 68 | 6f 6f 6e 2e 73 68 61 72 |shar:.ph|oon.shar|
|00001640| 31 20 70 68 6f 6f 6e 2e | 73 68 61 72 32 0a 58 0a |1 phoon.|shar2.X.|
|00001650| 58 70 68 6f 6f 6e 2e 73 | 68 61 72 31 3a 09 52 45 |Xphoon.s|har1:.RE|
|00001660| 41 44 4d 45 20 4d 61 6b | 65 66 69 6c 65 20 64 65 |ADME Mak|efile de|
|00001670| 6c 74 69 6d 65 2e 63 20 | 64 65 6c 74 69 6d 65 2e |ltime.c |deltime.|
|00001680| 6d 61 6e 20 64 74 69 6d | 65 2e 63 20 64 74 69 6d |man dtim|e.c dtim|
|00001690| 65 70 2e 6c 65 78 0a 58 | 09 09 73 68 61 72 20 2d |ep.lex.X|..shar -|
|000016a0| 76 20 2d 63 20 2d 70 20 | 58 20 52 45 41 44 4d 45 |v -c -p |X README|
|000016b0| 20 4d 61 6b 65 66 69 6c | 65 20 64 65 6c 74 69 6d | Makefil|e deltim|
|000016c0| 65 2e 63 20 64 65 6c 74 | 69 6d 65 2e 6d 61 6e 20 |e.c delt|ime.man |
|000016d0| 64 74 69 6d 65 2e 63 20 | 64 74 69 6d 65 70 2e 6c |dtime.c |dtimep.l|
|000016e0| 65 78 20 3e 20 70 68 6f | 6f 6e 2e 73 68 61 72 31 |ex > pho|on.shar1|
|000016f0| 0a 58 0a 58 70 68 6f 6f | 6e 2e 73 68 61 72 32 3a |.X.Xphoo|n.shar2:|
|00001700| 09 6c 65 78 65 64 69 74 | 2e 73 65 64 20 6c 65 78 |.lexedit|.sed lex|
|00001710| 73 74 72 69 6e 67 2e 63 | 20 6c 69 62 74 77 73 2e |string.c| libtws.|
|00001720| 6d 61 6e 20 70 61 72 73 | 65 74 69 6d 65 2e 63 20 |man pars|etime.c |
|00001730| 70 68 6f 6f 6e 2e 63 20 | 70 68 6f 6f 6e 2e 6d 61 |phoon.c |phoon.ma|
|00001740| 6e 20 74 77 73 2e 68 0a | 58 09 09 73 68 61 72 20 |n tws.h.|X..shar |
|00001750| 2d 76 20 2d 63 20 2d 70 | 20 58 20 6c 65 78 65 64 |-v -c -p| X lexed|
|00001760| 69 74 2e 73 65 64 20 6c | 65 78 73 74 72 69 6e 67 |it.sed l|exstring|
|00001770| 2e 63 20 6c 69 62 74 77 | 73 2e 6d 61 6e 20 70 61 |.c libtw|s.man pa|
|00001780| 72 73 65 74 69 6d 65 2e | 63 20 70 68 6f 6f 6e 2e |rsetime.|c phoon.|
|00001790| 63 20 70 68 6f 6f 6e 2e | 6d 61 6e 20 74 77 73 2e |c phoon.|man tws.|
|000017a0| 68 20 3e 20 70 68 6f 6f | 6e 2e 73 68 61 72 32 0a |h > phoo|n.shar2.|
|000017b0| 53 48 41 52 5f 45 4f 46 | 0a 69 66 20 74 65 73 74 |SHAR_EOF|.if test|
|000017c0| 20 32 31 33 37 20 2d 6e | 65 20 22 60 77 63 20 2d | 2137 -n|e "`wc -|
|000017d0| 63 20 3c 20 27 4d 61 6b | 65 66 69 6c 65 27 60 22 |c < 'Mak|efile'`"|
|000017e0| 0a 74 68 65 6e 0a 09 65 | 63 68 6f 20 73 68 61 72 |.then..e|cho shar|
|000017f0| 3a 20 65 72 72 6f 72 20 | 74 72 61 6e 73 6d 69 74 |: error |transmit|
|00001800| 74 69 6e 67 20 22 27 4d | 61 6b 65 66 69 6c 65 27 |ting "'M|akefile'|
|00001810| 22 20 27 28 73 68 6f 75 | 6c 64 20 68 61 76 65 20 |" '(shou|ld have |
|00001820| 62 65 65 6e 20 32 31 33 | 37 20 63 68 61 72 61 63 |been 213|7 charac|
|00001830| 74 65 72 73 29 27 0a 66 | 69 0a 66 69 20 23 20 65 |ters)'.f|i.fi # e|
|00001840| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|00001850| 67 20 63 68 65 63 6b 0a | 65 63 68 6f 20 73 68 61 |g check.|echo sha|
|00001860| 72 3a 20 65 78 74 72 61 | 63 74 69 6e 67 20 22 27 |r: extra|cting "'|
|00001870| 64 65 6c 74 69 6d 65 2e | 63 27 22 20 27 28 32 31 |deltime.|c'" '(21|
|00001880| 35 36 20 63 68 61 72 61 | 63 74 65 72 73 29 27 0a |56 chara|cters)'.|
|00001890| 69 66 20 74 65 73 74 20 | 2d 66 20 27 64 65 6c 74 |if test |-f 'delt|
|000018a0| 69 6d 65 2e 63 27 0a 74 | 68 65 6e 0a 09 65 63 68 |ime.c'.t|hen..ech|
|000018b0| 6f 20 73 68 61 72 3a 20 | 77 69 6c 6c 20 6e 6f 74 |o shar: |will not|
|000018c0| 20 6f 76 65 72 2d 77 72 | 69 74 65 20 65 78 69 73 | over-wr|ite exis|
|000018d0| 74 69 6e 67 20 66 69 6c | 65 20 22 27 64 65 6c 74 |ting fil|e "'delt|
|000018e0| 69 6d 65 2e 63 27 22 0a | 65 6c 73 65 0a 73 65 64 |ime.c'".|else.sed|
|000018f0| 20 27 73 2f 5e 58 2f 2f | 27 20 3c 3c 20 5c 53 48 | 's/^X//|' << \SH|
|00001900| 41 52 5f 45 4f 46 20 3e | 20 27 64 65 6c 74 69 6d |AR_EOF >| 'deltim|
|00001910| 65 2e 63 27 0a 58 2f 2a | 20 64 65 6c 74 69 6d 65 |e.c'.X/*| deltime|
|00001920| 2e 63 20 2d 20 73 75 62 | 74 72 61 63 74 20 64 61 |.c - sub|tract da|
|00001930| 74 65 2f 74 69 6d 65 73 | 0a 58 0a 58 76 65 72 20 |te/times|.X.Xver |
|00001940| 20 64 61 74 65 20 20 20 | 77 68 6f 20 72 65 6d 61 | date |who rema|
|00001950| 72 6b 73 0a 58 2d 2d 2d | 20 2d 2d 2d 2d 2d 2d 2d |rks.X---| -------|
|00001960| 20 2d 2d 2d 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | --- ---|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019a0| 2d 2d 0a 58 30 31 42 20 | 31 35 6e 6f 76 38 36 20 |--.X01B |15nov86 |
|000019b0| 4a 50 20 20 4d 6f 64 69 | 66 69 65 64 20 74 6f 20 |JP Modi|fied to |
|000019c0| 75 73 65 20 74 77 73 75 | 62 74 72 61 63 74 28 29 |use twsu|btract()|
|000019d0| 2e 0a 58 30 31 41 20 30 | 38 6e 6f 76 38 36 20 4a |..X01A 0|8nov86 J|
|000019e0| 50 20 20 57 72 69 74 74 | 65 6e 2e 0a 58 0a 58 43 |P Writt|en..X.XC|
|000019f0| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 31 39 38 |opyright| (C) 198|
|00001a00| 36 20 62 79 20 4a 65 66 | 20 50 6f 73 6b 61 6e 7a |6 by Jef| Poskanz|
|00001a10| 65 72 2e 20 20 50 65 72 | 6d 69 73 73 69 6f 6e 20 |er. Per|mission |
|00001a20| 74 6f 20 75 73 65 2c 20 | 63 6f 70 79 2c 0a 58 6d |to use, |copy,.Xm|
|00001a30| 6f 64 69 66 79 2c 20 61 | 6e 64 20 64 69 73 74 72 |odify, a|nd distr|
|00001a40| 69 62 75 74 65 20 74 68 | 69 73 20 73 6f 66 74 77 |ibute th|is softw|
|00001a50| 61 72 65 20 61 6e 64 20 | 69 74 73 20 64 6f 63 75 |are and |its docu|
|00001a60| 6d 65 6e 74 61 74 69 6f | 6e 20 66 6f 72 20 61 6e |mentatio|n for an|
|00001a70| 79 0a 58 70 75 72 70 6f | 73 65 20 61 6e 64 20 77 |y.Xpurpo|se and w|
|00001a80| 69 74 68 6f 75 74 20 66 | 65 65 20 69 73 20 68 65 |ithout f|ee is he|
|00001a90| 72 65 62 79 20 67 72 61 | 6e 74 65 64 2c 20 70 72 |reby gra|nted, pr|
|00001aa0| 6f 76 69 64 65 64 20 74 | 68 61 74 20 74 68 69 73 |ovided t|hat this|
|00001ab0| 20 63 6f 70 79 72 69 67 | 68 74 0a 58 6e 6f 74 69 | copyrig|ht.Xnoti|
|00001ac0| 63 65 20 61 70 70 65 61 | 72 20 69 6e 20 61 6c 6c |ce appea|r in all|
|00001ad0| 20 63 6f 70 69 65 73 20 | 61 6e 64 20 69 6e 20 61 | copies |and in a|
|00001ae0| 6c 6c 20 73 75 70 70 6f | 72 74 69 6e 67 20 64 6f |ll suppo|rting do|
|00001af0| 63 75 6d 65 6e 74 61 74 | 69 6f 6e 2e 20 20 4e 6f |cumentat|ion. No|
|00001b00| 0a 58 72 65 70 72 65 73 | 65 6e 74 61 74 69 6f 6e |.Xrepres|entation|
|00001b10| 20 69 73 20 6d 61 64 65 | 20 61 62 6f 75 74 20 74 | is made| about t|
|00001b20| 68 65 20 73 75 69 74 61 | 62 69 6c 69 74 79 20 6f |he suita|bility o|
|00001b30| 66 20 74 68 69 73 20 73 | 6f 66 74 77 61 72 65 20 |f this s|oftware |
|00001b40| 66 6f 72 20 61 6e 79 0a | 58 70 75 72 70 6f 73 65 |for any.|Xpurpose|
|00001b50| 2e 20 20 49 74 20 69 73 | 20 70 72 6f 76 69 64 65 |. It is| provide|
|00001b60| 64 20 22 61 73 20 69 73 | 22 20 77 69 74 68 6f 75 |d "as is|" withou|
|00001b70| 74 20 65 78 70 72 65 73 | 73 20 6f 72 20 69 6d 70 |t expres|s or imp|
|00001b80| 6c 69 65 64 20 77 61 72 | 72 61 6e 74 79 2e 0a 58 |lied war|ranty..X|
|00001b90| 0a 58 2a 2f 0a 58 0a 58 | 73 74 61 74 69 63 20 63 |.X*/.X.X|static c|
|00001ba0| 68 61 72 20 63 6f 70 79 | 72 69 67 68 74 5b 5d 20 |har copy|right[] |
|00001bb0| 3d 20 22 5c 6e 43 6f 70 | 79 72 69 67 68 74 20 28 |= "\nCop|yright (|
|00001bc0| 43 29 20 31 39 38 36 20 | 62 79 20 4a 65 66 20 50 |C) 1986 |by Jef P|
|00001bd0| 6f 73 6b 61 6e 7a 65 72 | 2e 5c 6e 22 3b 0a 58 0a |oskanzer|.\n";.X.|
|00001be0| 58 0a 58 23 69 6e 63 6c | 75 64 65 20 22 74 77 73 |X.X#incl|ude "tws|
|00001bf0| 2e 68 22 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 73 |.h".X#in|clude <s|
|00001c00| 74 64 69 6f 2e 68 3e 0a | 58 0a 58 23 64 65 66 69 |tdio.h>.|X.X#defi|
|00001c10| 6e 65 20 53 45 43 53 50 | 45 52 4d 49 4e 55 54 45 |ne SECSP|ERMINUTE|
|00001c20| 20 36 30 0a 58 23 64 65 | 66 69 6e 65 20 53 45 43 | 60.X#de|fine SEC|
|00001c30| 53 50 45 52 48 4f 55 52 | 20 28 36 30 20 2a 20 53 |SPERHOUR| (60 * S|
|00001c40| 45 43 53 50 45 52 4d 49 | 4e 55 54 45 29 0a 58 23 |ECSPERMI|NUTE).X#|
|00001c50| 64 65 66 69 6e 65 20 53 | 45 43 53 50 45 52 44 41 |define S|ECSPERDA|
|00001c60| 59 20 28 32 34 20 2a 20 | 53 45 43 53 50 45 52 48 |Y (24 * |SECSPERH|
|00001c70| 4f 55 52 29 0a 58 0a 58 | 6d 61 69 6e 28 20 61 72 |OUR).X.X|main( ar|
|00001c80| 67 63 2c 20 61 72 67 76 | 20 29 0a 58 69 6e 74 20 |gc, argv| ).Xint |
|00001c90| 61 72 67 63 3b 0a 58 63 | 68 61 72 20 2a 61 72 67 |argc;.Xc|har *arg|
|00001ca0| 76 5b 5d 3b 0a 58 20 20 | 20 20 7b 0a 58 20 20 20 |v[];.X | {.X |
|00001cb0| 20 73 74 72 75 63 74 20 | 74 77 73 20 74 77 73 31 | struct |tws tws1|
|00001cc0| 2c 20 74 77 73 32 2c 20 | 2a 74 77 70 3b 0a 58 20 |, tws2, |*twp;.X |
|00001cd0| 20 20 20 6c 6f 6e 67 20 | 64 65 6c 74 61 2c 20 64 | long |delta, d|
|00001ce0| 61 79 73 2c 20 68 6f 75 | 72 73 2c 20 6d 69 6e 75 |ays, hou|rs, minu|
|00001cf0| 74 65 73 2c 20 73 65 63 | 73 3b 0a 58 20 20 20 20 |tes, sec|s;.X |
|00001d00| 63 68 61 72 20 2a 69 6c | 6c 64 74 20 3d 20 22 69 |char *il|ldt = "i|
|00001d10| 6c 6c 65 67 61 6c 20 64 | 61 74 65 2f 74 69 6d 65 |llegal d|ate/time|
|00001d20| 3a 20 25 73 5c 6e 22 3b | 0a 58 0a 58 20 20 20 20 |: %s\n";|.X.X |
|00001d30| 69 66 20 28 20 61 72 67 | 63 20 3d 3d 20 32 20 29 |if ( arg|c == 2 )|
|00001d40| 0a 58 09 7b 0a 58 09 74 | 77 70 20 3d 20 64 70 61 |.X.{.X.t|wp = dpa|
|00001d50| 72 73 65 74 69 6d 65 28 | 20 61 72 67 76 5b 31 5d |rsetime(| argv[1]|
|00001d60| 20 29 3b 0a 58 09 69 66 | 20 28 20 74 77 70 20 3d | );.X.if| ( twp =|
|00001d70| 3d 20 4e 55 4c 4c 20 7c | 7c 20 74 77 70 20 2d 3e |= NULL ||| twp ->|
|00001d80| 20 74 77 5f 66 6c 61 67 | 73 20 26 20 54 57 5f 4a | tw_flag|s & TW_J|
|00001d90| 55 4e 4b 20 29 0a 58 09 | 20 20 20 20 7b 0a 58 09 |UNK ).X.| {.X.|
|00001da0| 20 20 20 20 66 70 72 69 | 6e 74 66 28 20 73 74 64 | fpri|ntf( std|
|00001db0| 65 72 72 2c 20 69 6c 6c | 64 74 2c 20 61 72 67 76 |err, ill|dt, argv|
|00001dc0| 5b 31 5d 20 29 3b 0a 58 | 09 20 20 20 20 65 78 69 |[1] );.X|. exi|
|00001dd0| 74 28 20 31 20 29 3b 0a | 58 09 20 20 20 20 7d 0a |t( 1 );.|X. }.|
|00001de0| 58 09 74 77 73 63 6f 70 | 79 28 20 26 74 77 73 31 |X.twscop|y( &tws1|
|00001df0| 2c 20 74 77 70 20 29 3b | 0a 58 09 74 77 73 63 6f |, twp );|.X.twsco|
|00001e00| 70 79 28 20 26 74 77 73 | 32 2c 20 64 74 77 73 74 |py( &tws|2, dtwst|
|00001e10| 69 6d 65 28 20 29 20 29 | 3b 0a 58 09 7d 0a 58 20 |ime( ) )|;.X.}.X |
|00001e20| 20 20 20 65 6c 73 65 20 | 69 66 20 28 20 61 72 67 | else |if ( arg|
|00001e30| 63 20 3d 3d 20 33 20 29 | 0a 58 09 7b 0a 58 09 74 |c == 3 )|.X.{.X.t|
|00001e40| 77 70 20 3d 20 64 70 61 | 72 73 65 74 69 6d 65 28 |wp = dpa|rsetime(|
|00001e50| 20 61 72 67 76 5b 31 5d | 20 29 3b 0a 58 09 69 66 | argv[1]| );.X.if|
|00001e60| 20 28 20 74 77 70 20 3d | 3d 20 4e 55 4c 4c 20 7c | ( twp =|= NULL ||
|00001e70| 7c 20 74 77 70 20 2d 3e | 20 74 77 5f 66 6c 61 67 || twp ->| tw_flag|
|00001e80| 73 20 26 20 54 57 5f 4a | 55 4e 4b 20 29 0a 58 09 |s & TW_J|UNK ).X.|
|00001e90| 20 20 20 20 7b 0a 58 09 | 20 20 20 20 66 70 72 69 | {.X.| fpri|
|00001ea0| 6e 74 66 28 20 73 74 64 | 65 72 72 2c 20 69 6c 6c |ntf( std|err, ill|
|00001eb0| 64 74 2c 20 61 72 67 76 | 5b 31 5d 20 29 3b 0a 58 |dt, argv|[1] );.X|
|00001ec0| 09 20 20 20 20 65 78 69 | 74 28 20 31 20 29 3b 0a |. exi|t( 1 );.|
|00001ed0| 58 09 20 20 20 20 7d 0a | 58 09 74 77 73 63 6f 70 |X. }.|X.twscop|
|00001ee0| 79 28 20 26 74 77 73 31 | 2c 20 74 77 70 20 29 3b |y( &tws1|, twp );|
|00001ef0| 0a 58 09 74 77 70 20 3d | 20 64 70 61 72 73 65 74 |.X.twp =| dparset|
|00001f00| 69 6d 65 28 20 61 72 67 | 76 5b 32 5d 20 29 3b 0a |ime( arg|v[2] );.|
|00001f10| 58 09 69 66 20 28 20 74 | 77 70 20 3d 3d 20 4e 55 |X.if ( t|wp == NU|
|00001f20| 4c 4c 20 7c 7c 20 74 77 | 70 20 2d 3e 20 74 77 5f |LL || tw|p -> tw_|
|00001f30| 66 6c 61 67 73 20 26 20 | 54 57 5f 4a 55 4e 4b 20 |flags & |TW_JUNK |
|00001f40| 29 0a 58 09 20 20 20 20 | 7b 0a 58 09 20 20 20 20 |).X. |{.X. |
|00001f50| 66 70 72 69 6e 74 66 28 | 20 73 74 64 65 72 72 2c |fprintf(| stderr,|
|00001f60| 20 69 6c 6c 64 74 2c 20 | 61 72 67 76 5b 32 5d 20 | illdt, |argv[2] |
|00001f70| 29 3b 0a 58 09 20 20 20 | 20 65 78 69 74 28 20 31 |);.X. | exit( 1|
|00001f80| 20 29 3b 0a 58 09 20 20 | 20 20 7d 0a 58 09 74 77 | );.X. | }.X.tw|
|00001f90| 73 63 6f 70 79 28 20 26 | 74 77 73 32 2c 20 74 77 |scopy( &|tws2, tw|
|00001fa0| 70 20 29 3b 0a 58 09 7d | 0a 58 20 20 20 20 65 6c |p );.X.}|.X el|
|00001fb0| 73 65 0a 58 09 7b 0a 58 | 09 66 70 72 69 6e 74 66 |se.X.{.X|.fprintf|
|00001fc0| 28 20 73 74 64 65 72 72 | 2c 20 22 75 73 61 67 65 |( stderr|, "usage|
|00001fd0| 3a 20 20 25 73 20 20 3c | 74 69 6d 65 3e 20 20 5b |: %s <|time> [|
|00001fe0| 20 3c 74 69 6d 65 32 3e | 20 5d 5c 6e 22 2c 20 61 | <time2>| ]\n", a|
|00001ff0| 72 67 76 5b 30 5d 20 29 | 3b 0a 58 09 65 78 69 74 |rgv[0] )|;.X.exit|
|00002000| 28 20 31 20 29 3b 0a 58 | 09 7d 0a 58 20 20 20 20 |( 1 );.X|.}.X |
|00002010| 0a 58 20 20 20 20 64 65 | 6c 74 61 20 3d 20 74 77 |.X de|lta = tw|
|00002020| 73 75 62 74 72 61 63 74 | 28 20 26 74 77 73 32 2c |subtract|( &tws2,|
|00002030| 20 26 74 77 73 31 20 29 | 3b 0a 58 20 20 20 20 69 | &tws1 )|;.X i|
|00002040| 66 20 28 20 64 65 6c 74 | 61 20 3c 20 30 20 29 0a |f ( delt|a < 0 ).|
|00002050| 58 09 7b 0a 58 09 70 72 | 69 6e 74 66 28 20 22 2d |X.{.X.pr|intf( "-|
|00002060| 22 20 29 3b 0a 58 09 64 | 65 6c 74 61 20 3d 20 2d |" );.X.d|elta = -|
|00002070| 64 65 6c 74 61 3b 0a 58 | 09 7d 0a 58 0a 58 20 20 |delta;.X|.}.X.X |
|00002080| 20 20 64 61 79 73 20 3d | 20 64 65 6c 74 61 20 2f | days =| delta /|
|00002090| 20 53 45 43 53 50 45 52 | 44 41 59 3b 0a 58 20 20 | SECSPER|DAY;.X |
|000020a0| 20 20 64 65 6c 74 61 20 | 3d 20 64 65 6c 74 61 20 | delta |= delta |
|000020b0| 2d 20 64 61 79 73 20 2a | 20 53 45 43 53 50 45 52 |- days *| SECSPER|
|000020c0| 44 41 59 3b 0a 58 20 20 | 20 20 68 6f 75 72 73 20 |DAY;.X | hours |
|000020d0| 3d 20 64 65 6c 74 61 20 | 2f 20 53 45 43 53 50 45 |= delta |/ SECSPE|
|000020e0| 52 48 4f 55 52 3b 0a 58 | 20 20 20 20 64 65 6c 74 |RHOUR;.X| delt|
|000020f0| 61 20 3d 20 64 65 6c 74 | 61 20 2d 20 68 6f 75 72 |a = delt|a - hour|
|00002100| 73 20 2a 20 53 45 43 53 | 50 45 52 48 4f 55 52 3b |s * SECS|PERHOUR;|
|00002110| 0a 58 20 20 20 20 6d 69 | 6e 75 74 65 73 20 3d 20 |.X mi|nutes = |
|00002120| 64 65 6c 74 61 20 2f 20 | 53 45 43 53 50 45 52 4d |delta / |SECSPERM|
|00002130| 49 4e 55 54 45 3b 0a 58 | 20 20 20 20 64 65 6c 74 |INUTE;.X| delt|
|00002140| 61 20 3d 20 64 65 6c 74 | 61 20 2d 20 6d 69 6e 75 |a = delt|a - minu|
|00002150| 74 65 73 20 2a 20 53 45 | 43 53 50 45 52 4d 49 4e |tes * SE|CSPERMIN|
|00002160| 55 54 45 3b 0a 58 20 20 | 20 20 73 65 63 73 20 3d |UTE;.X | secs =|
|00002170| 20 64 65 6c 74 61 3b 0a | 58 0a 58 20 20 20 20 70 | delta;.|X.X p|
|00002180| 72 69 6e 74 66 28 20 22 | 25 6c 64 20 25 32 6c 64 |rintf( "|%ld %2ld|
|00002190| 3a 25 30 32 6c 64 3a 25 | 30 32 6c 64 5c 6e 22 2c |:%02ld:%|02ld\n",|
|000021a0| 20 64 61 79 73 2c 20 68 | 6f 75 72 73 2c 20 6d 69 | days, h|ours, mi|
|000021b0| 6e 75 74 65 73 2c 20 73 | 65 63 73 20 29 3b 0a 58 |nutes, s|ecs );.X|
|000021c0| 0a 58 20 20 20 20 65 78 | 69 74 28 20 30 20 29 3b |.X ex|it( 0 );|
|000021d0| 0a 58 20 20 20 20 7d 0a | 53 48 41 52 5f 45 4f 46 |.X }.|SHAR_EOF|
|000021e0| 0a 69 66 20 74 65 73 74 | 20 32 31 35 36 20 2d 6e |.if test| 2156 -n|
|000021f0| 65 20 22 60 77 63 20 2d | 63 20 3c 20 27 64 65 6c |e "`wc -|c < 'del|
|00002200| 74 69 6d 65 2e 63 27 60 | 22 0a 74 68 65 6e 0a 09 |time.c'`|".then..|
|00002210| 65 63 68 6f 20 73 68 61 | 72 3a 20 65 72 72 6f 72 |echo sha|r: error|
|00002220| 20 74 72 61 6e 73 6d 69 | 74 74 69 6e 67 20 22 27 | transmi|tting "'|
|00002230| 64 65 6c 74 69 6d 65 2e | 63 27 22 20 27 28 73 68 |deltime.|c'" '(sh|
|00002240| 6f 75 6c 64 20 68 61 76 | 65 20 62 65 65 6e 20 32 |ould hav|e been 2|
|00002250| 31 35 36 20 63 68 61 72 | 61 63 74 65 72 73 29 27 |156 char|acters)'|
|00002260| 0a 66 69 0a 66 69 20 23 | 20 65 6e 64 20 6f 66 20 |.fi.fi #| end of |
|00002270| 6f 76 65 72 77 72 69 74 | 69 6e 67 20 63 68 65 63 |overwrit|ing chec|
|00002280| 6b 0a 65 63 68 6f 20 73 | 68 61 72 3a 20 65 78 74 |k.echo s|har: ext|
|00002290| 72 61 63 74 69 6e 67 20 | 22 27 64 65 6c 74 69 6d |racting |"'deltim|
|000022a0| 65 2e 6d 61 6e 27 22 20 | 27 28 38 30 33 20 63 68 |e.man'" |'(803 ch|
|000022b0| 61 72 61 63 74 65 72 73 | 29 27 0a 69 66 20 74 65 |aracters|)'.if te|
|000022c0| 73 74 20 2d 66 20 27 64 | 65 6c 74 69 6d 65 2e 6d |st -f 'd|eltime.m|
|000022d0| 61 6e 27 0a 74 68 65 6e | 0a 09 65 63 68 6f 20 73 |an'.then|..echo s|
|000022e0| 68 61 72 3a 20 77 69 6c | 6c 20 6e 6f 74 20 6f 76 |har: wil|l not ov|
|000022f0| 65 72 2d 77 72 69 74 65 | 20 65 78 69 73 74 69 6e |er-write| existin|
|00002300| 67 20 66 69 6c 65 20 22 | 27 64 65 6c 74 69 6d 65 |g file "|'deltime|
|00002310| 2e 6d 61 6e 27 22 0a 65 | 6c 73 65 0a 73 65 64 20 |.man'".e|lse.sed |
|00002320| 27 73 2f 5e 58 2f 2f 27 | 20 3c 3c 20 5c 53 48 41 |'s/^X//'| << \SHA|
|00002330| 52 5f 45 4f 46 20 3e 20 | 27 64 65 6c 74 69 6d 65 |R_EOF > |'deltime|
|00002340| 2e 6d 61 6e 27 0a 58 2e | 54 48 20 65 78 61 6d 70 |.man'.X.|TH examp|
|00002350| 6c 65 20 31 20 22 30 38 | 20 4e 6f 76 65 6d 62 65 |le 1 "08| Novembe|
|00002360| 72 20 31 39 38 36 22 0a | 58 2e 53 48 20 4e 41 4d |r 1986".|X.SH NAM|
|00002370| 45 0a 58 64 65 6c 74 69 | 6d 65 20 5c 2d 20 63 6f |E.Xdelti|me \- co|
|00002380| 6d 70 75 74 65 20 61 20 | 64 65 6c 74 61 20 74 69 |mpute a |delta ti|
|00002390| 6d 65 0a 58 2e 53 48 20 | 53 59 4e 4f 50 53 49 53 |me.X.SH |SYNOPSIS|
|000023a0| 0a 58 2e 69 6e 20 2b 2e | 35 69 0a 58 2e 74 69 20 |.X.in +.|5i.X.ti |
|000023b0| 2d 2e 35 69 0a 58 64 65 | 6c 74 69 6d 65 20 20 3c |-.5i.Xde|ltime <|
|000023c0| 74 69 6d 65 3e 20 20 5c | 25 5b 20 3c 74 69 6d 65 |time> \|%[ <time|
|000023d0| 32 3e 20 5d 0a 58 2e 69 | 6e 20 2d 2e 35 69 0a 58 |2> ].X.i|n -.5i.X|
|000023e0| 2e 53 48 20 44 45 53 43 | 52 49 50 54 49 4f 4e 0a |.SH DESC|RIPTION.|
|000023f0| 58 2e 50 50 0a 58 2e 49 | 20 44 65 6c 74 69 6d 65 |X.PP.X.I| Deltime|
|00002400| 0a 58 63 6f 6d 70 75 74 | 65 73 20 74 68 65 20 65 |.Xcomput|es the e|
|00002410| 6c 61 70 73 65 64 20 74 | 69 6d 65 20 62 65 74 77 |lapsed t|ime betw|
|00002420| 65 65 6e 20 6e 6f 77 20 | 61 6e 64 20 61 0a 58 73 |een now |and a.Xs|
|00002430| 70 65 63 69 66 69 65 64 | 20 64 61 74 65 2f 74 69 |pecified| date/ti|
|00002440| 6d 65 2c 20 6f 72 20 62 | 65 74 77 65 65 6e 20 74 |me, or b|etween t|
|00002450| 77 6f 20 73 70 65 63 69 | 66 69 65 64 20 64 61 74 |wo speci|fied dat|
|00002460| 65 2f 74 69 6d 65 73 2e | 0a 58 54 68 65 20 66 6f |e/times.|.XThe fo|
|00002470| 72 6d 61 74 20 66 6f 72 | 20 73 70 65 63 69 66 79 |rmat for| specify|
|00002480| 69 6e 67 20 64 61 74 65 | 2f 74 69 6d 65 73 20 69 |ing date|/times i|
|00002490| 73 20 70 72 65 74 74 79 | 20 6c 6f 6f 73 65 20 2d |s pretty| loose -|
|000024a0| 20 62 61 73 69 63 61 6c | 6c 79 0a 58 74 68 65 20 | basical|ly.Xthe |
|000024b0| 73 61 6d 65 20 61 73 20 | 74 68 65 20 66 6f 72 6d |same as |the form|
|000024c0| 61 74 20 66 6f 72 20 64 | 61 74 65 2f 74 69 6d 65 |at for d|ate/time|
|000024d0| 73 20 69 6e 20 6e 65 74 | 77 6f 72 6b 20 6d 61 69 |s in net|work mai|
|000024e0| 6c 2e 0a 58 4a 75 73 74 | 20 62 65 20 63 61 72 65 |l..XJust| be care|
|000024f0| 66 75 6c 20 74 6f 20 70 | 75 74 20 74 68 65 6d 20 |ful to p|ut them |
|00002500| 69 6e 20 71 75 6f 74 65 | 73 20 69 66 20 74 68 65 |in quote|s if the|
|00002510| 79 20 63 6f 6e 74 61 69 | 6e 20 73 70 61 63 65 73 |y contai|n spaces|
|00002520| 2e 0a 58 54 68 65 20 6f | 75 74 70 75 74 20 66 6f |..XThe o|utput fo|
|00002530| 72 6d 61 74 20 69 73 20 | 64 64 64 64 20 68 68 3a |rmat is |dddd hh:|
|00002540| 6d 6d 3a 73 73 2e 0a 58 | 2e 50 50 0a 58 54 69 6d |mm:ss..X|.PP.XTim|
|00002550| 65 73 20 65 61 72 6c 69 | 65 72 20 74 68 61 6e 20 |es earli|er than |
|00002560| 31 39 37 30 0a 58 2e 49 | 20 63 61 6e 0a 58 62 65 |1970.X.I| can.Xbe|
|00002570| 20 68 61 6e 64 6c 65 64 | 2c 20 62 65 63 61 75 73 | handled|, becaus|
|00002580| 65 20 74 68 65 20 69 6e | 74 65 72 6e 61 6c 20 55 |e the in|ternal U|
|00002590| 6e 69 78 2a 20 74 69 6d | 65 20 66 6f 72 6d 61 74 |nix* tim|e format|
|000025a0| 20 69 73 20 6e 6f 74 20 | 75 73 65 64 2e 0a 58 48 | is not |used..XH|
|000025b0| 6f 77 65 76 65 72 2c 20 | 74 69 6d 65 20 73 70 61 |owever, |time spa|
|000025c0| 6e 73 20 67 72 65 61 74 | 65 72 20 74 68 61 6e 20 |ns great|er than |
|000025d0| 36 36 20 79 65 61 72 73 | 0a 58 2e 49 20 63 61 6e |66 years|.X.I can|
|000025e0| 6e 6f 74 0a 58 62 65 20 | 68 61 6e 64 6c 65 64 2c |not.Xbe |handled,|
|000025f0| 20 62 65 63 61 75 73 65 | 20 74 68 61 74 27 73 20 | because| that's |
|00002600| 32 2a 2a 33 31 20 73 65 | 63 6f 6e 64 73 2e 0a 58 |2**31 se|conds..X|
|00002610| 2e 53 48 20 22 53 45 45 | 5c 20 41 4c 53 4f 22 0a |.SH "SEE|\ ALSO".|
|00002620| 58 2e 49 52 20 70 68 6f | 6f 6e 28 31 29 2c 0a 58 |X.IR pho|on(1),.X|
|00002630| 2e 49 52 20 6c 69 62 74 | 77 73 28 33 29 0a 58 2e |.IR libt|ws(3).X.|
|00002640| 53 48 20 41 55 54 48 4f | 52 0a 58 4a 65 66 20 50 |SH AUTHO|R.XJef P|
|00002650| 6f 73 6b 61 6e 7a 65 72 | 0a 58 2e 53 48 20 4e 4f |oskanzer|.X.SH NO|
|00002660| 54 45 0a 58 2a 20 55 6e | 69 78 20 69 73 20 61 20 |TE.X* Un|ix is a |
|00002670| 76 69 72 75 73 20 66 72 | 6f 6d 20 6f 75 74 65 72 |virus fr|om outer|
|00002680| 20 73 70 61 63 65 2e 0a | 53 48 41 52 5f 45 4f 46 | space..|SHAR_EOF|
|00002690| 0a 69 66 20 74 65 73 74 | 20 38 30 33 20 2d 6e 65 |.if test| 803 -ne|
|000026a0| 20 22 60 77 63 20 2d 63 | 20 3c 20 27 64 65 6c 74 | "`wc -c| < 'delt|
|000026b0| 69 6d 65 2e 6d 61 6e 27 | 60 22 0a 74 68 65 6e 0a |ime.man'|`".then.|
|000026c0| 09 65 63 68 6f 20 73 68 | 61 72 3a 20 65 72 72 6f |.echo sh|ar: erro|
|000026d0| 72 20 74 72 61 6e 73 6d | 69 74 74 69 6e 67 20 22 |r transm|itting "|
|000026e0| 27 64 65 6c 74 69 6d 65 | 2e 6d 61 6e 27 22 20 27 |'deltime|.man'" '|
|000026f0| 28 73 68 6f 75 6c 64 20 | 68 61 76 65 20 62 65 65 |(should |have bee|
|00002700| 6e 20 38 30 33 20 63 68 | 61 72 61 63 74 65 72 73 |n 803 ch|aracters|
|00002710| 29 27 0a 66 69 0a 66 69 | 20 23 20 65 6e 64 20 6f |)'.fi.fi| # end o|
|00002720| 66 20 6f 76 65 72 77 72 | 69 74 69 6e 67 20 63 68 |f overwr|iting ch|
|00002730| 65 63 6b 0a 65 63 68 6f | 20 73 68 61 72 3a 20 65 |eck.echo| shar: e|
|00002740| 78 74 72 61 63 74 69 6e | 67 20 22 27 64 74 69 6d |xtractin|g "'dtim|
|00002750| 65 2e 63 27 22 20 27 28 | 39 30 33 35 20 63 68 61 |e.c'" '(|9035 cha|
|00002760| 72 61 63 74 65 72 73 29 | 27 0a 69 66 20 74 65 73 |racters)|'.if tes|
|00002770| 74 20 2d 66 20 27 64 74 | 69 6d 65 2e 63 27 0a 74 |t -f 'dt|ime.c'.t|
|00002780| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|00002790| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|000027a0| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|000027b0| 65 20 22 27 64 74 69 6d | 65 2e 63 27 22 0a 65 6c |e "'dtim|e.c'".el|
|000027c0| 73 65 0a 73 65 64 20 27 | 73 2f 5e 58 2f 2f 27 20 |se.sed '|s/^X//' |
|000027d0| 3c 3c 20 5c 53 48 41 52 | 5f 45 4f 46 20 3e 20 27 |<< \SHAR|_EOF > '|
|000027e0| 64 74 69 6d 65 2e 63 27 | 0a 58 2f 2a 20 64 74 69 |dtime.c'|.X/* dti|
|000027f0| 6d 65 2e 63 20 2d 20 72 | 6f 75 74 69 6e 65 73 20 |me.c - r|outines |
|00002800| 74 6f 20 64 6f 20 60 60 | 41 52 50 41 2d 73 74 79 |to do ``|ARPA-sty|
|00002810| 6c 65 27 27 20 74 69 6d | 65 20 73 74 72 75 63 74 |le'' tim|e struct|
|00002820| 75 72 65 73 0a 58 0a 58 | 76 65 72 20 20 64 61 74 |ures.X.X|ver dat|
|00002830| 65 20 20 20 77 68 6f 20 | 72 65 6d 61 72 6b 73 0a |e who |remarks.|
|00002840| 58 2d 2d 2d 20 2d 2d 2d | 2d 2d 2d 2d 20 2d 2d 2d |X--- ---|---- ---|
|00002850| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | -------|--------|
|00002860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0a 58 |--------|------.X|
|00002890| 30 31 42 20 31 35 6e 6f | 76 38 36 20 4a 50 20 20 |01B 15no|v86 JP |
|000028a0| 54 68 6f 75 72 6f 75 67 | 68 6c 79 20 68 61 63 6b |Thouroug|hly hack|
|000028b0| 65 64 20 62 79 20 4a 65 | 66 20 50 6f 73 6b 61 6e |ed by Je|f Poskan|
|000028c0| 7a 65 72 2e 0a 58 30 31 | 41 20 3f 3f 3f 3f 3f 3f |zer..X01|A ??????|
|000028d0| 3f 20 4d 54 52 20 4f 72 | 69 67 69 6e 61 6c 20 76 |? MTR Or|iginal v|
|000028e0| 65 72 73 69 6f 6e 20 66 | 72 6f 6d 20 74 68 65 20 |ersion f|rom the |
|000028f0| 4d 48 20 36 2e 35 20 64 | 69 73 74 72 69 62 75 74 |MH 6.5 d|istribut|
|00002900| 69 6f 6e 2c 20 63 6f 75 | 72 74 65 73 79 0a 58 09 |ion, cou|rtesy.X.|
|00002910| 20 20 20 20 20 20 20 20 | 20 20 6f 66 20 4d 61 72 | | of Mar|
|00002920| 73 68 61 6c 6c 20 52 6f | 73 65 2e 0a 58 0a 58 2a |shall Ro|se..X.X*|
|00002930| 2f 0a 58 0a 58 0a 58 23 | 69 6e 63 6c 75 64 65 20 |/.X.X.X#|include |
|00002940| 22 74 77 73 2e 68 22 0a | 58 23 69 6e 63 6c 75 64 |"tws.h".|X#includ|
|00002950| 65 20 3c 73 74 64 69 6f | 2e 68 3e 0a 58 23 69 6e |e <stdio|.h>.X#in|
|00002960| 63 6c 75 64 65 20 3c 73 | 79 73 2f 74 79 70 65 73 |clude <s|ys/types|
|00002970| 2e 68 3e 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 74 |.h>.X#in|clude <t|
|00002980| 69 6d 65 2e 68 3e 0a 58 | 23 69 66 64 65 66 20 20 |ime.h>.X|#ifdef |
|00002990| 53 59 53 35 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |SYS5.X#i|nclude <|
|000029a0| 73 74 72 69 6e 67 2e 68 | 3e 0a 58 23 65 6c 73 65 |string.h|>.X#else|
|000029b0| 20 53 59 53 35 0a 58 23 | 69 6e 63 6c 75 64 65 20 | SYS5.X#|include |
|000029c0| 3c 73 74 72 69 6e 67 73 | 2e 68 3e 0a 58 23 69 6e |<strings|.h>.X#in|
|000029d0| 63 6c 75 64 65 20 3c 73 | 79 73 2f 74 69 6d 65 62 |clude <s|ys/timeb|
|000029e0| 2e 68 3e 0a 58 23 65 6e | 64 69 66 20 53 59 53 35 |.h>.X#en|dif SYS5|
|000029f0| 0a 58 0a 58 23 69 66 64 | 65 66 09 53 59 53 35 0a |.X.X#ifd|ef.SYS5.|
|00002a00| 58 65 78 74 65 72 6e 20 | 69 6e 74 20 20 64 61 79 |Xextern |int day|
|00002a10| 6c 69 67 68 74 3b 0a 58 | 65 78 74 65 72 6e 20 6c |light;.X|extern l|
|00002a20| 6f 6e 67 20 74 69 6d 65 | 7a 6f 6e 65 3b 0a 58 65 |ong time|zone;.Xe|
|00002a30| 78 74 65 72 6e 20 63 68 | 61 72 20 2a 74 7a 6e 61 |xtern ch|ar *tzna|
|00002a40| 6d 65 5b 5d 3b 0a 58 23 | 65 6e 64 69 66 09 53 59 |me[];.X#|endif.SY|
|00002a50| 53 35 0a 58 0a 58 2f 2a | 20 0c 20 2a 2f 0a 58 0a |S5.X.X/*| . */.X.|
|00002a60| 58 23 64 65 66 69 6e 65 | 09 61 62 73 28 61 29 20 |X#define|.abs(a) |
|00002a70| 28 20 61 20 3e 3d 20 30 | 20 3f 20 61 20 3a 20 2d |( a >= 0| ? a : -|
|00002a80| 61 20 29 0a 58 0a 58 63 | 68 61 72 20 2a 74 77 5f |a ).X.Xc|har *tw_|
|00002a90| 6d 6f 74 79 5b 5d 20 3d | 20 7b 0a 58 20 20 20 20 |moty[] =| {.X |
|00002aa0| 22 4a 61 6e 22 2c 20 22 | 46 65 62 22 2c 20 22 4d |"Jan", "|Feb", "M|
|00002ab0| 61 72 22 2c 20 22 41 70 | 72 22 2c 20 22 4d 61 79 |ar", "Ap|r", "May|
|00002ac0| 22 2c 20 22 4a 75 6e 22 | 2c 0a 58 20 20 20 20 22 |", "Jun"|,.X "|
|00002ad0| 4a 75 6c 22 2c 20 22 41 | 75 67 22 2c 20 22 53 65 |Jul", "A|ug", "Se|
|00002ae0| 70 22 2c 20 22 4f 63 74 | 22 2c 20 22 4e 6f 76 22 |p", "Oct|", "Nov"|
|00002af0| 2c 20 22 44 65 63 22 2c | 20 4e 55 4c 4c 20 7d 3b |, "Dec",| NULL };|
|00002b00| 0a 58 0a 58 63 68 61 72 | 20 2a 74 77 5f 64 6f 74 |.X.Xchar| *tw_dot|
|00002b10| 77 5b 5d 20 3d 20 7b 0a | 58 20 20 20 20 22 53 75 |w[] = {.|X "Su|
|00002b20| 6e 22 2c 20 22 4d 6f 6e | 22 2c 20 22 54 75 65 22 |n", "Mon|", "Tue"|
|00002b30| 2c 20 22 57 65 64 22 2c | 20 22 54 68 75 22 2c 20 |, "Wed",| "Thu", |
|00002b40| 22 46 72 69 22 2c 20 22 | 53 61 74 22 2c 20 4e 55 |"Fri", "|Sat", NU|
|00002b50| 4c 4c 20 7d 3b 0a 58 0a | 58 63 68 61 72 20 2a 74 |LL };.X.|Xchar *t|
|00002b60| 77 5f 6c 64 6f 74 77 5b | 5d 20 3d 20 7b 0a 58 20 |w_ldotw[|] = {.X |
|00002b70| 20 20 20 22 53 75 6e 64 | 61 79 22 2c 20 22 4d 6f | "Sund|ay", "Mo|
|00002b80| 6e 64 61 79 22 2c 20 22 | 54 75 65 73 64 61 79 22 |nday", "|Tuesday"|
|00002b90| 2c 20 22 57 65 64 6e 65 | 73 64 61 79 22 2c 0a 58 |, "Wedne|sday",.X|
|00002ba0| 20 20 20 20 22 54 68 75 | 72 73 64 61 79 22 2c 20 | "Thu|rsday", |
|00002bb0| 22 46 72 69 64 61 79 22 | 2c 20 22 53 61 74 75 72 |"Friday"|, "Satur|
|00002bc0| 64 61 79 22 2c 20 4e 55 | 4c 4c 20 7d 3b 0a 58 0a |day", NU|LL };.X.|
|00002bd0| 58 2f 2a 20 0c 20 2a 2f | 0a 58 0a 58 73 74 61 74 |X/* . */|.X.Xstat|
|00002be0| 69 63 20 73 74 72 75 63 | 74 20 7a 6f 6e 65 0a 58 |ic struc|t zone.X|
|00002bf0| 20 20 20 20 7b 0a 58 20 | 20 20 20 63 68 61 72 20 | {.X | char |
|00002c00| 2a 73 74 64 3b 0a 58 20 | 20 20 20 63 68 61 72 20 |*std;.X | char |
|00002c10| 2a 64 73 74 3b 0a 58 20 | 20 20 20 69 6e 74 20 73 |*dst;.X | int s|
|00002c20| 68 69 66 74 3b 0a 58 20 | 20 20 20 7d 0a 58 20 20 |hift;.X | }.X |
|00002c30| 20 20 7a 6f 6e 65 73 5b | 5d 20 3d 20 7b 0a 58 09 | zones[|] = {.X.|
|00002c40| 22 47 4d 54 22 2c 20 22 | 42 53 54 22 2c 20 30 2c |"GMT", "|BST", 0,|
|00002c50| 0a 58 09 22 45 53 54 22 | 2c 20 22 45 44 54 22 2c |.X."EST"|, "EDT",|
|00002c60| 20 2d 35 2c 0a 58 09 22 | 43 53 54 22 2c 20 22 43 | -5,.X."|CST", "C|
|00002c70| 44 54 22 2c 20 2d 36 2c | 0a 58 09 22 4d 53 54 22 |DT", -6,|.X."MST"|
|00002c80| 2c 20 4e 55 4c 4c 2c 20 | 2d 37 2c 0a 58 09 22 50 |, NULL, |-7,.X."P|
|00002c90| 53 54 22 2c 20 22 50 44 | 54 22 2c 20 2d 38 2c 0a |ST", "PD|T", -8,.|
|00002ca0| 58 09 22 41 22 2c 20 4e | 55 4c 4c 2c 20 2d 31 2c |X."A", N|ULL, -1,|
|00002cb0| 0a 58 09 22 42 22 2c 20 | 4e 55 4c 4c 2c 20 2d 32 |.X."B", |NULL, -2|
|00002cc0| 2c 0a 58 09 22 43 22 2c | 20 4e 55 4c 4c 2c 20 2d |,.X."C",| NULL, -|
|00002cd0| 33 2c 0a 58 09 22 44 22 | 2c 20 4e 55 4c 4c 2c 20 |3,.X."D"|, NULL, |
|00002ce0| 2d 34 2c 0a 58 09 22 45 | 22 2c 20 4e 55 4c 4c 2c |-4,.X."E|", NULL,|
|00002cf0| 20 2d 35 2c 0a 58 09 22 | 46 22 2c 20 4e 55 4c 4c | -5,.X."|F", NULL|
|00002d00| 2c 20 2d 36 2c 0a 58 09 | 22 47 22 2c 20 4e 55 4c |, -6,.X.|"G", NUL|
|00002d10| 4c 2c 20 2d 37 2c 0a 58 | 09 22 48 22 2c 20 4e 55 |L, -7,.X|."H", NU|
|00002d20| 4c 4c 2c 20 2d 38 2c 0a | 58 09 22 49 22 2c 20 4e |LL, -8,.|X."I", N|
|00002d30| 55 4c 4c 2c 20 2d 39 2c | 0a 58 09 22 4b 22 2c 20 |ULL, -9,|.X."K", |
|00002d40| 4e 55 4c 4c 2c 20 2d 31 | 30 2c 0a 58 09 22 4c 22 |NULL, -1|0,.X."L"|
|00002d50| 2c 20 4e 55 4c 4c 2c 20 | 2d 31 31 2c 0a 58 09 22 |, NULL, |-11,.X."|
|00002d60| 4d 22 2c 20 4e 55 4c 4c | 2c 20 2d 31 32 2c 0a 58 |M", NULL|, -12,.X|
|00002d70| 09 22 4e 22 2c 20 4e 55 | 4c 4c 2c 20 31 2c 0a 58 |."N", NU|LL, 1,.X|
|00002d80| 23 69 66 6e 64 65 66 09 | 48 55 4a 49 0a 58 09 22 |#ifndef.|HUJI.X."|
|00002d90| 4f 22 2c 20 4e 55 4c 4c | 2c 20 32 2c 0a 58 23 65 |O", NULL|, 2,.X#e|
|00002da0| 6c 73 65 09 48 55 4a 49 | 0a 58 09 22 4a 53 54 22 |lse.HUJI|.X."JST"|
|00002db0| 2c 20 22 4a 44 54 22 2c | 20 32 2c 0a 58 23 65 6e |, "JDT",| 2,.X#en|
|00002dc0| 64 69 66 09 48 55 4a 49 | 0a 58 09 22 50 22 2c 20 |dif.HUJI|.X."P", |
|00002dd0| 4e 55 4c 4c 2c 20 33 2c | 0a 58 09 22 51 22 2c 20 |NULL, 3,|.X."Q", |
|00002de0| 4e 55 4c 4c 2c 20 34 2c | 0a 58 09 22 52 22 2c 20 |NULL, 4,|.X."R", |
|00002df0| 4e 55 4c 4c 2c 20 35 2c | 0a 58 09 22 53 22 2c 20 |NULL, 5,|.X."S", |
|00002e00| 4e 55 4c 4c 2c 20 36 2c | 0a 58 09 22 54 22 2c 20 |NULL, 6,|.X."T", |
|00002e10| 4e 55 4c 4c 2c 20 37 2c | 0a 58 09 22 55 22 2c 20 |NULL, 7,|.X."U", |
|00002e20| 4e 55 4c 4c 2c 20 38 2c | 0a 58 09 22 56 22 2c 20 |NULL, 8,|.X."V", |
|00002e30| 4e 55 4c 4c 2c 20 39 2c | 0a 58 09 22 57 22 2c 20 |NULL, 9,|.X."W", |
|00002e40| 4e 55 4c 4c 2c 20 31 30 | 2c 0a 58 09 22 58 22 2c |NULL, 10|,.X."X",|
|00002e50| 20 4e 55 4c 4c 2c 20 31 | 31 2c 0a 58 09 22 59 22 | NULL, 1|1,.X."Y"|
|00002e60| 2c 20 4e 55 4c 4c 2c 20 | 31 32 2c 0a 58 09 4e 55 |, NULL, |12,.X.NU|
|00002e70| 4c 4c 20 7d 3b 0a 58 0a | 58 23 64 65 66 69 6e 65 |LL };.X.|X#define|
|00002e80| 20 43 45 4e 54 55 52 59 | 20 31 39 0a 58 0a 58 6c | CENTURY| 19.X.Xl|
|00002e90| 6f 6e 67 20 74 69 6d 65 | 28 20 29 3b 0a 58 73 74 |ong time|( );.Xst|
|00002ea0| 72 75 63 74 20 74 6d 20 | 2a 6c 6f 63 61 6c 74 69 |ruct tm |*localti|
|00002eb0| 6d 65 28 20 29 3b 0a 58 | 0a 58 2f 2a 20 0c 20 2a |me( );.X|.X/* . *|
|00002ec0| 2f 0a 58 0a 58 63 68 61 | 72 20 2a 64 74 69 6d 65 |/.X.Xcha|r *dtime|
|00002ed0| 6e 6f 77 28 20 29 0a 58 | 20 20 20 20 7b 0a 58 20 |now( ).X| {.X |
|00002ee0| 20 20 20 6c 6f 6e 67 20 | 63 6c 6f 63 6b 3b 0a 58 | long |clock;.X|
|00002ef0| 0a 58 20 20 20 20 28 76 | 6f 69 64 29 20 74 69 6d |.X (v|oid) tim|
|00002f00| 65 28 20 26 63 6c 6f 63 | 6b 20 29 3b 0a 58 20 20 |e( &cloc|k );.X |
|00002f10| 20 20 72 65 74 75 72 6e | 20 28 20 64 74 69 6d 65 | return| ( dtime|
|00002f20| 28 20 26 63 6c 6f 63 6b | 20 29 20 29 3b 0a 58 20 |( &clock| ) );.X |
|00002f30| 20 20 20 7d 0a 58 0a 58 | 0a 58 63 68 61 72 20 2a | }.X.X|.Xchar *|
|00002f40| 0a 58 64 63 74 69 6d 65 | 28 20 74 77 20 29 0a 58 |.Xdctime|( tw ).X|
|00002f50| 73 74 72 75 63 74 20 74 | 77 73 20 2a 74 77 3b 0a |struct t|ws *tw;.|
|00002f60| 58 20 20 20 20 7b 0a 58 | 20 20 20 20 73 74 61 74 |X {.X| stat|
|00002f70| 69 63 20 63 68 61 72 20 | 62 75 66 66 65 72 5b 32 |ic char |buffer[2|
|00002f80| 35 5d 3b 0a 58 0a 58 20 | 20 20 20 69 66 20 28 20 |5];.X.X | if ( |
|00002f90| 74 77 20 3d 3d 20 4e 55 | 4c 4c 20 29 0a 58 09 72 |tw == NU|LL ).X.r|
|00002fa0| 65 74 75 72 6e 20 28 20 | 4e 55 4c 4c 20 29 3b 0a |eturn ( |NULL );.|
|00002fb0| 58 0a 58 20 20 20 20 28 | 76 6f 69 64 29 20 73 70 |X.X (|void) sp|
|00002fc0| 72 69 6e 74 66 28 20 62 | 75 66 66 65 72 2c 20 22 |rintf( b|uffer, "|
|00002fd0| 25 2e 33 73 20 25 2e 33 | 73 20 25 30 32 64 20 25 |%.3s %.3|s %02d %|
|00002fe0| 30 32 64 3a 25 30 32 64 | 3a 25 30 32 64 20 25 2e |02d:%02d|:%02d %.|
|00002ff0| 34 64 5c 6e 22 2c 0a 58 | 09 20 20 20 20 74 77 5f |4d\n",.X|. tw_|
|00003000| 64 6f 74 77 5b 74 77 20 | 2d 3e 20 74 77 5f 77 64 |dotw[tw |-> tw_wd|
|00003010| 61 79 5d 2c 20 74 77 5f | 6d 6f 74 79 5b 74 77 20 |ay], tw_|moty[tw |
|00003020| 2d 3e 20 74 77 5f 6d 6f | 6e 5d 2c 20 74 77 20 2d |-> tw_mo|n], tw -|
|00003030| 3e 20 74 77 5f 6d 64 61 | 79 2c 0a 58 09 20 20 20 |> tw_mda|y,.X. |
|00003040| 20 74 77 20 2d 3e 20 74 | 77 5f 68 6f 75 72 2c 20 | tw -> t|w_hour, |
|00003050| 74 77 20 2d 3e 20 74 77 | 5f 6d 69 6e 2c 20 74 77 |tw -> tw|_min, tw|
|00003060| 20 2d 3e 20 74 77 5f 73 | 65 63 2c 0a 58 09 20 20 | -> tw_s|ec,.X. |
|00003070| 20 20 74 77 20 2d 3e 20 | 74 77 5f 79 65 61 72 20 | tw -> |tw_year |
|00003080| 3e 3d 20 31 30 30 20 3f | 20 74 77 20 2d 3e 20 74 |>= 100 ?| tw -> t|
|00003090| 77 5f 79 65 61 72 20 3a | 20 31 39 30 30 20 2b 20 |w_year :| 1900 + |
|000030a0| 74 77 20 2d 3e 20 74 77 | 5f 79 65 61 72 20 29 3b |tw -> tw|_year );|
|000030b0| 0a 58 0a 58 20 20 20 20 | 72 65 74 75 72 6e 20 28 |.X.X |return (|
|000030c0| 20 62 75 66 66 65 72 20 | 29 3b 0a 58 20 20 20 20 | buffer |);.X |
|000030d0| 7d 0a 58 0a 58 2f 2a 20 | 0c 20 2a 2f 0a 58 0a 58 |}.X.X/* |. */.X.X|
|000030e0| 73 74 72 75 63 74 20 74 | 77 73 20 2a 0a 58 64 74 |struct t|ws *.Xdt|
|000030f0| 77 73 74 69 6d 65 28 20 | 29 0a 58 20 20 20 20 7b |wstime( |).X {|
|00003100| 0a 58 20 20 20 20 6c 6f | 6e 67 20 63 6c 6f 63 6b |.X lo|ng clock|
|00003110| 3b 0a 58 0a 58 20 20 20 | 20 28 76 6f 69 64 29 20 |;.X.X | (void) |
|00003120| 74 69 6d 65 28 20 26 63 | 6c 6f 63 6b 20 29 3b 0a |time( &c|lock );.|
|00003130| 58 20 20 20 20 72 65 74 | 75 72 6e 20 28 20 64 6c |X ret|urn ( dl|
|00003140| 6f 63 61 6c 74 69 6d 65 | 28 20 26 63 6c 6f 63 6b |ocaltime|( &clock|
|00003150| 20 29 20 29 3b 0a 58 20 | 20 20 20 7d 0a 58 0a 58 | ) );.X | }.X.X|
|00003160| 0a 58 73 74 72 75 63 74 | 20 74 77 73 20 2a 0a 58 |.Xstruct| tws *.X|
|00003170| 64 6c 6f 63 61 6c 74 69 | 6d 65 28 20 63 6c 6f 63 |dlocalti|me( cloc|
|00003180| 6b 20 29 0a 58 6c 6f 6e | 67 20 2a 63 6c 6f 63 6b |k ).Xlon|g *clock|
|00003190| 3b 0a 58 20 20 20 20 7b | 0a 58 20 20 20 20 72 65 |;.X {|.X re|
|000031a0| 67 69 73 74 65 72 20 73 | 74 72 75 63 74 20 74 6d |gister s|truct tm|
|000031b0| 20 2a 74 6d 3b 0a 58 23 | 69 66 6e 64 65 66 20 53 | *tm;.X#|ifndef S|
|000031c0| 59 53 35 0a 58 20 20 20 | 20 73 74 72 75 63 74 20 |YS5.X | struct |
|000031d0| 74 69 6d 65 62 20 74 62 | 3b 0a 58 23 65 6e 64 69 |timeb tb|;.X#endi|
|000031e0| 66 20 6e 6f 74 20 53 59 | 53 35 0a 58 20 20 20 20 |f not SY|S5.X |
|000031f0| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 74 77 |static s|truct tw|
|00003200| 73 20 74 77 3b 0a 58 0a | 58 20 20 20 20 69 66 20 |s tw;.X.|X if |
|00003210| 28 20 63 6c 6f 63 6b 20 | 3d 3d 20 4e 55 4c 4c 20 |( clock |== NULL |
|00003220| 29 0a 58 09 72 65 74 75 | 72 6e 20 28 20 4e 55 4c |).X.retu|rn ( NUL|
|00003230| 4c 20 29 3b 0a 58 20 20 | 20 20 74 77 2e 74 77 5f |L );.X | tw.tw_|
|00003240| 66 6c 61 67 73 20 3d 20 | 54 57 5f 4e 55 4c 4c 3b |flags = |TW_NULL;|
|00003250| 0a 58 0a 58 20 20 20 20 | 74 6d 20 3d 20 6c 6f 63 |.X.X |tm = loc|
|00003260| 61 6c 74 69 6d 65 28 20 | 63 6c 6f 63 6b 20 29 3b |altime( |clock );|
|00003270| 0a 58 20 20 20 20 74 77 | 2e 74 77 5f 73 65 63 20 |.X tw|.tw_sec |
|00003280| 3d 20 74 6d 20 2d 3e 20 | 74 6d 5f 73 65 63 3b 0a |= tm -> |tm_sec;.|
|00003290| 58 20 20 20 20 74 77 2e | 74 77 5f 6d 69 6e 20 3d |X tw.|tw_min =|
|000032a0| 20 74 6d 20 2d 3e 20 74 | 6d 5f 6d 69 6e 3b 0a 58 | tm -> t|m_min;.X|
|000032b0| 20 20 20 20 74 77 2e 74 | 77 5f 68 6f 75 72 20 3d | tw.t|w_hour =|
|000032c0| 20 74 6d 20 2d 3e 20 74 | 6d 5f 68 6f 75 72 3b 0a | tm -> t|m_hour;.|
|000032d0| 58 20 20 20 20 74 77 2e | 74 77 5f 6d 64 61 79 20 |X tw.|tw_mday |
|000032e0| 3d 20 74 6d 20 2d 3e 20 | 74 6d 5f 6d 64 61 79 3b |= tm -> |tm_mday;|
|000032f0| 0a 58 20 20 20 20 74 77 | 2e 74 77 5f 6d 6f 6e 20 |.X tw|.tw_mon |
|00003300| 3d 20 74 6d 20 2d 3e 20 | 74 6d 5f 6d 6f 6e 3b 0a |= tm -> |tm_mon;.|
|00003310| 58 20 20 20 20 74 77 2e | 74 77 5f 79 65 61 72 20 |X tw.|tw_year |
|00003320| 3d 20 74 6d 20 2d 3e 20 | 74 6d 5f 79 65 61 72 3b |= tm -> |tm_year;|
|00003330| 0a 58 20 20 20 20 74 77 | 2e 74 77 5f 77 64 61 79 |.X tw|.tw_wday|
|00003340| 20 3d 20 74 6d 20 2d 3e | 20 74 6d 5f 77 64 61 79 | = tm ->| tm_wday|
|00003350| 3b 0a 58 20 20 20 20 74 | 77 2e 74 77 5f 79 64 61 |;.X t|w.tw_yda|
|00003360| 79 20 3d 20 74 6d 20 2d | 3e 20 74 6d 5f 79 64 61 |y = tm -|> tm_yda|
|00003370| 79 3b 0a 58 20 20 20 20 | 69 66 20 28 20 74 6d 20 |y;.X |if ( tm |
|00003380| 2d 3e 20 74 6d 5f 69 73 | 64 73 74 20 29 0a 58 09 |-> tm_is|dst ).X.|
|00003390| 74 77 2e 74 77 5f 66 6c | 61 67 73 20 7c 3d 20 54 |tw.tw_fl|ags |= T|
|000033a0| 57 5f 44 53 54 3b 0a 58 | 23 69 66 6e 64 65 66 20 |W_DST;.X|#ifndef |
|000033b0| 20 53 59 53 35 0a 58 20 | 20 20 20 66 74 69 6d 65 | SYS5.X | ftime|
|000033c0| 28 20 26 74 62 20 29 3b | 0a 58 20 20 20 20 74 77 |( &tb );|.X tw|
|000033d0| 2e 74 77 5f 7a 6f 6e 65 | 20 3d 20 2d 74 62 2e 74 |.tw_zone| = -tb.t|
|000033e0| 69 6d 65 7a 6f 6e 65 3b | 0a 58 23 65 6c 73 65 20 |imezone;|.X#else |
|000033f0| 20 20 53 59 53 35 0a 58 | 20 20 20 20 74 7a 73 65 | SYS5.X| tzse|
|00003400| 74 28 20 29 3b 0a 58 20 | 20 20 20 74 77 2e 74 77 |t( );.X | tw.tw|
|00003410| 5f 7a 6f 6e 65 20 3d 20 | 2d 28 74 69 6d 65 7a 6f |_zone = |-(timezo|
|00003420| 6e 65 20 2f 20 36 30 29 | 3b 0a 58 23 65 6e 64 69 |ne / 60)|;.X#endi|
|00003430| 66 20 20 53 59 53 35 0a | 58 20 20 20 20 74 77 2e |f SYS5.|X tw.|
|00003440| 74 77 5f 66 6c 61 67 73 | 20 26 3d 20 7e 54 57 5f |tw_flags| &= ~TW_|
|00003450| 53 44 41 59 3b 0a 58 20 | 20 20 20 74 77 2e 74 77 |SDAY;.X | tw.tw|
|00003460| 5f 66 6c 61 67 73 20 7c | 3d 20 54 57 5f 53 45 58 |_flags ||= TW_SEX|
|00003470| 50 3b 0a 58 20 20 20 20 | 74 77 2e 74 77 5f 63 6c |P;.X |tw.tw_cl|
|00003480| 6f 63 6b 20 3d 20 2a 63 | 6c 6f 63 6b 3b 0a 58 0a |ock = *c|lock;.X.|
|00003490| 58 20 20 20 20 72 65 74 | 75 72 6e 20 28 20 26 74 |X ret|urn ( &t|
|000034a0| 77 20 29 3b 0a 58 20 20 | 20 20 7d 0a 58 0a 58 0a |w );.X | }.X.X.|
|000034b0| 58 73 74 72 75 63 74 20 | 74 77 73 20 2a 0a 58 64 |Xstruct |tws *.Xd|
|000034c0| 67 6d 74 69 6d 65 28 20 | 63 6c 6f 63 6b 20 29 0a |gmtime( |clock ).|
|000034d0| 58 6c 6f 6e 67 20 2a 63 | 6c 6f 63 6b 3b 0a 58 20 |Xlong *c|lock;.X |
|000034e0| 20 20 20 7b 0a 58 20 20 | 20 20 72 65 67 69 73 74 | {.X | regist|
|000034f0| 65 72 20 73 74 72 75 63 | 74 20 74 6d 20 2a 74 6d |er struc|t tm *tm|
|00003500| 3b 0a 58 20 20 20 20 73 | 74 61 74 69 63 20 73 74 |;.X s|tatic st|
|00003510| 72 75 63 74 20 74 77 73 | 20 74 77 3b 0a 58 0a 58 |ruct tws| tw;.X.X|
|00003520| 20 20 20 20 69 66 20 28 | 20 63 6c 6f 63 6b 20 3d | if (| clock =|
|00003530| 3d 20 4e 55 4c 4c 20 29 | 0a 58 09 72 65 74 75 72 |= NULL )|.X.retur|
|00003540| 6e 20 28 20 4e 55 4c 4c | 20 29 3b 0a 58 20 20 20 |n ( NULL| );.X |
|00003550| 20 74 77 2e 74 77 5f 66 | 6c 61 67 73 20 3d 20 54 | tw.tw_f|lags = T|
|00003560| 57 5f 4e 55 4c 4c 3b 0a | 58 0a 58 20 20 20 20 74 |W_NULL;.|X.X t|
|00003570| 6d 20 3d 20 67 6d 74 69 | 6d 65 28 20 63 6c 6f 63 |m = gmti|me( cloc|
|00003580| 6b 20 29 3b 0a 58 20 20 | 20 20 74 77 2e 74 77 5f |k );.X | tw.tw_|
|00003590| 73 65 63 20 3d 20 74 6d | 20 2d 3e 20 74 6d 5f 73 |sec = tm| -> tm_s|
|000035a0| 65 63 3b 0a 58 20 20 20 | 20 74 77 2e 74 77 5f 6d |ec;.X | tw.tw_m|
|000035b0| 69 6e 20 3d 20 74 6d 20 | 2d 3e 20 74 6d 5f 6d 69 |in = tm |-> tm_mi|
|000035c0| 6e 3b 0a 58 20 20 20 20 | 74 77 2e 74 77 5f 68 6f |n;.X |tw.tw_ho|
|000035d0| 75 72 20 3d 20 74 6d 20 | 2d 3e 20 74 6d 5f 68 6f |ur = tm |-> tm_ho|
|000035e0| 75 72 3b 0a 58 20 20 20 | 20 74 77 2e 74 77 5f 6d |ur;.X | tw.tw_m|
|000035f0| 64 61 79 20 3d 20 74 6d | 20 2d 3e 20 74 6d 5f 6d |day = tm| -> tm_m|
|00003600| 64 61 79 3b 0a 58 20 20 | 20 20 74 77 2e 74 77 5f |day;.X | tw.tw_|
|00003610| 6d 6f 6e 20 3d 20 74 6d | 20 2d 3e 20 74 6d 5f 6d |mon = tm| -> tm_m|
|00003620| 6f 6e 3b 0a 58 20 20 20 | 20 74 77 2e 74 77 5f 79 |on;.X | tw.tw_y|
|00003630| 65 61 72 20 3d 20 74 6d | 20 2d 3e 20 74 6d 5f 79 |ear = tm| -> tm_y|
|00003640| 65 61 72 3b 0a 58 20 20 | 20 20 74 77 2e 74 77 5f |ear;.X | tw.tw_|
|00003650| 77 64 61 79 20 3d 20 74 | 6d 20 2d 3e 20 74 6d 5f |wday = t|m -> tm_|
|00003660| 77 64 61 79 3b 0a 58 20 | 20 20 20 74 77 2e 74 77 |wday;.X | tw.tw|
|00003670| 5f 79 64 61 79 20 3d 20 | 74 6d 20 2d 3e 20 74 6d |_yday = |tm -> tm|
|00003680| 5f 79 64 61 79 3b 0a 58 | 20 20 20 20 69 66 20 28 |_yday;.X| if (|
|00003690| 20 74 6d 20 2d 3e 20 74 | 6d 5f 69 73 64 73 74 20 | tm -> t|m_isdst |
|000036a0| 29 0a 58 09 74 77 2e 74 | 77 5f 66 6c 61 67 73 20 |).X.tw.t|w_flags |
|000036b0| 7c 3d 20 54 57 5f 44 53 | 54 3b 0a 58 20 20 20 20 ||= TW_DS|T;.X |
|000036c0| 74 77 2e 74 77 5f 7a 6f | 6e 65 20 3d 20 30 3b 0a |tw.tw_zo|ne = 0;.|
|000036d0| 58 20 20 20 20 74 77 2e | 74 77 5f 66 6c 61 67 73 |X tw.|tw_flags|
|000036e0| 20 26 3d 20 7e 54 57 5f | 53 44 41 59 3b 0a 58 20 | &= ~TW_|SDAY;.X |
|000036f0| 20 20 20 74 77 2e 74 77 | 5f 66 6c 61 67 73 20 7c | tw.tw|_flags ||
|00003700| 3d 20 54 57 5f 53 45 58 | 50 3b 0a 58 20 20 20 20 |= TW_SEX|P;.X |
|00003710| 74 77 2e 74 77 5f 63 6c | 6f 63 6b 20 3d 20 2a 63 |tw.tw_cl|ock = *c|
|00003720| 6c 6f 63 6b 3b 0a 58 0a | 58 20 20 20 20 72 65 74 |lock;.X.|X ret|
|00003730| 75 72 6e 28 20 26 74 77 | 20 29 3b 0a 58 20 20 20 |urn( &tw| );.X |
|00003740| 20 7d 0a 58 0a 58 2f 2a | 20 0c 20 2a 2f 0a 58 0a | }.X.X/*| . */.X.|
|00003750| 58 63 68 61 72 20 2a 0a | 58 64 61 73 63 74 69 6d |Xchar *.|Xdasctim|
|00003760| 65 28 20 74 77 2c 20 66 | 6c 61 67 73 20 29 0a 58 |e( tw, f|lags ).X|
|00003770| 73 74 72 75 63 74 20 74 | 77 73 20 2a 74 77 3b 0a |struct t|ws *tw;.|
|00003780| 58 69 6e 74 20 66 6c 61 | 67 73 3b 0a 58 20 20 20 |Xint fla|gs;.X |
|00003790| 20 7b 0a 58 20 20 20 20 | 73 74 61 74 69 63 20 63 | {.X |static c|
|000037a0| 68 61 72 20 62 75 66 66 | 65 72 5b 38 30 5d 2c 20 |har buff|er[80], |
|000037b0| 72 65 73 75 6c 74 5b 38 | 30 5d 3b 0a 58 0a 58 20 |result[8|0];.X.X |
|000037c0| 20 20 20 69 66 20 28 20 | 74 77 20 3d 3d 20 4e 55 | if ( |tw == NU|
|000037d0| 4c 4c 20 29 0a 58 09 72 | 65 74 75 72 6e 20 28 20 |LL ).X.r|eturn ( |
|000037e0| 4e 55 4c 4c 20 29 3b 0a | 58 0a 58 20 20 20 20 28 |NULL );.|X.X (|
|000037f0| 76 6f 69 64 29 20 73 70 | 72 69 6e 74 66 28 20 62 |void) sp|rintf( b|
|00003800| 75 66 66 65 72 2c 20 22 | 25 30 32 64 20 25 73 20 |uffer, "|%02d %s |
|00003810| 25 30 32 64 20 25 30 32 | 64 3a 25 30 32 64 3a 25 |%02d %02|d:%02d:%|
|00003820| 30 32 64 20 25 73 22 2c | 0a 58 09 20 20 20 20 74 |02d %s",|.X. t|
|00003830| 77 20 2d 3e 20 74 77 5f | 6d 64 61 79 2c 20 74 77 |w -> tw_|mday, tw|
|00003840| 5f 6d 6f 74 79 5b 74 77 | 20 2d 3e 20 74 77 5f 6d |_moty[tw| -> tw_m|
|00003850| 6f 6e 5d 2c 20 74 77 20 | 2d 3e 20 74 77 5f 79 65 |on], tw |-> tw_ye|
|00003860| 61 72 2c 0a 58 09 20 20 | 20 20 74 77 20 2d 3e 20 |ar,.X. | tw -> |
|00003870| 74 77 5f 68 6f 75 72 2c | 20 74 77 20 2d 3e 20 74 |tw_hour,| tw -> t|
|00003880| 77 5f 6d 69 6e 2c 20 74 | 77 20 2d 3e 20 74 77 5f |w_min, t|w -> tw_|
|00003890| 73 65 63 2c 0a 58 09 20 | 20 20 20 64 74 69 6d 65 |sec,.X. | dtime|
|000038a0| 7a 6f 6e 65 28 20 74 77 | 20 2d 3e 20 74 77 5f 7a |zone( tw| -> tw_z|
|000038b0| 6f 6e 65 2c 20 74 77 20 | 2d 3e 20 74 77 5f 66 6c |one, tw |-> tw_fl|
|000038c0| 61 67 73 20 7c 20 66 6c | 61 67 73 20 29 20 29 3b |ags | fl|ags ) );|
|000038d0| 0a 58 0a 58 20 20 20 20 | 69 66 20 28 20 28 74 77 |.X.X |if ( (tw|
|000038e0| 20 2d 3e 20 74 77 5f 66 | 6c 61 67 73 20 26 20 54 | -> tw_f|lags & T|
|000038f0| 57 5f 53 44 41 59 29 20 | 3d 3d 20 54 57 5f 53 45 |W_SDAY) |== TW_SE|
|00003900| 58 50 20 29 0a 58 09 28 | 76 6f 69 64 29 20 73 70 |XP ).X.(|void) sp|
|00003910| 72 69 6e 74 66 28 20 72 | 65 73 75 6c 74 2c 20 22 |rintf( r|esult, "|
|00003920| 25 73 2c 20 25 73 22 2c | 20 74 77 5f 64 6f 74 77 |%s, %s",| tw_dotw|
|00003930| 5b 74 77 20 2d 3e 20 74 | 77 5f 77 64 61 79 5d 2c |[tw -> t|w_wday],|
|00003940| 20 62 75 66 66 65 72 20 | 29 3b 0a 58 20 20 20 20 | buffer |);.X |
|00003950| 65 6c 73 65 0a 58 09 69 | 66 20 28 20 28 74 77 20 |else.X.i|f ( (tw |
|00003960| 2d 3e 20 74 77 5f 66 6c | 61 67 73 20 26 20 54 57 |-> tw_fl|ags & TW|
|00003970| 5f 53 44 41 59 29 20 3d | 3d 20 54 57 5f 53 4e 49 |_SDAY) =|= TW_SNI|
|00003980| 4c 20 29 0a 58 09 20 20 | 20 20 28 76 6f 69 64 29 |L ).X. | (void)|
|00003990| 20 73 74 72 63 70 79 28 | 20 72 65 73 75 6c 74 2c | strcpy(| result,|
|000039a0| 20 62 75 66 66 65 72 20 | 29 3b 0a 58 09 65 6c 73 | buffer |);.X.els|
|000039b0| 65 0a 58 09 20 20 20 20 | 28 76 6f 69 64 29 20 73 |e.X. |(void) s|
|000039c0| 70 72 69 6e 74 66 28 20 | 72 65 73 75 6c 74 2c 20 |printf( |result, |
|000039d0| 22 25 73 20 28 25 73 29 | 22 2c 20 62 75 66 66 65 |"%s (%s)|", buffe|
|000039e0| 72 2c 20 74 77 5f 64 6f | 74 77 5b 74 77 20 2d 3e |r, tw_do|tw[tw ->|
|000039f0| 20 74 77 5f 77 64 61 79 | 5d 20 29 3b 0a 58 0a 58 | tw_wday|] );.X.X|
|00003a00| 20 20 20 20 72 65 74 75 | 72 6e 20 28 20 72 65 73 | retu|rn ( res|
|00003a10| 75 6c 74 20 29 3b 0a 58 | 20 20 20 20 7d 0a 58 0a |ult );.X| }.X.|
|00003a20| 58 2f 2a 20 0c 20 2a 2f | 0a 58 0a 58 63 68 61 72 |X/* . */|.X.Xchar|
|00003a30| 20 2a 0a 58 64 74 69 6d | 65 7a 6f 6e 65 28 20 6f | *.Xdtim|ezone( o|
|00003a40| 66 66 73 65 74 2c 20 66 | 6c 61 67 73 20 29 0a 58 |ffset, f|lags ).X|
|00003a50| 69 6e 74 20 6f 66 66 73 | 65 74 2c 20 66 6c 61 67 |int offs|et, flag|
|00003a60| 73 3b 0a 58 20 20 20 20 | 7b 0a 58 20 20 20 20 72 |s;.X |{.X r|
|00003a70| 65 67 69 73 74 65 72 20 | 69 6e 74 20 68 6f 75 72 |egister |int hour|
|00003a80| 73 2c 20 6d 69 6e 73 3b | 0a 58 20 20 20 20 72 65 |s, mins;|.X re|
|00003a90| 67 69 73 74 65 72 20 73 | 74 72 75 63 74 20 7a 6f |gister s|truct zo|
|00003aa0| 6e 65 20 2a 7a 3b 0a 58 | 20 20 20 20 73 74 61 74 |ne *z;.X| stat|
|00003ab0| 69 63 20 63 68 61 72 20 | 62 75 66 66 65 72 5b 31 |ic char |buffer[1|
|00003ac0| 30 5d 3b 0a 58 0a 58 20 | 20 20 20 69 66 20 28 20 |0];.X.X | if ( |
|00003ad0| 6f 66 66 73 65 74 20 3c | 20 30 20 29 0a 58 09 7b |offset <| 0 ).X.{|
|00003ae0| 0a 58 09 6d 69 6e 73 20 | 3d 20 2d 28 28 2d 6f 66 |.X.mins |= -((-of|
|00003af0| 66 73 65 74 29 20 25 20 | 36 30 29 3b 0a 58 09 68 |fset) % |60);.X.h|
|00003b00| 6f 75 72 73 20 3d 20 2d | 28 28 2d 6f 66 66 73 65 |ours = -|((-offse|
|00003b10| 74 29 20 2f 20 36 30 29 | 3b 0a 58 09 7d 0a 58 20 |t) / 60)|;.X.}.X |
|00003b20| 20 20 20 65 6c 73 65 0a | 58 09 7b 0a 58 09 6d 69 | else.|X.{.X.mi|
|00003b30| 6e 73 20 3d 20 6f 66 66 | 73 65 74 20 25 20 36 30 |ns = off|set % 60|
|00003b40| 3b 0a 58 09 68 6f 75 72 | 73 20 3d 20 6f 66 66 73 |;.X.hour|s = offs|
|00003b50| 65 74 20 2f 20 36 30 3b | 0a 58 09 7d 0a 58 0a 58 |et / 60;|.X.}.X.X|
|00003b60| 20 20 20 20 69 66 20 28 | 20 21 28 66 6c 61 67 73 | if (| !(flags|
|00003b70| 20 26 20 54 57 5f 5a 4f | 4e 45 29 20 26 26 20 6d | & TW_ZO|NE) && m|
|00003b80| 69 6e 73 20 3d 3d 20 30 | 20 29 0a 58 09 66 6f 72 |ins == 0| ).X.for|
|00003b90| 20 28 20 7a 20 3d 20 7a | 6f 6e 65 73 3b 20 7a 20 | ( z = z|ones; z |
|00003ba0| 2d 3e 20 73 74 64 3b 20 | 7a 2b 2b 20 29 0a 58 09 |-> std; |z++ ).X.|
|00003bb0| 20 20 20 20 69 66 20 28 | 20 7a 20 2d 3e 20 73 68 | if (| z -> sh|
|00003bc0| 69 66 74 20 3d 3d 20 68 | 6f 75 72 73 20 29 0a 58 |ift == h|ours ).X|
|00003bd0| 09 09 72 65 74 75 72 6e | 20 28 20 7a 20 2d 3e 20 |..return| ( z -> |
|00003be0| 64 73 74 20 26 26 20 28 | 66 6c 61 67 73 20 26 20 |dst && (|flags & |
|00003bf0| 54 57 5f 44 53 54 29 20 | 3f 20 7a 20 2d 3e 20 64 |TW_DST) |? z -> d|
|00003c00| 73 74 20 3a 20 7a 20 2d | 3e 20 73 74 64 20 29 3b |st : z -|> std );|
|00003c10| 0a 58 0a 58 23 69 66 64 | 65 66 09 44 53 54 58 58 |.X.X#ifd|ef.DSTXX|
|00003c20| 58 0a 58 20 20 20 20 69 | 66 20 28 20 66 6c 61 67 |X.X i|f ( flag|
|00003c30| 73 20 26 20 54 57 5f 44 | 53 54 20 29 0a 58 09 68 |s & TW_D|ST ).X.h|
|00003c40| 6f 75 72 73 20 2b 3d 20 | 31 3b 0a 58 23 65 6e 64 |ours += |1;.X#end|
|00003c50| 69 66 09 44 53 54 58 58 | 58 0a 58 20 20 20 20 28 |if.DSTXX|X.X (|
|00003c60| 76 6f 69 64 29 20 73 70 | 72 69 6e 74 66 28 20 62 |void) sp|rintf( b|
|00003c70| 75 66 66 65 72 2c 20 22 | 25 73 25 30 32 64 25 30 |uffer, "|%s%02d%0|
|00003c80| 32 64 22 2c 0a 58 09 20 | 20 20 20 6f 66 66 73 65 |2d",.X. | offse|
|00003c90| 74 20 3c 20 30 20 3f 20 | 22 2d 22 20 3a 20 22 2b |t < 0 ? |"-" : "+|
|00003ca0| 22 2c 20 61 62 73 28 20 | 68 6f 75 72 73 20 29 2c |", abs( |hours ),|
|00003cb0| 20 61 62 73 28 20 6d 69 | 6e 73 20 29 20 29 3b 0a | abs( mi|ns ) );.|
|00003cc0| 58 20 20 20 20 72 65 74 | 75 72 6e 20 28 20 62 75 |X ret|urn ( bu|
|00003cd0| 66 66 65 72 20 29 3b 0a | 58 20 20 20 20 7d 0a 58 |ffer );.|X }.X|
|00003ce0| 0a 58 2f 2a 20 0c 20 2a | 2f 0a 58 0a 58 76 6f 69 |.X/* . *|/.X.Xvoi|
|00003cf0| 64 0a 58 74 77 73 63 6f | 70 79 28 20 74 62 2c 20 |d.Xtwsco|py( tb, |
|00003d00| 74 77 20 29 0a 58 73 74 | 72 75 63 74 20 74 77 73 |tw ).Xst|ruct tws|
|00003d10| 20 2a 74 62 2c 20 2a 74 | 77 3b 0a 58 20 20 20 20 | *tb, *t|w;.X |
|00003d20| 7b 0a 58 23 69 66 64 65 | 66 09 6e 6f 74 64 65 66 |{.X#ifde|f.notdef|
|00003d30| 0a 58 20 20 20 20 74 62 | 20 2d 3e 20 74 77 5f 73 |.X tb| -> tw_s|
|00003d40| 65 63 20 3d 20 74 77 20 | 2d 3e 20 74 77 5f 73 65 |ec = tw |-> tw_se|
|00003d50| 63 3b 0a 58 20 20 20 20 | 74 62 20 2d 3e 20 74 77 |c;.X |tb -> tw|
|00003d60| 5f 6d 69 6e 20 3d 20 74 | 77 20 2d 3e 20 74 77 5f |_min = t|w -> tw_|
|00003d70| 6d 69 6e 3b 0a 58 20 20 | 20 20 74 62 20 2d 3e 20 |min;.X | tb -> |
|00003d80| 74 77 5f 68 6f 75 72 20 | 3d 20 74 77 20 2d 3e 20 |tw_hour |= tw -> |
|00003d90| 74 77 5f 68 6f 75 72 3b | 0a 58 20 20 20 20 74 62 |tw_hour;|.X tb|
|00003da0| 20 2d 3e 20 74 77 5f 6d | 64 61 79 20 3d 20 74 77 | -> tw_m|day = tw|
|00003db0| 20 2d 3e 20 74 77 5f 6d | 64 61 79 3b 0a 58 20 20 | -> tw_m|day;.X |
|00003dc0| 20 20 74 62 20 2d 3e 20 | 74 77 5f 6d 6f 6e 20 3d | tb -> |tw_mon =|
|00003dd0| 20 74 77 20 2d 3e 20 74 | 77 5f 6d 6f 6e 3b 0a 58 | tw -> t|w_mon;.X|
|00003de0| 20 20 20 20 74 62 20 2d | 3e 20 74 77 5f 79 65 61 | tb -|> tw_yea|
|00003df0| 72 20 3d 20 74 77 20 2d | 3e 20 74 77 5f 79 65 61 |r = tw -|> tw_yea|
|00003e00| 72 3b 0a 58 20 20 20 20 | 74 62 20 2d 3e 20 74 77 |r;.X |tb -> tw|
|00003e10| 5f 77 64 61 79 20 3d 20 | 74 77 20 2d 3e 20 74 77 |_wday = |tw -> tw|
|00003e20| 5f 77 64 61 79 3b 0a 58 | 20 20 20 20 74 62 20 2d |_wday;.X| tb -|
|00003e30| 3e 20 74 77 5f 79 64 61 | 79 20 3d 20 74 77 20 2d |> tw_yda|y = tw -|
|00003e40| 3e 20 74 77 5f 79 64 61 | 79 3b 0a 58 20 20 20 20 |> tw_yda|y;.X |
|00003e50| 74 62 20 2d 3e 20 74 77 | 5f 7a 6f 6e 65 20 3d 20 |tb -> tw|_zone = |
|00003e60| 74 77 20 2d 3e 20 74 77 | 5f 7a 6f 6e 65 3b 0a 58 |tw -> tw|_zone;.X|
|00003e70| 20 20 20 20 74 62 20 2d | 3e 20 74 77 5f 63 6c 6f | tb -|> tw_clo|
|00003e80| 63 6b 20 3d 20 74 77 20 | 2d 3e 20 74 77 5f 63 6c |ck = tw |-> tw_cl|
|00003e90| 6f 63 6b 3b 0a 58 20 20 | 20 20 74 62 20 2d 3e 20 |ock;.X | tb -> |
|00003ea0| 74 77 5f 66 6c 61 67 73 | 20 3d 20 74 77 20 2d 3e |tw_flags| = tw ->|
|00003eb0| 20 74 77 5f 66 6c 61 67 | 73 3b 0a 58 23 65 6c 73 | tw_flag|s;.X#els|
|00003ec0| 65 09 6e 6f 74 20 6e 6f | 74 64 65 66 0a 58 20 20 |e.not no|tdef.X |
|00003ed0| 20 20 2a 74 62 20 3d 20 | 2a 74 77 3b 0a 58 23 65 | *tb = |*tw;.X#e|
|00003ee0| 6e 64 69 66 09 6e 6f 74 | 20 6e 6f 74 64 65 66 0a |ndif.not| notdef.|
|00003ef0| 58 20 20 20 20 7d 0a 58 | 0a 58 0a 58 69 6e 74 0a |X }.X|.X.Xint.|
|00003f00| 58 74 77 73 6f 72 74 28 | 20 74 77 31 2c 20 74 77 |Xtwsort(| tw1, tw|
|00003f10| 32 20 29 0a 58 73 74 72 | 75 63 74 20 74 77 73 20 |2 ).Xstr|uct tws |
|00003f20| 2a 74 77 31 2c 20 2a 74 | 77 32 3b 0a 58 20 20 20 |*tw1, *t|w2;.X |
|00003f30| 20 7b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 | {.X |register|
|00003f40| 20 6c 6f 6e 67 20 63 31 | 2c 20 63 32 3b 0a 58 0a | long c1|, c2;.X.|
|00003f50| 58 20 20 20 20 28 76 6f | 69 64 29 20 74 77 63 6c |X (vo|id) twcl|
|00003f60| 6f 63 6b 28 20 74 77 31 | 20 29 3b 0a 58 20 20 20 |ock( tw1| );.X |
|00003f70| 20 28 76 6f 69 64 29 20 | 74 77 63 6c 6f 63 6b 28 | (void) |twclock(|
|00003f80| 20 74 77 32 20 29 3b 0a | 58 0a 58 20 20 20 20 72 | tw2 );.|X.X r|
|00003f90| 65 74 75 72 6e 20 28 20 | 28 63 31 20 3d 20 74 77 |eturn ( |(c1 = tw|
|00003fa0| 31 20 2d 3e 20 74 77 5f | 63 6c 6f 63 6b 29 20 3e |1 -> tw_|clock) >|
|00003fb0| 20 28 63 32 20 3d 20 74 | 77 32 20 2d 3e 20 74 77 | (c2 = t|w2 -> tw|
|00003fc0| 5f 63 6c 6f 63 6b 29 20 | 3f 20 31 0a 58 09 20 20 |_clock) |? 1.X. |
|00003fd0| 20 20 3a 20 63 31 20 3d | 3d 20 63 32 20 3f 20 30 | : c1 =|= c2 ? 0|
|00003fe0| 20 3a 20 2d 31 20 29 3b | 0a 58 20 20 20 20 7d 0a | : -1 );|.X }.|
|00003ff0| 58 0a 58 2f 2a 20 0c 20 | 2a 2f 0a 58 0a 58 0a 58 |X.X/* . |*/.X.X.X|
|00004000| 2f 2a 20 4a 75 6c 69 61 | 6e 20 64 61 79 20 6e 75 |/* Julia|n day nu|
|00004010| 6d 62 65 72 20 6f 66 20 | 74 68 65 20 55 6e 69 78 |mber of |the Unix|
|00004020| 2a 20 63 6c 6f 63 6b 27 | 73 20 6f 72 69 67 69 6e |* clock'|s origin|
|00004030| 2c 20 30 31 20 4a 61 6e | 20 31 39 37 30 2e 20 2a |, 01 Jan| 1970. *|
|00004040| 2f 0a 58 23 64 65 66 69 | 6e 65 20 4a 44 31 39 37 |/.X#defi|ne JD197|
|00004050| 30 20 32 34 34 30 35 38 | 37 4c 0a 58 0a 58 0a 58 |0 244058|7L.X.X.X|
|00004060| 6c 6f 6e 67 0a 58 74 77 | 6a 75 6c 69 61 6e 64 61 |long.Xtw|julianda|
|00004070| 74 65 28 20 74 77 20 29 | 0a 58 73 74 72 75 63 74 |te( tw )|.Xstruct|
|00004080| 20 74 77 73 20 2a 74 77 | 3b 0a 58 20 20 20 20 7b | tws *tw|;.X {|
|00004090| 0a 58 20 20 20 20 72 65 | 67 69 73 74 65 72 20 69 |.X re|gister i|
|000040a0| 6e 74 20 6d 64 61 79 2c | 20 6d 6f 6e 2c 20 79 65 |nt mday,| mon, ye|
|000040b0| 61 72 3b 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |ar;.X | registe|
|000040c0| 72 20 6c 6f 6e 67 20 61 | 2c 20 62 3b 0a 58 20 20 |r long a|, b;.X |
|000040d0| 20 20 64 6f 75 62 6c 65 | 20 6a 64 3b 0a 58 0a 58 | double| jd;.X.X|
|000040e0| 20 20 20 20 69 66 20 28 | 20 28 6d 64 61 79 20 3d | if (| (mday =|
|000040f0| 20 74 77 20 2d 3e 20 74 | 77 5f 6d 64 61 79 29 20 | tw -> t|w_mday) |
|00004100| 3c 20 31 20 7c 7c 20 6d | 64 61 79 20 3e 20 33 31 |< 1 || m|day > 31|
|00004110| 20 7c 7c 0a 58 09 20 20 | 20 20 28 6d 6f 6e 20 3d | ||.X. | (mon =|
|00004120| 20 74 77 20 2d 3e 20 74 | 77 5f 6d 6f 6e 20 2b 20 | tw -> t|w_mon + |
|00004130| 31 29 20 3c 20 31 20 7c | 7c 20 6d 6f 6e 20 3e 20 |1) < 1 ||| mon > |
|00004140| 31 32 20 7c 7c 0a 58 09 | 20 20 20 20 28 79 65 61 |12 ||.X.| (yea|
|00004150| 72 20 3d 20 74 77 20 2d | 3e 20 74 77 5f 79 65 61 |r = tw -|> tw_yea|
|00004160| 72 29 20 3c 20 31 20 7c | 7c 20 79 65 61 72 20 3e |r) < 1 ||| year >|
|00004170| 20 31 30 30 30 30 20 29 | 0a 58 09 72 65 74 75 72 | 10000 )|.X.retur|
|00004180| 6e 20 28 20 2d 31 4c 20 | 29 3b 0a 58 20 20 20 20 |n ( -1L |);.X |
|00004190| 69 66 20 28 20 79 65 61 | 72 20 3c 20 31 30 30 20 |if ( yea|r < 100 |
|000041a0| 29 0a 58 09 79 65 61 72 | 20 2b 3d 20 43 45 4e 54 |).X.year| += CENT|
|000041b0| 55 52 59 20 2a 20 31 30 | 30 3b 0a 58 0a 58 20 20 |URY * 10|0;.X.X |
|000041c0| 20 20 69 66 20 28 20 6d | 6f 6e 20 3d 3d 20 31 20 | if ( m|on == 1 |
|000041d0| 7c 7c 20 6d 6f 6e 20 3d | 3d 20 32 20 29 0a 58 09 ||| mon =|= 2 ).X.|
|000041e0| 7b 0a 58 09 2d 2d 79 65 | 61 72 3b 0a 58 09 6d 6f |{.X.--ye|ar;.X.mo|
|000041f0| 6e 20 2b 3d 20 31 32 3b | 0a 58 09 7d 0a 58 20 20 |n += 12;|.X.}.X |
|00004200| 20 20 69 66 20 28 20 79 | 65 61 72 20 3c 20 31 35 | if ( y|ear < 15|
|00004210| 38 33 20 29 0a 58 09 72 | 65 74 75 72 6e 20 28 20 |83 ).X.r|eturn ( |
|00004220| 2d 31 4c 20 29 3b 0a 58 | 20 20 20 20 61 20 3d 20 |-1L );.X| a = |
|00004230| 79 65 61 72 20 2f 20 31 | 30 30 3b 0a 58 20 20 20 |year / 1|00;.X |
|00004240| 20 62 20 3d 20 32 20 2d | 20 61 20 2b 20 61 20 2f | b = 2 -| a + a /|
|00004250| 20 34 3b 0a 58 20 20 20 | 20 62 20 2b 3d 20 28 6c | 4;.X | b += (l|
|00004260| 6f 6e 67 29 20 28 20 28 | 64 6f 75 62 6c 65 29 20 |ong) ( (|double) |
|00004270| 79 65 61 72 20 2a 20 33 | 36 35 2e 32 35 20 29 3b |year * 3|65.25 );|
|00004280| 0a 58 20 20 20 20 62 20 | 2b 3d 20 28 6c 6f 6e 67 |.X b |+= (long|
|00004290| 29 20 28 20 33 30 2e 36 | 30 30 31 20 2a 20 28 20 |) ( 30.6|001 * ( |
|000042a0| 28 64 6f 75 62 6c 65 29 | 20 6d 6f 6e 20 2b 20 31 |(double)| mon + 1|
|000042b0| 2e 30 20 29 20 29 3b 0a | 58 20 20 20 20 6a 64 20 |.0 ) );.|X jd |
|000042c0| 3d 20 6d 64 61 79 20 2b | 20 62 20 2b 20 31 37 32 |= mday +| b + 172|
|000042d0| 30 39 39 34 2e 35 3b 0a | 58 20 20 20 20 72 65 74 |0994.5;.|X ret|
|000042e0| 75 72 6e 20 28 20 28 6c | 6f 6e 67 29 20 6a 64 20 |urn ( (l|ong) jd |
|000042f0| 29 3b 0a 58 20 20 20 20 | 7d 0a 58 0a 58 0a 58 6c |);.X |}.X.X.Xl|
|00004300| 6f 6e 67 0a 58 74 77 73 | 75 62 64 61 79 63 6c 6f |ong.Xtws|ubdayclo|
|00004310| 63 6b 28 20 74 77 20 29 | 0a 58 73 74 72 75 63 74 |ck( tw )|.Xstruct|
|00004320| 20 74 77 73 20 2a 74 77 | 3b 0a 58 20 20 20 20 7b | tws *tw|;.X {|
|00004330| 0a 58 20 20 20 20 72 65 | 67 69 73 74 65 72 20 69 |.X re|gister i|
|00004340| 6e 74 20 69 2c 20 73 65 | 63 2c 20 6d 69 6e 2c 20 |nt i, se|c, min, |
|00004350| 68 6f 75 72 3b 0a 58 20 | 20 20 20 72 65 67 69 73 |hour;.X | regis|
|00004360| 74 65 72 20 6c 6f 6e 67 | 20 72 65 73 75 6c 74 3b |ter long| result;|
|00004370| 0a 58 0a 58 20 20 20 20 | 69 66 20 28 20 28 73 65 |.X.X |if ( (se|
|00004380| 63 20 3d 20 74 77 20 2d | 3e 20 74 77 5f 73 65 63 |c = tw -|> tw_sec|
|00004390| 29 20 3c 20 30 20 7c 7c | 20 73 65 63 20 3e 20 35 |) < 0 ||| sec > 5|
|000043a0| 39 20 7c 7c 0a 58 09 20 | 20 20 20 28 6d 69 6e 20 |9 ||.X. | (min |
|000043b0| 3d 20 74 77 20 2d 3e 20 | 74 77 5f 6d 69 6e 29 20 |= tw -> |tw_min) |
|000043c0| 3c 20 30 20 7c 7c 20 6d | 69 6e 20 3e 20 35 39 20 |< 0 || m|in > 59 |
|000043d0| 7c 7c 0a 58 09 20 20 20 | 20 28 68 6f 75 72 20 3d |||.X. | (hour =|
|000043e0| 20 74 77 20 2d 3e 20 74 | 77 5f 68 6f 75 72 29 20 | tw -> t|w_hour) |
|000043f0| 3c 20 30 20 7c 7c 20 68 | 6f 75 72 20 3e 20 32 33 |< 0 || h|our > 23|
|00004400| 20 29 0a 58 09 72 65 74 | 75 72 6e 20 28 20 2d 31 | ).X.ret|urn ( -1|
|00004410| 4c 20 29 3b 0a 58 0a 58 | 20 20 20 20 72 65 73 75 |L );.X.X| resu|
|00004420| 6c 74 20 3d 20 28 20 68 | 6f 75 72 20 2a 20 36 30 |lt = ( h|our * 60|
|00004430| 20 2b 20 6d 69 6e 20 29 | 20 2a 20 36 30 20 2b 20 | + min )| * 60 + |
|00004440| 73 65 63 3b 0a 58 20 20 | 20 20 72 65 73 75 6c 74 |sec;.X | result|
|00004450| 20 2d 3d 20 36 30 20 2a | 20 74 77 20 2d 3e 20 74 | -= 60 *| tw -> t|
|00004460| 77 5f 7a 6f 6e 65 3b 0a | 58 20 20 20 20 69 66 20 |w_zone;.|X if |
|00004470| 28 20 74 77 20 2d 3e 20 | 74 77 5f 66 6c 61 67 73 |( tw -> |tw_flags|
|00004480| 20 26 20 54 57 5f 44 53 | 54 20 29 0a 58 09 72 65 | & TW_DS|T ).X.re|
|00004490| 73 75 6c 74 20 2d 3d 20 | 36 30 20 2a 20 36 30 3b |sult -= |60 * 60;|
|000044a0| 0a 58 0a 58 20 20 20 20 | 72 65 74 75 72 6e 20 28 |.X.X |return (|
|000044b0| 20 72 65 73 75 6c 74 20 | 29 3b 0a 58 20 20 20 20 | result |);.X |
|000044c0| 7d 0a 58 0a 58 0a 58 6c | 6f 6e 67 0a 58 74 77 63 |}.X.X.Xl|ong.Xtwc|
|000044d0| 6c 6f 63 6b 28 20 74 77 | 20 29 0a 58 73 74 72 75 |lock( tw| ).Xstru|
|000044e0| 63 74 20 74 77 73 20 2a | 74 77 3b 0a 58 20 20 20 |ct tws *|tw;.X |
|000044f0| 20 7b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 | {.X |register|
|00004500| 20 6c 6f 6e 67 20 6a 64 | 2c 20 73 64 63 2c 20 72 | long jd|, sdc, r|
|00004510| 65 73 75 6c 74 3b 0a 58 | 0a 58 20 20 20 20 69 66 |esult;.X|.X if|
|00004520| 20 28 20 74 77 20 2d 3e | 20 74 77 5f 63 6c 6f 63 | ( tw ->| tw_cloc|
|00004530| 6b 20 21 3d 20 30 4c 20 | 29 0a 58 09 72 65 74 75 |k != 0L |).X.retu|
|00004540| 72 6e 20 28 20 74 77 20 | 2d 3e 20 74 77 5f 63 6c |rn ( tw |-> tw_cl|
|00004550| 6f 63 6b 20 29 3b 0a 58 | 0a 58 20 20 20 20 69 66 |ock );.X|.X if|
|00004560| 20 28 20 28 20 6a 64 20 | 3d 20 74 77 6a 75 6c 69 | ( ( jd |= twjuli|
|00004570| 61 6e 64 61 74 65 28 20 | 74 77 20 29 20 29 20 3d |andate( |tw ) ) =|
|00004580| 3d 20 2d 31 4c 20 29 0a | 58 09 72 65 74 75 72 6e |= -1L ).|X.return|
|00004590| 20 28 20 74 77 20 2d 3e | 20 74 77 5f 63 6c 6f 63 | ( tw ->| tw_cloc|
|000045a0| 6b 20 3d 20 2d 31 4c 20 | 29 3b 0a 58 20 20 20 20 |k = -1L |);.X |
|000045b0| 69 66 20 28 20 28 20 73 | 64 63 20 3d 20 74 77 73 |if ( ( s|dc = tws|
|000045c0| 75 62 64 61 79 63 6c 6f | 63 6b 28 20 74 77 20 29 |ubdayclo|ck( tw )|
|000045d0| 20 29 20 3d 3d 20 2d 31 | 4c 20 29 0a 58 09 72 65 | ) == -1|L ).X.re|
|000045e0| 74 75 72 6e 20 28 20 74 | 77 20 2d 3e 20 74 77 5f |turn ( t|w -> tw_|
|000045f0| 63 6c 6f 63 6b 20 3d 20 | 2d 31 4c 20 29 3b 0a 58 |clock = |-1L );.X|
|00004600| 0a 58 20 20 20 20 72 65 | 73 75 6c 74 20 3d 20 28 |.X re|sult = (|
|00004610| 20 6a 64 20 2d 20 4a 44 | 31 39 37 30 20 29 20 2a | jd - JD|1970 ) *|
|00004620| 20 32 34 20 2a 20 36 30 | 20 2a 20 36 30 20 2b 20 | 24 * 60| * 60 + |
|00004630| 73 64 63 3b 0a 58 0a 58 | 20 20 20 20 72 65 74 75 |sdc;.X.X| retu|
|00004640| 72 6e 20 28 20 74 77 20 | 2d 3e 20 74 77 5f 63 6c |rn ( tw |-> tw_cl|
|00004650| 6f 63 6b 20 3d 20 72 65 | 73 75 6c 74 20 29 3b 0a |ock = re|sult );.|
|00004660| 58 20 20 20 20 7d 0a 58 | 0a 58 2f 2a 20 0c 20 2a |X }.X|.X/* . *|
|00004670| 2f 0a 58 0a 58 2f 2a 2a | 2a 20 74 77 73 75 62 74 |/.X.X/**|* twsubt|
|00004680| 72 61 63 74 20 2d 20 73 | 75 62 74 72 61 63 74 20 |ract - s|ubtract |
|00004690| 74 77 32 20 66 72 6f 6d | 20 74 77 31 2c 20 72 65 |tw2 from| tw1, re|
|000046a0| 74 75 72 6e 69 6e 67 20 | 72 65 73 75 6c 74 20 69 |turning |result i|
|000046b0| 6e 20 73 65 63 6f 6e 64 | 73 0a 58 0a 58 54 68 65 |n second|s.X.XThe|
|000046c0| 20 70 6f 69 6e 74 20 6f | 66 20 74 68 69 73 20 72 | point o|f this r|
|000046d0| 6f 75 74 69 6e 65 20 69 | 73 20 74 68 61 74 20 75 |outine i|s that u|
|000046e0| 73 69 6e 67 20 74 77 63 | 6c 6f 63 6b 28 20 74 77 |sing twc|lock( tw|
|000046f0| 31 20 29 20 2d 20 74 77 | 63 6c 6f 63 6b 28 20 74 |1 ) - tw|clock( t|
|00004700| 77 32 20 29 0a 58 77 6f | 75 6c 64 20 6c 69 6d 69 |w2 ).Xwo|uld limi|
|00004710| 74 20 79 6f 75 20 74 6f | 20 64 61 74 65 73 20 61 |t you to| dates a|
|00004720| 66 74 65 72 20 74 68 65 | 20 55 6e 69 78 2a 20 45 |fter the| Unix* E|
|00004730| 70 6f 63 68 20 28 20 30 | 31 20 4a 61 6e 75 61 72 |poch ( 0|1 Januar|
|00004740| 79 20 31 39 37 30 20 29 | 2e 20 20 54 68 69 73 0a |y 1970 )|. This.|
|00004750| 58 72 6f 75 74 69 6e 65 | 20 61 76 6f 69 64 73 20 |Xroutine| avoids |
|00004760| 74 68 61 74 20 6c 69 6d | 69 74 2e 20 20 48 6f 77 |that lim|it. How|
|00004770| 65 76 65 72 2c 20 62 65 | 63 61 75 73 65 20 74 68 |ever, be|cause th|
|00004780| 65 20 72 65 73 75 6c 74 | 20 69 73 20 72 65 70 72 |e result| is repr|
|00004790| 65 73 65 6e 74 65 64 0a | 58 62 79 20 33 32 20 62 |esented.|Xby 32 b|
|000047a0| 69 74 73 2c 20 69 74 20 | 69 73 20 73 74 69 6c 6c |its, it |is still|
|000047b0| 20 6c 69 6d 69 74 65 64 | 20 74 6f 20 61 20 73 70 | limited| to a sp|
|000047c0| 61 6e 20 6f 66 20 74 77 | 6f 20 62 69 6c 6c 69 6f |an of tw|o billio|
|000047d0| 6e 20 73 65 63 6f 6e 64 | 73 2c 20 77 68 69 63 68 |n second|s, which|
|000047e0| 20 69 73 0a 58 61 62 6f | 75 74 20 36 36 20 79 65 | is.Xabo|ut 66 ye|
|000047f0| 61 72 73 2e 0a 58 0a 58 | 2a 2f 0a 58 0a 58 6c 6f |ars..X.X|*/.X.Xlo|
|00004800| 6e 67 0a 58 74 77 73 75 | 62 74 72 61 63 74 28 20 |ng.Xtwsu|btract( |
|00004810| 74 77 31 2c 20 74 77 32 | 20 29 0a 58 73 74 72 75 |tw1, tw2| ).Xstru|
|00004820| 63 74 20 74 77 73 20 2a | 74 77 31 2c 20 2a 74 77 |ct tws *|tw1, *tw|
|00004830| 32 3b 0a 58 20 20 20 20 | 7b 0a 58 20 20 20 20 72 |2;.X |{.X r|
|00004840| 65 67 69 73 74 65 72 20 | 6c 6f 6e 67 20 6a 64 31 |egister |long jd1|
|00004850| 2c 20 6a 64 32 2c 20 73 | 64 63 31 2c 20 73 64 63 |, jd2, s|dc1, sdc|
|00004860| 32 2c 20 72 65 73 75 6c | 74 3b 0a 58 0a 58 20 20 |2, resul|t;.X.X |
|00004870| 20 20 69 66 20 28 20 28 | 20 6a 64 31 20 3d 20 74 | if ( (| jd1 = t|
|00004880| 77 6a 75 6c 69 61 6e 64 | 61 74 65 28 20 74 77 31 |wjuliand|ate( tw1|
|00004890| 20 29 20 29 20 3d 3d 20 | 2d 31 4c 20 29 0a 58 09 | ) ) == |-1L ).X.|
|000048a0| 72 65 74 75 72 6e 20 28 | 20 30 4c 20 29 3b 0a 58 |return (| 0L );.X|
|000048b0| 20 20 20 20 69 66 20 28 | 20 28 20 73 64 63 31 20 | if (| ( sdc1 |
|000048c0| 3d 20 74 77 73 75 62 64 | 61 79 63 6c 6f 63 6b 28 |= twsubd|ayclock(|
|000048d0| 20 74 77 31 20 29 20 29 | 20 3d 3d 20 2d 31 4c 20 | tw1 ) )| == -1L |
|000048e0| 29 0a 58 09 72 65 74 75 | 72 6e 20 28 20 30 4c 20 |).X.retu|rn ( 0L |
|000048f0| 29 3b 0a 58 0a 58 20 20 | 20 20 69 66 20 28 20 28 |);.X.X | if ( (|
|00004900| 20 6a 64 32 20 3d 20 74 | 77 6a 75 6c 69 61 6e 64 | jd2 = t|wjuliand|
|00004910| 61 74 65 28 20 74 77 32 | 20 29 20 29 20 3d 3d 20 |ate( tw2| ) ) == |
|00004920| 2d 31 4c 20 29 0a 58 09 | 72 65 74 75 72 6e 20 28 |-1L ).X.|return (|
|00004930| 20 30 4c 20 29 3b 0a 58 | 20 20 20 20 69 66 20 28 | 0L );.X| if (|
|00004940| 20 28 20 73 64 63 32 20 | 3d 20 74 77 73 75 62 64 | ( sdc2 |= twsubd|
|00004950| 61 79 63 6c 6f 63 6b 28 | 20 74 77 32 20 29 20 29 |ayclock(| tw2 ) )|
|00004960| 20 3d 3d 20 2d 31 4c 20 | 29 0a 58 09 72 65 74 75 | == -1L |).X.retu|
|00004970| 72 6e 20 28 20 30 4c 20 | 29 3b 0a 58 20 20 20 20 |rn ( 0L |);.X |
|00004980| 0a 58 20 20 20 20 72 65 | 73 75 6c 74 20 3d 20 28 |.X re|sult = (|
|00004990| 20 6a 64 31 20 2d 20 6a | 64 32 20 29 20 2a 20 32 | jd1 - j|d2 ) * 2|
|000049a0| 34 20 2a 20 36 30 20 2a | 20 36 30 20 2b 20 28 20 |4 * 60 *| 60 + ( |
|000049b0| 73 64 63 31 20 2d 20 73 | 64 63 32 20 29 3b 0a 58 |sdc1 - s|dc2 );.X|
|000049c0| 0a 58 20 20 20 20 72 65 | 74 75 72 6e 20 28 20 72 |.X re|turn ( r|
|000049d0| 65 73 75 6c 74 20 29 3b | 0a 58 20 20 20 20 7d 0a |esult );|.X }.|
|000049e0| 58 0a 58 2f 2a 20 0c 20 | 2a 2f 0a 58 0a 58 2f 2a |X.X/* . |*/.X.X/*|
|000049f0| 0a 58 20 2a 20 20 20 20 | 53 69 6d 70 6c 65 20 63 |.X * |Simple c|
|00004a00| 61 6c 63 75 6c 61 74 69 | 6f 6e 20 6f 66 20 64 61 |alculati|on of da|
|00004a10| 79 20 6f 66 20 74 68 65 | 20 77 65 65 6b 2e 20 20 |y of the| week. |
|00004a20| 41 6c 67 6f 72 69 74 68 | 6d 20 75 73 65 64 20 69 |Algorith|m used i|
|00004a30| 73 20 5a 65 6c 6c 65 72 | 27 73 0a 58 20 2a 20 20 |s Zeller|'s.X * |
|00004a40| 20 20 63 6f 6e 67 72 75 | 65 6e 63 65 2e 20 20 43 | congru|ence. C|
|00004a50| 75 72 72 65 6e 74 6c 79 | 2c 20 77 65 20 61 73 73 |urrently|, we ass|
|00004a60| 75 6d 65 20 69 66 20 74 | 77 20 2d 3e 20 74 77 5f |ume if t|w -> tw_|
|00004a70| 79 65 61 72 20 3c 20 31 | 30 30 0a 58 20 2a 20 20 |year < 1|00.X * |
|00004a80| 20 20 74 68 65 6e 20 74 | 68 65 20 63 65 6e 74 75 | then t|he centu|
|00004a90| 72 79 20 69 73 20 43 45 | 4e 54 55 52 59 2e 0a 58 |ry is CE|NTURY..X|
|00004aa0| 20 2a 2f 0a 58 0a 58 73 | 65 74 5f 64 6f 74 77 28 | */.X.Xs|et_dotw(|
|00004ab0| 20 74 77 20 29 0a 58 73 | 74 72 75 63 74 20 74 77 | tw ).Xs|truct tw|
|00004ac0| 73 20 2a 74 77 3b 0a 58 | 20 20 20 20 7b 0a 58 20 |s *tw;.X| {.X |
|00004ad0| 20 20 20 72 65 67 69 73 | 74 65 72 20 69 6e 74 20 | regis|ter int |
|00004ae0| 6d 6f 6e 74 68 2c 20 64 | 61 79 2c 20 79 65 61 72 |month, d|ay, year|
|00004af0| 2c 20 63 65 6e 74 75 72 | 79 3b 0a 58 0a 58 20 20 |, centur|y;.X.X |
|00004b00| 20 20 6d 6f 6e 74 68 20 | 3d 20 74 77 20 2d 3e 20 | month |= tw -> |
|00004b10| 74 77 5f 6d 6f 6e 20 2d | 20 31 3b 0a 58 20 20 20 |tw_mon -| 1;.X |
|00004b20| 20 64 61 79 20 3d 20 74 | 77 20 2d 3e 20 74 77 5f | day = t|w -> tw_|
|00004b30| 6d 64 61 79 3b 0a 58 20 | 20 20 20 79 65 61 72 20 |mday;.X | year |
|00004b40| 3d 20 74 77 20 2d 3e 20 | 74 77 5f 79 65 61 72 20 |= tw -> |tw_year |
|00004b50| 25 20 31 30 30 3b 0a 58 | 20 20 20 20 63 65 6e 74 |% 100;.X| cent|
|00004b60| 75 72 79 20 3d 20 74 77 | 20 2d 3e 20 74 77 5f 79 |ury = tw| -> tw_y|
|00004b70| 65 61 72 20 3e 3d 20 31 | 30 30 20 3f 20 74 77 20 |ear >= 1|00 ? tw |
|00004b80| 2d 3e 20 74 77 5f 79 65 | 61 72 20 2f 20 31 30 30 |-> tw_ye|ar / 100|
|00004b90| 20 3a 20 43 45 4e 54 55 | 52 59 3b 0a 58 0a 58 20 | : CENTU|RY;.X.X |
|00004ba0| 20 20 20 69 66 20 28 20 | 6d 6f 6e 74 68 20 3c 3d | if ( |month <=|
|00004bb0| 20 30 20 29 0a 58 09 7b | 0a 58 09 6d 6f 6e 74 68 | 0 ).X.{|.X.month|
|00004bc0| 20 2b 3d 20 31 32 3b 0a | 58 09 69 66 20 28 20 2d | += 12;.|X.if ( -|
|00004bd0| 2d 79 65 61 72 20 3c 20 | 30 20 29 0a 58 09 20 20 |-year < |0 ).X. |
|00004be0| 20 20 7b 0a 58 09 20 20 | 20 20 79 65 61 72 20 2b | {.X. | year +|
|00004bf0| 3d 20 31 30 30 3b 0a 58 | 09 20 20 20 20 63 65 6e |= 100;.X|. cen|
|00004c00| 74 75 72 79 2d 2d 3b 0a | 58 09 20 20 20 20 7d 0a |tury--;.|X. }.|
|00004c10| 58 09 7d 0a 58 0a 58 20 | 20 20 20 74 77 20 2d 3e |X.}.X.X | tw ->|
|00004c20| 20 74 77 5f 77 64 61 79 | 20 3d 0a 58 09 28 28 32 | tw_wday| =.X.((2|
|00004c30| 36 20 2a 20 6d 6f 6e 74 | 68 20 2d 20 32 29 20 2f |6 * mont|h - 2) /|
|00004c40| 20 31 30 20 2b 20 64 61 | 79 20 2b 20 79 65 61 72 | 10 + da|y + year|
|00004c50| 20 2b 20 79 65 61 72 20 | 2f 20 34 0a 58 09 20 20 | + year |/ 4.X. |
|00004c60| 20 20 2d 20 33 20 2a 20 | 63 65 6e 74 75 72 79 20 | - 3 * |century |
|00004c70| 2f 20 34 20 2b 20 31 29 | 20 25 20 37 3b 0a 58 0a |/ 4 + 1)| % 7;.X.|
|00004c80| 58 20 20 20 20 74 77 20 | 2d 3e 20 74 77 5f 66 6c |X tw |-> tw_fl|
|00004c90| 61 67 73 20 26 3d 20 7e | 54 57 5f 53 44 41 59 3b |ags &= ~|TW_SDAY;|
|00004ca0| 0a 58 20 20 20 20 74 77 | 20 2d 3e 20 74 77 5f 66 |.X tw| -> tw_f|
|00004cb0| 6c 61 67 73 20 7c 3d 20 | 54 57 5f 53 49 4d 50 3b |lags |= |TW_SIMP;|
|00004cc0| 0a 58 20 20 20 20 7d 0a | 58 0a 58 0a 58 2f 2a 20 |.X }.|X.X.X/* |
|00004cd0| 2a 20 55 6e 69 78 20 69 | 73 20 61 20 76 69 72 75 |* Unix i|s a viru|
|00004ce0| 73 20 66 72 6f 6d 20 6f | 75 74 65 72 20 73 70 61 |s from o|uter spa|
|00004cf0| 63 65 2e 20 2a 2f 0a 53 | 48 41 52 5f 45 4f 46 0a |ce. */.S|HAR_EOF.|
|00004d00| 69 66 20 74 65 73 74 20 | 39 30 33 35 20 2d 6e 65 |if test |9035 -ne|
|00004d10| 20 22 60 77 63 20 2d 63 | 20 3c 20 27 64 74 69 6d | "`wc -c| < 'dtim|
|00004d20| 65 2e 63 27 60 22 0a 74 | 68 65 6e 0a 09 65 63 68 |e.c'`".t|hen..ech|
|00004d30| 6f 20 73 68 61 72 3a 20 | 65 72 72 6f 72 20 74 72 |o shar: |error tr|
|00004d40| 61 6e 73 6d 69 74 74 69 | 6e 67 20 22 27 64 74 69 |ansmitti|ng "'dti|
|00004d50| 6d 65 2e 63 27 22 20 27 | 28 73 68 6f 75 6c 64 20 |me.c'" '|(should |
|00004d60| 68 61 76 65 20 62 65 65 | 6e 20 39 30 33 35 20 63 |have bee|n 9035 c|
|00004d70| 68 61 72 61 63 74 65 72 | 73 29 27 0a 66 69 0a 66 |haracter|s)'.fi.f|
|00004d80| 69 20 23 20 65 6e 64 20 | 6f 66 20 6f 76 65 72 77 |i # end |of overw|
|00004d90| 72 69 74 69 6e 67 20 63 | 68 65 63 6b 0a 65 63 68 |riting c|heck.ech|
|00004da0| 6f 20 73 68 61 72 3a 20 | 65 78 74 72 61 63 74 69 |o shar: |extracti|
|00004db0| 6e 67 20 22 27 64 74 69 | 6d 65 70 2e 6c 65 78 27 |ng "'dti|mep.lex'|
|00004dc0| 22 20 27 28 37 33 32 37 | 20 63 68 61 72 61 63 74 |" '(7327| charact|
|00004dd0| 65 72 73 29 27 0a 69 66 | 20 74 65 73 74 20 2d 66 |ers)'.if| test -f|
|00004de0| 20 27 64 74 69 6d 65 70 | 2e 6c 65 78 27 0a 74 68 | 'dtimep|.lex'.th|
|00004df0| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 77 |en..echo| shar: w|
|00004e00| 69 6c 6c 20 6e 6f 74 20 | 6f 76 65 72 2d 77 72 69 |ill not |over-wri|
|00004e10| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|00004e20| 20 22 27 64 74 69 6d 65 | 70 2e 6c 65 78 27 22 0a | "'dtime|p.lex'".|
|00004e30| 65 6c 73 65 0a 73 65 64 | 20 27 73 2f 5e 58 2f 2f |else.sed| 's/^X//|
|00004e40| 27 20 3c 3c 20 5c 53 48 | 41 52 5f 45 4f 46 20 3e |' << \SH|AR_EOF >|
|00004e50| 20 27 64 74 69 6d 65 70 | 2e 6c 65 78 27 0a 58 25 | 'dtimep|.lex'.X%|
|00004e60| 65 20 32 30 30 30 0a 58 | 25 70 20 35 30 30 30 0a |e 2000.X|%p 5000.|
|00004e70| 58 25 6e 20 31 30 30 30 | 0a 58 25 61 20 34 30 30 |X%n 1000|.X%a 400|
|00004e80| 30 0a 58 25 53 54 41 52 | 54 09 5a 0a 58 73 75 6e |0.X%STAR|T.Z.Xsun|
|00004e90| 09 28 73 75 6e 28 64 61 | 79 29 3f 29 0a 58 6d 6f |.(sun(da|y)?).Xmo|
|00004ea0| 6e 09 28 6d 6f 6e 28 64 | 61 79 29 3f 29 0a 58 74 |n.(mon(d|ay)?).Xt|
|00004eb0| 75 65 09 28 74 75 65 28 | 73 64 61 79 29 3f 29 0a |ue.(tue(|sday)?).|
|00004ec0| 58 77 65 64 09 28 77 65 | 64 28 6e 65 73 64 61 79 |Xwed.(we|d(nesday|
|00004ed0| 29 3f 29 0a 58 74 68 75 | 09 28 74 68 75 28 72 73 |)?).Xthu|.(thu(rs|
|00004ee0| 64 61 79 29 3f 29 0a 58 | 66 72 69 09 28 66 72 69 |day)?).X|fri.(fri|
|00004ef0| 28 64 61 79 29 3f 29 0a | 58 73 61 74 09 28 73 61 |(day)?).|Xsat.(sa|
|00004f00| 74 28 75 72 64 61 79 29 | 3f 29 0a 58 0a 58 44 41 |t(urday)|?).X.XDA|
|00004f10| 59 09 28 7b 73 75 6e 7d | 7c 7b 6d 6f 6e 7d 7c 7b |Y.({sun}||{mon}|{|
|00004f20| 74 75 65 7d 7c 7b 77 65 | 64 7d 7c 7b 74 68 75 7d |tue}|{we|d}|{thu}|
|00004f30| 7c 7b 66 72 69 7d 7c 7b | 73 61 74 7d 29 0a 58 0a ||{fri}|{|sat}).X.|
|00004f40| 58 6a 61 6e 09 28 6a 61 | 6e 28 75 61 72 79 29 3f |Xjan.(ja|n(uary)?|
|00004f50| 29 0a 58 66 65 62 09 28 | 66 65 62 28 72 75 61 72 |).Xfeb.(|feb(ruar|
|00004f60| 79 29 3f 29 0a 58 6d 61 | 72 09 28 6d 61 72 28 63 |y)?).Xma|r.(mar(c|
|00004f70| 68 29 3f 29 0a 58 61 70 | 72 09 28 61 70 72 28 69 |h)?).Xap|r.(apr(i|
|00004f80| 6c 29 3f 29 0a 58 6d 61 | 79 09 28 6d 61 79 29 0a |l)?).Xma|y.(may).|
|00004f90| 58 6a 75 6e 09 28 6a 75 | 6e 28 65 29 3f 29 0a 58 |Xjun.(ju|n(e)?).X|
|00004fa0| 6a 75 6c 09 28 6a 75 6c | 28 79 29 3f 29 0a 58 61 |jul.(jul|(y)?).Xa|
|00004fb0| 75 67 09 28 61 75 67 28 | 75 73 74 29 3f 29 0a 58 |ug.(aug(|ust)?).X|
|00004fc0| 73 65 70 09 28 73 65 70 | 28 74 65 6d 62 65 72 29 |sep.(sep|(tember)|
|00004fd0| 3f 29 0a 58 6f 63 74 09 | 28 6f 63 74 28 6f 62 65 |?).Xoct.|(oct(obe|
|00004fe0| 72 29 3f 29 0a 58 6e 6f | 76 09 28 6e 6f 76 28 65 |r)?).Xno|v.(nov(e|
|00004ff0| 6d 62 65 72 29 3f 29 0a | 58 64 65 63 09 28 64 65 |mber)?).|Xdec.(de|
|00005000| 63 28 65 6d 62 65 72 29 | 3f 29 0a 58 0a 58 4d 4f |c(ember)|?).X.XMO|
|00005010| 4e 54 48 09 28 7b 6a 61 | 6e 7d 7c 7b 66 65 62 7d |NTH.({ja|n}|{feb}|
|00005020| 7c 7b 6d 61 72 7d 7c 7b | 61 70 72 7d 7c 7b 6d 61 ||{mar}|{|apr}|{ma|
|00005030| 79 7d 7c 7b 6a 75 6e 7d | 7c 7b 6a 75 6c 7d 7c 7b |y}|{jun}||{jul}|{|
|00005040| 61 75 67 7d 7c 7b 73 65 | 70 7d 7c 7b 6f 63 74 7d |aug}|{se|p}|{oct}|
|00005050| 7c 7b 6e 6f 76 7d 7c 7b | 64 65 63 7d 29 0a 58 0a ||{nov}|{|dec}).X.|
|00005060| 58 77 09 28 5b 20 5c 74 | 5d 2a 29 0a 58 57 09 28 |Xw.([ \t|]*).XW.(|
|00005070| 5b 20 5c 74 5d 2b 29 0a | 58 44 09 28 5b 30 2d 39 |[ \t]+).|XD.([0-9|
|00005080| 5d 3f 5b 30 2d 39 5d 29 | 0a 58 64 09 5b 30 2d 39 |]?[0-9])|.Xd.[0-9|
|00005090| 5d 0a 58 25 7b 0a 58 2f | 2a 20 64 74 69 6d 65 70 |].X%{.X/|* dtimep|
|000050a0| 2e 6c 65 78 20 2d 20 72 | 6f 75 74 69 6e 65 73 20 |.lex - r|outines |
|000050b0| 74 6f 20 64 6f 20 60 60 | 41 52 50 41 2d 73 74 79 |to do ``|ARPA-sty|
|000050c0| 6c 65 27 27 20 74 69 6d | 65 20 70 61 72 73 69 6e |le'' tim|e parsin|
|000050d0| 67 0a 58 0a 58 76 65 72 | 20 20 64 61 74 65 20 20 |g.X.Xver| date |
|000050e0| 20 77 68 6f 20 72 65 6d | 61 72 6b 73 0a 58 2d 2d | who rem|arks.X--|
|000050f0| 2d 20 2d 2d 2d 2d 2d 2d | 2d 20 2d 2d 2d 20 2d 2d |- ------|- --- --|
|00005100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0a 58 30 31 42 |--------|---.X01B|
|00005140| 20 31 35 6e 6f 76 38 36 | 20 4a 50 20 20 54 68 6f | 15nov86| JP Tho|
|00005150| 75 72 6f 75 67 68 6c 79 | 20 68 61 63 6b 65 64 20 |uroughly| hacked |
|00005160| 62 79 20 4a 65 66 20 50 | 6f 73 6b 61 6e 7a 65 72 |by Jef P|oskanzer|
|00005170| 2e 0a 58 30 31 41 20 3f | 3f 3f 3f 3f 3f 3f 20 4d |..X01A ?|?????? M|
|00005180| 54 52 20 4f 72 69 67 69 | 6e 61 6c 20 76 65 72 73 |TR Origi|nal vers|
|00005190| 69 6f 6e 20 66 72 6f 6d | 20 74 68 65 20 4d 48 20 |ion from| the MH |
|000051a0| 36 2e 35 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |6.5 dist|ribution|
|000051b0| 2c 20 63 6f 75 72 74 65 | 73 79 0a 58 09 20 20 20 |, courte|sy.X. |
|000051c0| 20 20 20 20 20 20 20 6f | 66 20 4d 61 72 73 68 61 | o|f Marsha|
|000051d0| 6c 6c 20 52 6f 73 65 2e | 0a 58 0a 58 2a 2f 0a 58 |ll Rose.|.X.X*/.X|
|000051e0| 0a 58 23 69 6e 63 6c 75 | 64 65 20 22 74 77 73 2e |.X#inclu|de "tws.|
|000051f0| 68 22 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 63 74 |h".X#inc|lude <ct|
|00005200| 79 70 65 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |ype.h>.X|#include|
|00005210| 20 3c 73 79 73 2f 74 79 | 70 65 73 2e 68 3e 0a 58 | <sys/ty|pes.h>.X|
|00005220| 23 69 6e 63 6c 75 64 65 | 20 3c 74 69 6d 65 2e 68 |#include| <time.h|
|00005230| 3e 0a 58 23 69 66 64 65 | 66 20 53 59 53 35 0a 58 |>.X#ifde|f SYS5.X|
|00005240| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 72 69 6e 67 |#include| <string|
|00005250| 2e 68 3e 0a 58 23 65 6c | 73 65 20 53 59 53 35 0a |.h>.X#el|se SYS5.|
|00005260| 58 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 72 69 6e |X#includ|e <strin|
|00005270| 67 73 2e 68 3e 0a 58 23 | 69 6e 63 6c 75 64 65 20 |gs.h>.X#|include |
|00005280| 3c 73 79 73 2f 74 69 6d | 65 62 2e 68 3e 0a 58 23 |<sys/tim|eb.h>.X#|
|00005290| 65 6e 64 69 66 20 53 59 | 53 35 0a 58 0a 58 23 69 |endif SY|S5.X.X#i|
|000052a0| 66 64 65 66 20 53 59 53 | 35 0a 58 65 78 74 65 72 |fdef SYS|5.Xexter|
|000052b0| 6e 20 69 6e 74 20 20 64 | 61 79 6c 69 67 68 74 3b |n int d|aylight;|
|000052c0| 0a 58 65 78 74 65 72 6e | 20 6c 6f 6e 67 20 74 69 |.Xextern| long ti|
|000052d0| 6d 65 7a 6f 6e 65 3b 0a | 58 65 78 74 65 72 6e 20 |mezone;.|Xextern |
|000052e0| 63 68 61 72 20 2a 74 7a | 6e 61 6d 65 5b 5d 3b 0a |char *tz|name[];.|
|000052f0| 58 23 65 6e 64 69 66 20 | 53 59 53 35 0a 58 0a 58 |X#endif |SYS5.X.X|
|00005300| 2f 2a 0a 58 20 2a 20 54 | 61 62 6c 65 20 74 6f 20 |/*.X * T|able to |
|00005310| 63 6f 6e 76 65 72 74 20 | 6d 6f 6e 74 68 20 6e 61 |convert |month na|
|00005320| 6d 65 73 20 74 6f 20 6e | 75 6d 65 72 69 63 20 6d |mes to n|umeric m|
|00005330| 6f 6e 74 68 2e 20 20 57 | 65 20 75 73 65 20 74 68 |onth. W|e use th|
|00005340| 65 0a 58 20 2a 20 66 61 | 63 74 20 74 68 61 74 20 |e.X * fa|ct that |
|00005350| 74 68 65 20 6c 6f 77 20 | 6f 72 64 65 72 20 35 20 |the low |order 5 |
|00005360| 62 69 74 73 20 6f 66 20 | 74 68 65 20 73 75 6d 20 |bits of |the sum |
|00005370| 6f 66 20 74 68 65 20 32 | 6e 64 20 26 20 33 72 64 |of the 2|nd & 3rd|
|00005380| 0a 58 20 2a 20 63 68 61 | 72 61 63 74 65 72 73 20 |.X * cha|racters |
|00005390| 6f 66 20 74 68 65 20 6e | 61 6d 65 20 69 73 20 61 |of the n|ame is a|
|000053a0| 20 68 61 73 68 20 77 69 | 74 68 20 6e 6f 20 63 6f | hash wi|th no co|
|000053b0| 6c 6c 69 73 69 6f 6e 73 | 20 66 6f 72 20 74 68 65 |llisions| for the|
|000053c0| 20 31 32 0a 58 20 2a 20 | 76 61 6c 69 64 20 6d 6f | 12.X * |valid mo|
|000053d0| 6e 74 68 20 6e 61 6d 65 | 73 2e 20 20 28 54 68 65 |nth name|s. (The|
|000053e0| 20 6d 61 73 6b 20 74 6f | 20 35 20 62 69 74 73 20 | mask to| 5 bits |
|000053f0| 6d 61 70 73 20 61 6e 79 | 20 63 6f 6d 62 69 6e 61 |maps any| combina|
|00005400| 74 69 6f 6e 20 6f 66 0a | 58 20 2a 20 75 70 70 65 |tion of.|X * uppe|
|00005410| 72 20 61 6e 64 20 6c 6f | 77 65 72 20 63 61 73 65 |r and lo|wer case|
|00005420| 20 69 6e 74 6f 20 74 68 | 65 20 73 61 6d 65 20 68 | into th|e same h|
|00005430| 61 73 68 20 76 61 6c 75 | 65 29 2e 0a 58 20 2a 2f |ash valu|e)..X */|
|00005440| 0a 58 73 74 61 74 69 63 | 20 69 6e 74 20 6d 6f 6e |.Xstatic| int mon|
|00005450| 74 68 5f 6d 61 70 5b 5d | 20 3d 20 7b 0a 58 09 30 |th_map[]| = {.X.0|
|00005460| 2c 0a 58 09 36 2c 09 2f | 2a 20 31 20 2d 20 4a 75 |,.X.6,./|* 1 - Ju|
|00005470| 6c 20 2a 2f 0a 58 09 33 | 2c 09 2f 2a 20 32 20 2d |l */.X.3|,./* 2 -|
|00005480| 20 41 70 72 20 2a 2f 0a | 58 09 35 2c 09 2f 2a 20 | Apr */.|X.5,./* |
|00005490| 33 20 2d 20 4a 75 6e 20 | 2a 2f 0a 58 09 30 2c 0a |3 - Jun |*/.X.0,.|
|000054a0| 58 09 31 30 2c 09 2f 2a | 20 35 20 2d 20 4e 6f 76 |X.10,./*| 5 - Nov|
|000054b0| 20 2a 2f 0a 58 09 30 2c | 0a 58 09 31 2c 09 2f 2a | */.X.0,|.X.1,./*|
|000054c0| 20 37 20 2d 20 46 65 62 | 20 2a 2f 0a 58 09 31 31 | 7 - Feb| */.X.11|
|000054d0| 2c 09 2f 2a 20 38 20 2d | 20 44 65 63 20 2a 2f 0a |,./* 8 -| Dec */.|
|000054e0| 58 09 30 2c 0a 58 09 30 | 2c 0a 58 09 30 2c 0a 58 |X.0,.X.0|,.X.0,.X|
|000054f0| 09 30 2c 0a 58 09 30 2c | 0a 58 09 30 2c 0a 58 09 |.0,.X.0,|.X.0,.X.|
|00005500| 30 2c 09 2f 2a 31 35 20 | 2d 20 4a 61 6e 20 2a 2f |0,./*15 |- Jan */|
|00005510| 0a 58 09 30 2c 0a 58 09 | 30 2c 0a 58 09 30 2c 0a |.X.0,.X.|0,.X.0,.|
|00005520| 58 09 32 2c 09 2f 2a 31 | 39 20 2d 20 4d 61 72 20 |X.2,./*1|9 - Mar |
|00005530| 2a 2f 0a 58 09 30 2c 0a | 58 09 38 2c 09 2f 2a 32 |*/.X.0,.|X.8,./*2|
|00005540| 31 20 2d 20 53 65 70 20 | 2a 2f 0a 58 09 30 2c 0a |1 - Sep |*/.X.0,.|
|00005550| 58 09 39 2c 09 2f 2a 32 | 33 20 2d 20 4f 63 74 20 |X.9,./*2|3 - Oct |
|00005560| 2a 2f 0a 58 09 30 2c 0a | 58 09 30 2c 0a 58 09 34 |*/.X.0,.|X.0,.X.4|
|00005570| 2c 09 2f 2a 32 36 20 2d | 20 4d 61 79 20 2a 2f 0a |,./*26 -| May */.|
|00005580| 58 09 30 2c 0a 58 09 37 | 20 7d 3b 09 2f 2a 32 38 |X.0,.X.7| };./*28|
|00005590| 20 2d 20 41 75 67 20 2a | 2f 0a 58 2f 2a 0a 58 20 | - Aug *|/.X/*.X |
|000055a0| 2a 20 53 61 6d 65 20 74 | 72 69 63 6b 20 66 6f 72 |* Same t|rick for|
|000055b0| 20 64 61 79 2d 6f 66 2d | 77 65 65 6b 20 75 73 69 | day-of-|week usi|
|000055c0| 6e 67 20 74 68 65 20 68 | 61 73 68 20 66 75 6e 63 |ng the h|ash func|
|000055d0| 74 69 6f 6e 0a 58 20 2a | 20 20 28 63 31 20 26 20 |tion.X *| (c1 & |
|000055e0| 37 29 20 2b 20 28 63 32 | 20 26 20 34 29 0a 58 20 |7) + (c2| & 4).X |
|000055f0| 2a 2f 0a 58 73 74 61 74 | 69 63 20 69 6e 74 20 64 |*/.Xstat|ic int d|
|00005600| 61 79 5f 6d 61 70 5b 5d | 20 3d 20 7b 0a 58 09 30 |ay_map[]| = {.X.0|
|00005610| 2c 0a 58 09 30 2c 0a 58 | 09 30 2c 0a 58 09 36 2c |,.X.0,.X|.0,.X.6,|
|00005620| 09 2f 2a 20 33 20 2d 20 | 53 61 74 20 2a 2f 0a 58 |./* 3 - |Sat */.X|
|00005630| 09 34 2c 09 2f 2a 20 34 | 20 2d 20 54 68 75 20 2a |.4,./* 4| - Thu *|
|00005640| 2f 0a 58 09 30 2c 0a 58 | 09 35 2c 09 2f 2a 20 36 |/.X.0,.X|.5,./* 6|
|00005650| 20 2d 20 46 72 69 20 2a | 2f 0a 58 09 30 2c 09 2f | - Fri *|/.X.0,./|
|00005660| 2a 20 37 20 2d 20 53 75 | 6e 20 2a 2f 0a 58 09 32 |* 7 - Su|n */.X.2|
|00005670| 2c 09 2f 2a 20 38 20 2d | 20 54 75 65 20 2a 2f 0a |,./* 8 -| Tue */.|
|00005680| 58 09 31 09 2f 2a 20 39 | 20 2d 20 4d 6f 6e 20 2a |X.1./* 9| - Mon *|
|00005690| 2f 2c 0a 58 09 30 2c 0a | 58 09 33 20 7d 3b 09 2f |/,.X.0,.|X.3 };./|
|000056a0| 2a 31 31 20 2d 20 57 65 | 64 20 2a 2f 0a 58 23 64 |*11 - We|d */.X#d|
|000056b0| 65 66 69 6e 65 20 53 45 | 54 44 41 59 20 74 77 2e |efine SE|TDAY tw.|
|000056c0| 74 77 5f 77 64 61 79 3d | 20 64 61 79 5f 6d 61 70 |tw_wday=| day_map|
|000056d0| 5b 28 63 70 5b 30 5d 20 | 26 20 37 29 20 2b 20 28 |[(cp[0] |& 7) + (|
|000056e0| 63 70 5b 31 5d 20 26 20 | 34 29 5d 3b 5c 0a 58 09 |cp[1] & |4)];\.X.|
|000056f0| 09 74 77 2e 74 77 5f 66 | 6c 61 67 73 20 7c 3d 20 |.tw.tw_f|lags |= |
|00005700| 54 57 5f 53 45 58 50 3b | 5c 0a 58 09 09 63 70 20 |TW_SEXP;|\.X..cp |
|00005710| 2b 3d 20 32 3b 0a 58 23 | 64 65 66 69 6e 65 20 53 |+= 2;.X#|define S|
|00005720| 45 54 4d 4f 4e 54 48 20 | 74 77 2e 74 77 5f 6d 6f |ETMONTH |tw.tw_mo|
|00005730| 6e 20 3d 20 6d 6f 6e 74 | 68 5f 6d 61 70 5b 28 63 |n = mont|h_map[(c|
|00005740| 70 5b 30 5d 20 2b 20 63 | 70 5b 31 5d 29 20 26 20 |p[0] + c|p[1]) & |
|00005750| 30 78 31 66 5d 3b 20 67 | 6f 74 64 61 74 65 2b 2b |0x1f]; g|otdate++|
|00005760| 3b 5c 0a 58 09 09 20 63 | 70 20 2b 3d 20 32 3b 5c |;\.X.. c|p += 2;\|
|00005770| 0a 58 09 09 20 53 4b 49 | 50 44 3b 0a 58 23 64 65 |.X.. SKI|PD;.X#de|
|00005780| 66 69 6e 65 20 43 56 54 | 31 4f 52 32 20 28 69 3d |fine CVT|1OR2 (i=|
|00005790| 28 2a 63 70 2b 2b 20 2d | 20 27 30 27 29 2c 20 69 |(*cp++ -| '0'), i|
|000057a0| 73 64 69 67 69 74 28 2a | 63 70 29 3f 20 69 2a 31 |sdigit(*|cp)? i*1|
|000057b0| 30 20 2b 20 28 2a 63 70 | 2b 2b 20 2d 20 27 30 27 |0 + (*cp|++ - '0'|
|000057c0| 29 20 3a 20 69 29 0a 58 | 23 64 65 66 69 6e 65 20 |) : i).X|#define |
|000057d0| 43 56 54 32 20 28 20 28 | 2a 63 70 2b 2b 20 2d 20 |CVT2 ( (|*cp++ - |
|000057e0| 27 30 27 29 2a 31 30 20 | 2b 20 28 2a 63 70 2b 2b |'0')*10 |+ (*cp++|
|000057f0| 20 2d 20 27 30 27 29 20 | 29 0a 58 23 64 65 66 69 | - '0') |).X#defi|
|00005800| 6e 65 20 43 56 54 33 20 | 28 20 28 20 28 2a 63 70 |ne CVT3 |( ( (*cp|
|00005810| 2b 2b 20 2d 20 27 30 27 | 29 2a 31 30 20 2b 20 28 |++ - '0'|)*10 + (|
|00005820| 2a 63 70 2b 2b 20 2d 20 | 27 30 27 29 20 29 2a 31 |*cp++ - |'0') )*1|
|00005830| 30 20 2b 20 28 2a 63 70 | 2b 2b 20 2d 20 27 30 27 |0 + (*cp|++ - '0'|
|00005840| 29 20 29 0a 58 23 64 65 | 66 69 6e 65 20 43 56 54 |) ).X#de|fine CVT|
|00005850| 34 20 28 20 28 20 28 20 | 28 2a 63 70 2b 2b 20 2d |4 ( ( ( |(*cp++ -|
|00005860| 20 27 30 27 29 2a 31 30 | 20 2b 20 28 2a 63 70 2b | '0')*10| + (*cp+|
|00005870| 2b 20 2d 20 27 30 27 29 | 20 29 2a 31 30 20 2b 20 |+ - '0')| )*10 + |
|00005880| 28 2a 63 70 2b 2b 20 2d | 20 27 30 27 29 20 29 2a |(*cp++ -| '0') )*|
|00005890| 31 30 20 2b 20 28 2a 63 | 70 2b 2b 20 2d 20 27 30 |10 + (*c|p++ - '0|
|000058a0| 27 29 20 29 0a 58 23 64 | 65 66 69 6e 65 20 53 4b |') ).X#d|efine SK|
|000058b0| 49 50 44 20 77 68 69 6c | 65 20 28 20 21 20 69 73 |IPD whil|e ( ! is|
|000058c0| 64 69 67 69 74 28 20 2a | 63 70 2b 2b 20 29 20 29 |digit( *|cp++ ) )|
|000058d0| 20 3b 20 2d 2d 63 70 3b | 0a 58 23 64 65 66 69 6e | ; --cp;|.X#defin|
|000058e0| 65 20 5a 4f 4e 45 28 78 | 29 20 74 77 2e 74 77 5f |e ZONE(x|) tw.tw_|
|000058f0| 7a 6f 6e 65 3d 28 78 29 | 3b 0a 58 23 64 65 66 69 |zone=(x)|;.X#defi|
|00005900| 6e 65 20 5a 4f 4e 45 44 | 28 78 29 20 74 77 2e 74 |ne ZONED|(x) tw.t|
|00005910| 77 5f 7a 6f 6e 65 3d 28 | 78 29 3b 20 74 77 2e 74 |w_zone=(|x); tw.t|
|00005920| 77 5f 66 6c 61 67 73 20 | 7c 3d 20 54 57 5f 44 53 |w_flags ||= TW_DS|
|00005930| 54 3b 0a 58 23 64 65 66 | 69 6e 65 20 4c 43 28 63 |T;.X#def|ine LC(c|
|00005940| 29 20 28 69 73 75 70 70 | 65 72 28 20 63 20 29 20 |) (isupp|er( c ) |
|00005950| 3f 20 74 6f 6c 6f 77 65 | 72 28 20 63 20 29 20 3a |? tolowe|r( c ) :|
|00005960| 20 28 20 63 20 29 29 0a | 58 25 7d 0a 58 25 25 0a | ( c )).|X%}.X%%.|
|00005970| 58 25 7b 0a 58 73 74 72 | 75 63 74 20 74 77 73 20 |X%{.Xstr|uct tws |
|00005980| 2a 0a 58 64 70 61 72 73 | 65 74 69 6d 65 28 20 73 |*.Xdpars|etime( s|
|00005990| 74 72 20 29 0a 58 63 68 | 61 72 20 2a 73 74 72 3b |tr ).Xch|ar *str;|
|000059a0| 0a 58 20 20 20 20 7b 0a | 58 20 20 20 20 72 65 67 |.X {.|X reg|
|000059b0| 69 73 74 65 72 20 69 6e | 74 20 69 3b 0a 58 20 20 |ister in|t i;.X |
|000059c0| 20 20 73 74 61 74 69 63 | 20 73 74 72 75 63 74 20 | static| struct |
|000059d0| 74 77 73 20 74 77 3b 0a | 58 20 20 20 20 72 65 67 |tws tw;.|X reg|
|000059e0| 69 73 74 65 72 20 63 68 | 61 72 20 2a 63 70 3b 0a |ister ch|ar *cp;.|
|000059f0| 58 20 20 20 20 72 65 67 | 69 73 74 65 72 20 69 6e |X reg|ister in|
|00005a00| 74 20 67 6f 74 64 61 74 | 65 20 3d 20 30 3b 0a 58 |t gotdat|e = 0;.X|
|00005a10| 23 69 66 6e 64 65 66 20 | 53 59 53 35 0a 58 20 20 |#ifndef |SYS5.X |
|00005a20| 20 20 73 74 72 75 63 74 | 20 74 69 6d 65 62 09 74 | struct| timeb.t|
|00005a30| 62 3b 0a 58 23 65 6e 64 | 69 66 20 6e 6f 74 20 53 |b;.X#end|if not S|
|00005a40| 59 53 35 0a 58 20 20 20 | 20 6c 6f 6e 67 20 63 6c |YS5.X | long cl|
|00005a50| 6f 63 6b 3b 0a 58 0a 58 | 20 20 20 20 73 74 61 72 |ock;.X.X| star|
|00005a60| 74 5f 63 6f 6e 64 20 3d | 20 30 3b 0a 58 0a 58 20 |t_cond =| 0;.X.X |
|00005a70| 20 20 20 2f 2a 20 5a 65 | 72 6f 20 6f 75 74 20 74 | /* Ze|ro out t|
|00005a80| 68 65 20 73 74 72 75 63 | 74 2e 20 2a 2f 0a 58 20 |he struc|t. */.X |
|00005a90| 20 20 20 62 7a 65 72 6f | 28 20 28 63 68 61 72 20 | bzero|( (char |
|00005aa0| 2a 29 20 26 74 77 2c 20 | 73 69 7a 65 6f 66 20 74 |*) &tw, |sizeof t|
|00005ab0| 77 20 29 3b 0a 58 0a 58 | 20 20 20 20 2f 2a 20 53 |w );.X.X| /* S|
|00005ac0| 65 74 20 64 65 66 61 75 | 6c 74 20 74 69 6d 65 20 |et defau|lt time |
|00005ad0| 7a 6f 6e 65 2e 20 2a 2f | 0a 58 23 69 66 6e 64 65 |zone. */|.X#ifnde|
|00005ae0| 66 20 53 59 53 35 0a 58 | 20 20 20 20 66 74 69 6d |f SYS5.X| ftim|
|00005af0| 65 28 20 26 74 62 20 29 | 3b 0a 58 20 20 20 20 74 |e( &tb )|;.X t|
|00005b00| 77 2e 74 77 5f 7a 6f 6e | 65 20 3d 20 2d 74 62 2e |w.tw_zon|e = -tb.|
|00005b10| 74 69 6d 65 7a 6f 6e 65 | 3b 0a 58 23 65 6c 73 65 |timezone|;.X#else|
|00005b20| 20 53 59 53 35 0a 58 20 | 20 20 20 74 7a 73 65 74 | SYS5.X | tzset|
|00005b30| 28 20 29 3b 0a 58 20 20 | 20 20 74 77 2e 74 77 5f |( );.X | tw.tw_|
|00005b40| 7a 6f 6e 65 20 3d 20 2d | 28 74 69 6d 65 7a 6f 6e |zone = -|(timezon|
|00005b50| 65 20 2f 20 36 30 29 3b | 0a 58 23 65 6e 64 69 66 |e / 60);|.X#endif|
|00005b60| 20 53 59 53 35 0a 58 0a | 58 20 20 20 20 66 6f 72 | SYS5.X.|X for|
|00005b70| 20 28 20 3b 20 3b 20 29 | 0a 58 09 73 77 69 74 63 | ( ; ; )|.X.switc|
|00005b80| 68 20 28 20 63 70 20 3d | 20 73 74 72 2c 20 6c 65 |h ( cp =| str, le|
|00005b90| 78 5f 73 74 72 69 6e 67 | 28 20 26 73 74 72 2c 20 |x_string|( &str, |
|00005ba0| 73 74 61 72 74 5f 63 6f | 6e 64 20 29 20 29 0a 58 |start_co|nd ) ).X|
|00005bb0| 09 20 20 20 20 7b 0a 58 | 09 20 20 20 20 63 61 73 |. {.X|. cas|
|00005bc0| 65 20 2d 31 3a 0a 58 09 | 09 69 66 20 28 20 21 20 |e -1:.X.|.if ( ! |
|00005bd0| 67 6f 74 64 61 74 65 20 | 29 0a 58 09 09 09 72 65 |gotdate |).X...re|
|00005be0| 74 75 72 6e 20 28 20 4e | 55 4c 4c 20 29 3b 0a 58 |turn ( N|ULL );.X|
|00005bf0| 09 09 74 77 2e 74 77 5f | 66 6c 61 67 73 20 7c 3d |..tw.tw_|flags |=|
|00005c00| 20 54 57 5f 4a 55 4e 4b | 3b 0a 58 09 09 2f 2a 20 | TW_JUNK|;.X../* |
|00005c10| 66 61 6c 6c 20 74 68 72 | 6f 75 67 68 20 2a 2f 0a |fall thr|ough */.|
|00005c20| 58 09 20 20 20 20 63 61 | 73 65 20 30 3a 0a 58 09 |X. ca|se 0:.X.|
|00005c30| 09 69 66 20 28 20 74 77 | 2e 74 77 5f 79 65 61 72 |.if ( tw|.tw_year|
|00005c40| 20 3d 3d 20 30 20 29 0a | 58 09 09 20 20 20 20 7b | == 0 ).|X.. {|
|00005c50| 0a 58 09 09 20 20 20 20 | 2f 2a 20 53 65 74 20 64 |.X.. |/* Set d|
|00005c60| 65 66 61 75 6c 74 20 79 | 65 61 72 2e 20 2a 2f 0a |efault y|ear. */.|
|00005c70| 58 09 09 20 20 20 20 74 | 69 6d 65 28 20 26 63 6c |X.. t|ime( &cl|
|00005c80| 6f 63 6b 20 29 3b 0a 58 | 09 09 20 20 20 20 74 77 |ock );.X|.. tw|
|00005c90| 2e 74 77 5f 79 65 61 72 | 20 3d 20 6c 6f 63 61 6c |.tw_year| = local|
|00005ca0| 74 69 6d 65 28 20 26 63 | 6c 6f 63 6b 20 29 20 2d |time( &c|lock ) -|
|00005cb0| 3e 20 74 6d 5f 79 65 61 | 72 3b 0a 58 09 09 20 20 |> tm_yea|r;.X.. |
|00005cc0| 20 20 7d 0a 58 09 09 72 | 65 74 75 72 6e 20 28 20 | }.X..r|eturn ( |
|00005cd0| 26 74 77 20 29 3b 0a 58 | 0a 58 25 7d 0a 58 7b 44 |&tw );.X|.X%}.X{D|
|00005ce0| 41 59 7d 22 2c 22 3f 7b | 77 7d 09 09 09 09 53 45 |AY}","?{|w}....SE|
|00005cf0| 54 44 41 59 3b 0a 58 22 | 28 22 7b 44 41 59 7d 22 |TDAY;.X"|("{DAY}"|
|00005d00| 29 22 28 22 2c 22 3f 29 | 09 09 09 63 70 2b 2b 2c |)"(","?)|...cp++,|
|00005d10| 20 53 45 54 44 41 59 3b | 0a 58 0a 58 7b 44 7d 28 | SETDAY;|.X.X{D}(|
|00005d20| 28 22 2d 22 7b 44 7d 22 | 2d 22 29 7c 28 22 2f 22 |("-"{D}"|-")|("/"|
|00005d30| 7b 44 7d 22 2f 22 29 29 | 7b 44 7d 3f 7b 64 7d 7b |{D}"/"))|{D}?{d}{|
|00005d40| 64 7d 7b 77 7d 09 7b 0a | 58 23 69 66 64 65 66 20 |d}{w}.{.|X#ifdef |
|00005d50| 45 55 52 4f 50 45 0a 58 | 09 09 09 09 09 74 77 2e |EUROPE.X|.....tw.|
|00005d60| 74 77 5f 6d 64 61 79 20 | 3d 20 43 56 54 31 4f 52 |tw_mday |= CVT1OR|
|00005d70| 32 3b 20 63 70 2b 2b 3b | 0a 58 09 09 09 09 09 74 |2; cp++;|.X.....t|
|00005d80| 77 2e 74 77 5f 6d 6f 6e | 20 20 3d 20 43 56 54 31 |w.tw_mon| = CVT1|
|00005d90| 4f 52 32 20 2d 20 31 3b | 20 63 70 2b 2b 3b 0a 58 |OR2 - 1;| cp++;.X|
|00005da0| 23 65 6c 73 65 20 45 55 | 52 4f 50 45 0a 58 09 09 |#else EU|ROPE.X..|
|00005db0| 09 09 09 74 77 2e 74 77 | 5f 6d 6f 6e 20 3d 20 43 |...tw.tw|_mon = C|
|00005dc0| 56 54 31 4f 52 32 20 2d | 20 31 3b 20 63 70 2b 2b |VT1OR2 -| 1; cp++|
|00005dd0| 3b 0a 58 09 09 09 09 09 | 74 77 2e 74 77 5f 6d 64 |;.X.....|tw.tw_md|
|00005de0| 61 79 20 20 3d 20 43 56 | 54 31 4f 52 32 3b 20 63 |ay = CV|T1OR2; c|
|00005df0| 70 2b 2b 3b 0a 58 23 65 | 6e 64 69 66 20 45 55 52 |p++;.X#e|ndif EUR|
|00005e00| 4f 50 45 0a 58 09 09 09 | 09 09 66 6f 72 20 28 20 |OPE.X...|..for ( |
|00005e10| 69 20 3d 20 30 3b 20 69 | 73 64 69 67 69 74 28 20 |i = 0; i|sdigit( |
|00005e20| 2a 63 70 20 29 3b 20 29 | 0a 58 09 09 09 09 09 09 |*cp ); )|.X......|
|00005e30| 69 20 3d 20 69 20 2a 20 | 31 30 20 2b 20 28 2a 63 |i = i * |10 + (*c|
|00005e40| 70 2b 2b 20 2d 20 27 30 | 27 29 3b 0a 58 09 09 09 |p++ - '0|');.X...|
|00005e50| 09 09 74 77 2e 74 77 5f | 79 65 61 72 20 3d 20 69 |..tw.tw_|year = i|
|00005e60| 3b 0a 58 09 09 09 09 09 | 67 6f 74 64 61 74 65 2b |;.X.....|gotdate+|
|00005e70| 2b 3b 0a 58 09 09 09 09 | 09 7d 0a 58 7b 44 7d 28 |+;.X....|.}.X{D}(|
|00005e80| 22 2f 22 7c 22 2d 22 29 | 7b 44 7d 7b 77 7d 09 09 |"/"|"-")|{D}{w}..|
|00005e90| 09 7b 0a 58 23 69 66 64 | 65 66 20 45 55 52 4f 50 |.{.X#ifd|ef EUROP|
|00005ea0| 45 0a 58 09 09 09 09 09 | 74 77 2e 74 77 5f 6d 64 |E.X.....|tw.tw_md|
|00005eb0| 61 79 20 3d 20 43 56 54 | 31 4f 52 32 3b 20 63 70 |ay = CVT|1OR2; cp|
|00005ec0| 2b 2b 3b 0a 58 09 09 09 | 09 09 74 77 2e 74 77 5f |++;.X...|..tw.tw_|
|00005ed0| 6d 6f 6e 20 20 3d 20 43 | 56 54 31 4f 52 32 20 2d |mon = C|VT1OR2 -|
|00005ee0| 20 31 3b 0a 58 23 65 6c | 73 65 20 45 55 52 4f 50 | 1;.X#el|se EUROP|
|00005ef0| 45 0a 58 09 09 09 09 09 | 74 77 2e 74 77 5f 6d 6f |E.X.....|tw.tw_mo|
|00005f00| 6e 20 3d 20 43 56 54 31 | 4f 52 32 20 2d 20 31 3b |n = CVT1|OR2 - 1;|
|00005f10| 20 63 70 2b 2b 3b 0a 58 | 09 09 09 09 09 74 77 2e | cp++;.X|.....tw.|
|00005f20| 74 77 5f 6d 64 61 79 20 | 20 3d 20 43 56 54 31 4f |tw_mday | = CVT1O|
|00005f30| 52 32 3b 0a 58 23 65 6e | 64 69 66 20 45 55 52 4f |R2;.X#en|dif EURO|
|00005f40| 50 45 0a 58 09 09 09 09 | 09 67 6f 74 64 61 74 65 |PE.X....|.gotdate|
|00005f50| 2b 2b 3b 0a 58 09 09 09 | 09 09 7d 0a 58 7b 44 7d |++;.X...|..}.X{D}|
|00005f60| 28 28 22 2d 22 7b 4d 4f | 4e 54 48 7d 22 2d 22 29 |(("-"{MO|NTH}"-")|
|00005f70| 7c 28 22 20 22 7b 4d 4f | 4e 54 48 7d 22 20 22 29 ||(" "{MO|NTH}" ")|
|00005f80| 7c 28 7b 4d 4f 4e 54 48 | 7d 29 29 7b 44 7d 3f 7b ||({MONTH|})){D}?{|
|00005f90| 64 7d 7b 64 7d 28 7b 57 | 7d 61 74 29 3f 7b 77 7d |d}{d}({W|}at)?{w}|
|00005fa0| 09 7b 0a 58 09 09 09 09 | 09 74 77 2e 74 77 5f 6d |.{.X....|.tw.tw_m|
|00005fb0| 64 61 79 20 3d 20 43 56 | 54 31 4f 52 32 3b 0a 58 |day = CV|T1OR2;.X|
|00005fc0| 09 09 09 09 09 77 68 69 | 6c 65 20 28 20 21 20 69 |.....whi|le ( ! i|
|00005fd0| 73 61 6c 70 68 61 28 20 | 2a 63 70 2b 2b 20 29 20 |salpha( |*cp++ ) |
|00005fe0| 29 0a 58 09 09 09 09 09 | 09 3b 0a 58 09 09 09 09 |).X.....|.;.X....|
|00005ff0| 09 53 45 54 4d 4f 4e 54 | 48 3b 0a 58 09 09 09 09 |.SETMONT|H;.X....|
|00006000| 09 66 6f 72 20 28 20 69 | 20 3d 20 30 3b 20 69 73 |.for ( i| = 0; is|
|00006010| 64 69 67 69 74 28 20 2a | 63 70 20 29 3b 20 29 0a |digit( *|cp ); ).|
|00006020| 58 09 09 09 09 09 09 69 | 20 3d 20 69 20 2a 20 31 |X......i| = i * 1|
|00006030| 30 20 2b 20 28 2a 63 70 | 2b 2b 20 2d 20 27 30 27 |0 + (*cp|++ - '0'|
|00006040| 29 3b 0a 58 09 09 09 09 | 09 74 77 2e 74 77 5f 79 |);.X....|.tw.tw_y|
|00006050| 65 61 72 20 3d 20 69 3b | 0a 58 09 09 09 09 09 67 |ear = i;|.X.....g|
|00006060| 6f 74 64 61 74 65 2b 2b | 3b 0a 58 09 09 09 09 09 |otdate++|;.X.....|
|00006070| 7d 0a 58 7b 44 7d 22 2d | 22 3f 7b 4d 4f 4e 54 48 |}.X{D}"-|"?{MONTH|
|00006080| 7d 28 7b 57 7d 61 74 29 | 3f 7b 77 7d 09 09 7b 0a |}({W}at)|?{w}..{.|
|00006090| 58 09 09 09 09 09 74 77 | 2e 74 77 5f 6d 64 61 79 |X.....tw|.tw_mday|
|000060a0| 20 3d 20 43 56 54 31 4f | 52 32 3b 0a 58 09 09 09 | = CVT1O|R2;.X...|
|000060b0| 09 09 77 68 69 6c 65 20 | 28 20 21 20 69 73 61 6c |..while |( ! isal|
|000060c0| 70 68 61 28 20 2a 63 70 | 2b 2b 20 29 20 29 0a 58 |pha( *cp|++ ) ).X|
|000060d0| 09 09 09 09 09 09 3b 0a | 58 09 09 09 09 09 53 45 |......;.|X.....SE|
|000060e0| 54 4d 4f 4e 54 48 3b 0a | 58 09 09 09 09 09 67 6f |TMONTH;.|X.....go|
|000060f0| 74 64 61 74 65 2b 2b 3b | 0a 58 09 09 09 09 09 7d |tdate++;|.X.....}|
|00006100| 0a 58 7b 4d 4f 4e 54 48 | 7d 7b 57 7d 7b 44 7d 22 |.X{MONTH|}{W}{D}"|
|00006110| 2c 22 7b 57 7d 7b 44 7d | 3f 7b 64 7d 7b 64 7d 7b |,"{W}{D}|?{d}{d}{|
|00006120| 77 7d 09 7b 0a 58 09 09 | 09 09 09 63 70 2b 2b 3b |w}.{.X..|...cp++;|
|00006130| 0a 58 09 09 09 09 09 53 | 45 54 4d 4f 4e 54 48 3b |.X.....S|ETMONTH;|
|00006140| 0a 58 09 09 09 09 09 74 | 77 2e 74 77 5f 6d 64 61 |.X.....t|w.tw_mda|
|00006150| 79 20 3d 20 43 56 54 31 | 4f 52 32 3b 0a 58 09 09 |y = CVT1|OR2;.X..|
|00006160| 09 09 09 53 4b 49 50 44 | 3b 0a 58 09 09 09 09 09 |...SKIPD|;.X.....|
|00006170| 66 6f 72 20 28 20 69 20 | 3d 20 30 3b 20 69 73 64 |for ( i |= 0; isd|
|00006180| 69 67 69 74 28 20 2a 63 | 70 20 29 3b 20 29 0a 58 |igit( *c|p ); ).X|
|00006190| 09 09 09 09 09 09 69 20 | 3d 20 69 20 2a 20 31 30 |......i |= i * 10|
|000061a0| 20 2b 20 28 2a 63 70 2b | 2b 20 2d 20 27 30 27 29 | + (*cp+|+ - '0')|
|000061b0| 3b 0a 58 09 09 09 09 09 | 74 77 2e 74 77 5f 79 65 |;.X.....|tw.tw_ye|
|000061c0| 61 72 20 3d 20 69 3b 0a | 58 09 09 09 09 09 67 6f |ar = i;.|X.....go|
|000061d0| 74 64 61 74 65 2b 2b 3b | 0a 58 09 09 09 09 09 7d |tdate++;|.X.....}|
|000061e0| 0a 58 7b 4d 4f 4e 54 48 | 7d 7b 57 7d 7b 44 7d 7b |.X{MONTH|}{W}{D}{|
|000061f0| 77 7d 09 09 09 7b 0a 58 | 09 09 09 09 09 63 70 2b |w}...{.X|.....cp+|
|00006200| 2b 3b 0a 58 09 09 09 09 | 09 53 45 54 4d 4f 4e 54 |+;.X....|.SETMONT|
|00006210| 48 3b 0a 58 09 09 09 09 | 09 74 77 2e 74 77 5f 6d |H;.X....|.tw.tw_m|
|00006220| 64 61 79 20 3d 20 43 56 | 54 31 4f 52 32 3b 0a 58 |day = CV|T1OR2;.X|
|00006230| 09 09 09 09 09 67 6f 74 | 64 61 74 65 2b 2b 3b 0a |.....got|date++;.|
|00006240| 58 09 09 09 09 09 7d 0a | 58 0a 58 7b 44 7d 3a 7b |X.....}.|X.X{D}:{|
|00006250| 44 7d 3a 7b 44 7d 28 7b | 77 7d 61 6d 29 3f 7b 77 |D}:{D}({|w}am)?{w|
|00006260| 7d 09 09 09 7b 0a 58 09 | 09 09 09 09 74 77 2e 74 |}...{.X.|....tw.t|
|00006270| 77 5f 68 6f 75 72 20 3d | 20 43 56 54 31 4f 52 32 |w_hour =| CVT1OR2|
|00006280| 3b 20 63 70 2b 2b 3b 0a | 58 09 09 09 09 09 74 77 |; cp++;.|X.....tw|
|00006290| 2e 74 77 5f 6d 69 6e 20 | 20 3d 20 43 56 54 31 4f |.tw_min | = CVT1O|
|000062a0| 52 32 3b 20 63 70 2b 2b | 3b 0a 58 09 09 09 09 09 |R2; cp++|;.X.....|
|000062b0| 74 77 2e 74 77 5f 73 65 | 63 20 20 3d 20 43 56 54 |tw.tw_se|c = CVT|
|000062c0| 31 4f 52 32 3b 0a 58 09 | 09 09 09 09 42 45 47 49 |1OR2;.X.|....BEGI|
|000062d0| 4e 20 5a 3b 0a 58 09 09 | 09 09 09 7d 0a 58 7b 44 |N Z;.X..|...}.X{D|
|000062e0| 7d 3a 7b 44 7d 3a 7b 44 | 7d 7b 77 7d 70 6d 7b 77 |}:{D}:{D|}{w}pm{w|
|000062f0| 7d 09 09 09 7b 0a 58 09 | 09 09 09 09 74 77 2e 74 |}...{.X.|....tw.t|
|00006300| 77 5f 68 6f 75 72 20 3d | 20 43 56 54 31 4f 52 32 |w_hour =| CVT1OR2|
|00006310| 20 2b 20 31 32 3b 20 63 | 70 2b 2b 3b 0a 58 09 09 | + 12; c|p++;.X..|
|00006320| 09 09 09 74 77 2e 74 77 | 5f 6d 69 6e 20 20 3d 20 |...tw.tw|_min = |
|00006330| 43 56 54 31 4f 52 32 3b | 20 63 70 2b 2b 3b 0a 58 |CVT1OR2;| cp++;.X|
|00006340| 09 09 09 09 09 74 77 2e | 74 77 5f 73 65 63 20 20 |.....tw.|tw_sec |
|00006350| 3d 20 43 56 54 31 4f 52 | 32 3b 0a 58 09 09 09 09 |= CVT1OR|2;.X....|
|00006360| 09 42 45 47 49 4e 20 5a | 3b 0a 58 09 09 09 09 09 |.BEGIN Z|;.X.....|
|00006370| 7d 0a 58 7b 44 7d 3a 7b | 44 7d 28 7b 77 7d 61 6d |}.X{D}:{|D}({w}am|
|00006380| 29 3f 7b 77 7d 09 09 09 | 7b 0a 58 09 09 09 09 09 |)?{w}...|{.X.....|
|00006390| 74 77 2e 74 77 5f 68 6f | 75 72 20 3d 20 43 56 54 |tw.tw_ho|ur = CVT|
|000063a0| 31 4f 52 32 3b 20 63 70 | 2b 2b 3b 0a 58 09 09 09 |1OR2; cp|++;.X...|
|000063b0| 09 09 74 77 2e 74 77 5f | 6d 69 6e 20 20 3d 20 43 |..tw.tw_|min = C|
|000063c0| 56 54 31 4f 52 32 3b 0a | 58 09 09 09 09 09 42 45 |VT1OR2;.|X.....BE|
|000063d0| 47 49 4e 20 5a 3b 0a 58 | 09 09 09 09 09 7d 0a 58 |GIN Z;.X|.....}.X|
|000063e0| 7b 44 7d 3a 7b 44 7d 7b | 77 7d 70 6d 7b 77 7d 09 |{D}:{D}{|w}pm{w}.|
|000063f0| 09 09 09 7b 0a 58 09 09 | 09 09 09 74 77 2e 74 77 |...{.X..|...tw.tw|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.