home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
Confidence | Program | Detection | Match Type | Support
|
---|
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%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| gt2
| HTML (Hyper Text Markup Language) Datei
| 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 32 32 69 30 34 |Subject:| v22i04|
|00000010| 39 3a 20 20 4e 4e 20 4e | 65 77 73 72 65 61 64 65 |9: NN N|ewsreade|
|00000020| 72 2c 20 72 65 6c 65 61 | 73 65 20 36 2e 34 2c 20 |r, relea|se 6.4, |
|00000030| 50 61 72 74 31 34 2f 32 | 31 0a 4e 65 77 73 67 72 |Part14/2|1.Newsgr|
|00000040| 6f 75 70 73 3a 20 63 6f | 6d 70 2e 73 6f 75 72 63 |oups: co|mp.sourc|
|00000050| 65 73 2e 75 6e 69 78 0a | 41 70 70 72 6f 76 65 64 |es.unix.|Approved|
|00000060| 3a 20 72 73 61 6c 7a 40 | 75 75 6e 65 74 2e 55 55 |: rsalz@|uunet.UU|
|00000070| 2e 4e 45 54 0a 58 2d 43 | 68 65 63 6b 73 75 6d 2d |.NET.X-C|hecksum-|
|00000080| 53 6e 65 66 72 75 3a 20 | 61 39 39 64 66 38 38 34 |Snefru: |a99df884|
|00000090| 20 62 63 37 39 31 35 64 | 31 20 36 64 61 61 36 66 | bc7915d|1 6daa6f|
|000000a0| 62 35 20 66 37 37 31 65 | 38 63 39 0a 0a 53 75 62 |b5 f771e|8c9..Sub|
|000000b0| 6d 69 74 74 65 64 2d 62 | 79 3a 20 22 4b 69 6d 20 |mitted-b|y: "Kim |
|000000c0| 46 2e 20 53 74 6f 72 6d | 22 20 3c 73 74 6f 72 6d |F. Storm|" <storm|
|000000d0| 40 74 65 78 61 73 2e 64 | 6b 3e 0a 50 6f 73 74 69 |@texas.d|k>.Posti|
|000000e0| 6e 67 2d 6e 75 6d 62 65 | 72 3a 20 56 6f 6c 75 6d |ng-numbe|r: Volum|
|000000f0| 65 20 32 32 2c 20 49 73 | 73 75 65 20 34 39 0a 41 |e 22, Is|sue 49.A|
|00000100| 72 63 68 69 76 65 2d 6e | 61 6d 65 3a 20 6e 6e 36 |rchive-n|ame: nn6|
|00000110| 2e 34 2f 70 61 72 74 31 | 34 0a 0a 23 21 20 2f 62 |.4/part1|4..#! /b|
|00000120| 69 6e 2f 73 68 0a 23 20 | 54 68 69 73 20 69 73 20 |in/sh.# |This is |
|00000130| 61 20 73 68 65 6c 6c 20 | 61 72 63 68 69 76 65 2e |a shell |archive.|
|00000140| 20 20 52 65 6d 6f 76 65 | 20 61 6e 79 74 68 69 6e | Remove| anythin|
|00000150| 67 20 62 65 66 6f 72 65 | 20 74 68 69 73 20 6c 69 |g before| this li|
|00000160| 6e 65 2c 20 74 68 65 6e | 20 66 65 65 64 20 69 74 |ne, then| feed it|
|00000170| 0a 23 20 69 6e 74 6f 20 | 61 20 73 68 65 6c 6c 20 |.# into |a shell |
|00000180| 76 69 61 20 22 73 68 20 | 66 69 6c 65 22 20 6f 72 |via "sh |file" or|
|00000190| 20 73 69 6d 69 6c 61 72 | 2e 20 20 54 6f 20 6f 76 | similar|. To ov|
|000001a0| 65 72 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |erwrite |existing|
|000001b0| 20 66 69 6c 65 73 2c 0a | 23 20 74 79 70 65 20 22 | files,.|# type "|
|000001c0| 73 68 20 66 69 6c 65 20 | 2d 63 22 2e 0a 23 20 54 |sh file |-c"..# T|
|000001d0| 68 65 20 74 6f 6f 6c 20 | 74 68 61 74 20 67 65 6e |he tool |that gen|
|000001e0| 65 72 61 74 65 64 20 74 | 68 69 73 20 61 70 70 65 |erated t|his appe|
|000001f0| 61 72 65 64 20 69 6e 20 | 74 68 65 20 63 6f 6d 70 |ared in |the comp|
|00000200| 2e 73 6f 75 72 63 65 73 | 2e 75 6e 69 78 20 6e 65 |.sources|.unix ne|
|00000210| 77 73 67 72 6f 75 70 3b | 0a 23 20 73 65 6e 64 20 |wsgroup;|.# send |
|00000220| 6d 61 69 6c 20 74 6f 20 | 63 6f 6d 70 2d 73 6f 75 |mail to |comp-sou|
|00000230| 72 63 65 73 2d 75 6e 69 | 78 40 75 75 6e 65 74 2e |rces-uni|x@uunet.|
|00000240| 75 75 2e 6e 65 74 20 69 | 66 20 79 6f 75 20 77 61 |uu.net i|f you wa|
|00000250| 6e 74 20 74 68 61 74 20 | 74 6f 6f 6c 2e 0a 23 20 |nt that |tool..# |
|00000260| 43 6f 6e 74 65 6e 74 73 | 3a 20 20 61 6e 73 77 65 |Contents|: answe|
|00000270| 72 2e 63 20 63 6f 6e 66 | 2f 73 2d 61 69 78 32 32 |r.c conf|/s-aix22|
|00000280| 31 2e 68 20 6d 61 63 72 | 6f 2e 63 20 6e 6e 2e 63 |1.h macr|o.c nn.c|
|00000290| 0a 23 20 57 72 61 70 70 | 65 64 20 62 79 20 73 74 |.# Wrapp|ed by st|
|000002a0| 6f 72 6d 40 74 65 78 61 | 73 2e 64 6b 20 6f 6e 20 |orm@texa|s.dk on |
|000002b0| 53 75 6e 20 4d 61 79 20 | 20 36 20 31 38 3a 31 39 |Sun May | 6 18:19|
|000002c0| 3a 35 37 20 31 39 39 30 | 0a 50 41 54 48 3d 2f 62 |:57 1990|.PATH=/b|
|000002d0| 69 6e 3a 2f 75 73 72 2f | 62 69 6e 3a 2f 75 73 72 |in:/usr/|bin:/usr|
|000002e0| 2f 75 63 62 20 3b 20 65 | 78 70 6f 72 74 20 50 41 |/ucb ; e|xport PA|
|000002f0| 54 48 0a 65 63 68 6f 20 | 49 66 20 74 68 69 73 20 |TH.echo |If this |
|00000300| 61 72 63 68 69 76 65 20 | 69 73 20 63 6f 6d 70 6c |archive |is compl|
|00000310| 65 74 65 2c 20 79 6f 75 | 20 77 69 6c 6c 20 73 65 |ete, you| will se|
|00000320| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|00000330| 6d 65 73 73 61 67 65 3a | 0a 65 63 68 6f 20 27 20 |message:|.echo ' |
|00000340| 20 20 20 20 20 20 20 20 | 20 22 73 68 61 72 3a 20 | | "shar: |
|00000350| 45 6e 64 20 6f 66 20 61 | 72 63 68 69 76 65 20 31 |End of a|rchive 1|
|00000360| 34 20 28 6f 66 20 32 32 | 29 2e 22 27 0a 69 66 20 |4 (of 22|)."'.if |
|00000370| 74 65 73 74 20 2d 66 20 | 27 61 6e 73 77 65 72 2e |test -f |'answer.|
|00000380| 63 27 20 2d 61 20 22 24 | 7b 31 7d 22 20 21 3d 20 |c' -a "$|{1}" != |
|00000390| 22 2d 63 22 20 3b 20 74 | 68 65 6e 20 0a 20 20 65 |"-c" ; t|hen . e|
|000003a0| 63 68 6f 20 73 68 61 72 | 3a 20 57 69 6c 6c 20 6e |cho shar|: Will n|
|000003b0| 6f 74 20 63 6c 6f 62 62 | 65 72 20 65 78 69 73 74 |ot clobb|er exist|
|000003c0| 69 6e 67 20 66 69 6c 65 | 20 5c 22 27 61 6e 73 77 |ing file| \"'answ|
|000003d0| 65 72 2e 63 27 5c 22 0a | 65 6c 73 65 0a 20 20 65 |er.c'\".|else. e|
|000003e0| 63 68 6f 20 73 68 61 72 | 3a 20 45 78 74 72 61 63 |cho shar|: Extrac|
|000003f0| 74 69 6e 67 20 5c 22 27 | 61 6e 73 77 65 72 2e 63 |ting \"'|answer.c|
|00000400| 27 5c 22 20 5c 28 31 38 | 37 36 38 20 63 68 61 72 |'\" \(18|768 char|
|00000410| 61 63 74 65 72 73 5c 29 | 0a 20 20 73 65 64 20 22 |acters\)|. sed "|
|00000420| 73 2f 5e 58 2f 2f 22 20 | 3e 27 61 6e 73 77 65 72 |s/^X//" |>'answer|
|00000430| 2e 63 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |.c' <<'E|ND_OF_FI|
|00000440| 4c 45 27 0a 58 2f 2a 0a | 58 20 2a 09 28 63 29 20 |LE'.X/*.|X *.(c) |
|00000450| 43 6f 70 79 72 69 67 68 | 74 20 31 39 39 30 2c 20 |Copyrigh|t 1990, |
|00000460| 4b 69 6d 20 46 61 62 72 | 69 63 69 75 73 20 53 74 |Kim Fabr|icius St|
|00000470| 6f 72 6d 2e 20 20 41 6c | 6c 20 72 69 67 68 74 73 |orm. Al|l rights|
|00000480| 20 72 65 73 65 72 76 65 | 64 2e 0a 58 20 2a 0a 58 | reserve|d..X *.X|
|00000490| 20 2a 09 52 65 73 70 6f | 6e 73 65 20 68 61 6e 64 | *.Respo|nse hand|
|000004a0| 6c 69 6e 67 2e 0a 58 20 | 2a 2f 0a 58 0a 58 23 69 |ling..X |*/.X.X#i|
|000004b0| 6e 63 6c 75 64 65 20 22 | 63 6f 6e 66 69 67 2e 68 |nclude "|config.h|
|000004c0| 22 0a 58 23 69 6e 63 6c | 75 64 65 20 22 6e 65 77 |".X#incl|ude "new|
|000004d0| 73 2e 68 22 0a 58 23 69 | 6e 63 6c 75 64 65 20 22 |s.h".X#i|nclude "|
|000004e0| 74 65 72 6d 2e 68 22 0a | 58 23 69 6e 63 6c 75 64 |term.h".|X#includ|
|000004f0| 65 20 22 6b 65 79 6d 61 | 70 2e 68 22 0a 58 23 69 |e "keyma|p.h".X#i|
|00000500| 6e 63 6c 75 64 65 20 22 | 6f 70 74 69 6f 6e 73 2e |nclude "|options.|
|00000510| 68 22 0a 58 0a 58 65 78 | 74 65 72 6e 20 63 68 61 |h".X.Xex|tern cha|
|00000520| 72 20 2a 74 65 6d 70 5f | 66 69 6c 65 3b 0a 58 0a |r *temp_|file;.X.|
|00000530| 58 65 78 70 6f 72 74 20 | 63 68 61 72 20 2a 64 65 |Xexport |char *de|
|00000540| 66 61 75 6c 74 5f 64 69 | 73 74 72 69 62 75 74 69 |fault_di|stributi|
|00000550| 6f 6e 20 3d 20 4e 55 4c | 4c 3b 0a 58 65 78 70 6f |on = NUL|L;.Xexpo|
|00000560| 72 74 20 63 68 61 72 20 | 2a 65 78 74 72 61 5f 6d |rt char |*extra_m|
|00000570| 61 69 6c 5f 68 65 61 64 | 65 72 73 09 3d 20 4e 55 |ail_head|ers.= NU|
|00000580| 4c 4c 3b 0a 58 65 78 70 | 6f 72 74 20 63 68 61 72 |LL;.Xexp|ort char|
|00000590| 20 2a 65 78 74 72 61 5f | 6e 65 77 73 5f 68 65 61 | *extra_|news_hea|
|000005a0| 64 65 72 73 09 3d 20 4e | 55 4c 4c 3b 0a 58 65 78 |ders.= N|ULL;.Xex|
|000005b0| 70 6f 72 74 20 63 68 61 | 72 20 2a 6d 61 69 6c 5f |port cha|r *mail_|
|000005c0| 72 65 63 6f 72 64 09 3d | 20 4e 55 4c 4c 3b 0a 58 |record.=| NULL;.X|
|000005d0| 65 78 70 6f 72 74 20 63 | 68 61 72 20 2a 6e 65 77 |export c|har *new|
|000005e0| 73 5f 72 65 63 6f 72 64 | 09 3d 20 4e 55 4c 4c 3b |s_record|.= NULL;|
|000005f0| 0a 58 65 78 70 6f 72 74 | 20 63 68 61 72 20 2a 6d |.Xexport| char *m|
|00000600| 61 69 6c 5f 73 63 72 69 | 70 74 09 3d 20 4e 55 4c |ail_scri|pt.= NUL|
|00000610| 4c 3b 0a 58 65 78 70 6f | 72 74 20 63 68 61 72 20 |L;.Xexpo|rt char |
|00000620| 2a 6e 65 77 73 5f 73 63 | 72 69 70 74 09 3d 20 4e |*news_sc|ript.= N|
|00000630| 55 4c 4c 3b 0a 58 65 78 | 70 6f 72 74 20 63 68 61 |ULL;.Xex|port cha|
|00000640| 72 20 2a 6d 61 69 6c 65 | 72 5f 70 72 6f 67 72 61 |r *maile|r_progra|
|00000650| 6d 09 3d 20 52 45 43 5f | 4d 41 49 4c 3b 0a 58 65 |m.= REC_|MAIL;.Xe|
|00000660| 78 70 6f 72 74 20 69 6e | 74 20 20 6d 61 69 6c 65 |xport in|t maile|
|00000670| 72 5f 70 69 70 65 5f 69 | 6e 70 75 74 09 3d 20 31 |r_pipe_i|nput.= 1|
|00000680| 3b 0a 58 65 78 70 6f 72 | 74 20 63 68 61 72 20 2a |;.Xexpor|t char *|
|00000690| 65 64 69 74 6f 72 5f 70 | 72 6f 67 72 61 6d 09 3d |editor_p|rogram.=|
|000006a0| 20 4e 55 4c 4c 3b 0a 58 | 65 78 70 6f 72 74 20 63 | NULL;.X|export c|
|000006b0| 68 61 72 20 2a 73 70 65 | 6c 6c 5f 63 68 65 63 6b |har *spe|ll_check|
|000006c0| 65 72 09 3d 20 4e 55 4c | 4c 3b 0a 58 0a 58 65 78 |er.= NUL|L;.X.Xex|
|000006d0| 70 6f 72 74 20 63 68 61 | 72 20 2a 62 75 67 5f 61 |port cha|r *bug_a|
|000006e0| 64 64 72 65 73 73 09 3d | 20 42 55 47 5f 52 45 50 |ddress.=| BUG_REP|
|000006f0| 4f 52 54 5f 41 44 44 52 | 45 53 53 3b 0a 58 0a 58 |ORT_ADDR|ESS;.X.X|
|00000700| 65 78 70 6f 72 74 20 69 | 6e 74 20 69 6e 63 6c 75 |export i|nt inclu|
|00000710| 64 65 5f 61 72 74 5f 69 | 64 09 3d 20 30 3b 0a 58 |de_art_i|d.= 0;.X|
|00000720| 65 78 70 6f 72 74 20 69 | 6e 74 20 69 6e 63 6c 75 |export i|nt inclu|
|00000730| 64 65 5f 66 75 6c 6c 5f | 68 65 61 64 65 72 09 3d |de_full_|header.=|
|00000740| 20 30 3b 0a 58 65 78 70 | 6f 72 74 20 69 6e 74 20 | 0;.Xexp|ort int |
|00000750| 6f 72 69 67 5f 74 6f 5f | 69 6e 63 6c 75 64 65 5f |orig_to_|include_|
|00000760| 6d 61 73 6b 09 3d 20 30 | 78 33 3b 0a 58 0a 58 65 |mask.= 0|x3;.X.Xe|
|00000770| 78 70 6f 72 74 20 69 6e | 74 20 65 6d 70 74 79 5f |xport in|t empty_|
|00000780| 61 6e 73 77 65 72 5f 63 | 68 65 63 6b 09 3d 20 31 |answer_c|heck.= 1|
|00000790| 3b 20 2f 2a 20 72 65 6a | 65 63 74 20 72 65 70 6c |; /* rej|ect repl|
|000007a0| 69 65 73 20 74 68 61 74 | 20 61 72 65 20 6e 6f 74 |ies that| are not|
|000007b0| 20 65 64 69 74 65 64 20 | 2a 2f 0a 58 65 78 70 6f | edited |*/.Xexpo|
|000007c0| 72 74 20 69 6e 74 20 72 | 65 73 70 6f 6e 73 65 5f |rt int r|esponse_|
|000007d0| 63 68 65 63 6b 5f 70 61 | 75 73 65 20 3d 20 30 3b |check_pa|use = 0;|
|000007e0| 20 2f 2a 20 74 69 6d 65 | 20 74 6f 20 77 61 69 74 | /* time| to wait|
|000007f0| 20 66 6f 72 20 62 61 63 | 6b 67 72 6f 75 6e 64 20 | for bac|kground |
|00000800| 63 6d 64 73 20 2a 2f 0a | 58 65 78 70 6f 72 74 20 |cmds */.|Xexport |
|00000810| 63 68 61 72 20 2a 72 65 | 73 70 6f 6e 73 65 5f 64 |char *re|sponse_d|
|00000820| 66 6c 74 5f 61 6e 73 77 | 65 72 20 3d 20 22 73 65 |flt_answ|er = "se|
|00000830| 6e 64 22 3b 0a 58 0a 58 | 23 69 66 64 65 66 20 41 |nd";.X.X|#ifdef A|
|00000840| 50 50 45 4e 44 5f 53 49 | 47 4e 41 54 55 52 45 0a |PPEND_SI|GNATURE.|
|00000850| 58 65 78 70 6f 72 74 20 | 69 6e 74 20 61 70 70 65 |Xexport |int appe|
|00000860| 6e 64 5f 73 69 67 5f 6d | 61 69 6c 20 3d 20 31 3b |nd_sig_m|ail = 1;|
|00000870| 20 2f 2a 20 6d 61 69 6c | 20 64 6f 65 73 20 6e 6f | /* mail| does no|
|00000880| 74 20 61 70 70 65 6e 64 | 20 69 74 20 2a 2f 0a 58 |t append| it */.X|
|00000890| 23 65 6c 73 65 0a 58 65 | 78 70 6f 72 74 20 69 6e |#else.Xe|xport in|
|000008a0| 74 20 61 70 70 65 6e 64 | 5f 73 69 67 5f 6d 61 69 |t append|_sig_mai|
|000008b0| 6c 20 3d 20 30 3b 0a 58 | 23 65 6e 64 69 66 0a 58 |l = 0;.X|#endif.X|
|000008c0| 65 78 70 6f 72 74 20 69 | 6e 74 20 61 70 70 65 6e |export i|nt appen|
|000008d0| 64 5f 73 69 67 5f 70 6f | 73 74 20 3d 20 30 3b 09 |d_sig_po|st = 0;.|
|000008e0| 2f 2a 20 69 6e 65 77 73 | 20 73 68 6f 75 6c 64 20 |/* inews| should |
|000008f0| 61 6c 77 61 79 73 20 64 | 6f 20 74 68 69 73 20 2a |always d|o this *|
|00000900| 2f 0a 58 65 78 70 6f 72 | 74 20 69 6e 74 20 71 75 |/.Xexpor|t int qu|
|00000910| 65 72 79 5f 73 69 67 6e | 61 74 75 72 65 20 3d 20 |ery_sign|ature = |
|00000920| 31 3b 09 2f 2a 20 71 75 | 65 72 79 20 75 73 65 72 |1;./* qu|ery user|
|00000930| 20 2a 2f 0a 58 0a 58 0a | 58 23 64 65 66 69 6e 65 | */.X.X.|X#define|
|00000940| 20 49 4e 43 4c 5f 4d 41 | 52 4b 5f 53 49 5a 45 09 | INCL_MA|RK_SIZE.|
|00000950| 31 30 0a 58 0a 58 65 78 | 70 6f 72 74 20 63 68 61 |10.X.Xex|port cha|
|00000960| 72 20 69 6e 63 6c 75 64 | 65 64 5f 6d 61 72 6b 5b |r includ|ed_mark[|
|00000970| 49 4e 43 4c 5f 4d 41 52 | 4b 5f 53 49 5a 45 20 2b |INCL_MAR|K_SIZE +|
|00000980| 20 31 5d 20 3d 20 22 3e | 22 3b 0a 58 0a 58 69 6d | 1] = ">|";.X.Xim|
|00000990| 70 6f 72 74 20 63 68 61 | 72 20 64 65 6c 61 79 65 |port cha|r delaye|
|000009a0| 64 5f 6d 73 67 5b 5d 3b | 0a 58 0a 58 73 74 61 74 |d_msg[];|.X.Xstat|
|000009b0| 69 63 20 69 6e 74 20 65 | 64 5f 6c 69 6e 65 3b 0a |ic int e|d_line;.|
|000009c0| 58 0a 58 23 69 66 64 65 | 66 20 4e 4e 54 50 0a 58 |X.X#ifde|f NNTP.X|
|000009d0| 23 69 66 64 65 66 20 4e | 4e 54 50 5f 4d 49 4e 49 |#ifdef N|NTP_MINI|
|000009e0| 5f 49 4e 45 57 53 5f 48 | 45 41 44 45 52 0a 58 23 |_INEWS_H|EADER.X#|
|000009f0| 69 6e 63 6c 75 64 65 20 | 3c 74 69 6d 65 2e 68 3e |include |<time.h>|
|00000a00| 0a 58 0a 58 73 74 61 74 | 69 63 20 6d 69 6e 69 5f |.X.Xstat|ic mini_|
|00000a10| 69 6e 65 77 73 5f 68 65 | 61 64 65 72 28 74 29 0a |inews_he|ader(t).|
|00000a20| 58 46 49 4c 45 20 2a 74 | 3b 0a 58 7b 0a 58 20 20 |XFILE *t|;.X{.X |
|00000a30| 20 20 74 69 6d 65 5f 74 | 20 6e 6f 77 3b 0a 58 20 | time_t| now;.X |
|00000a40| 20 20 20 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 | exter|n struct|
|00000a50| 20 74 6d 20 2a 67 6d 74 | 69 6d 65 28 29 3b 0a 58 | tm *gmt|ime();.X|
|00000a60| 20 20 20 20 65 78 74 65 | 72 6e 20 63 68 61 72 20 | exte|rn char |
|00000a70| 2a 61 73 63 74 69 6d 65 | 28 29 3b 0a 58 20 20 20 |*asctime|();.X |
|00000a80| 20 63 68 61 72 20 2a 64 | 61 74 65 2c 20 68 6f 73 | char *d|ate, hos|
|00000a90| 74 5b 36 34 5d 3b 0a 58 | 0a 58 20 20 20 20 6e 6f |t[64];.X|.X no|
|00000aa0| 77 20 3d 20 63 75 72 5f | 74 69 6d 65 28 29 3b 0a |w = cur_|time();.|
|00000ab0| 58 20 20 20 20 64 61 74 | 65 20 3d 20 61 73 63 74 |X dat|e = asct|
|00000ac0| 69 6d 65 28 67 6d 74 69 | 6d 65 28 26 6e 6f 77 29 |ime(gmti|me(&now)|
|00000ad0| 29 3b 0a 58 20 20 20 20 | 64 61 74 65 5b 33 5d 20 |);.X |date[3] |
|00000ae0| 3d 20 64 61 74 65 5b 37 | 5d 20 3d 20 64 61 74 65 |= date[7|] = date|
|00000af0| 5b 31 30 5d 20 3d 20 64 | 61 74 65 5b 31 39 5d 20 |[10] = d|ate[19] |
|00000b00| 3d 20 64 61 74 65 5b 32 | 34 5d 20 3d 20 4e 55 4c |= date[2|4] = NUL|
|00000b10| 3b 0a 58 20 20 20 20 67 | 65 74 68 6f 73 74 6e 61 |;.X g|ethostna|
|00000b20| 6d 65 28 68 6f 73 74 2c | 20 36 34 29 3b 0a 58 0a |me(host,| 64);.X.|
|00000b30| 58 20 20 20 20 66 70 72 | 69 6e 74 66 28 74 2c 20 |X fpr|intf(t, |
|00000b40| 22 50 61 74 68 3a 20 25 | 73 21 25 73 5c 6e 22 2c |"Path: %|s!%s\n",|
|00000b50| 20 68 6f 73 74 2c 20 75 | 73 65 72 5f 6e 61 6d 65 | host, u|ser_name|
|00000b60| 28 29 29 3b 0a 58 20 20 | 20 20 66 70 72 69 6e 74 |());.X | fprint|
|00000b70| 66 28 74 2c 20 22 44 61 | 74 65 3a 20 25 73 20 25 |f(t, "Da|te: %s %|
|00000b80| 73 20 25 73 20 25 73 20 | 47 4d 54 5c 6e 22 2c 20 |s %s %s |GMT\n", |
|00000b90| 64 61 74 65 2b 38 2c 20 | 64 61 74 65 2b 34 2c 20 |date+8, |date+4, |
|00000ba0| 64 61 74 65 2b 32 32 2c | 20 64 61 74 65 2b 31 31 |date+22,| date+11|
|00000bb0| 29 3b 0a 58 20 20 20 20 | 66 70 72 69 6e 74 66 28 |);.X |fprintf(|
|00000bc0| 74 2c 20 22 4d 65 73 73 | 61 67 65 2d 49 44 3a 20 |t, "Mess|age-ID: |
|00000bd0| 3c 25 73 2e 25 6c 64 40 | 25 73 3e 5c 6e 22 2c 20 |<%s.%ld@|%s>\n", |
|00000be0| 75 73 65 72 5f 6e 61 6d | 65 2c 20 28 6c 6f 6e 67 |user_nam|e, (long|
|00000bf0| 29 6e 6f 77 2c 20 68 6f | 73 74 29 3b 0a 58 20 20 |)now, ho|st);.X |
|00000c00| 20 20 65 64 5f 6c 69 6e | 65 20 2b 3d 20 33 3b 0a | ed_lin|e += 3;.|
|00000c10| 58 7d 0a 58 23 65 6e 64 | 69 66 0a 58 23 65 6e 64 |X}.X#end|if.X#end|
|00000c20| 69 66 0a 58 0a 58 73 74 | 61 74 69 63 20 73 75 62 |if.X.Xst|atic sub|
|00000c30| 6a 5f 6c 69 6e 65 28 74 | 2c 20 72 65 2c 20 73 75 |j_line(t|, re, su|
|00000c40| 62 6a 2c 20 70 72 65 66 | 69 78 29 0a 58 46 49 4c |bj, pref|ix).XFIL|
|00000c50| 45 20 2a 74 3b 0a 58 69 | 6e 74 20 72 65 3b 0a 58 |E *t;.Xi|nt re;.X|
|00000c60| 63 68 61 72 20 2a 73 75 | 62 6a 2c 20 2a 70 72 65 |char *su|bj, *pre|
|00000c70| 66 69 78 3b 0a 58 7b 0a | 58 20 20 20 20 69 66 20 |fix;.X{.|X if |
|00000c80| 28 73 75 62 6a 20 3d 3d | 20 4e 55 4c 4c 29 20 72 |(subj ==| NULL) r|
|00000c90| 65 74 75 72 6e 20 30 3b | 0a 58 0a 58 20 20 20 20 |eturn 0;|.X.X |
|00000ca0| 66 70 75 74 73 28 22 53 | 75 62 6a 65 63 74 3a 20 |fputs("S|ubject: |
|00000cb0| 22 2c 20 74 29 3b 0a 58 | 0a 58 20 20 20 20 69 66 |", t);.X|.X if|
|00000cc0| 20 28 72 65 20 3e 3d 20 | 30 29 0a 58 09 66 70 75 | (re >= |0).X.fpu|
|00000cd0| 74 73 28 22 52 65 3a 20 | 22 2c 20 74 29 3b 0a 58 |ts("Re: |", t);.X|
|00000ce0| 0a 58 20 20 20 20 69 66 | 20 28 70 72 65 66 69 78 |.X if| (prefix|
|00000cf0| 29 20 7b 0a 58 09 66 70 | 75 74 73 28 70 72 65 66 |) {.X.fp|uts(pref|
|00000d00| 69 78 2c 20 74 29 3b 0a | 58 09 66 70 75 74 63 28 |ix, t);.|X.fputc(|
|00000d10| 27 20 27 2c 20 74 29 3b | 0a 58 20 20 20 20 7d 0a |' ', t);|.X }.|
|00000d20| 58 0a 58 20 20 20 20 66 | 70 75 74 73 28 73 75 62 |X.X f|puts(sub|
|00000d30| 6a 2c 20 74 29 3b 0a 58 | 20 20 20 20 66 70 75 74 |j, t);.X| fput|
|00000d40| 63 28 4e 4c 2c 20 74 29 | 3b 0a 58 0a 58 20 20 20 |c(NL, t)|;.X.X |
|00000d50| 20 65 64 5f 6c 69 6e 65 | 2b 2b 3b 0a 58 20 20 20 | ed_line|++;.X |
|00000d60| 20 72 65 74 75 72 6e 20 | 31 3b 0a 58 7d 0a 58 0a | return |1;.X}.X.|
|00000d70| 58 0a 58 73 74 61 74 69 | 63 20 6e 67 5f 6c 69 6e |X.Xstati|c ng_lin|
|00000d80| 65 28 74 2c 20 75 73 65 | 5f 66 6f 6c 6c 6f 77 29 |e(t, use|_follow)|
|00000d90| 0a 58 46 49 4c 45 20 2a | 74 3b 0a 58 69 6e 74 20 |.XFILE *|t;.Xint |
|00000da0| 75 73 65 5f 66 6f 6c 6c | 6f 77 3b 0a 58 7b 0a 58 |use_foll|ow;.X{.X|
|00000db0| 20 20 20 20 66 70 72 69 | 6e 74 66 28 74 2c 20 22 | fpri|ntf(t, "|
|00000dc0| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 25 73 5c 6e |Newsgrou|ps: %s\n|
|00000dd0| 22 2c 0a 58 09 20 20 20 | 20 75 73 65 5f 66 6f 6c |",.X. | use_fol|
|00000de0| 6c 6f 77 20 26 26 20 6e | 65 77 73 2e 6e 67 5f 66 |low && n|ews.ng_f|
|00000df0| 6f 6c 6c 6f 77 20 3f 20 | 6e 65 77 73 2e 6e 67 5f |ollow ? |news.ng_|
|00000e00| 66 6f 6c 6c 6f 77 20 3a | 20 6e 65 77 73 2e 6e 67 |follow :| news.ng|
|00000e10| 5f 67 72 6f 75 70 73 29 | 3b 0a 58 20 20 20 20 65 |_groups)|;.X e|
|00000e20| 64 5f 6c 69 6e 65 2b 2b | 3b 0a 58 7d 0a 58 0a 58 |d_line++|;.X}.X.X|
|00000e30| 73 74 61 74 69 63 20 72 | 65 66 5f 6c 69 6e 65 28 |static r|ef_line(|
|00000e40| 74 29 0a 58 46 49 4c 45 | 20 2a 74 3b 0a 58 7b 0a |t).XFILE| *t;.X{.|
|00000e50| 58 20 20 20 20 69 66 20 | 28 6e 65 77 73 2e 6e 67 |X if |(news.ng|
|00000e60| 5f 72 65 66 20 3d 3d 20 | 4e 55 4c 4c 20 26 26 20 |_ref == |NULL && |
|00000e70| 6e 65 77 73 2e 6e 67 5f | 69 64 65 6e 74 20 3d 3d |news.ng_|ident ==|
|00000e80| 20 4e 55 4c 4c 29 20 72 | 65 74 75 72 6e 3b 0a 58 | NULL) r|eturn;.X|
|00000e90| 0a 58 20 20 20 20 66 70 | 75 74 73 28 22 52 65 66 |.X fp|uts("Ref|
|00000ea0| 65 72 65 6e 63 65 73 3a | 22 2c 20 74 29 3b 0a 58 |erences:|", t);.X|
|00000eb0| 20 20 20 20 69 66 20 28 | 6e 65 77 73 2e 6e 67 5f | if (|news.ng_|
|00000ec0| 72 65 66 29 20 66 70 72 | 69 6e 74 66 28 74 2c 20 |ref) fpr|intf(t, |
|00000ed0| 22 20 25 73 22 2c 20 6e | 65 77 73 2e 6e 67 5f 72 |" %s", n|ews.ng_r|
|00000ee0| 65 66 29 3b 0a 58 20 20 | 20 20 69 66 20 28 6e 65 |ef);.X | if (ne|
|00000ef0| 77 73 2e 6e 67 5f 69 64 | 65 6e 74 29 20 66 70 72 |ws.ng_id|ent) fpr|
|00000f00| 69 6e 74 66 28 74 2c 20 | 22 20 25 73 22 2c 20 6e |intf(t, |" %s", n|
|00000f10| 65 77 73 2e 6e 67 5f 69 | 64 65 6e 74 29 3b 0a 58 |ews.ng_i|dent);.X|
|00000f20| 20 20 20 20 70 75 74 63 | 28 4e 4c 2c 20 74 29 3b | putc|(NL, t);|
|00000f30| 0a 58 20 20 20 20 65 64 | 5f 6c 69 6e 65 2b 2b 3b |.X ed|_line++;|
|00000f40| 0a 58 7d 0a 58 0a 58 0a | 58 73 74 61 74 69 63 20 |.X}.X.X.|Xstatic |
|00000f50| 74 6f 5f 6c 69 6e 65 28 | 74 2c 20 74 6f 29 0a 58 |to_line(|t, to).X|
|00000f60| 46 49 4c 45 20 2a 74 3b | 0a 58 63 68 61 72 20 2a |FILE *t;|.Xchar *|
|00000f70| 74 6f 3b 0a 58 7b 0a 58 | 20 20 20 20 69 66 20 28 |to;.X{.X| if (|
|00000f80| 74 6f 20 3d 3d 20 4e 55 | 4c 4c 29 20 72 65 74 75 |to == NU|LL) retu|
|00000f90| 72 6e 20 30 3b 0a 58 0a | 58 20 20 20 20 66 70 72 |rn 0;.X.|X fpr|
|00000fa0| 69 6e 74 66 28 74 2c 20 | 22 54 6f 3a 20 25 73 5c |intf(t, |"To: %s\|
|00000fb0| 6e 22 2c 20 74 6f 29 3b | 0a 58 20 20 20 20 65 64 |n", to);|.X ed|
|00000fc0| 5f 6c 69 6e 65 2b 2b 3b | 0a 58 20 20 20 20 72 65 |_line++;|.X re|
|00000fd0| 74 75 72 6e 20 31 3b 0a | 58 7d 0a 58 0a 58 73 74 |turn 1;.|X}.X.Xst|
|00000fe0| 61 74 69 63 20 61 6c 74 | 5f 74 6f 5f 6c 69 6e 65 |atic alt|_to_line|
|00000ff0| 28 74 2c 20 74 6f 2c 20 | 6d 61 73 6b 29 0a 58 46 |(t, to, |mask).XF|
|00001000| 49 4c 45 20 2a 74 3b 0a | 58 63 68 61 72 20 2a 74 |ILE *t;.|Xchar *t|
|00001010| 6f 3b 0a 58 69 6e 74 20 | 6d 61 73 6b 3b 0a 58 7b |o;.Xint |mask;.X{|
|00001020| 0a 58 20 20 20 20 69 66 | 20 28 74 6f 20 3d 3d 20 |.X if| (to == |
|00001030| 4e 55 4c 4c 29 20 72 65 | 74 75 72 6e 3b 0a 58 20 |NULL) re|turn;.X |
|00001040| 20 20 20 69 66 20 28 6d | 61 73 6b 20 26 26 20 28 | if (m|ask && (|
|00001050| 6f 72 69 67 5f 74 6f 5f | 69 6e 63 6c 75 64 65 5f |orig_to_|include_|
|00001060| 6d 61 73 6b 20 26 20 6d | 61 73 6b 29 20 3d 3d 20 |mask & m|ask) == |
|00001070| 30 29 20 72 65 74 75 72 | 6e 3b 0a 58 0a 58 20 20 |0) retur|n;.X.X |
|00001080| 20 20 66 70 72 69 6e 74 | 66 28 74 2c 20 22 4f 72 | fprint|f(t, "Or|
|00001090| 69 67 2d 54 6f 3a 20 25 | 73 5c 6e 22 2c 20 74 6f |ig-To: %|s\n", to|
|000010a0| 29 3b 0a 58 20 20 20 20 | 65 64 5f 6c 69 6e 65 2b |);.X |ed_line+|
|000010b0| 2b 3b 0a 58 7d 0a 58 0a | 58 73 74 61 74 69 63 20 |+;.X}.X.|Xstatic |
|000010c0| 65 6e 64 5f 68 65 61 64 | 65 72 28 74 2c 20 65 78 |end_head|er(t, ex|
|000010d0| 74 72 61 5f 68 65 61 64 | 65 72 73 29 0a 58 46 49 |tra_head|ers).XFI|
|000010e0| 4c 45 20 2a 74 3b 0a 58 | 72 65 67 69 73 74 65 72 |LE *t;.X|register|
|000010f0| 20 63 68 61 72 20 2a 65 | 78 74 72 61 5f 68 65 61 | char *e|xtra_hea|
|00001100| 64 65 72 73 3b 0a 58 7b | 0a 58 20 20 20 20 69 66 |ders;.X{|.X if|
|00001110| 20 28 65 78 74 72 61 5f | 68 65 61 64 65 72 73 20 | (extra_|headers |
|00001120| 21 3d 20 4e 55 4c 4c 20 | 26 26 20 2a 65 78 74 72 |!= NULL |&& *extr|
|00001130| 61 5f 68 65 61 64 65 72 | 73 20 21 3d 20 4e 55 4c |a_header|s != NUL|
|00001140| 29 20 7b 0a 58 09 77 68 | 69 6c 65 20 28 2a 65 78 |) {.X.wh|ile (*ex|
|00001150| 74 72 61 5f 68 65 61 64 | 65 72 73 20 21 3d 20 4e |tra_head|ers != N|
|00001160| 55 4c 29 20 7b 0a 58 09 | 20 20 20 20 69 66 20 28 |UL) {.X.| if (|
|00001170| 2a 65 78 74 72 61 5f 68 | 65 61 64 65 72 73 20 3d |*extra_h|eaders =|
|00001180| 3d 20 27 3b 27 29 20 7b | 0a 58 09 09 69 66 20 28 |= ';') {|.X..if (|
|00001190| 2a 2b 2b 65 78 74 72 61 | 5f 68 65 61 64 65 72 73 |*++extra|_headers|
|000011a0| 20 3d 3d 20 4e 55 4c 29 | 20 62 72 65 61 6b 3b 0a | == NUL)| break;.|
|000011b0| 58 09 09 66 70 75 74 63 | 28 4e 4c 2c 20 74 29 3b |X..fputc|(NL, t);|
|000011c0| 0a 58 09 09 65 64 5f 6c | 69 6e 65 2b 2b 3b 0a 58 |.X..ed_l|ine++;.X|
|000011d0| 09 20 20 20 20 7d 20 65 | 6c 73 65 0a 58 09 09 66 |. } e|lse.X..f|
|000011e0| 70 75 74 63 28 2a 65 78 | 74 72 61 5f 68 65 61 64 |putc(*ex|tra_head|
|000011f0| 65 72 73 2b 2b 2c 20 74 | 29 3b 0a 58 09 7d 0a 58 |ers++, t|);.X.}.X|
|00001200| 09 66 70 75 74 63 28 4e | 4c 2c 20 74 29 3b 0a 58 |.fputc(N|L, t);.X|
|00001210| 09 65 64 5f 6c 69 6e 65 | 2b 2b 3b 0a 58 20 20 20 |.ed_line|++;.X |
|00001220| 20 7d 0a 58 0a 58 20 20 | 20 20 66 70 75 74 63 28 | }.X.X | fputc(|
|00001230| 4e 4c 2c 20 74 29 3b 0a | 58 20 20 20 20 65 64 5f |NL, t);.|X ed_|
|00001240| 6c 69 6e 65 2b 2b 3b 0a | 58 7d 0a 58 0a 58 0a 58 |line++;.|X}.X.X.X|
|00001250| 73 74 61 74 69 63 20 72 | 65 70 6c 79 5f 74 6f 28 |static r|eply_to(|
|00001260| 74 2c 20 61 64 64 72 65 | 73 73 29 0a 58 46 49 4c |t, addre|ss).XFIL|
|00001270| 45 20 2a 74 3b 0a 58 63 | 68 61 72 20 2a 61 64 64 |E *t;.Xc|har *add|
|00001280| 72 65 73 73 3b 0a 58 7b | 0a 58 20 20 20 20 63 68 |ress;.X{|.X ch|
|00001290| 61 72 20 72 6f 75 74 65 | 5b 35 31 32 5d 3b 0a 58 |ar route|[512];.X|
|000012a0| 0a 58 20 20 20 20 69 66 | 20 28 61 64 64 72 65 73 |.X if| (addres|
|000012b0| 73 20 3d 3d 20 4e 55 4c | 4c 29 20 72 65 74 75 72 |s == NUL|L) retur|
|000012c0| 6e 20 30 3b 0a 58 0a 58 | 20 20 20 20 69 66 20 28 |n 0;.X.X| if (|
|000012d0| 72 65 72 6f 75 74 65 28 | 72 6f 75 74 65 2c 20 61 |reroute(|route, a|
|000012e0| 64 64 72 65 73 73 29 29 | 20 7b 0a 58 09 74 6f 5f |ddress))| {.X.to_|
|000012f0| 6c 69 6e 65 28 74 2c 20 | 72 6f 75 74 65 29 3b 0a |line(t, |route);.|
|00001300| 58 09 72 65 74 75 72 6e | 20 31 3b 0a 58 20 20 20 |X.return| 1;.X |
|00001310| 20 7d 0a 58 20 20 20 20 | 72 65 74 75 72 6e 20 30 | }.X |return 0|
|00001320| 3b 0a 58 7d 0a 58 0a 58 | 0a 58 2f 2a 0a 58 20 2a |;.X}.X.X|.X/*.X *|
|00001330| 20 69 6e 76 6f 6b 65 20 | 61 75 78 20 73 68 65 6c | invoke |aux shel|
|00001340| 6c 20 73 63 72 69 70 74 | 20 77 69 74 68 20 73 75 |l script| with su|
|00001350| 69 74 61 62 6c 65 20 61 | 72 67 75 6d 65 6e 74 73 |itable a|rguments|
|00001360| 0a 58 20 2a 0a 58 20 2a | 20 57 41 52 4e 49 4e 47 |.X *.X *| WARNING|
|00001370| 3a 20 72 65 63 6f 72 64 | 20 6d 61 79 20 62 65 20 |: record| may be |
|00001380| 4e 55 4c 4c 2c 20 73 6f | 20 69 74 20 6d 75 73 74 |NULL, so| it must|
|00001390| 20 62 65 20 74 68 65 20 | 6c 61 73 74 20 61 72 67 | be the |last arg|
|000013a0| 75 6d 65 6e 74 21 21 0a | 58 20 2a 2f 0a 58 0a 58 |ument!!.|X */.X.X|
|000013b0| 73 74 61 74 69 63 20 61 | 75 78 5f 70 61 72 61 6d |static a|ux_param|
|000013c0| 5f 62 6f 6f 6c 28 66 2c | 20 6e 61 6d 65 2c 20 6f |_bool(f,| name, o|
|000013d0| 6e 29 0a 58 46 49 4c 45 | 20 2a 66 3b 0a 58 63 68 |n).XFILE| *f;.Xch|
|000013e0| 61 72 20 2a 6e 61 6d 65 | 3b 0a 58 69 6e 74 20 6f |ar *name|;.Xint o|
|000013f0| 6e 3b 0a 58 7b 0a 58 20 | 20 20 20 66 70 72 69 6e |n;.X{.X | fprin|
|00001400| 74 66 28 66 2c 20 22 25 | 73 3d 25 73 5c 6e 22 2c |tf(f, "%|s=%s\n",|
|00001410| 20 6e 61 6d 65 2c 20 6f | 6e 20 3f 20 22 74 72 75 | name, o|n ? "tru|
|00001420| 65 22 20 3a 20 22 66 61 | 6c 73 65 22 29 3b 0a 58 |e" : "fa|lse");.X|
|00001430| 7d 0a 58 0a 58 73 74 61 | 74 69 63 20 61 75 78 5f |}.X.Xsta|tic aux_|
|00001440| 70 61 72 61 6d 5f 73 74 | 72 28 66 2c 20 6e 61 6d |param_st|r(f, nam|
|00001450| 65 2c 20 73 74 72 29 0a | 58 46 49 4c 45 20 2a 66 |e, str).|XFILE *f|
|00001460| 3b 0a 58 63 68 61 72 20 | 2a 6e 61 6d 65 2c 20 2a |;.Xchar |*name, *|
|00001470| 73 74 72 3b 0a 58 7b 0a | 58 20 20 20 20 66 70 72 |str;.X{.|X fpr|
|00001480| 69 6e 74 66 28 66 2c 20 | 22 25 73 3d 27 25 73 27 |intf(f, |"%s='%s'|
|00001490| 5c 6e 22 2c 20 6e 61 6d | 65 2c 20 73 74 72 20 21 |\n", nam|e, str !|
|000014a0| 3d 20 4e 55 4c 4c 20 3f | 20 73 74 72 20 3a 20 22 |= NULL ?| str : "|
|000014b0| 22 29 3b 0a 58 7d 0a 58 | 0a 58 73 74 61 74 69 63 |");.X}.X|.Xstatic|
|000014c0| 20 61 75 78 5f 70 61 72 | 61 6d 5f 69 6e 74 28 66 | aux_par|am_int(f|
|000014d0| 2c 20 6e 61 6d 65 2c 20 | 69 29 0a 58 46 49 4c 45 |, name, |i).XFILE|
|000014e0| 20 2a 66 3b 0a 58 63 68 | 61 72 20 2a 6e 61 6d 65 | *f;.Xch|ar *name|
|000014f0| 3b 0a 58 69 6e 74 20 69 | 3b 0a 58 7b 0a 58 20 20 |;.Xint i|;.X{.X |
|00001500| 20 20 66 70 72 69 6e 74 | 66 28 66 2c 20 22 25 73 | fprint|f(f, "%s|
|00001510| 3d 25 64 5c 6e 22 2c 20 | 6e 61 6d 65 2c 20 69 29 |=%d\n", |name, i)|
|00001520| 3b 0a 58 7d 0a 58 0a 58 | 73 74 61 74 69 63 20 61 |;.X}.X.X|static a|
|00001530| 75 78 5f 73 68 28 61 68 | 2c 20 73 63 72 69 70 74 |ux_sh(ah|, script|
|00001540| 2c 20 70 72 6f 67 2c 20 | 61 63 74 69 6f 6e 2c 20 |, prog, |action, |
|00001550| 72 65 63 6f 72 64 2c 20 | 73 65 6e 74 5f 66 6d 74 |record, |sent_fmt|
|00001560| 2c 20 61 70 70 65 6e 64 | 5f 73 69 67 29 0a 58 61 |, append|_sig).Xa|
|00001570| 72 74 69 63 6c 65 5f 68 | 65 61 64 65 72 20 2a 61 |rticle_h|eader *a|
|00001580| 68 3b 0a 58 63 68 61 72 | 20 2a 73 63 72 69 70 74 |h;.Xchar| *script|
|00001590| 2c 20 2a 70 72 6f 67 2c | 20 2a 61 63 74 69 6f 6e |, *prog,| *action|
|000015a0| 2c 20 2a 72 65 63 6f 72 | 64 2c 20 2a 73 65 6e 74 |, *recor|d, *sent|
|000015b0| 5f 66 6d 74 3b 0a 58 69 | 6e 74 20 61 70 70 65 6e |_fmt;.Xi|nt appen|
|000015c0| 64 5f 73 69 67 3b 0a 58 | 7b 0a 58 20 20 20 20 46 |d_sig;.X|{.X F|
|000015d0| 49 4c 45 20 2a 70 61 72 | 61 6d 3b 0a 58 20 20 20 |ILE *par|am;.X |
|000015e0| 20 63 68 61 72 20 2a 61 | 72 67 73 5b 31 30 5d 2c | char *a|rgs[10],|
|000015f0| 20 2a 66 6e 3b 0a 58 20 | 20 20 20 72 65 67 69 73 | *fn;.X | regis|
|00001600| 74 65 72 20 63 68 61 72 | 20 2a 2a 61 70 20 3d 20 |ter char| **ap = |
|00001610| 61 72 67 73 3b 0a 58 20 | 20 20 20 69 6d 70 6f 72 |args;.X | impor|
|00001620| 74 20 69 6e 74 20 6e 6f | 76 69 63 65 3b 0a 58 20 |t int no|vice;.X |
|00001630| 20 20 20 69 6d 70 6f 72 | 74 20 63 68 61 72 20 2a | impor|t char *|
|00001640| 70 61 67 65 72 3b 0a 58 | 23 69 66 64 65 66 20 4e |pager;.X|#ifdef N|
|00001650| 4e 54 50 0a 58 20 20 20 | 20 65 78 74 65 72 6e 20 |NTP.X | extern |
|00001660| 63 68 61 72 20 2a 6e 6e | 74 70 5f 67 65 74 5f 66 |char *nn|tp_get_f|
|00001670| 69 6c 65 6e 61 6d 65 28 | 29 3b 0a 58 23 65 6e 64 |ilename(|);.X#end|
|00001680| 69 66 0a 58 0a 58 20 20 | 20 20 70 61 72 61 6d 20 |if.X.X | param |
|00001690| 3d 20 6f 70 65 6e 5f 66 | 69 6c 65 28 72 65 6c 61 |= open_f|ile(rela|
|000016a0| 74 69 76 65 28 6e 6e 5f | 64 69 72 65 63 74 6f 72 |tive(nn_|director|
|000016b0| 79 2c 20 22 2e 70 61 72 | 61 6d 22 29 2c 20 4f 50 |y, ".par|am"), OP|
|000016c0| 45 4e 5f 43 52 45 41 54 | 45 29 3b 0a 58 20 20 20 |EN_CREAT|E);.X |
|000016d0| 20 69 66 20 28 70 61 72 | 61 6d 20 3d 3d 20 4e 55 | if (par|am == NU|
|000016e0| 4c 4c 29 20 7b 0a 58 09 | 73 74 72 63 70 79 28 64 |LL) {.X.|strcpy(d|
|000016f0| 65 6c 61 79 65 64 5f 6d | 73 67 2c 20 22 63 61 6e |elayed_m|sg, "can|
|00001700| 6e 6f 74 20 63 72 65 61 | 74 65 20 2e 70 61 72 61 |not crea|te .para|
|00001710| 6d 20 66 69 6c 65 20 66 | 6f 72 20 61 75 78 20 73 |m file f|or aux s|
|00001720| 63 72 69 70 74 22 29 3b | 0a 58 09 72 65 74 75 72 |cript");|.X.retur|
|00001730| 6e 20 30 3b 0a 58 20 20 | 20 20 7d 0a 58 0a 58 20 |n 0;.X | }.X.X |
|00001740| 20 20 20 69 66 20 28 73 | 74 72 63 6d 70 28 70 72 | if (s|trcmp(pr|
|00001750| 6f 67 2c 20 22 63 61 6e | 63 65 6c 22 29 20 3d 3d |og, "can|cel") ==|
|00001760| 20 30 29 20 7b 0a 58 09 | 61 75 78 5f 70 61 72 61 | 0) {.X.|aux_para|
|00001770| 6d 5f 73 74 72 28 70 61 | 72 61 6d 2c 20 22 41 52 |m_str(pa|ram, "AR|
|00001780| 54 5f 49 44 22 2c 20 61 | 63 74 69 6f 6e 29 3b 09 |T_ID", a|ction);.|
|00001790| 2f 2a 20 61 72 74 69 63 | 6c 65 20 69 64 20 66 6f |/* artic|le id fo|
|000017a0| 72 20 63 61 6e 63 65 6c | 20 2a 2f 0a 58 09 61 75 |r cancel| */.X.au|
|000017b0| 78 5f 70 61 72 61 6d 5f | 73 74 72 28 70 61 72 61 |x_param_|str(para|
|000017c0| 6d 2c 20 22 47 52 4f 55 | 50 22 2c 20 72 65 63 6f |m, "GROU|P", reco|
|000017d0| 72 64 29 3b 09 2f 2a 20 | 67 72 6f 75 70 20 6e 61 |rd);./* |group na|
|000017e0| 6d 65 20 66 6f 72 20 63 | 61 6e 63 65 6c 20 2a 2f |me for c|ancel */|
|000017f0| 0a 58 20 20 20 20 7d 20 | 65 6c 73 65 20 7b 0a 58 |.X } |else {.X|
|00001800| 09 61 75 78 5f 70 61 72 | 61 6d 5f 73 74 72 28 70 |.aux_par|am_str(p|
|00001810| 61 72 61 6d 2c 20 22 46 | 49 52 53 54 5f 41 43 54 |aram, "F|IRST_ACT|
|00001820| 49 4f 4e 22 2c 20 61 63 | 74 69 6f 6e 29 3b 0a 58 |ION", ac|tion);.X|
|00001830| 09 61 75 78 5f 70 61 72 | 61 6d 5f 73 74 72 28 70 |.aux_par|am_str(p|
|00001840| 61 72 61 6d 2c 20 22 52 | 45 43 4f 52 44 22 2c 20 |aram, "R|ECORD", |
|00001850| 72 65 63 6f 72 64 29 3b | 0a 58 09 61 75 78 5f 70 |record);|.X.aux_p|
|00001860| 61 72 61 6d 5f 73 74 72 | 28 70 61 72 61 6d 2c 20 |aram_str|(param, |
|00001870| 22 57 4f 52 4b 22 2c 20 | 74 65 6d 70 5f 66 69 6c |"WORK", |temp_fil|
|00001880| 65 29 3b 0a 58 09 61 75 | 78 5f 70 61 72 61 6d 5f |e);.X.au|x_param_|
|00001890| 69 6e 74 28 70 61 72 61 | 6d 2c 20 22 45 44 5f 4c |int(para|m, "ED_L|
|000018a0| 49 4e 45 22 2c 20 65 64 | 5f 6c 69 6e 65 29 3b 0a |INE", ed|_line);.|
|000018b0| 58 0a 58 09 61 75 78 5f | 70 61 72 61 6d 5f 62 6f |X.X.aux_|param_bo|
|000018c0| 6f 6c 28 70 61 72 61 6d | 2c 20 22 4e 4f 56 49 43 |ol(param|, "NOVIC|
|000018d0| 45 22 2c 20 6e 6f 76 69 | 63 65 29 3b 0a 58 09 61 |E", novi|ce);.X.a|
|000018e0| 75 78 5f 70 61 72 61 6d | 5f 62 6f 6f 6c 28 70 61 |ux_param|_bool(pa|
|000018f0| 72 61 6d 2c 20 22 45 4d | 50 54 59 5f 43 48 45 43 |ram, "EM|PTY_CHEC|
|00001900| 4b 22 2c 20 65 6d 70 74 | 79 5f 61 6e 73 77 65 72 |K", empt|y_answer|
|00001910| 5f 63 68 65 63 6b 29 3b | 0a 58 09 61 75 78 5f 70 |_check);|.X.aux_p|
|00001920| 61 72 61 6d 5f 62 6f 6f | 6c 28 70 61 72 61 6d 2c |aram_boo|l(param,|
|00001930| 20 22 41 50 50 45 4e 44 | 5f 53 49 47 22 2c 20 61 | "APPEND|_SIG", a|
|00001940| 70 70 65 6e 64 5f 73 69 | 67 29 3b 0a 58 09 61 75 |ppend_si|g);.X.au|
|00001950| 78 5f 70 61 72 61 6d 5f | 62 6f 6f 6c 28 70 61 72 |x_param_|bool(par|
|00001960| 61 6d 2c 20 22 51 55 45 | 52 59 5f 53 49 47 22 2c |am, "QUE|RY_SIG",|
|00001970| 20 61 70 70 65 6e 64 5f | 73 69 67 20 26 26 20 71 | append_|sig && q|
|00001980| 75 65 72 79 5f 73 69 67 | 6e 61 74 75 72 65 29 3b |uery_sig|nature);|
|00001990| 0a 58 0a 58 09 69 66 20 | 28 65 64 69 74 6f 72 5f |.X.X.if |(editor_|
|000019a0| 70 72 6f 67 72 61 6d 20 | 21 3d 20 4e 55 4c 4c 29 |program |!= NULL)|
|000019b0| 0a 58 09 20 20 20 20 61 | 75 78 5f 70 61 72 61 6d |.X. a|ux_param|
|000019c0| 5f 73 74 72 28 70 61 72 | 61 6d 2c 20 22 45 44 49 |_str(par|am, "EDI|
|000019d0| 54 4f 52 22 2c 20 65 64 | 69 74 6f 72 5f 70 72 6f |TOR", ed|itor_pro|
|000019e0| 67 72 61 6d 29 3b 0a 58 | 09 61 75 78 5f 70 61 72 |gram);.X|.aux_par|
|000019f0| 61 6d 5f 73 74 72 28 70 | 61 72 61 6d 2c 20 22 53 |am_str(p|aram, "S|
|00001a00| 50 45 4c 4c 5f 43 48 45 | 43 4b 45 52 22 2c 20 73 |PELL_CHE|CKER", s|
|00001a10| 70 65 6c 6c 5f 63 68 65 | 63 6b 65 72 29 3b 0a 58 |pell_che|cker);.X|
|00001a20| 09 61 75 78 5f 70 61 72 | 61 6d 5f 73 74 72 28 70 |.aux_par|am_str(p|
|00001a30| 61 72 61 6d 2c 20 22 50 | 41 47 45 52 22 2c 20 70 |aram, "P|AGER", p|
|00001a40| 61 67 65 72 29 3b 0a 58 | 09 61 75 78 5f 70 61 72 |ager);.X|.aux_par|
|00001a50| 61 6d 5f 73 74 72 28 70 | 61 72 61 6d 2c 20 22 4d |am_str(p|aram, "M|
|00001a60| 41 49 4c 45 52 22 2c 20 | 6d 61 69 6c 65 72 5f 70 |AILER", |mailer_p|
|00001a70| 72 6f 67 72 61 6d 29 3b | 0a 58 09 61 75 78 5f 70 |rogram);|.X.aux_p|
|00001a80| 61 72 61 6d 5f 62 6f 6f | 6c 28 70 61 72 61 6d 2c |aram_boo|l(param,|
|00001a90| 20 22 4d 41 49 4c 45 52 | 5f 50 49 50 45 22 2c 20 | "MAILER|_PIPE", |
|00001aa0| 6d 61 69 6c 65 72 5f 70 | 69 70 65 5f 69 6e 70 75 |mailer_p|ipe_inpu|
|00001ab0| 74 29 3b 0a 58 09 61 75 | 78 5f 70 61 72 61 6d 5f |t);.X.au|x_param_|
|00001ac0| 69 6e 74 28 70 61 72 61 | 6d 2c 20 22 57 41 49 54 |int(para|m, "WAIT|
|00001ad0| 5f 50 45 52 49 4f 44 22 | 2c 20 72 65 73 70 6f 6e |_PERIOD"|, respon|
|00001ae0| 73 65 5f 63 68 65 63 6b | 5f 70 61 75 73 65 29 3b |se_check|_pause);|
|00001af0| 0a 58 09 61 75 78 5f 70 | 61 72 61 6d 5f 73 74 72 |.X.aux_p|aram_str|
|00001b00| 28 70 61 72 61 6d 2c 20 | 22 44 46 4c 54 5f 41 4e |(param, |"DFLT_AN|
|00001b10| 53 57 22 2c 20 72 65 73 | 70 6f 6e 73 65 5f 64 66 |SW", res|ponse_df|
|00001b20| 6c 74 5f 61 6e 73 77 65 | 72 29 3b 0a 58 0a 58 09 |lt_answe|r);.X.X.|
|00001b30| 69 66 20 28 63 75 72 72 | 65 6e 74 5f 67 72 6f 75 |if (curr|ent_grou|
|00001b40| 70 20 21 3d 20 4e 55 4c | 4c 29 20 7b 0a 58 09 20 |p != NUL|L) {.X. |
|00001b50| 20 20 20 61 75 78 5f 70 | 61 72 61 6d 5f 73 74 72 | aux_p|aram_str|
|00001b60| 28 70 61 72 61 6d 2c 20 | 22 47 22 2c 20 63 75 72 |(param, |"G", cur|
|00001b70| 72 65 6e 74 5f 67 72 6f | 75 70 2d 3e 67 72 6f 75 |rent_gro|up->grou|
|00001b80| 70 5f 6e 61 6d 65 29 3b | 0a 58 09 20 20 20 20 69 |p_name);|.X. i|
|00001b90| 66 20 28 61 68 20 3d 3d | 20 4e 55 4c 4c 29 0a 58 |f (ah ==| NULL).X|
|00001ba0| 09 09 66 6e 20 3d 20 4e | 55 4c 4c 3b 0a 58 09 20 |..fn = N|ULL;.X. |
|00001bb0| 20 20 20 65 6c 73 65 0a | 58 23 69 66 64 65 66 20 | else.|X#ifdef |
|00001bc0| 4e 4e 54 50 0a 58 09 20 | 20 20 20 69 66 20 28 75 |NNTP.X. | if (u|
|00001bd0| 73 65 5f 6e 6e 74 70 29 | 0a 58 09 09 66 6e 20 3d |se_nntp)|.X..fn =|
|00001be0| 20 6e 6e 74 70 5f 67 65 | 74 5f 66 69 6c 65 6e 61 | nntp_ge|t_filena|
|00001bf0| 6d 65 28 61 68 2d 3e 61 | 5f 6e 75 6d 62 65 72 2c |me(ah->a|_number,|
|00001c00| 20 63 75 72 72 65 6e 74 | 5f 67 72 6f 75 70 29 3b | current|_group);|
|00001c10| 0a 58 09 20 20 20 20 65 | 6c 73 65 0a 58 23 65 6e |.X. e|lse.X#en|
|00001c20| 64 69 66 0a 58 09 09 66 | 6e 20 3d 20 67 72 6f 75 |dif.X..f|n = grou|
|00001c30| 70 5f 70 61 74 68 5f 6e | 61 6d 65 3b 0a 58 09 20 |p_path_n|ame;.X. |
|00001c40| 20 20 20 61 75 78 5f 70 | 61 72 61 6d 5f 73 74 72 | aux_p|aram_str|
|00001c50| 28 70 61 72 61 6d 2c 20 | 22 41 22 2c 20 66 6e 20 |(param, |"A", fn |
|00001c60| 21 3d 20 4e 55 4c 4c 20 | 3f 20 66 6e 20 3a 20 22 |!= NULL |? fn : "|
|00001c70| 22 29 3b 0a 58 09 7d 0a | 58 0a 58 09 2f 2a 0a 58 |");.X.}.|X.X./*.X|
|00001c80| 09 61 75 78 5f 70 61 72 | 61 6d 5f 73 74 72 28 70 |.aux_par|am_str(p|
|00001c90| 61 72 61 6d 2c 20 22 22 | 2c 20 29 3b 0a 58 09 61 |aram, ""|, );.X.a|
|00001ca0| 75 78 5f 70 61 72 61 6d | 5f 62 6f 6f 6c 28 70 61 |ux_param|_bool(pa|
|00001cb0| 72 61 6d 2c 20 22 22 2c | 20 29 3b 0a 58 09 61 75 |ram, "",| );.X.au|
|00001cc0| 78 5f 70 61 72 61 6d 5f | 69 6e 74 28 70 61 72 61 |x_param_|int(para|
|00001cd0| 6d 2c 20 22 22 2c 20 29 | 3b 0a 58 09 2a 2f 0a 58 |m, "", )|;.X.*/.X|
|00001ce0| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 66 63 6c | }.X.|X fcl|
|00001cf0| 6f 73 65 28 70 61 72 61 | 6d 29 3b 0a 58 0a 58 20 |ose(para|m);.X.X |
|00001d00| 20 20 20 73 74 6f 70 5f | 75 73 61 67 65 28 29 3b | stop_|usage();|
|00001d10| 0a 58 0a 58 20 20 20 20 | 2f 2a 20 4f 42 53 3a 20 |.X.X |/* OBS: |
|00001d20| 72 65 6c 61 74 69 76 65 | 28 29 20 72 65 74 75 72 |relative|() retur|
|00001d30| 6e 73 20 70 74 72 20 74 | 6f 20 73 74 61 74 69 63 |ns ptr t|o static|
|00001d40| 20 64 61 74 61 20 62 65 | 6c 6f 77 20 2a 2f 0a 58 | data be|low */.X|
|00001d50| 20 20 20 20 2a 61 70 2b | 2b 20 3d 20 22 6e 6e 61 | *ap+|+ = "nna|
|00001d60| 75 78 22 3b 0a 58 20 20 | 20 20 2a 61 70 2b 2b 20 |ux";.X | *ap++ |
|00001d70| 3d 20 73 63 72 69 70 74 | 20 21 3d 20 4e 55 4c 4c |= script| != NULL|
|00001d80| 20 3f 20 73 63 72 69 70 | 74 20 3a 20 72 65 6c 61 | ? scrip|t : rela|
|00001d90| 74 69 76 65 28 6c 69 62 | 5f 64 69 72 65 63 74 6f |tive(lib|_directo|
|00001da0| 72 79 2c 20 22 61 75 78 | 22 29 3b 0a 58 20 20 20 |ry, "aux|");.X |
|00001db0| 20 2a 61 70 2b 2b 20 3d | 20 70 72 6f 67 3b 0a 58 | *ap++ =| prog;.X|
|00001dc0| 20 20 20 20 2a 61 70 2b | 2b 20 3d 20 4e 55 4c 4c | *ap+|+ = NULL|
|00001dd0| 3b 0a 58 0a 58 20 20 20 | 20 69 66 20 28 65 78 65 |;.X.X | if (exe|
|00001de0| 63 75 74 65 28 53 48 45 | 4c 4c 2c 20 61 72 67 73 |cute(SHE|LL, args|
|00001df0| 2c 20 31 29 29 20 7b 0a | 58 09 73 70 72 69 6e 74 |, 1)) {.|X.sprint|
|00001e00| 66 28 64 65 6c 61 79 65 | 64 5f 6d 73 67 2c 20 73 |f(delaye|d_msg, s|
|00001e10| 65 6e 74 5f 66 6d 74 2c | 20 22 20 6e 6f 74 22 29 |ent_fmt,| " not")|
|00001e20| 3b 0a 58 09 72 65 74 75 | 72 6e 20 31 3b 0a 58 20 |;.X.retu|rn 1;.X |
|00001e30| 20 20 20 7d 0a 58 20 20 | 20 20 73 70 72 69 6e 74 | }.X | sprint|
|00001e40| 66 28 64 65 6c 61 79 65 | 64 5f 6d 73 67 2c 20 73 |f(delaye|d_msg, s|
|00001e50| 65 6e 74 5f 66 6d 74 2c | 20 22 22 29 3b 0a 58 20 |ent_fmt,| "");.X |
|00001e60| 20 20 20 72 65 74 75 72 | 6e 20 30 3b 0a 58 7d 0a | retur|n 0;.X}.|
|00001e70| 58 0a 58 73 74 61 74 69 | 63 20 61 70 70 65 6e 64 |X.Xstati|c append|
|00001e80| 5f 66 69 6c 65 28 6e 61 | 6d 65 2c 20 66 29 0a 58 |_file(na|me, f).X|
|00001e90| 63 68 61 72 20 2a 6e 61 | 6d 65 3b 0a 58 72 65 67 |char *na|me;.Xreg|
|00001ea0| 69 73 74 65 72 20 46 49 | 4c 45 20 2a 66 3b 0a 58 |ister FI|LE *f;.X|
|00001eb0| 7b 0a 58 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |{.X r|egister |
|00001ec0| 46 49 4c 45 20 2a 73 3b | 0a 58 20 20 20 20 72 65 |FILE *s;|.X re|
|00001ed0| 67 69 73 74 65 72 20 69 | 6e 74 20 63 3b 0a 58 20 |gister i|nt c;.X |
|00001ee0| 20 20 20 0a 58 20 20 20 | 20 73 20 3d 20 6f 70 65 | .X | s = ope|
|00001ef0| 6e 5f 66 69 6c 65 28 6e | 61 6d 65 2c 20 4f 50 45 |n_file(n|ame, OPE|
|00001f00| 4e 5f 52 45 41 44 29 3b | 0a 58 20 20 20 20 69 66 |N_READ);|.X if|
|00001f10| 20 28 73 20 3d 3d 20 4e | 55 4c 4c 29 20 72 65 74 | (s == N|ULL) ret|
|00001f20| 75 72 6e 3b 0a 58 20 20 | 20 20 0a 58 20 20 20 20 |urn;.X | .X |
|00001f30| 77 68 69 6c 65 20 28 28 | 63 20 3d 20 67 65 74 63 |while ((|c = getc|
|00001f40| 28 73 29 29 20 21 3d 20 | 45 4f 46 29 20 70 75 74 |(s)) != |EOF) put|
|00001f50| 63 28 63 2c 20 66 29 3b | 0a 58 20 20 20 20 66 63 |c(c, f);|.X fc|
|00001f60| 6c 6f 73 65 28 73 29 3b | 0a 58 7d 0a 58 0a 58 61 |lose(s);|.X}.X.Xa|
|00001f70| 6e 73 77 65 72 28 61 68 | 2c 20 63 6f 6d 6d 61 6e |nswer(ah|, comman|
|00001f80| 64 2c 20 69 6e 63 6c 29 | 0a 58 61 72 74 69 63 6c |d, incl)|.Xarticl|
|00001f90| 65 5f 68 65 61 64 65 72 | 20 2a 61 68 3b 0a 58 69 |e_header| *ah;.Xi|
|00001fa0| 6e 74 20 63 6f 6d 6d 61 | 6e 64 3b 0a 58 69 6e 74 |nt comma|nd;.Xint|
|00001fb0| 20 69 6e 63 6c 3b 09 2f | 2a 20 3c 30 3a 20 61 73 | incl;./|* <0: as|
|00001fc0| 6b 2c 20 30 3a 20 64 6f | 6e 27 74 20 69 6e 63 6c |k, 0: do|n't incl|
|00001fd0| 75 64 65 2c 20 3e 30 3a | 20 69 6e 63 6c 75 64 65 |ude, >0:| include|
|00001fe0| 20 61 72 74 69 63 6c 65 | 20 2a 2f 0a 58 7b 0a 58 | article| */.X{.X|
|00001ff0| 20 20 20 20 72 65 67 69 | 73 74 65 72 20 46 49 4c | regi|ster FIL|
|00002000| 45 20 2a 74 2c 20 2a 61 | 72 74 3b 0a 58 20 20 20 |E *t, *a|rt;.X |
|00002010| 20 63 68 61 72 20 2a 70 | 67 6d 2c 20 2a 66 69 72 | char *p|gm, *fir|
|00002020| 73 74 5f 61 63 74 69 6f | 6e 2c 20 2a 72 65 63 6f |st_actio|n, *reco|
|00002030| 72 64 5f 66 69 6c 65 3b | 0a 58 20 20 20 20 69 6e |rd_file;|.X in|
|00002040| 74 20 65 64 69 74 5f 6d | 65 73 73 61 67 65 2c 20 |t edit_m|essage, |
|00002050| 61 70 70 65 6e 64 5f 73 | 69 67 3b 0a 58 20 20 20 |append_s|ig;.X |
|00002060| 20 63 68 61 72 20 2a 73 | 74 72 2c 20 2a 73 63 72 | char *s|tr, *scr|
|00002070| 69 70 74 3b 0a 58 20 20 | 20 20 6e 65 77 73 5f 68 |ipt;.X | news_h|
|00002080| 65 61 64 65 72 5f 62 75 | 66 66 65 72 20 6e 68 62 |eader_bu|ffer nhb|
|00002090| 75 66 2c 20 64 68 62 75 | 66 3b 0a 58 0a 58 20 20 |uf, dhbu|f;.X.X |
|000020a0| 20 20 66 69 72 73 74 5f | 61 63 74 69 6f 6e 20 3d | first_|action =|
|000020b0| 20 22 65 64 69 74 22 3b | 0a 58 20 20 20 20 65 64 | "edit";|.X ed|
|000020c0| 69 74 5f 6d 65 73 73 61 | 67 65 20 3d 20 31 3b 0a |it_messa|ge = 1;.|
|000020d0| 58 20 20 20 20 61 70 70 | 65 6e 64 5f 73 69 67 20 |X app|end_sig |
|000020e0| 3d 20 30 3b 0a 58 0a 58 | 20 20 20 20 69 66 20 28 |= 0;.X.X| if (|
|000020f0| 69 6e 63 6c 20 3c 20 30 | 29 20 7b 0a 58 09 70 72 |incl < 0|) {.X.pr|
|00002100| 6f 6d 70 74 28 22 49 6e | 63 6c 75 64 65 20 6f 72 |ompt("In|clude or|
|00002110| 69 67 69 6e 61 6c 20 61 | 72 74 69 63 6c 65 3f 20 |iginal a|rticle? |
|00002120| 22 29 3b 0a 58 09 69 66 | 20 28 28 69 6e 63 6c 20 |");.X.if| ((incl |
|00002130| 3d 20 79 65 73 28 30 29 | 29 20 3c 20 30 29 20 72 |= yes(0)|) < 0) r|
|00002140| 65 74 75 72 6e 20 30 3b | 0a 58 20 20 20 20 7d 0a |eturn 0;|.X }.|
|00002150| 58 0a 58 20 20 20 20 61 | 72 74 20 3d 20 4e 55 4c |X.X a|rt = NUL|
|00002160| 4c 3b 0a 58 20 20 20 20 | 69 66 20 28 61 68 20 26 |L;.X |if (ah &|
|00002170| 26 20 61 68 2d 3e 61 5f | 67 72 6f 75 70 29 20 69 |& ah->a_|group) i|
|00002180| 6e 69 74 5f 67 72 6f 75 | 70 28 61 68 2d 3e 61 5f |nit_grou|p(ah->a_|
|00002190| 67 72 6f 75 70 29 3b 0a | 58 0a 58 20 20 20 20 69 |group);.|X.X i|
|000021a0| 66 20 28 69 6e 63 6c 20 | 7c 7c 20 28 63 6f 6d 6d |f (incl ||| (comm|
|000021b0| 61 6e 64 20 21 3d 20 4b | 5f 4d 41 49 4c 5f 4f 52 |and != K|_MAIL_OR|
|000021c0| 5f 46 4f 52 57 41 52 44 | 20 26 26 20 63 6f 6d 6d |_FORWARD| && comm|
|000021d0| 61 6e 64 20 21 3d 20 4b | 5f 42 55 47 5f 52 45 50 |and != K|_BUG_REP|
|000021e0| 4f 52 54 29 29 20 7b 0a | 58 09 69 6e 74 20 6f 70 |ORT)) {.|X.int op|
|000021f0| 65 6e 5f 6d 6f 64 65 73 | 3b 0a 58 0a 58 09 6f 70 |en_modes|;.X.X.op|
|00002200| 65 6e 5f 6d 6f 64 65 73 | 20 3d 20 46 49 4c 4c 5f |en_modes| = FILL_|
|00002210| 4e 45 57 53 5f 48 45 41 | 44 45 52 20 7c 20 47 45 |NEWS_HEA|DER | GE|
|00002220| 54 5f 41 4c 4c 5f 46 49 | 45 4c 44 53 20 7c 20 53 |T_ALL_FI|ELDS | S|
|00002230| 4b 49 50 5f 48 45 41 44 | 45 52 3b 0a 58 09 69 66 |KIP_HEAD|ER;.X.if|
|00002240| 20 28 61 68 2d 3e 66 6c | 61 67 20 26 20 41 5f 44 | (ah->fl|ag & A_D|
|00002250| 49 47 45 53 54 29 20 6f | 70 65 6e 5f 6d 6f 64 65 |IGEST) o|pen_mode|
|00002260| 73 20 7c 3d 20 46 49 4c | 4c 5f 44 49 47 45 53 54 |s |= FIL|L_DIGEST|
|00002270| 5f 48 45 41 44 45 52 3b | 0a 58 0a 58 09 61 72 74 |_HEADER;|.X.X.art|
|00002280| 20 3d 20 6f 70 65 6e 5f | 6e 65 77 73 5f 61 72 74 | = open_|news_art|
|00002290| 69 63 6c 65 28 61 68 2c | 20 6f 70 65 6e 5f 6d 6f |icle(ah,| open_mo|
|000022a0| 64 65 73 2c 20 6e 68 62 | 75 66 2c 20 64 68 62 75 |des, nhb|uf, dhbu|
|000022b0| 66 29 3b 0a 58 09 69 66 | 20 28 61 72 74 20 3d 3d |f);.X.if| (art ==|
|000022c0| 20 4e 55 4c 4c 29 20 7b | 0a 58 09 20 20 20 20 6d | NULL) {|.X. m|
|000022d0| 73 67 28 22 43 61 6e 27 | 74 20 66 69 6e 64 20 6f |sg("Can'|t find o|
|000022e0| 72 69 67 69 6e 61 6c 20 | 61 72 74 69 63 6c 65 22 |riginal |article"|
|000022f0| 29 3b 0a 58 09 20 20 20 | 20 72 65 74 75 72 6e 20 |);.X. | return |
|00002300| 30 3b 0a 58 09 7d 0a 58 | 0a 58 09 69 66 20 28 61 |0;.X.}.X|.X.if (a|
|00002310| 68 2d 3e 66 6c 61 67 20 | 26 20 41 5f 44 49 47 45 |h->flag |& A_DIGE|
|00002320| 53 54 29 20 7b 0a 58 09 | 20 20 20 20 69 66 20 28 |ST) {.X.| if (|
|00002330| 64 69 67 65 73 74 2e 64 | 67 5f 66 72 6f 6d 29 0a |digest.d|g_from).|
|00002340| 58 09 09 6e 65 77 73 2e | 6e 67 5f 70 61 74 68 20 |X..news.|ng_path |
|00002350| 3d 20 6e 65 77 73 2e 6e | 67 5f 66 72 6f 6d 20 3d |= news.n|g_from =|
|00002360| 20 64 69 67 65 73 74 2e | 64 67 5f 66 72 6f 6d 3b | digest.|dg_from;|
|00002370| 0a 58 09 20 20 20 20 69 | 66 20 28 64 69 67 65 73 |.X. i|f (diges|
|00002380| 74 2e 64 67 5f 73 75 62 | 6a 29 0a 58 09 09 6e 65 |t.dg_sub|j).X..ne|
|00002390| 77 73 2e 6e 67 5f 73 75 | 62 6a 20 3d 20 64 69 67 |ws.ng_su|bj = dig|
|000023a0| 65 73 74 2e 64 67 5f 73 | 75 62 6a 3b 0a 58 09 7d |est.dg_s|ubj;.X.}|
|000023b0| 0a 58 20 20 20 20 7d 20 | 65 6c 73 65 0a 58 09 61 |.X } |else.X.a|
|000023c0| 68 20 3d 20 4e 55 4c 4c | 3b 0a 58 0a 58 20 20 20 |h = NULL|;.X.X |
|000023d0| 20 2f 2a 20 62 75 69 6c | 64 20 68 65 61 64 65 72 | /* buil|d header|
|000023e0| 20 2a 2f 0a 58 20 20 20 | 20 6e 65 77 5f 74 65 6d | */.X | new_tem|
|000023f0| 70 5f 66 69 6c 65 28 29 | 3b 0a 58 0a 58 20 20 20 |p_file()|;.X.X |
|00002400| 20 69 66 20 28 28 74 20 | 3d 20 6f 70 65 6e 5f 66 | if ((t |= open_f|
|00002410| 69 6c 65 28 74 65 6d 70 | 5f 66 69 6c 65 2c 20 4f |ile(temp|_file, O|
|00002420| 50 45 4e 5f 43 52 45 41 | 54 45 29 29 20 3d 3d 20 |PEN_CREA|TE)) == |
|00002430| 4e 55 4c 4c 29 20 7b 0a | 58 09 6d 73 67 28 22 43 |NULL) {.|X.msg("C|
|00002440| 61 6e 27 74 20 63 72 65 | 61 74 65 20 25 73 22 2c |an't cre|ate %s",|
|00002450| 20 74 65 6d 70 5f 66 69 | 6c 65 29 3b 0a 58 09 72 | temp_fi|le);.X.r|
|00002460| 65 74 75 72 6e 20 30 3b | 0a 58 20 20 20 20 7d 0a |eturn 0;|.X }.|
|00002470| 58 0a 58 20 20 20 20 65 | 64 5f 6c 69 6e 65 20 3d |X.X e|d_line =|
|00002480| 20 30 3b 0a 58 0a 58 20 | 66 6f 6c 6c 6f 77 5f 74 | 0;.X.X |follow_t|
|00002490| 6f 5f 70 6f 73 74 65 72 | 3a 0a 58 0a 58 20 20 20 |o_poster|:.X.X |
|000024a0| 20 72 65 63 6f 72 64 5f | 66 69 6c 65 20 3d 20 6d | record_|file = m|
|000024b0| 61 69 6c 5f 72 65 63 6f | 72 64 3b 0a 58 20 20 20 |ail_reco|rd;.X |
|000024c0| 20 73 63 72 69 70 74 20 | 3d 20 6d 61 69 6c 5f 73 | script |= mail_s|
|000024d0| 63 72 69 70 74 3b 0a 58 | 0a 58 20 20 20 20 69 66 |cript;.X|.X if|
|000024e0| 20 28 63 6f 6d 6d 61 6e | 64 20 3d 3d 20 4b 5f 52 | (comman|d == K_R|
|000024f0| 45 50 4c 59 29 20 7b 0a | 58 09 70 67 6d 20 3d 20 |EPLY) {.|X.pgm = |
|00002500| 22 72 65 70 6c 79 22 3b | 0a 58 09 61 70 70 65 6e |"reply";|.X.appen|
|00002510| 64 5f 73 69 67 20 3d 20 | 61 70 70 65 6e 64 5f 73 |d_sig = |append_s|
|00002520| 69 67 5f 6d 61 69 6c 3b | 0a 58 0a 58 09 61 68 2d |ig_mail;|.X.X.ah-|
|00002530| 3e 66 6c 61 67 20 7c 3d | 20 41 5f 53 54 5f 52 45 |>flag |=| A_ST_RE|
|00002540| 50 4c 59 3b 0a 58 0a 58 | 09 69 66 20 28 72 65 70 |PLY;.X.X|.if (rep|
|00002550| 6c 79 5f 74 6f 28 74 2c | 20 6e 65 77 73 2e 6e 67 |ly_to(t,| news.ng|
|00002560| 5f 72 65 70 6c 79 29 20 | 7c 7c 0a 58 09 20 20 20 |_reply) |||.X. |
|00002570| 20 72 65 70 6c 79 5f 74 | 6f 28 74 2c 20 6e 65 77 | reply_t|o(t, new|
|00002580| 73 2e 6e 67 5f 66 72 6f | 6d 29 20 7c 7c 0a 58 09 |s.ng_fro|m) ||.X.|
|00002590| 20 20 20 20 72 65 70 6c | 79 5f 74 6f 28 74 2c 20 | repl|y_to(t, |
|000025a0| 6e 65 77 73 2e 6e 67 5f | 70 61 74 68 29 29 20 67 |news.ng_|path)) g|
|000025b0| 6f 74 6f 20 61 6c 74 30 | 3b 0a 58 09 69 66 20 28 |oto alt0|;.X.if (|
|000025c0| 74 6f 5f 6c 69 6e 65 28 | 74 2c 20 6e 65 77 73 2e |to_line(|t, news.|
|000025d0| 6e 67 5f 72 65 70 6c 79 | 29 29 20 67 6f 74 6f 20 |ng_reply|)) goto |
|000025e0| 61 6c 74 31 3b 0a 58 09 | 69 66 20 28 74 6f 5f 6c |alt1;.X.|if (to_l|
|000025f0| 69 6e 65 28 74 2c 20 6e | 65 77 73 2e 6e 67 5f 66 |ine(t, n|ews.ng_f|
|00002600| 72 6f 6d 29 29 20 67 6f | 74 6f 20 61 6c 74 32 3b |rom)) go|to alt2;|
|00002610| 0a 58 09 69 66 20 28 74 | 6f 5f 6c 69 6e 65 28 74 |.X.if (t|o_line(t|
|00002620| 2c 20 6e 65 77 73 2e 6e | 67 5f 70 61 74 68 29 29 |, news.n|g_path))|
|00002630| 20 67 6f 74 6f 20 61 6c | 74 33 3b 0a 58 09 67 6f | goto al|t3;.X.go|
|00002640| 74 6f 20 65 72 72 3b 0a | 58 0a 58 20 20 20 20 20 |to err;.|X.X |
|00002650| 61 6c 74 30 3a 0a 58 09 | 61 6c 74 5f 74 6f 5f 6c |alt0:.X.|alt_to_l|
|00002660| 69 6e 65 28 74 2c 20 6e | 65 77 73 2e 6e 67 5f 72 |ine(t, n|ews.ng_r|
|00002670| 65 70 6c 79 2c 20 30 78 | 31 29 3b 0a 58 20 20 20 |eply, 0x|1);.X |
|00002680| 20 20 61 6c 74 31 3a 0a | 58 09 61 6c 74 5f 74 6f | alt1:.|X.alt_to|
|00002690| 5f 6c 69 6e 65 28 74 2c | 20 6e 65 77 73 2e 6e 67 |_line(t,| news.ng|
|000026a0| 5f 66 72 6f 6d 2c 20 30 | 78 32 29 3b 0a 58 20 20 |_from, 0|x2);.X |
|000026b0| 20 20 20 61 6c 74 32 3a | 0a 58 09 61 6c 74 5f 74 | alt2:|.X.alt_t|
|000026c0| 6f 5f 6c 69 6e 65 28 74 | 2c 20 6e 65 77 73 2e 6e |o_line(t|, news.n|
|000026d0| 67 5f 70 61 74 68 2c 20 | 30 78 34 29 3b 0a 58 20 |g_path, |0x4);.X |
|000026e0| 20 20 20 20 61 6c 74 33 | 3a 0a 58 0a 58 09 69 66 | alt3|:.X.X.if|
|000026f0| 20 28 6e 65 77 73 2e 6e | 67 5f 73 75 62 6a 29 0a | (news.n|g_subj).|
|00002700| 58 09 20 20 20 20 73 75 | 62 6a 5f 6c 69 6e 65 28 |X. su|bj_line(|
|00002710| 74 2c 20 61 68 2d 3e 72 | 65 70 6c 69 65 73 2c 20 |t, ah->r|eplies, |
|00002720| 61 68 2d 3e 73 75 62 6a | 65 63 74 2c 20 28 63 68 |ah->subj|ect, (ch|
|00002730| 61 72 20 2a 29 4e 55 4c | 4c 29 3b 0a 58 09 65 6c |ar *)NUL|L);.X.el|
|00002740| 73 65 0a 58 09 20 20 20 | 20 73 75 62 6a 5f 6c 69 |se.X. | subj_li|
|00002750| 6e 65 28 74 2c 20 30 2c | 20 63 75 72 72 65 6e 74 |ne(t, 0,| current|
|00002760| 5f 67 72 6f 75 70 2d 3e | 67 72 6f 75 70 5f 6e 61 |_group->|group_na|
|00002770| 6d 65 2c 20 22 59 6f 75 | 72 20 41 72 74 69 63 6c |me, "You|r Articl|
|00002780| 65 20 69 6e 22 29 3b 0a | 58 0a 58 09 6e 67 5f 6c |e in");.|X.X.ng_l|
|00002790| 69 6e 65 28 74 2c 20 30 | 29 3b 0a 58 09 72 65 66 |ine(t, 0|);.X.ref|
|000027a0| 5f 6c 69 6e 65 28 74 29 | 3b 0a 58 0a 58 09 65 6e |_line(t)|;.X.X.en|
|000027b0| 64 5f 68 65 61 64 65 72 | 28 74 2c 20 65 78 74 72 |d_header|(t, extr|
|000027c0| 61 5f 6d 61 69 6c 5f 68 | 65 61 64 65 72 73 29 3b |a_mail_h|eaders);|
|000027d0| 0a 58 0a 58 09 69 66 20 | 28 69 6e 63 6c 29 20 7b |.X.X.if |(incl) {|
|000027e0| 0a 58 09 20 20 20 20 66 | 70 72 69 6e 74 66 28 74 |.X. f|printf(t|
|000027f0| 2c 20 22 49 6e 20 25 73 | 20 79 6f 75 20 77 72 69 |, "In %s| you wri|
|00002800| 74 65 3a 5c 6e 22 2c 20 | 63 75 72 72 65 6e 74 5f |te:\n", |current_|
|00002810| 67 72 6f 75 70 2d 3e 67 | 72 6f 75 70 5f 6e 61 6d |group->g|roup_nam|
|00002820| 65 29 3b 0a 58 09 20 20 | 20 20 65 64 5f 6c 69 6e |e);.X. | ed_lin|
|00002830| 65 2b 2b 3b 0a 58 09 7d | 0a 58 20 20 20 20 7d 0a |e++;.X.}|.X }.|
|00002840| 58 0a 58 20 20 20 20 69 | 66 20 28 63 6f 6d 6d 61 |X.X i|f (comma|
|00002850| 6e 64 20 3d 3d 20 4b 5f | 46 4f 4c 4c 4f 57 5f 55 |nd == K_|FOLLOW_U|
|00002860| 50 29 20 7b 0a 58 09 69 | 66 20 28 6e 65 77 73 2e |P) {.X.i|f (news.|
|00002870| 6e 67 5f 66 6f 6c 6c 6f | 77 20 26 26 20 73 74 72 |ng_follo|w && str|
|00002880| 63 6d 70 28 6e 65 77 73 | 2e 6e 67 5f 66 6f 6c 6c |cmp(news|.ng_foll|
|00002890| 6f 77 2c 20 22 70 6f 73 | 74 65 72 22 29 20 3d 3d |ow, "pos|ter") ==|
|000028a0| 20 30 29 20 7b 0a 58 09 | 20 20 20 20 63 6f 6d 6d | 0) {.X.| comm|
|000028b0| 61 6e 64 20 3d 20 4b 5f | 52 45 50 4c 59 3b 0a 58 |and = K_|REPLY;.X|
|000028c0| 09 20 20 20 20 6d 73 67 | 28 22 46 6f 6c 6c 6f 77 |. msg|("Follow|
|000028d0| 75 70 20 62 79 20 72 65 | 70 6c 79 20 74 6f 20 70 |up by re|ply to p|
|000028e0| 6f 73 74 65 72 22 29 3b | 0a 58 09 20 20 20 20 67 |oster");|.X. g|
|000028f0| 6f 74 6f 20 66 6f 6c 6c | 6f 77 5f 74 6f 5f 70 6f |oto foll|ow_to_po|
|00002900| 73 74 65 72 3b 0a 58 09 | 7d 0a 58 0a 58 09 70 67 |ster;.X.|}.X.X.pg|
|00002910| 6d 20 3d 20 22 66 6f 6c | 6c 6f 77 22 3b 0a 58 09 |m = "fol|low";.X.|
|00002920| 72 65 63 6f 72 64 5f 66 | 69 6c 65 20 3d 20 6e 65 |record_f|ile = ne|
|00002930| 77 73 5f 72 65 63 6f 72 | 64 3b 0a 58 09 73 63 72 |ws_recor|d;.X.scr|
|00002940| 69 70 74 20 3d 20 6e 65 | 77 73 5f 73 63 72 69 70 |ipt = ne|ws_scrip|
|00002950| 74 3b 0a 58 09 61 70 70 | 65 6e 64 5f 73 69 67 20 |t;.X.app|end_sig |
|00002960| 3d 20 61 70 70 65 6e 64 | 5f 73 69 67 5f 70 6f 73 |= append|_sig_pos|
|00002970| 74 3b 0a 58 0a 58 09 61 | 68 2d 3e 66 6c 61 67 20 |t;.X.X.a|h->flag |
|00002980| 7c 3d 20 41 5f 53 54 5f | 46 4f 4c 4c 4f 57 3b 0a ||= A_ST_|FOLLOW;.|
|00002990| 58 0a 58 23 69 66 64 65 | 66 20 4e 4e 54 50 0a 58 |X.X#ifde|f NNTP.X|
|000029a0| 23 69 66 64 65 66 20 4e | 4e 54 50 5f 4d 49 4e 49 |#ifdef N|NTP_MINI|
|000029b0| 5f 49 4e 45 57 53 5f 48 | 45 41 44 45 52 0a 58 09 |_INEWS_H|EADER.X.|
|000029c0| 6d 69 6e 69 5f 69 6e 65 | 77 73 5f 68 65 61 64 65 |mini_ine|ws_heade|
|000029d0| 72 28 74 29 3b 0a 58 23 | 65 6e 64 69 66 0a 58 23 |r(t);.X#|endif.X#|
|000029e0| 65 6e 64 69 66 0a 58 09 | 6e 67 5f 6c 69 6e 65 28 |endif.X.|ng_line(|
|000029f0| 74 2c 20 31 29 3b 0a 58 | 0a 58 09 69 66 20 28 6e |t, 1);.X|.X.if (n|
|00002a00| 65 77 73 2e 6e 67 5f 73 | 75 62 6a 29 0a 58 09 20 |ews.ng_s|ubj).X. |
|00002a10| 20 20 20 73 75 62 6a 5f | 6c 69 6e 65 28 74 2c 20 | subj_|line(t, |
|00002a20| 61 68 2d 3e 72 65 70 6c | 69 65 73 2c 20 61 68 2d |ah->repl|ies, ah-|
|00002a30| 3e 73 75 62 6a 65 63 74 | 2c 20 28 63 68 61 72 20 |>subject|, (char |
|00002a40| 2a 29 4e 55 4c 4c 29 3b | 0a 58 09 65 6c 73 65 0a |*)NULL);|.X.else.|
|00002a50| 58 09 20 20 20 20 69 66 | 20 28 21 73 75 62 6a 5f |X. if| (!subj_|
|00002a60| 6c 69 6e 65 28 74 2c 20 | 30 2c 20 6e 65 77 73 2e |line(t, |0, news.|
|00002a70| 6e 67 5f 66 72 6f 6d 2c | 20 22 42 61 62 62 6c 65 |ng_from,| "Babble|
|00002a80| 20 66 72 6f 6d 22 29 29 | 0a 58 09 09 69 66 20 28 | from"))|.X..if (|
|00002a90| 21 73 75 62 6a 5f 6c 69 | 6e 65 28 74 2c 20 30 2c |!subj_li|ne(t, 0,|
|00002aa0| 20 6e 65 77 73 2e 6e 67 | 5f 69 64 65 6e 74 2c 20 | news.ng|_ident, |
|00002ab0| 22 41 72 74 69 63 6c 65 | 22 29 29 20 7b 0a 58 09 |"Article|")) {.X.|
|00002ac0| 09 20 20 20 20 70 72 6f | 6d 70 74 28 22 53 75 62 |. pro|mpt("Sub|
|00002ad0| 6a 65 63 74 3a 20 22 29 | 3b 0a 58 09 09 20 20 20 |ject: ")|;.X.. |
|00002ae0| 20 73 74 72 20 3d 20 67 | 65 74 5f 73 28 4e 4f 4e | str = g|et_s(NON|
|00002af0| 45 2c 20 4e 4f 4e 45 2c | 20 4e 4f 4e 45 2c 20 4e |E, NONE,| NONE, N|
|00002b00| 55 4c 4c 5f 46 43 54 29 | 3b 0a 58 09 09 20 20 20 |ULL_FCT)|;.X.. |
|00002b10| 20 69 66 20 28 73 74 72 | 20 3d 3d 20 4e 55 4c 4c | if (str| == NULL|
|00002b20| 29 20 67 6f 74 6f 20 65 | 72 72 3b 0a 58 09 09 20 |) goto e|rr;.X.. |
|00002b30| 20 20 20 73 75 62 6a 5f | 6c 69 6e 65 28 74 2c 20 | subj_|line(t, |
|00002b40| 2d 31 2c 20 73 74 72 2c | 20 28 63 68 61 72 20 2a |-1, str,| (char *|
|00002b50| 29 4e 55 4c 4c 29 3b 0a | 58 09 09 7d 0a 58 0a 58 |)NULL);.|X..}.X.X|
|00002b60| 09 69 66 20 28 6e 65 77 | 73 2e 6e 67 5f 6b 65 79 |.if (new|s.ng_key|
|00002b70| 77 29 20 7b 0a 58 09 20 | 20 20 20 66 70 72 69 6e |w) {.X. | fprin|
|00002b80| 74 66 28 74 2c 20 22 4b | 65 79 77 6f 72 64 73 3a |tf(t, "K|eywords:|
|00002b90| 20 25 73 5c 6e 22 2c 20 | 6e 65 77 73 2e 6e 67 5f | %s\n", |news.ng_|
|00002ba0| 6b 65 79 77 29 3b 0a 58 | 09 20 20 20 20 65 64 5f |keyw);.X|. ed_|
|00002bb0| 6c 69 6e 65 2b 2b 3b 0a | 58 09 7d 0a 58 0a 58 09 |line++;.|X.}.X.X.|
|00002bc0| 69 66 20 28 6e 65 77 73 | 2e 6e 67 5f 64 69 73 74 |if (news|.ng_dist|
|00002bd0| 29 20 7b 0a 58 09 20 20 | 20 20 66 70 72 69 6e 74 |) {.X. | fprint|
|00002be0| 66 28 74 2c 20 22 44 69 | 73 74 72 69 62 75 74 69 |f(t, "Di|stributi|
|00002bf0| 6f 6e 3a 20 25 73 5c 6e | 22 2c 20 6e 65 77 73 2e |on: %s\n|", news.|
|00002c00| 6e 67 5f 64 69 73 74 29 | 3b 0a 58 09 20 20 20 20 |ng_dist)|;.X. |
|00002c10| 65 64 5f 6c 69 6e 65 2b | 2b 3b 0a 58 09 7d 0a 58 |ed_line+|+;.X.}.X|
|00002c20| 0a 58 09 72 65 66 5f 6c | 69 6e 65 28 74 29 3b 0a |.X.ref_l|ine(t);.|
|00002c30| 58 0a 58 09 65 6e 64 5f | 68 65 61 64 65 72 28 74 |X.X.end_|header(t|
|00002c40| 2c 20 65 78 74 72 61 5f | 6e 65 77 73 5f 68 65 61 |, extra_|news_hea|
|00002c50| 64 65 72 73 29 3b 0a 58 | 0a 58 09 69 66 20 28 69 |ders);.X|.X.if (i|
|00002c60| 6e 63 6c 29 20 7b 0a 58 | 09 20 20 20 20 69 66 20 |ncl) {.X|. if |
|00002c70| 28 6e 65 77 73 2e 6e 67 | 5f 66 72 6f 6d 29 20 7b |(news.ng|_from) {|
|00002c80| 0a 58 09 09 69 66 20 28 | 69 6e 63 6c 75 64 65 5f |.X..if (|include_|
|00002c90| 61 72 74 5f 69 64 20 26 | 26 20 6e 65 77 73 2e 6e |art_id &|& news.n|
|00002ca0| 67 5f 69 64 65 6e 74 29 | 0a 58 09 09 20 20 20 20 |g_ident)|.X.. |
|00002cb0| 66 70 72 69 6e 74 66 28 | 74 2c 20 22 49 6e 25 73 |fprintf(|t, "In%s|
|00002cc0| 20 25 73 20 22 2c 0a 58 | 09 09 09 20 20 20 20 61 | %s ",.X|... a|
|00002cd0| 68 2d 3e 66 6c 61 67 20 | 26 20 41 5f 44 49 47 45 |h->flag |& A_DIGE|
|00002ce0| 53 54 20 3f 20 22 20 64 | 69 67 65 73 74 22 20 3a |ST ? " d|igest" :|
|00002cf0| 20 22 22 2c 0a 58 09 09 | 09 20 20 20 20 6e 65 77 | "",.X..|. new|
|00002d00| 73 2e 6e 67 5f 69 64 65 | 6e 74 29 3b 0a 58 09 09 |s.ng_ide|nt);.X..|
|00002d10| 66 70 72 69 6e 74 66 28 | 74 2c 20 22 25 73 20 77 |fprintf(|t, "%s w|
|00002d20| 72 69 74 65 73 3a 5c 6e | 22 2c 20 6e 65 77 73 2e |rites:\n|", news.|
|00002d30| 6e 67 5f 66 72 6f 6d 29 | 3b 0a 58 09 09 65 64 5f |ng_from)|;.X..ed_|
|00002d40| 6c 69 6e 65 2b 2b 3b 0a | 58 09 20 20 20 20 7d 20 |line++;.|X. } |
|00002d50| 65 6c 73 65 0a 58 09 20 | 20 20 20 69 66 20 28 6e |else.X. | if (n|
|00002d60| 65 77 73 2e 6e 67 5f 69 | 64 65 6e 74 29 20 7b 0a |ews.ng_i|dent) {.|
|00002d70| 58 09 09 66 70 72 69 6e | 74 66 28 74 2c 20 22 49 |X..fprin|tf(t, "I|
|00002d80| 6e 20 25 73 20 25 73 3a | 5c 6e 22 2c 0a 58 09 09 |n %s %s:|\n",.X..|
|00002d90| 09 61 68 2d 3e 66 6c 61 | 67 20 26 20 41 5f 44 49 |.ah->fla|g & A_DI|
|00002da0| 47 45 53 54 20 3f 20 22 | 64 69 67 65 73 74 22 20 |GEST ? "|digest" |
|00002db0| 3a 20 22 61 72 74 69 63 | 6c 65 22 2c 0a 58 09 09 |: "artic|le",.X..|
|00002dc0| 09 6e 65 77 73 2e 6e 67 | 5f 69 64 65 6e 74 29 3b |.news.ng|_ident);|
|00002dd0| 0a 58 09 09 65 64 5f 6c | 69 6e 65 2b 2b 3b 0a 58 |.X..ed_l|ine++;.X|
|00002de0| 09 20 20 20 20 7d 0a 58 | 09 7d 0a 58 20 20 20 20 |. }.X|.}.X |
|00002df0| 7d 0a 58 0a 58 20 20 20 | 20 69 66 20 28 63 6f 6d |}.X.X | if (com|
|00002e00| 6d 61 6e 64 20 3d 3d 20 | 4b 5f 4d 41 49 4c 5f 4f |mand == |K_MAIL_O|
|00002e10| 52 5f 46 4f 52 57 41 52 | 44 20 7c 7c 20 63 6f 6d |R_FORWAR|D || com|
|00002e20| 6d 61 6e 64 20 3d 3d 20 | 4b 5f 42 55 47 5f 52 45 |mand == |K_BUG_RE|
|00002e30| 50 4f 52 54 29 20 7b 0a | 58 09 70 67 6d 20 3d 20 |PORT) {.|X.pgm = |
|00002e40| 69 6e 63 6c 20 3f 20 22 | 66 6f 72 77 61 72 64 22 |incl ? "|forward"|
|00002e50| 20 3a 20 22 6d 61 69 6c | 22 3b 0a 58 09 61 70 70 | : "mail|";.X.app|
|00002e60| 65 6e 64 5f 73 69 67 20 | 3d 20 61 70 70 65 6e 64 |end_sig |= append|
|00002e70| 5f 73 69 67 5f 6d 61 69 | 6c 3b 0a 58 0a 58 20 20 |_sig_mai|l;.X.X |
|00002e80| 20 20 20 6d 33 5f 61 67 | 61 69 6e 3a 0a 58 09 70 | m3_ag|ain:.X.p|
|00002e90| 72 6f 6d 70 74 28 22 54 | 6f 3a 20 22 29 3b 0a 58 |rompt("T|o: ");.X|
|00002ea0| 09 73 74 72 20 3d 20 67 | 65 74 5f 73 28 75 73 65 |.str = g|et_s(use|
|00002eb0| 72 5f 6e 61 6d 65 28 29 | 2c 0a 58 09 09 20 20 20 |r_name()|,.X.. |
|00002ec0| 20 63 6f 6d 6d 61 6e 64 | 20 3d 3d 20 4b 5f 42 55 | command| == K_BU|
|00002ed0| 47 5f 52 45 50 4f 52 54 | 20 3f 20 62 75 67 5f 61 |G_REPORT| ? bug_a|
|00002ee0| 64 64 72 65 73 73 20 3a | 20 4e 4f 4e 45 2c 0a 58 |ddress :| NONE,.X|
|00002ef0| 09 09 20 20 20 20 4e 4f | 4e 45 2c 20 4e 55 4c 4c |.. NO|NE, NULL|
|00002f00| 5f 46 43 54 29 3b 0a 58 | 09 69 66 20 28 73 74 72 |_FCT);.X|.if (str|
|00002f10| 20 3d 3d 20 4e 55 4c 4c | 29 20 67 6f 74 6f 20 63 | == NULL|) goto c|
|00002f20| 6c 6f 73 65 5f 74 3b 0a | 58 0a 58 09 69 66 20 28 |lose_t;.|X.X.if (|
|00002f30| 2a 73 74 72 20 3d 3d 20 | 4e 55 4c 29 20 73 74 72 |*str == |NUL) str|
|00002f40| 20 3d 20 75 73 65 72 5f | 6e 61 6d 65 28 29 3b 0a | = user_|name();.|
|00002f50| 58 09 69 66 20 28 2a 73 | 74 72 20 3d 3d 20 27 3f |X.if (*s|tr == '?|
|00002f60| 27 29 20 67 6f 74 6f 20 | 6d 33 5f 61 67 61 69 6e |') goto |m3_again|
|00002f70| 3b 0a 58 0a 58 09 69 66 | 20 28 73 74 72 63 6d 70 |;.X.X.if| (strcmp|
|00002f80| 28 73 74 72 2c 20 75 73 | 65 72 5f 6e 61 6d 65 28 |(str, us|er_name(|
|00002f90| 29 29 20 3d 3d 20 30 29 | 0a 58 09 20 20 20 20 72 |)) == 0)|.X. r|
|00002fa0| 65 63 6f 72 64 5f 66 69 | 6c 65 20 3d 20 4e 55 4c |ecord_fi|le = NUL|
|00002fb0| 4c 3b 09 2f 2a 20 77 65 | 20 77 69 6c 6c 20 67 65 |L;./* we| will ge|
|00002fc0| 74 20 74 68 69 73 20 61 | 6e 79 77 61 79 2c 0a 58 |t this a|nyway,.X|
|00002fd0| 09 09 09 09 20 20 20 74 | 68 65 72 65 20 69 73 20 |.... t|here is |
|00002fe0| 73 6f 20 6e 6f 20 6e 65 | 65 64 20 74 6f 20 73 61 |so no ne|ed to sa|
|00002ff0| 76 65 20 69 74 20 2a 2f | 0a 58 0a 58 2f 2a 09 69 |ve it */|.X.X/*.i|
|00003000| 66 20 28 72 65 70 6c 79 | 5f 74 6f 28 74 2c 20 73 |f (reply|_to(t, s|
|00003010| 74 72 29 29 20 7b 09 20 | 20 20 20 61 6c 74 5f 74 |tr)) {. | alt_t|
|00003020| 6f 5f 6c 69 6e 65 28 74 | 2c 20 73 74 72 2c 20 30 |o_line(t|, str, 0|
|00003030| 29 3b 09 7d 20 65 6c 73 | 65 20 2a 2f 0a 58 09 74 |);.} els|e */.X.t|
|00003040| 6f 5f 6c 69 6e 65 28 74 | 2c 20 73 74 72 29 3b 0a |o_line(t|, str);.|
|00003050| 58 0a 58 09 64 6f 20 7b | 0a 58 09 20 20 20 20 70 |X.X.do {|.X. p|
|00003060| 72 6f 6d 70 74 28 22 53 | 75 62 6a 65 63 74 3a 20 |rompt("S|ubject: |
|00003070| 22 29 3b 0a 58 09 20 20 | 20 20 73 74 72 20 3d 20 |");.X. | str = |
|00003080| 67 65 74 5f 73 28 69 6e | 63 6c 20 3f 20 61 68 2d |get_s(in|cl ? ah-|
|00003090| 3e 73 75 62 6a 65 63 74 | 20 3a 20 4e 4f 4e 45 2c |>subject| : NONE,|
|000030a0| 0a 58 09 09 09 63 6f 6d | 6d 61 6e 64 20 3d 3d 20 |.X...com|mand == |
|000030b0| 4b 5f 42 55 47 5f 52 45 | 50 4f 52 54 20 3f 20 22 |K_BUG_RE|PORT ? "|
|000030c0| 6e 6e 20 62 75 67 20 72 | 65 70 6f 72 74 22 20 3a |nn bug r|eport" :|
|000030d0| 20 4e 4f 4e 45 2c 0a 58 | 09 09 09 4e 4f 4e 45 2c | NONE,.X|...NONE,|
|000030e0| 20 4e 55 4c 4c 5f 46 43 | 54 29 3b 0a 58 09 20 20 | NULL_FC|T);.X. |
|000030f0| 20 20 69 66 20 28 73 74 | 72 20 3d 3d 20 4e 55 4c | if (st|r == NUL|
|00003100| 4c 29 20 67 6f 74 6f 20 | 63 6c 6f 73 65 5f 74 3b |L) goto |close_t;|
|00003110| 0a 58 09 20 20 20 20 69 | 66 20 28 2a 73 74 72 20 |.X. i|f (*str |
|00003120| 3d 3d 20 4e 55 4c 20 26 | 26 20 69 6e 63 6c 29 20 |== NUL &|& incl) |
|00003130| 73 74 72 20 3d 20 61 68 | 2d 3e 73 75 62 6a 65 63 |str = ah|->subjec|
|00003140| 74 3b 0a 58 09 7d 20 77 | 68 69 6c 65 20 28 2a 73 |t;.X.} w|hile (*s|
|00003150| 74 72 20 3d 3d 20 4e 55 | 4c 29 3b 0a 58 0a 58 09 |tr == NU|L);.X.X.|
|00003160| 73 75 62 6a 5f 6c 69 6e | 65 28 74 2c 20 2d 31 2c |subj_lin|e(t, -1,|
|00003170| 20 73 74 72 2c 20 28 63 | 68 61 72 20 2a 29 4e 55 | str, (c|har *)NU|
|00003180| 4c 4c 29 3b 0a 58 0a 58 | 09 65 6e 64 5f 68 65 61 |LL);.X.X|.end_hea|
|00003190| 64 65 72 28 74 2c 20 65 | 78 74 72 61 5f 6d 61 69 |der(t, e|xtra_mai|
|000031a0| 6c 5f 68 65 61 64 65 72 | 73 29 3b 0a 58 0a 58 09 |l_header|s);.X.X.|
|000031b0| 69 66 20 28 69 6e 63 6c | 29 20 7b 0a 58 09 20 20 |if (incl|) {.X. |
|000031c0| 20 20 70 72 6f 6d 70 74 | 28 22 5c 31 45 64 69 74 | prompt|("\1Edit|
|000031d0| 5c 31 20 66 6f 72 77 61 | 72 64 65 64 20 6d 65 73 |\1 forwa|rded mes|
|000031e0| 73 61 67 65 3f 20 22 29 | 3b 0a 58 09 20 20 20 20 |sage? ")|;.X. |
|000031f0| 69 66 20 28 28 65 64 69 | 74 5f 6d 65 73 73 61 67 |if ((edi|t_messag|
|00003200| 65 20 3d 20 79 65 73 28 | 30 29 29 20 3c 20 30 29 |e = yes(|0)) < 0)|
|00003210| 20 67 6f 74 6f 20 63 6c | 6f 73 65 5f 74 3b 0a 58 | goto cl|ose_t;.X|
|00003220| 09 20 20 20 20 69 66 20 | 28 21 65 64 69 74 5f 6d |. if |(!edit_m|
|00003230| 65 73 73 61 67 65 29 20 | 7b 0a 58 09 09 66 69 72 |essage) |{.X..fir|
|00003240| 73 74 5f 61 63 74 69 6f | 6e 20 3d 20 22 73 65 6e |st_actio|n = "sen|
|00003250| 64 22 3b 0a 58 09 09 66 | 73 65 65 6b 28 61 72 74 |d";.X..f|seek(art|
|00003260| 2c 20 61 68 2d 3e 68 70 | 6f 73 2c 20 30 29 3b 0a |, ah->hp|os, 0);.|
|00003270| 58 09 20 20 20 20 7d 20 | 65 6c 73 65 0a 58 09 09 |X. } |else.X..|
|00003280| 69 66 20 28 69 6e 63 6c | 75 64 65 5f 66 75 6c 6c |if (incl|ude_full|
|00003290| 5f 68 65 61 64 65 72 20 | 26 26 20 63 6f 6d 6d 61 |_header |&& comma|
|000032a0| 6e 64 20 3d 3d 20 4b 5f | 4d 41 49 4c 5f 4f 52 5f |nd == K_|MAIL_OR_|
|000032b0| 46 4f 52 57 41 52 44 29 | 0a 58 09 09 20 20 20 20 |FORWARD)|.X.. |
|000032c0| 66 73 65 65 6b 28 61 72 | 74 2c 20 61 68 2d 3e 68 |fseek(ar|t, ah->h|
|000032d0| 70 6f 73 2c 20 30 29 3b | 0a 58 09 7d 0a 58 0a 58 |pos, 0);|.X.}.X.X|
|000032e0| 09 69 66 20 28 63 6f 6d | 6d 61 6e 64 20 3d 3d 20 |.if (com|mand == |
|000032f0| 4b 5f 42 55 47 5f 52 45 | 50 4f 52 54 29 20 7b 0a |K_BUG_RE|PORT) {.|
|00003300| 58 09 20 20 20 20 66 70 | 72 69 6e 74 66 28 74 2c |X. fp|rintf(t,|
|00003310| 20 22 5c 6e 3d 3d 3d 20 | 63 6f 6e 66 69 67 75 72 | "\n=== |configur|
|00003320| 61 74 69 6f 6e 20 3d 3d | 3d 5c 6e 22 29 3b 0a 58 |ation ==|=\n");.X|
|00003330| 09 20 20 20 20 61 70 70 | 65 6e 64 5f 66 69 6c 65 |. app|end_file|
|00003340| 28 72 65 6c 61 74 69 76 | 65 28 6c 69 62 5f 64 69 |(relativ|e(lib_di|
|00003350| 72 65 63 74 6f 72 79 2c | 20 22 63 6f 6e 66 22 29 |rectory,| "conf")|
|00003360| 2c 20 74 29 3b 0a 58 09 | 20 20 20 20 66 70 72 69 |, t);.X.| fpri|
|00003370| 6e 74 66 28 74 2c 20 22 | 3d 3d 3d 20 65 6e 64 20 |ntf(t, "|=== end |
|00003380| 3d 3d 3d 5c 6e 22 29 3b | 0a 58 09 7d 0a 58 20 20 |===\n");|.X.}.X |
|00003390| 20 20 7d 0a 58 0a 58 20 | 20 20 20 2f 2a 20 65 6d | }.X.X | /* em|
|000033a0| 70 74 79 20 6c 69 6e 65 | 20 74 65 72 6d 69 6e 61 |pty line| termina|
|000033b0| 74 65 73 20 68 65 61 64 | 65 72 20 2a 2f 0a 58 20 |tes head|er */.X |
|000033c0| 20 20 20 66 70 75 74 63 | 28 4e 4c 2c 20 74 29 3b | fputc|(NL, t);|
|000033d0| 0a 58 20 20 20 20 65 64 | 5f 6c 69 6e 65 2b 2b 3b |.X ed|_line++;|
|000033e0| 0a 58 0a 58 20 20 20 20 | 70 72 6f 6d 70 74 28 22 |.X.X |prompt("|
|000033f0| 5c 31 57 41 49 54 5c 31 | 22 29 3b 0a 58 0a 58 20 |\1WAIT\1|");.X.X |
|00003400| 20 20 20 69 66 20 28 69 | 6e 63 6c 29 20 7b 0a 58 | if (i|ncl) {.X|
|00003410| 09 72 65 67 69 73 74 65 | 72 20 63 2c 20 70 72 65 |.registe|r c, pre|
|00003420| 76 6e 6c 20 3d 20 31 3b | 0a 58 0a 58 09 77 68 69 |vnl = 1;|.X.X.whi|
|00003430| 6c 65 20 28 28 63 20 3d | 20 67 65 74 63 28 61 72 |le ((c =| getc(ar|
|00003440| 74 29 29 20 21 3d 20 45 | 4f 46 29 20 7b 0a 58 09 |t)) != E|OF) {.X.|
|00003450| 20 20 20 20 69 66 20 28 | 63 20 3d 3d 20 4e 4c 29 | if (|c == NL)|
|00003460| 20 7b 0a 58 09 09 70 75 | 74 63 28 63 2c 20 74 29 | {.X..pu|tc(c, t)|
|00003470| 3b 0a 58 09 09 69 66 20 | 28 66 74 65 6c 6c 28 61 |;.X..if |(ftell(a|
|00003480| 72 74 29 20 3e 3d 20 61 | 68 2d 3e 6c 70 6f 73 29 |rt) >= a|h->lpos)|
|00003490| 20 62 72 65 61 6b 3b 0a | 58 09 09 70 72 65 76 6e | break;.|X..prevn|
|000034a0| 6c 2b 2b 3b 0a 58 09 09 | 63 6f 6e 74 69 6e 75 65 |l++;.X..|continue|
|000034b0| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 09 20 20 20 20 |;.X. |}.X. |
|000034c0| 69 66 20 28 70 72 65 76 | 6e 6c 29 20 7b 0a 58 09 |if (prev|nl) {.X.|
|000034d0| 09 69 66 20 28 63 6f 6d | 6d 61 6e 64 20 21 3d 20 |.if (com|mand != |
|000034e0| 4b 5f 4d 41 49 4c 5f 4f | 52 5f 46 4f 52 57 41 52 |K_MAIL_O|R_FORWAR|
|000034f0| 44 20 7c 7c 20 66 74 65 | 6c 6c 28 61 72 74 29 20 |D || fte|ll(art) |
|00003500| 3c 20 61 68 2d 3e 66 70 | 6f 73 29 0a 58 09 09 20 |< ah->fp|os).X.. |
|00003510| 20 20 20 66 70 75 74 73 | 28 69 6e 63 6c 75 64 65 | fputs|(include|
|00003520| 64 5f 6d 61 72 6b 2c 20 | 74 29 3b 0a 58 09 09 70 |d_mark, |t);.X..p|
|00003530| 72 65 76 6e 6c 20 3d 20 | 30 3b 0a 58 09 20 20 20 |revnl = |0;.X. |
|00003540| 20 7d 0a 58 09 20 20 20 | 20 70 75 74 63 28 63 2c | }.X. | putc(c,|
|00003550| 20 74 29 3b 0a 58 09 7d | 0a 58 20 20 20 20 7d 20 | t);.X.}|.X } |
|00003560| 65 6c 73 65 20 7b 0a 58 | 09 70 75 74 63 28 4e 4c |else {.X|.putc(NL|
|00003570| 2c 20 74 29 3b 0a 58 09 | 65 64 5f 6c 69 6e 65 2b |, t);.X.|ed_line+|
|00003580| 2b 3b 0a 58 20 20 20 20 | 7d 0a 58 0a 58 20 20 20 |+;.X |}.X.X |
|00003590| 20 66 63 6c 6f 73 65 28 | 74 29 3b 0a 58 20 20 20 | fclose(|t);.X |
|000035a0| 20 69 66 20 28 61 72 74 | 29 20 66 63 6c 6f 73 65 | if (art|) fclose|
|000035b0| 28 61 72 74 29 3b 0a 58 | 0a 58 20 20 20 20 61 75 |(art);.X|.X au|
|000035c0| 78 5f 73 68 28 61 68 2c | 20 73 63 72 69 70 74 2c |x_sh(ah,| script,|
|000035d0| 20 70 67 6d 2c 20 66 69 | 72 73 74 5f 61 63 74 69 | pgm, fi|rst_acti|
|000035e0| 6f 6e 2c 20 72 65 63 6f | 72 64 5f 66 69 6c 65 2c |on, reco|rd_file,|
|000035f0| 0a 58 09 20 20 20 63 6f | 6d 6d 61 6e 64 20 3d 3d |.X. co|mmand ==|
|00003600| 20 4b 5f 46 4f 4c 4c 4f | 57 5f 55 50 20 3f 20 22 | K_FOLLO|W_UP ? "|
|00003610| 41 72 74 69 63 6c 65 25 | 73 20 70 6f 73 74 65 64 |Article%|s posted|
|00003620| 22 20 3a 20 22 4d 61 69 | 6c 25 73 20 73 65 6e 74 |" : "Mai|l%s sent|
|00003630| 22 2c 0a 58 09 20 20 20 | 61 70 70 65 6e 64 5f 73 |",.X. |append_s|
|00003640| 69 67 29 3b 0a 58 0a 58 | 20 20 20 20 72 65 74 75 |ig);.X.X| retu|
|00003650| 72 6e 20 65 64 69 74 5f | 6d 65 73 73 61 67 65 3b |rn edit_|message;|
|00003660| 0a 58 0a 58 20 65 72 72 | 3a 0a 58 20 20 20 20 6d |.X.X err|:.X m|
|00003670| 73 67 28 22 43 61 6e 27 | 74 20 62 75 69 6c 64 20 |sg("Can'|t build |
|00003680| 68 65 61 64 65 72 20 66 | 6f 72 20 25 73 22 2c 0a |header f|or %s",.|
|00003690| 58 09 63 6f 6d 6d 61 6e | 64 20 21 3d 20 4b 5f 46 |X.comman|d != K_F|
|000036a0| 4f 4c 4c 4f 57 5f 55 50 | 20 3f 20 22 6c 65 74 74 |OLLOW_UP| ? "lett|
|000036b0| 65 72 22 20 3a 20 22 61 | 72 74 69 63 6c 65 22 29 |er" : "a|rticle")|
|000036c0| 3b 0a 58 0a 58 20 63 6c | 6f 73 65 5f 74 3a 0a 58 |;.X.X cl|ose_t:.X|
|000036d0| 20 20 20 20 66 63 6c 6f | 73 65 28 74 29 3b 0a 58 | fclo|se(t);.X|
|000036e0| 20 20 20 20 75 6e 6c 69 | 6e 6b 28 74 65 6d 70 5f | unli|nk(temp_|
|000036f0| 66 69 6c 65 29 3b 0a 58 | 20 20 20 20 69 66 20 28 |file);.X| if (|
|00003700| 61 72 74 29 20 66 63 6c | 6f 73 65 28 61 72 74 29 |art) fcl|ose(art)|
|00003710| 3b 0a 58 0a 58 20 20 20 | 20 72 65 74 75 72 6e 20 |;.X.X | return |
|00003720| 30 3b 0a 58 7d 0a 58 0a | 58 0a 58 2f 2a 0a 58 20 |0;.X}.X.|X.X/*.X |
|00003730| 2a 09 69 6e 65 74 5f 6e | 61 6d 65 3a 20 72 65 74 |*.inet_n|ame: ret|
|00003740| 75 72 6e 20 22 3c 75 73 | 65 72 5f 6e 61 6d 65 28 |urn "<us|er_name(|
|00003750| 29 3e 40 3c 68 6f 73 74 | 5f 6e 61 6d 65 28 29 3e |)>@<host|_name()>|
|00003760| 22 0a 58 20 2a 2f 0a 58 | 0a 58 73 74 61 74 69 63 |".X */.X|.Xstatic|
|00003770| 20 63 68 61 72 20 2a 69 | 6e 65 74 5f 6e 61 6d 65 | char *i|net_name|
|00003780| 28 29 0a 58 7b 0a 58 20 | 20 20 20 73 74 61 74 69 |().X{.X | stati|
|00003790| 63 20 63 68 61 72 20 2a | 69 6e 65 74 6e 61 6d 65 |c char *|inetname|
|000037a0| 20 3d 20 4e 55 4c 4c 3b | 0a 58 20 20 20 20 63 68 | = NULL;|.X ch|
|000037b0| 61 72 20 68 6e 61 6d 65 | 5b 31 30 30 5d 2c 20 2a |ar hname|[100], *|
|000037c0| 75 6e 3b 0a 58 0a 58 20 | 20 20 20 69 66 20 28 69 |un;.X.X | if (i|
|000037d0| 6e 65 74 6e 61 6d 65 20 | 3d 3d 20 4e 55 4c 4c 29 |netname |== NULL)|
|000037e0| 20 7b 0a 58 09 67 65 74 | 68 6f 73 74 6e 61 6d 65 | {.X.get|hostname|
|000037f0| 28 68 6e 61 6d 65 2c 20 | 31 30 30 29 3b 0a 58 09 |(hname, |100);.X.|
|00003800| 75 6e 20 3d 20 75 73 65 | 72 5f 6e 61 6d 65 28 29 |un = use|r_name()|
|00003810| 3b 0a 58 09 69 6e 65 74 | 6e 61 6d 65 20 3d 20 6e |;.X.inet|name = n|
|00003820| 65 77 73 74 72 28 73 74 | 72 6c 65 6e 28 68 6e 61 |ewstr(st|rlen(hna|
|00003830| 6d 65 29 20 2b 20 73 74 | 72 6c 65 6e 28 75 6e 29 |me) + st|rlen(un)|
|00003840| 20 2b 20 32 29 3b 0a 58 | 09 73 70 72 69 6e 74 66 | + 2);.X|.sprintf|
|00003850| 28 69 6e 65 74 6e 61 6d | 65 2c 20 22 25 73 40 25 |(inetnam|e, "%s@%|
|00003860| 73 22 2c 20 75 6e 2c 20 | 68 6e 61 6d 65 29 3b 0a |s", un, |hname);.|
|00003870| 58 20 20 20 20 7d 0a 58 | 20 20 20 20 72 65 74 75 |X }.X| retu|
|00003880| 72 6e 20 69 6e 65 74 6e | 61 6d 65 3b 0a 58 7d 0a |rn inetn|ame;.X}.|
|00003890| 58 0a 58 2f 2a 0a 58 20 | 2a 20 20 63 68 65 63 6b |X.X/*.X |* check|
|000038a0| 5f 73 65 6e 64 65 72 3a | 20 49 66 20 73 65 6e 64 |_sender:| If send|
|000038b0| 65 72 20 69 73 20 22 72 | 6f 6f 74 22 2c 20 22 6e |er is "r|oot", "n|
|000038c0| 65 77 73 22 2c 20 74 68 | 65 20 66 75 6c 6c 20 6e |ews", th|e full n|
|000038d0| 61 6d 65 20 6f 72 20 74 | 68 65 20 69 6e 74 65 72 |ame or t|he inter|
|000038e0| 6e 65 74 0a 58 20 2a 20 | 20 6e 61 6d 65 20 6f 66 |net.X * | name of|
|000038f0| 20 74 68 65 20 75 73 65 | 72 2c 20 72 65 74 75 72 | the use|r, retur|
|00003900| 6e 20 31 20 6f 74 68 65 | 72 77 69 73 65 20 30 0a |n 1 othe|rwise 0.|
|00003910| 58 20 2a 2f 0a 58 0a 58 | 73 74 61 74 69 63 20 69 |X */.X.X|static i|
|00003920| 6e 74 20 63 68 65 63 6b | 5f 73 65 6e 64 65 72 28 |nt check|_sender(|
|00003930| 73 65 6e 64 65 72 29 0a | 58 63 68 61 72 20 2a 73 |sender).|Xchar *s|
|00003940| 65 6e 64 65 72 3b 0a 58 | 7b 0a 58 20 20 20 20 63 |ender;.X|{.X c|
|00003950| 68 61 72 20 2a 66 75 6c | 6c 5f 6e 61 6d 65 28 29 |har *ful|l_name()|
|00003960| 3b 0a 58 0a 58 20 20 20 | 20 72 65 74 75 72 6e 20 |;.X.X | return |
|00003970| 73 74 72 63 6d 70 28 75 | 73 65 72 5f 6e 61 6d 65 |strcmp(u|ser_name|
|00003980| 28 29 2c 20 22 72 6f 6f | 74 22 29 20 3d 3d 20 30 |(), "roo|t") == 0|
|00003990| 0a 58 09 7c 7c 20 73 74 | 72 63 6d 70 28 75 73 65 |.X.|| st|rcmp(use|
|000039a0| 72 5f 6e 61 6d 65 28 29 | 2c 20 22 6e 65 77 73 22 |r_name()|, "news"|
|000039b0| 29 20 3d 3d 20 30 0a 58 | 09 7c 7c 20 73 74 72 6d |) == 0.X|.|| strm|
|000039c0| 61 74 63 68 28 66 75 6c | 6c 5f 6e 61 6d 65 28 29 |atch(ful|l_name()|
|000039d0| 2c 20 73 65 6e 64 65 72 | 29 0a 58 09 7c 7c 20 73 |, sender|).X.|| s|
|000039e0| 74 72 6d 61 74 63 68 28 | 69 6e 65 74 5f 6e 61 6d |trmatch(|inet_nam|
|000039f0| 65 28 29 2c 20 73 65 6e | 64 65 72 29 3b 0a 58 7d |e(), sen|der);.X}|
|00003a00| 0a 58 0a 58 0a 58 63 61 | 6e 63 65 6c 28 61 68 29 |.X.X.Xca|ncel(ah)|
|00003a10| 0a 58 61 72 74 69 63 6c | 65 5f 68 65 61 64 65 72 |.Xarticl|e_header|
|00003a20| 20 2a 61 68 3b 0a 58 7b | 0a 58 20 20 20 20 6e 65 | *ah;.X{|.X ne|
|00003a30| 77 73 5f 68 65 61 64 65 | 72 5f 62 75 66 66 65 72 |ws_heade|r_buffer|
|00003a40| 20 6e 68 62 75 66 3b 0a | 58 20 20 20 20 46 49 4c | nhbuf;.|X FIL|
|00003a50| 45 20 2a 66 3b 0a 58 0a | 58 20 20 20 20 69 66 20 |E *f;.X.|X if |
|00003a60| 28 61 68 2d 3e 61 5f 67 | 72 6f 75 70 29 20 69 6e |(ah->a_g|roup) in|
|00003a70| 69 74 5f 67 72 6f 75 70 | 28 61 68 2d 3e 61 5f 67 |it_group|(ah->a_g|
|00003a80| 72 6f 75 70 29 3b 0a 58 | 0a 58 20 20 20 20 69 66 |roup);.X|.X if|
|00003a90| 20 28 61 68 2d 3e 66 6c | 61 67 20 26 20 41 5f 44 | (ah->fl|ag & A_D|
|00003aa0| 49 47 45 53 54 29 20 7b | 0a 58 09 66 70 75 74 73 |IGEST) {|.X.fputs|
|00003ab0| 28 22 5c 72 43 61 6e 63 | 65 6c 20 65 6e 74 69 72 |("\rCanc|el entir|
|00003ac0| 65 20 64 69 67 65 73 74 | 20 3f 20 22 2c 20 73 74 |e digest| ? ", st|
|00003ad0| 64 6f 75 74 29 3b 20 63 | 6c 72 6c 69 6e 65 28 29 |dout); c|lrline()|
|00003ae0| 3b 0a 58 09 69 66 20 28 | 79 65 73 28 31 29 20 3e |;.X.if (|yes(1) >|
|00003af0| 20 30 29 0a 58 09 20 20 | 20 20 61 68 2d 3e 66 6c | 0).X. | ah->fl|
|00003b00| 61 67 20 26 3d 20 7e 41 | 5f 44 49 47 45 53 54 3b |ag &= ~A|_DIGEST;|
|00003b10| 0a 58 09 65 6c 73 65 20 | 7b 0a 58 09 20 20 20 20 |.X.else |{.X. |
|00003b20| 6d 73 67 28 22 43 61 6e | 20 6f 6e 6c 79 20 63 61 |msg("Can| only ca|
|00003b30| 6e 63 65 6c 20 65 6e 74 | 69 72 65 20 64 69 67 65 |ncel ent|ire dige|
|00003b40| 73 74 73 20 28 79 65 74 | 3f 29 22 29 3b 0a 58 09 |sts (yet|?)");.X.|
|00003b50| 20 20 20 20 72 65 74 75 | 72 6e 20 32 3b 0a 58 09 | retu|rn 2;.X.|
|00003b60| 7d 0a 58 20 20 20 20 7d | 0a 58 0a 58 20 20 20 20 |}.X }|.X.X |
|00003b70| 66 20 3d 20 6f 70 65 6e | 5f 6e 65 77 73 5f 61 72 |f = open|_news_ar|
|00003b80| 74 69 63 6c 65 28 61 68 | 2c 20 46 49 4c 4c 5f 4e |ticle(ah|, FILL_N|
|00003b90| 45 57 53 5f 48 45 41 44 | 45 52 7c 47 45 54 5f 41 |EWS_HEAD|ER|GET_A|
|00003ba0| 4c 4c 5f 46 49 45 4c 44 | 53 2c 20 6e 68 62 75 66 |LL_FIELD|S, nhbuf|
|00003bb0| 2c 20 28 63 68 61 72 20 | 2a 29 4e 55 4c 4c 29 3b |, (char |*)NULL);|
|00003bc0| 0a 58 20 20 20 20 69 66 | 20 28 66 20 3d 3d 20 4e |.X if| (f == N|
|00003bd0| 55 4c 4c 29 20 7b 0a 58 | 09 6d 73 67 28 22 41 72 |ULL) {.X|.msg("Ar|
|00003be0| 74 69 63 6c 65 20 6e 6f | 74 20 66 6f 75 6e 64 22 |ticle no|t found"|
|00003bf0| 29 3b 0a 58 09 72 65 74 | 75 72 6e 20 32 3b 0a 58 |);.X.ret|urn 2;.X|
|00003c00| 20 20 20 20 7d 0a 58 20 | 20 20 20 66 63 6c 6f 73 | }.X | fclos|
|00003c10| 65 28 66 29 3b 0a 58 0a | 58 20 20 20 20 69 66 20 |e(f);.X.|X if |
|00003c20| 20 28 21 20 63 68 65 63 | 6b 5f 73 65 6e 64 65 72 | (! chec|k_sender|
|00003c30| 28 6e 65 77 73 2e 6e 67 | 5f 66 72 6f 6d 29 29 20 |(news.ng|_from)) |
|00003c40| 7b 0a 58 09 6d 73 67 28 | 22 59 6f 75 20 63 61 6e |{.X.msg(|"You can|
|00003c50| 20 6f 6e 6c 79 20 63 61 | 6e 63 65 6c 20 79 6f 75 | only ca|ncel you|
|00003c60| 72 20 6f 77 6e 20 61 72 | 74 69 63 6c 65 73 21 22 |r own ar|ticles!"|
|00003c70| 29 3b 0a 58 09 72 65 74 | 75 72 6e 20 31 3b 0a 58 |);.X.ret|urn 1;.X|
|00003c80| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 70 72 6f | }.X.|X pro|
|00003c90| 6d 70 74 28 22 43 6f 6e | 66 69 72 6d 20 63 61 6e |mpt("Con|firm can|
|00003ca0| 63 65 6c 3a 20 27 25 73 | 3a 20 25 2e 33 30 73 27 |cel: '%s|: %.30s'|
|00003cb0| 22 2c 0a 58 09 20 20 20 | 61 68 2d 3e 73 65 6e 64 |",.X. |ah->send|
|00003cc0| 65 72 20 3f 20 61 68 2d | 3e 73 65 6e 64 65 72 20 |er ? ah-|>sender |
|00003cd0| 3a 20 22 22 2c 0a 58 09 | 20 20 20 61 68 2d 3e 73 |: "",.X.| ah->s|
|00003ce0| 75 62 6a 65 63 74 20 3f | 20 61 68 2d 3e 73 75 62 |ubject ?| ah->sub|
|00003cf0| 6a 65 63 74 20 3a 20 22 | 22 29 3b 0a 58 20 20 20 |ject : "|");.X |
|00003d00| 20 69 66 20 28 79 65 73 | 28 31 29 20 3c 3d 20 30 | if (yes|(1) <= 0|
|00003d10| 29 20 72 65 74 75 72 6e | 20 31 3b 0a 58 0a 58 20 |) return| 1;.X.X |
|00003d20| 20 20 20 70 72 69 6e 74 | 66 28 22 5c 72 43 61 6e | print|f("\rCan|
|00003d30| 63 65 6c 6c 69 6e 67 20 | 61 72 74 69 63 6c 65 20 |celling |article |
|00003d40| 25 73 20 69 6e 20 67 72 | 6f 75 70 20 25 73 22 2c |%s in gr|oup %s",|
|00003d50| 0a 58 09 20 20 20 6e 65 | 77 73 2e 6e 67 5f 69 64 |.X. ne|ws.ng_id|
|00003d60| 65 6e 74 2c 20 63 75 72 | 72 65 6e 74 5f 67 72 6f |ent, cur|rent_gro|
|00003d70| 75 70 2d 3e 67 72 6f 75 | 70 5f 6e 61 6d 65 29 3b |up->grou|p_name);|
|00003d80| 0a 58 20 20 20 20 63 6c | 72 6c 69 6e 65 28 29 3b |.X cl|rline();|
|00003d90| 0a 58 0a 58 20 20 20 20 | 65 64 5f 6c 69 6e 65 20 |.X.X |ed_line |
|00003da0| 3d 20 2d 31 3b 0a 58 0a | 58 20 20 20 20 69 66 20 |= -1;.X.|X if |
|00003db0| 28 61 75 78 5f 73 68 28 | 61 68 2c 20 28 63 68 61 |(aux_sh(|ah, (cha|
|00003dc0| 72 20 2a 29 4e 55 4c 4c | 2c 20 22 63 61 6e 63 65 |r *)NULL|, "cance|
|00003dd0| 6c 22 2c 20 6e 65 77 73 | 2e 6e 67 5f 69 64 65 6e |l", news|.ng_iden|
|00003de0| 74 2c 20 63 75 72 72 65 | 6e 74 5f 67 72 6f 75 70 |t, curre|nt_group|
|00003df0| 2d 3e 67 72 6f 75 70 5f | 6e 61 6d 65 2c 0a 58 09 |->group_|name,.X.|
|00003e00| 20 20 20 20 20 20 20 22 | 41 72 74 69 63 6c 65 25 | "|Article%|
|00003e10| 73 20 63 61 6e 63 65 6c | 6c 65 64 22 2c 20 30 29 |s cancel|led", 0)|
|00003e20| 29 0a 58 09 72 65 74 75 | 72 6e 20 2d 31 3b 0a 58 |).X.retu|rn -1;.X|
|00003e30| 0a 58 20 20 20 20 72 65 | 74 75 72 6e 20 30 3b 0a |.X re|turn 0;.|
|00003e40| 58 7d 0a 58 0a 58 73 74 | 61 74 69 63 20 63 68 61 |X}.X.Xst|atic cha|
|00003e50| 72 20 2a 70 6f 73 74 5f | 64 69 73 74 72 69 62 75 |r *post_|distribu|
|00003e60| 74 69 6f 6e 20 3d 20 4e | 55 4c 4c 3b 0a 58 73 74 |tion = N|ULL;.Xst|
|00003e70| 61 74 69 63 20 63 68 61 | 72 20 2a 70 6f 73 74 5f |atic cha|r *post_|
|00003e80| 73 75 62 6a 65 63 74 20 | 3d 20 4e 55 4c 4c 3b 0a |subject |= NULL;.|
|00003e90| 58 73 74 61 74 69 63 20 | 63 68 61 72 20 2a 70 6f |Xstatic |char *po|
|00003ea0| 73 74 5f 73 75 6d 6d 61 | 72 79 20 3d 20 4e 55 4c |st_summa|ry = NUL|
|00003eb0| 4c 3b 0a 58 73 74 61 74 | 69 63 20 63 68 61 72 20 |L;.Xstat|ic char |
|00003ec0| 2a 70 6f 73 74 5f 6b 65 | 79 77 6f 72 64 73 20 3d |*post_ke|ywords =|
|00003ed0| 20 4e 55 4c 4c 3b 0a 58 | 73 74 61 74 69 63 20 63 | NULL;.X|static c|
|00003ee0| 68 61 72 20 2a 70 6f 73 | 74 5f 73 6f 75 72 63 65 |har *pos|t_source|
|00003ef0| 5f 66 69 6c 65 20 3d 20 | 4e 55 4c 4c 3b 0a 58 73 |_file = |NULL;.Xs|
|00003f00| 74 61 74 69 63 20 69 6e | 74 20 70 6f 73 74 5f 6e |tatic in|t post_n|
|00003f10| 6f 5f 65 64 69 74 20 3d | 20 30 3b 0a 58 73 74 61 |o_edit =| 0;.Xsta|
|00003f20| 74 69 63 20 63 68 61 72 | 20 2a 70 6f 73 74 5f 74 |tic char| *post_t|
|00003f30| 6f 5f 67 72 6f 75 70 73 | 20 3d 20 4e 55 4c 4c 3b |o_groups| = NULL;|
|00003f40| 0a 58 0a 58 4f 70 74 69 | 6f 6e 5f 44 65 73 63 72 |.X.XOpti|on_Descr|
|00003f50| 69 70 74 69 6f 6e 28 70 | 6f 73 74 5f 6f 70 74 69 |iption(p|ost_opti|
|00003f60| 6f 6e 73 29 20 7b 0a 58 | 20 20 20 20 27 64 27 2c |ons) {.X| 'd',|
|00003f70| 20 53 74 72 69 6e 67 5f | 4f 70 74 69 6f 6e 28 70 | String_|Option(p|
|00003f80| 6f 73 74 5f 64 69 73 74 | 72 69 62 75 74 69 6f 6e |ost_dist|ribution|
|00003f90| 29 2c 0a 58 20 20 20 20 | 27 66 27 2c 20 53 74 72 |),.X |'f', Str|
|00003fa0| 69 6e 67 5f 4f 70 74 69 | 6f 6e 28 70 6f 73 74 5f |ing_Opti|on(post_|
|00003fb0| 73 6f 75 72 63 65 5f 66 | 69 6c 65 29 2c 0a 58 20 |source_f|ile),.X |
|00003fc0| 20 20 20 27 6b 27 2c 20 | 53 74 72 69 6e 67 5f 4f | 'k', |String_O|
|00003fd0| 70 74 69 6f 6e 28 70 6f | 73 74 5f 6b 65 79 77 6f |ption(po|st_keywo|
|00003fe0| 72 64 73 29 2c 0a 58 20 | 20 20 20 27 73 27 2c 20 |rds),.X | 's', |
|00003ff0| 53 74 72 69 6e 67 5f 4f | 70 74 69 6f 6e 28 70 6f |String_O|ption(po|
|00004000| 73 74 5f 73 75 62 6a 65 | 63 74 29 2c 0a 58 20 20 |st_subje|ct),.X |
|00004010| 20 20 27 79 27 2c 20 53 | 74 72 69 6e 67 5f 4f 70 | 'y', S|tring_Op|
|00004020| 74 69 6f 6e 28 70 6f 73 | 74 5f 73 75 6d 6d 61 72 |tion(pos|t_summar|
|00004030| 79 29 2c 0a 58 20 20 20 | 20 27 70 27 2c 20 42 6f |y),.X | 'p', Bo|
|00004040| 6f 6c 5f 4f 70 74 69 6f | 6e 28 70 6f 73 74 5f 6e |ol_Optio|n(post_n|
|00004050| 6f 5f 65 64 69 74 29 2c | 0a 58 20 20 20 20 27 5c |o_edit),|.X '\|
|00004060| 30 27 2c 0a 58 7d 3b 0a | 58 0a 58 64 6f 5f 6e 6e |0',.X};.|X.Xdo_nn|
|00004070| 70 6f 73 74 28 61 72 67 | 63 2c 20 61 72 67 76 29 |post(arg|c, argv)|
|00004080| 0a 58 69 6e 74 20 61 72 | 67 63 3b 0a 58 63 68 61 |.Xint ar|gc;.Xcha|
|00004090| 72 20 2a 61 72 67 76 5b | 5d 3b 0a 58 7b 0a 58 20 |r *argv[|];.X{.X |
|000040a0| 20 20 20 69 6e 74 20 6e | 67 72 6f 75 70 73 2c 20 | int n|groups, |
|000040b0| 69 3b 0a 58 20 20 20 20 | 63 68 61 72 20 6e 65 77 |i;.X |char new|
|000040c0| 73 67 72 6f 75 70 73 5b | 46 49 4c 45 4e 41 4d 45 |sgroups[|FILENAME|
|000040d0| 2a 32 5d 3b 0a 58 0a 58 | 20 20 20 20 69 6e 69 74 |*2];.X.X| init|
|000040e0| 5f 74 65 72 6d 28 29 3b | 0a 58 20 20 20 20 76 69 |_term();|.X vi|
|000040f0| 73 69 74 5f 69 6e 69 74 | 5f 66 69 6c 65 28 30 2c |sit_init|_file(0,|
|00004100| 20 28 63 68 61 72 20 2a | 29 4e 55 4c 4c 29 3b 0a | (char *|)NULL);.|
|00004110| 58 20 20 20 20 63 75 72 | 72 65 6e 74 5f 67 72 6f |X cur|rent_gro|
|00004120| 75 70 20 3d 20 4e 55 4c | 4c 3b 0a 58 0a 58 20 20 |up = NUL|L;.X.X |
|00004130| 20 20 6e 67 72 6f 75 70 | 73 20 3d 0a 58 09 70 61 | ngroup|s =.X.pa|
|00004140| 72 73 65 5f 6f 70 74 69 | 6f 6e 73 28 61 72 67 63 |rse_opti|ons(argc|
|00004150| 2c 20 61 72 67 76 2c 20 | 28 63 68 61 72 20 2a 29 |, argv, |(char *)|
|00004160| 4e 55 4c 4c 2c 20 70 6f | 73 74 5f 6f 70 74 69 6f |NULL, po|st_optio|
|00004170| 6e 73 2c 0a 58 09 09 20 | 20 20 20 20 20 22 20 6e |ns,.X.. | " n|
|00004180| 65 77 73 67 72 6f 75 70 | 2e 2e 2e 22 29 3b 0a 58 |ewsgroup|...");.X|
|00004190| 0a 58 20 20 20 20 69 66 | 20 28 70 6f 73 74 5f 6e |.X if| (post_n|
|000041a0| 6f 5f 65 64 69 74 20 26 | 26 20 70 6f 73 74 5f 73 |o_edit &|& post_s|
|000041b0| 6f 75 72 63 65 5f 66 69 | 6c 65 20 3d 3d 20 4e 55 |ource_fi|le == NU|
|000041c0| 4c 4c 29 20 7b 0a 58 09 | 70 72 69 6e 74 66 28 22 |LL) {.X.|printf("|
|000041d0| 4d 75 73 74 20 73 70 65 | 63 69 66 79 20 61 20 73 |Must spe|cify a s|
|000041e0| 6f 75 72 63 65 20 66 69 | 6c 65 20 77 69 74 68 20 |ource fi|le with |
|000041f0| 2d 70 5c 6e 22 29 3b 0a | 58 09 6e 6e 5f 65 78 69 |-p\n");.|X.nn_exi|
|00004200| 74 28 31 29 3b 0a 58 20 | 20 20 20 7d 0a 58 0a 58 |t(1);.X | }.X.X|
|00004210| 20 20 20 20 69 66 20 28 | 6e 67 72 6f 75 70 73 20 | if (|ngroups |
|00004220| 3e 20 30 29 20 7b 0a 58 | 09 73 74 72 63 70 79 28 |> 0) {.X|.strcpy(|
|00004230| 6e 65 77 73 67 72 6f 75 | 70 73 2c 20 61 72 67 76 |newsgrou|ps, argv|
|00004240| 5b 31 5d 29 3b 0a 58 09 | 66 6f 72 20 28 69 20 3d |[1]);.X.|for (i =|
|00004250| 20 32 3b 20 69 20 3c 3d | 20 6e 67 72 6f 75 70 73 | 2; i <=| ngroups|
|00004260| 3b 20 69 2b 2b 29 20 7b | 0a 58 09 20 20 20 20 73 |; i++) {|.X. s|
|00004270| 74 72 63 61 74 28 6e 65 | 77 73 67 72 6f 75 70 73 |trcat(ne|wsgroups|
|00004280| 2c 20 22 2c 22 29 3b 0a | 58 09 20 20 20 20 73 74 |, ",");.|X. st|
|00004290| 72 63 61 74 28 6e 65 77 | 73 67 72 6f 75 70 73 2c |rcat(new|sgroups,|
|000042a0| 20 61 72 67 76 5b 69 5d | 29 3b 0a 58 09 7d 0a 58 | argv[i]|);.X.}.X|
|000042b0| 09 70 6f 73 74 5f 74 6f | 5f 67 72 6f 75 70 73 20 |.post_to|_groups |
|000042c0| 3d 20 6e 65 77 73 67 72 | 6f 75 70 73 3b 0a 58 20 |= newsgr|oups;.X |
|000042d0| 20 20 20 7d 0a 58 0a 58 | 20 20 20 20 72 61 77 28 | }.X.X| raw(|
|000042e0| 29 3b 0a 58 20 20 20 20 | 63 6c 72 64 69 73 70 28 |);.X |clrdisp(|
|000042f0| 29 3b 0a 58 20 20 20 20 | 70 72 6f 6d 70 74 5f 6c |);.X |prompt_l|
|00004300| 69 6e 65 20 3d 20 30 3b | 0a 58 20 20 20 20 70 6f |ine = 0;|.X po|
|00004310| 73 74 5f 6d 65 6e 75 28 | 29 3b 0a 58 20 20 20 20 |st_menu(|);.X |
|00004320| 70 75 74 63 68 61 72 28 | 43 52 29 3b 20 70 75 74 |putchar(|CR); put|
|00004330| 63 68 61 72 28 4e 4c 29 | 3b 0a 58 20 20 20 20 75 |char(NL)|;.X u|
|00004340| 6e 73 65 74 5f 72 61 77 | 28 29 3b 0a 58 20 20 20 |nset_raw|();.X |
|00004350| 20 69 66 20 28 2a 64 65 | 6c 61 79 65 64 5f 6d 73 | if (*de|layed_ms|
|00004360| 67 29 0a 58 09 70 72 69 | 6e 74 66 28 22 25 73 5c |g).X.pri|ntf("%s\|
|00004370| 6e 22 2c 20 64 65 6c 61 | 79 65 64 5f 6d 73 67 29 |n", dela|yed_msg)|
|00004380| 3b 0a 58 0a 58 20 20 20 | 20 6e 6e 5f 65 78 69 74 |;.X.X | nn_exit|
|00004390| 28 30 29 3b 0a 58 7d 0a | 58 0a 58 70 6f 73 74 5f |(0);.X}.|X.Xpost_|
|000043a0| 6d 65 6e 75 28 29 0a 58 | 7b 0a 58 20 20 20 20 72 |menu().X|{.X r|
|000043b0| 65 67 69 73 74 65 72 20 | 46 49 4c 45 20 2a 74 2c |egister |FILE *t,|
|000043c0| 20 2a 73 72 63 3b 0a 58 | 20 20 20 20 72 65 67 69 | *src;.X| regi|
|000043d0| 73 74 65 72 20 69 6e 74 | 20 63 3b 0a 58 20 20 20 |ster int| c;.X |
|000043e0| 20 63 68 61 72 20 2a 73 | 74 72 2c 20 2a 74 61 69 | char *s|tr, *tai|
|000043f0| 6c 3b 0a 58 20 20 20 20 | 63 68 61 72 20 67 72 6f |l;.X |char gro|
|00004400| 75 70 5f 6e 61 6d 65 5b | 46 49 4c 45 4e 41 4d 45 |up_name[|FILENAME|
|00004410| 5d 2c 20 73 75 62 6a 65 | 63 74 5b 46 49 4c 45 4e |], subje|ct[FILEN|
|00004420| 41 4d 45 5d 2c 0a 58 09 | 20 64 69 73 74 72 69 62 |AME],.X.| distrib|
|00004430| 75 74 69 6f 6e 5b 46 49 | 4c 45 4e 41 4d 45 5d 2c |ution[FI|LENAME],|
|00004440| 20 6b 65 79 77 6f 72 64 | 73 5b 46 49 4c 45 4e 41 | keyword|s[FILENA|
|00004450| 4d 45 5d 2c 20 73 75 6d | 6d 61 72 79 5b 46 49 4c |ME], sum|mary[FIL|
|00004460| 45 4e 41 4d 45 5d 3b 0a | 58 20 20 20 20 65 78 74 |ENAME];.|X ext|
|00004470| 65 72 6e 20 67 72 6f 75 | 70 5f 63 6f 6d 70 6c 65 |ern grou|p_comple|
|00004480| 74 69 6f 6e 28 29 3b 0a | 58 0a 58 20 20 20 20 69 |tion();.|X.X i|
|00004490| 66 20 28 70 6f 73 74 5f | 73 6f 75 72 63 65 5f 66 |f (post_|source_f|
|000044a0| 69 6c 65 29 20 7b 0a 58 | 09 73 72 63 20 3d 20 6f |ile) {.X|.src = o|
|000044b0| 70 65 6e 5f 66 69 6c 65 | 28 70 6f 73 74 5f 73 6f |pen_file|(post_so|
|000044c0| 75 72 63 65 5f 66 69 6c | 65 2c 20 4f 50 45 4e 5f |urce_fil|e, OPEN_|
|000044d0| 52 45 41 44 29 3b 0a 58 | 09 69 66 20 28 73 72 63 |READ);.X|.if (src|
|000044e0| 20 3d 3d 20 4e 55 4c 4c | 29 20 7b 0a 58 09 20 20 | == NULL|) {.X. |
|000044f0| 20 20 70 72 69 6e 74 66 | 28 22 46 69 6c 65 20 25 | printf|("File %|
|00004500| 73 20 6e 6f 74 20 66 6f | 75 6e 64 5c 6e 22 29 3b |s not fo|und\n");|
|00004510| 0a 58 09 20 20 20 20 6e | 6e 5f 65 78 69 74 28 31 |.X. n|n_exit(1|
|00004520| 29 3b 0a 58 09 7d 0a 58 | 20 20 20 20 7d 0a 58 0a |);.X.}.X| }.X.|
|00004530| 58 20 20 20 20 69 66 20 | 28 70 6f 73 74 5f 74 6f |X if |(post_to|
|00004540| 5f 67 72 6f 75 70 73 29 | 0a 58 09 73 74 72 63 70 |_groups)|.X.strcp|
|00004550| 79 28 67 72 6f 75 70 5f | 6e 61 6d 65 2c 20 70 6f |y(group_|name, po|
|00004560| 73 74 5f 74 6f 5f 67 72 | 6f 75 70 73 29 3b 0a 58 |st_to_gr|oups);.X|
|00004570| 20 20 20 20 65 6c 73 65 | 20 7b 0a 58 09 67 72 6f | else| {.X.gro|
|00004580| 75 70 5f 6e 61 6d 65 5b | 30 5d 20 3d 20 4e 55 4c |up_name[|0] = NUL|
|00004590| 3b 0a 58 0a 58 20 20 20 | 20 20 61 67 61 69 6e 5f |;.X.X | again_|
|000045a0| 67 72 6f 75 70 3a 0a 58 | 0a 58 09 70 72 6f 6d 70 |group:.X|.X.promp|
|000045b0| 74 28 77 68 6f 5f 61 6d | 5f 69 20 3d 3d 20 49 5f |t(who_am|_i == I_|
|000045c0| 41 4d 5f 50 4f 53 54 20 | 3f 20 22 4e 65 77 73 67 |AM_POST |? "Newsg|
|000045d0| 72 6f 75 70 73 3a 20 22 | 20 3a 20 22 5c 31 50 4f |roups: "| : "\1PO|
|000045e0| 53 54 20 74 6f 20 67 72 | 6f 75 70 5c 31 20 22 29 |ST to gr|oup\1 ")|
|000045f0| 3b 0a 58 0a 58 09 73 74 | 72 20 3d 20 67 65 74 5f |;.X.X.st|r = get_|
|00004600| 73 28 63 75 72 72 65 6e | 74 5f 67 72 6f 75 70 20 |s(curren|t_group |
|00004610| 3f 20 63 75 72 72 65 6e | 74 5f 67 72 6f 75 70 2d |? curren|t_group-|
|00004620| 3e 67 72 6f 75 70 5f 6e | 61 6d 65 20 3a 20 4e 4f |>group_n|ame : NO|
|00004630| 4e 45 2c 0a 58 09 09 20 | 20 20 20 67 72 6f 75 70 |NE,.X.. | group|
|00004640| 5f 6e 61 6d 65 2c 20 4e | 4f 4e 45 2c 20 67 72 6f |_name, N|ONE, gro|
|00004650| 75 70 5f 63 6f 6d 70 6c | 65 74 69 6f 6e 29 3b 0a |up_compl|etion);.|
|00004660| 58 09 69 66 20 28 73 74 | 72 20 3d 3d 20 4e 55 4c |X.if (st|r == NUL|
|00004670| 4c 29 20 72 65 74 75 72 | 6e 20 30 3b 0a 58 09 69 |L) retur|n 0;.X.i|
|00004680| 66 20 28 2a 73 74 72 20 | 3d 3d 20 4e 55 4c 29 20 |f (*str |== NUL) |
|00004690| 7b 0a 58 09 20 20 20 20 | 69 66 20 28 63 75 72 72 |{.X. |if (curr|
|000046a0| 65 6e 74 5f 67 72 6f 75 | 70 20 3d 3d 20 4e 55 4c |ent_grou|p == NUL|
|000046b0| 4c 20 7c 7c 20 28 63 75 | 72 72 65 6e 74 5f 67 72 |L || (cu|rrent_gr|
|000046c0| 6f 75 70 2d 3e 67 72 6f | 75 70 5f 66 6c 61 67 20 |oup->gro|up_flag |
|000046d0| 26 20 47 5f 46 41 4b 45 | 44 29 29 0a 58 09 09 72 |& G_FAKE|D)).X..r|
|000046e0| 65 74 75 72 6e 20 30 3b | 0a 58 09 20 20 20 20 73 |eturn 0;|.X. s|
|000046f0| 74 72 20 3d 20 63 75 72 | 72 65 6e 74 5f 67 72 6f |tr = cur|rent_gro|
|00004700| 75 70 2d 3e 67 72 6f 75 | 70 5f 6e 61 6d 65 3b 0a |up->grou|p_name;.|
|00004710| 58 09 7d 0a 58 09 73 74 | 72 63 70 79 28 67 72 6f |X.}.X.st|rcpy(gro|
|00004720| 75 70 5f 6e 61 6d 65 2c | 20 73 74 72 29 3b 0a 58 |up_name,| str);.X|
|00004730| 0a 58 09 66 6f 72 20 28 | 73 74 72 20 3d 20 67 72 |.X.for (|str = gr|
|00004740| 6f 75 70 5f 6e 61 6d 65 | 3b 20 73 74 72 3b 20 73 |oup_name|; str; s|
|00004750| 74 72 20 3d 20 74 61 69 | 6c 29 20 7b 0a 58 09 20 |tr = tai|l) {.X. |
|00004760| 20 20 20 74 61 69 6c 20 | 3d 20 73 74 72 63 68 72 | tail |= strchr|
|00004770| 28 73 74 72 2c 20 27 2c | 27 29 3b 0a 58 09 20 20 |(str, ',|');.X. |
|00004780| 20 20 69 66 20 28 74 61 | 69 6c 29 20 2a 74 61 69 | if (ta|il) *tai|
|00004790| 6c 20 3d 20 4e 55 4c 3b | 0a 58 0a 58 09 20 20 20 |l = NUL;|.X.X. |
|000047a0| 20 69 66 20 28 6c 6f 6f | 6b 75 70 28 73 74 72 29 | if (loo|kup(str)|
|000047b0| 20 3d 3d 20 4e 55 4c 4c | 29 20 7b 0a 58 09 09 6d | == NULL|) {.X..m|
|000047c0| 73 67 28 22 75 6e 6b 6e | 6f 77 6e 20 67 72 6f 75 |sg("unkn|own grou|
|000047d0| 70 3a 20 25 73 22 2c 20 | 73 74 72 29 3b 0a 58 09 |p: %s", |str);.X.|
|000047e0| 09 2a 73 74 72 20 3d 20 | 4e 55 4c 3b 0a 58 09 09 |.*str = |NUL;.X..|
|000047f0| 67 6f 74 6f 20 61 67 61 | 69 6e 5f 67 72 6f 75 70 |goto aga|in_group|
|00004800| 3b 0a 58 09 20 20 20 20 | 7d 0a 58 0a 58 09 20 20 |;.X. |}.X.X. |
|00004810| 20 20 69 66 20 28 74 61 | 69 6c 29 20 2a 74 61 69 | if (ta|il) *tai|
|00004820| 6c 2b 2b 20 3d 20 27 2c | 27 3b 0a 58 09 7d 0a 58 |l++ = ',|';.X.}.X|
|00004830| 09 69 66 20 28 77 68 6f | 5f 61 6d 5f 69 20 3d 3d |.if (who|_am_i ==|
|00004840| 20 49 5f 41 4d 5f 50 4f | 53 54 29 20 70 72 6f 6d | I_AM_PO|ST) prom|
|00004850| 70 74 5f 6c 69 6e 65 2b | 2b 3b 0a 58 20 20 20 20 |pt_line+|+;.X |
|00004860| 7d 0a 58 0a 58 20 20 20 | 20 69 66 20 28 28 73 74 |}.X.X | if ((st|
|00004870| 72 20 3d 20 70 6f 73 74 | 5f 73 75 62 6a 65 63 74 |r = post|_subject|
|00004880| 29 20 3d 3d 20 4e 55 4c | 4c 29 20 7b 0a 58 09 70 |) == NUL|L) {.X.p|
|00004890| 72 6f 6d 70 74 28 22 53 | 75 62 6a 65 63 74 3a 20 |rompt("S|ubject: |
|000048a0| 22 29 3b 0a 58 09 73 74 | 72 20 3d 20 67 65 74 5f |");.X.st|r = get_|
|000048b0| 73 28 4e 4f 4e 45 2c 20 | 4e 4f 4e 45 2c 20 4e 4f |s(NONE, |NONE, NO|
|000048c0| 4e 45 2c 20 4e 55 4c 4c | 5f 46 43 54 29 3b 0a 58 |NE, NULL|_FCT);.X|
|000048d0| 09 69 66 20 28 73 74 72 | 20 3d 3d 20 4e 55 4c 4c |.if (str| == NULL|
|000048e0| 20 7c 7c 20 2a 73 74 72 | 20 3d 3d 20 4e 55 4c 29 | || *str| == NUL)|
|000048f0| 20 72 65 74 75 72 6e 20 | 30 3b 0a 58 09 69 66 20 | return |0;.X.if |
|00004900| 28 77 68 6f 5f 61 6d 5f | 69 20 3d 3d 20 49 5f 41 |(who_am_|i == I_A|
|00004910| 4d 5f 50 4f 53 54 29 20 | 70 72 6f 6d 70 74 5f 6c |M_POST) |prompt_l|
|00004920| 69 6e 65 2b 2b 3b 0a 58 | 20 20 20 20 7d 0a 58 20 |ine++;.X| }.X |
|00004930| 20 20 20 73 74 72 63 70 | 79 28 73 75 62 6a 65 63 | strcp|y(subjec|
|00004940| 74 2c 20 73 74 72 29 3b | 0a 58 0a 58 20 20 20 20 |t, str);|.X.X |
|00004950| 69 66 20 28 28 73 74 72 | 20 3d 20 70 6f 73 74 5f |if ((str| = post_|
|00004960| 6b 65 79 77 6f 72 64 73 | 29 20 3d 3d 20 4e 55 4c |keywords|) == NUL|
|00004970| 4c 29 20 7b 0a 58 09 70 | 72 6f 6d 70 74 28 22 4b |L) {.X.p|rompt("K|
|00004980| 65 79 77 6f 72 64 73 3a | 20 22 29 3b 0a 58 09 73 |eywords:| ");.X.s|
|00004990| 74 72 20 3d 20 67 65 74 | 5f 73 28 4e 4f 4e 45 2c |tr = get|_s(NONE,|
|000049a0| 20 4e 4f 4e 45 2c 20 4e | 4f 4e 45 2c 20 4e 55 4c | NONE, N|ONE, NUL|
|000049b0| 4c 5f 46 43 54 29 3b 0a | 58 09 69 66 20 28 73 74 |L_FCT);.|X.if (st|
|000049c0| 72 20 3d 3d 20 4e 55 4c | 4c 29 20 72 65 74 75 72 |r == NUL|L) retur|
|000049d0| 6e 20 30 3b 0a 58 09 69 | 66 20 28 77 68 6f 5f 61 |n 0;.X.i|f (who_a|
|000049e0| 6d 5f 69 20 3d 3d 20 49 | 5f 41 4d 5f 50 4f 53 54 |m_i == I|_AM_POST|
|000049f0| 29 20 70 72 6f 6d 70 74 | 5f 6c 69 6e 65 2b 2b 3b |) prompt|_line++;|
|00004a00| 0a 58 20 20 20 20 7d 0a | 58 20 20 20 20 73 74 72 |.X }.|X str|
|00004a10| 63 70 79 28 6b 65 79 77 | 6f 72 64 73 2c 20 73 74 |cpy(keyw|ords, st|
|00004a20| 72 29 3b 0a 58 0a 58 20 | 20 20 20 69 66 20 28 28 |r);.X.X | if ((|
|00004a30| 73 74 72 20 3d 20 70 6f | 73 74 5f 73 75 6d 6d 61 |str = po|st_summa|
|00004a40| 72 79 29 20 3d 3d 20 4e | 55 4c 4c 29 20 7b 0a 58 |ry) == N|ULL) {.X|
|00004a50| 09 70 72 6f 6d 70 74 28 | 22 53 75 6d 6d 61 72 79 |.prompt(|"Summary|
|00004a60| 3a 20 22 29 3b 0a 58 09 | 73 74 72 20 3d 20 67 65 |: ");.X.|str = ge|
|00004a70| 74 5f 73 28 4e 4f 4e 45 | 2c 20 4e 4f 4e 45 2c 20 |t_s(NONE|, NONE, |
|00004a80| 4e 4f 4e 45 2c 20 4e 55 | 4c 4c 5f 46 43 54 29 3b |NONE, NU|LL_FCT);|
|00004a90| 0a 58 09 69 66 20 28 73 | 74 72 20 3d 3d 20 4e 55 |.X.if (s|tr == NU|
|00004aa0| 4c 4c 29 20 72 65 74 75 | 72 6e 20 30 3b 0a 58 09 |LL) retu|rn 0;.X.|
|00004ab0| 69 66 20 28 77 68 6f 5f | 61 6d 5f 69 20 3d 3d 20 |if (who_|am_i == |
|00004ac0| 49 5f 41 4d 5f 50 4f 53 | 54 29 20 70 72 6f 6d 70 |I_AM_POS|T) promp|
|00004ad0| 74 5f 6c 69 6e 65 2b 2b | 3b 0a 58 20 20 20 20 7d |t_line++|;.X }|
|00004ae0| 0a 58 20 20 20 20 73 74 | 72 63 70 79 28 73 75 6d |.X st|rcpy(sum|
|00004af0| 6d 61 72 79 2c 20 73 74 | 72 29 3b 0a 58 0a 58 20 |mary, st|r);.X.X |
|00004b00| 20 20 20 69 66 20 28 70 | 6f 73 74 5f 64 69 73 74 | if (p|ost_dist|
|00004b10| 72 69 62 75 74 69 6f 6e | 29 20 7b 0a 58 09 73 74 |ribution|) {.X.st|
|00004b20| 72 63 70 79 28 64 69 73 | 74 72 69 62 75 74 69 6f |rcpy(dis|tributio|
|00004b30| 6e 2c 20 70 6f 73 74 5f | 64 69 73 74 72 69 62 75 |n, post_|distribu|
|00004b40| 74 69 6f 6e 29 3b 0a 58 | 20 20 20 20 7d 20 65 6c |tion);.X| } el|
|00004b50| 73 65 20 7b 0a 58 09 69 | 66 20 28 64 65 66 61 75 |se {.X.i|f (defau|
|00004b60| 6c 74 5f 64 69 73 74 72 | 69 62 75 74 69 6f 6e 20 |lt_distr|ibution |
|00004b70| 21 3d 20 4e 55 4c 4c 29 | 0a 58 09 20 20 20 20 73 |!= NULL)|.X. s|
|00004b80| 74 72 63 70 79 28 64 69 | 73 74 72 69 62 75 74 69 |trcpy(di|stributi|
|00004b90| 6f 6e 2c 20 64 65 66 61 | 75 6c 74 5f 64 69 73 74 |on, defa|ult_dist|
|00004ba0| 72 69 62 75 74 69 6f 6e | 29 3b 0a 58 09 65 6c 73 |ribution|);.X.els|
|00004bb0| 65 20 7b 0a 58 09 20 20 | 20 20 73 74 72 63 70 79 |e {.X. | strcpy|
|00004bc0| 28 64 69 73 74 72 69 62 | 75 74 69 6f 6e 2c 20 67 |(distrib|ution, g|
|00004bd0| 72 6f 75 70 5f 6e 61 6d | 65 29 3b 0a 58 09 20 20 |roup_nam|e);.X. |
|00004be0| 20 20 69 66 20 28 73 74 | 72 20 3d 20 73 74 72 63 | if (st|r = strc|
|00004bf0| 68 72 28 64 69 73 74 72 | 69 62 75 74 69 6f 6e 2c |hr(distr|ibution,|
|00004c00| 20 27 2c 27 29 29 20 2a | 73 74 72 20 3d 20 4e 55 | ',')) *|str = NU|
|00004c10| 4c 3b 0a 58 09 20 20 20 | 20 69 66 20 28 73 74 72 |L;.X. | if (str|
|00004c20| 20 3d 20 73 74 72 63 68 | 72 28 64 69 73 74 72 69 | = strch|r(distri|
|00004c30| 62 75 74 69 6f 6e 2c 20 | 27 2e 27 29 29 20 2a 73 |bution, |'.')) *s|
|00004c40| 74 72 20 3d 20 4e 55 4c | 3b 0a 58 09 7d 0a 58 0a |tr = NUL|;.X.}.X.|
|00004c50| 58 09 70 72 6f 6d 70 74 | 28 22 44 69 73 74 72 69 |X.prompt|("Distri|
|00004c60| 62 75 74 69 6f 6e 3a 20 | 28 64 65 66 61 75 6c 74 |bution: |(default|
|00004c70| 20 27 25 73 27 29 20 22 | 2c 20 64 69 73 74 72 69 | '%s') "|, distri|
|00004c80| 62 75 74 69 6f 6e 29 3b | 0a 58 09 73 74 72 20 3d |bution);|.X.str =|
|00004c90| 20 67 65 74 5f 73 28 4e | 4f 4e 45 2c 20 4e 4f 4e | get_s(N|ONE, NON|
|00004ca0| 45 2c 20 4e 4f 4e 45 2c | 20 4e 55 4c 4c 5f 46 43 |E, NONE,| NULL_FC|
|00004cb0| 54 29 3b 0a 58 09 69 66 | 20 28 73 74 72 20 3d 3d |T);.X.if| (str ==|
|00004cc0| 20 4e 55 4c 4c 29 20 72 | 65 74 75 72 6e 20 30 3b | NULL) r|eturn 0;|
|00004cd0| 0a 58 09 69 66 20 28 2a | 73 74 72 29 20 73 74 72 |.X.if (*|str) str|
|00004ce0| 63 70 79 28 64 69 73 74 | 72 69 62 75 74 69 6f 6e |cpy(dist|ribution|
|00004cf0| 2c 20 73 74 72 29 3b 0a | 58 09 69 66 20 28 77 68 |, str);.|X.if (wh|
|00004d00| 6f 5f 61 6d 5f 69 20 3d | 3d 20 49 5f 41 4d 5f 50 |o_am_i =|= I_AM_P|
|00004d10| 4f 53 54 29 20 70 72 6f | 6d 70 74 5f 6c 69 6e 65 |OST) pro|mpt_line|
|00004d20| 2b 2b 3b 0a 58 20 20 20 | 20 7d 0a 58 0a 58 20 20 |++;.X | }.X.X |
|00004d30| 20 20 6e 65 77 5f 74 65 | 6d 70 5f 66 69 6c 65 28 | new_te|mp_file(|
|00004d40| 29 3b 0a 58 20 20 20 20 | 69 66 20 28 28 74 20 3d |);.X |if ((t =|
|00004d50| 20 6f 70 65 6e 5f 66 69 | 6c 65 28 74 65 6d 70 5f | open_fi|le(temp_|
|00004d60| 66 69 6c 65 2c 20 4f 50 | 45 4e 5f 43 52 45 41 54 |file, OP|EN_CREAT|
|00004d70| 45 29 29 20 3d 3d 20 4e | 55 4c 4c 29 20 7b 0a 58 |E)) == N|ULL) {.X|
|00004d80| 09 6d 73 67 28 22 43 61 | 6e 27 74 20 63 72 65 61 |.msg("Ca|n't crea|
|00004d90| 74 65 20 25 73 22 2c 20 | 74 65 6d 70 5f 66 69 6c |te %s", |temp_fil|
|00004da0| 65 29 3b 0a 58 09 72 65 | 74 75 72 6e 20 30 3b 0a |e);.X.re|turn 0;.|
|00004db0| 58 20 20 20 20 7d 0a 58 | 0a 58 20 20 20 20 69 66 |X }.X|.X if|
|00004dc0| 20 28 21 70 6f 73 74 5f | 6e 6f 5f 65 64 69 74 29 | (!post_|no_edit)|
|00004dd0| 0a 58 09 70 72 6f 6d 70 | 74 28 22 5c 31 57 41 49 |.X.promp|t("\1WAI|
|00004de0| 54 5c 31 22 29 3b 0a 58 | 0a 58 20 20 20 20 65 64 |T\1");.X|.X ed|
|00004df0| 5f 6c 69 6e 65 20 3d 20 | 33 3b 0a 58 23 69 66 64 |_line = |3;.X#ifd|
|00004e00| 65 66 20 4e 4e 54 50 0a | 58 23 69 66 64 65 66 20 |ef NNTP.|X#ifdef |
|00004e10| 4e 4e 54 50 5f 4d 49 4e | 49 5f 49 4e 45 57 53 5f |NNTP_MIN|I_INEWS_|
|00004e20| 48 45 41 44 45 52 0a 58 | 20 20 20 20 6d 69 6e 69 |HEADER.X| mini|
|00004e30| 5f 69 6e 65 77 73 5f 68 | 65 61 64 65 72 28 74 29 |_inews_h|eader(t)|
|00004e40| 3b 0a 58 23 65 6e 64 69 | 66 0a 58 23 65 6e 64 69 |;.X#endi|f.X#endi|
|00004e50| 66 0a 58 20 20 20 20 66 | 70 72 69 6e 74 66 28 74 |f.X f|printf(t|
|00004e60| 2c 20 22 4e 65 77 73 67 | 72 6f 75 70 73 3a 20 25 |, "Newsg|roups: %|
|00004e70| 73 5c 6e 22 2c 20 67 72 | 6f 75 70 5f 6e 61 6d 65 |s\n", gr|oup_name|
|00004e80| 29 3b 0a 58 20 20 20 20 | 66 70 72 69 6e 74 66 28 |);.X |fprintf(|
|00004e90| 74 2c 20 22 44 69 73 74 | 72 69 62 75 74 69 6f 6e |t, "Dist|ribution|
|00004ea0| 3a 20 25 73 5c 6e 22 2c | 20 64 69 73 74 72 69 62 |: %s\n",| distrib|
|00004eb0| 75 74 69 6f 6e 29 3b 0a | 58 20 20 20 20 66 70 72 |ution);.|X fpr|
|00004ec0| 69 6e 74 66 28 74 2c 20 | 22 53 75 62 6a 65 63 74 |intf(t, |"Subject|
|00004ed0| 3a 20 25 73 5c 6e 22 2c | 20 73 75 62 6a 65 63 74 |: %s\n",| subject|
|00004ee0| 29 3b 0a 58 20 20 20 20 | 69 66 20 28 2a 73 75 6d |);.X |if (*sum|
|00004ef0| 6d 61 72 79 29 20 7b 0a | 58 09 66 70 72 69 6e 74 |mary) {.|X.fprint|
|00004f00| 66 28 74 2c 20 22 53 75 | 6d 6d 61 72 79 3a 20 25 |f(t, "Su|mmary: %|
|00004f10| 73 5c 6e 22 2c 20 73 75 | 6d 6d 61 72 79 29 3b 0a |s\n", su|mmary);.|
|00004f20| 58 09 65 64 5f 6c 69 6e | 65 2b 2b 3b 0a 58 20 20 |X.ed_lin|e++;.X |
|00004f30| 20 20 7d 0a 58 20 20 20 | 20 69 66 20 28 2a 6b 65 | }.X | if (*ke|
|00004f40| 79 77 6f 72 64 73 29 20 | 7b 0a 58 09 66 70 72 69 |ywords) |{.X.fpri|
|00004f50| 6e 74 66 28 74 2c 20 22 | 4b 65 79 77 6f 72 64 73 |ntf(t, "|Keywords|
|00004f60| 3a 20 25 73 5c 6e 22 2c | 20 6b 65 79 77 6f 72 64 |: %s\n",| keyword|
|00004f70| 73 29 3b 0a 58 09 65 64 | 5f 6c 69 6e 65 2b 2b 3b |s);.X.ed|_line++;|
|00004f80| 0a 58 20 20 20 20 7d 0a | 58 0a 58 20 20 20 20 65 |.X }.|X.X e|
|00004f90| 6e 64 5f 68 65 61 64 65 | 72 28 74 2c 20 65 78 74 |nd_heade|r(t, ext|
|00004fa0| 72 61 5f 6e 65 77 73 5f | 68 65 61 64 65 72 73 29 |ra_news_|headers)|
|00004fb0| 3b 0a 58 0a 58 20 20 20 | 20 69 66 20 28 70 6f 73 |;.X.X | if (pos|
|00004fc0| 74 5f 73 6f 75 72 63 65 | 5f 66 69 6c 65 29 20 7b |t_source|_file) {|
|00004fd0| 0a 58 09 77 68 69 6c 65 | 20 28 28 63 20 3d 20 67 |.X.while| ((c = g|
|00004fe0| 65 74 63 28 73 72 63 29 | 29 20 21 3d 20 45 4f 46 |etc(src)|) != EOF|
|00004ff0| 29 20 70 75 74 63 28 63 | 2c 20 74 29 3b 0a 58 09 |) putc(c|, t);.X.|
|00005000| 66 63 6c 6f 73 65 28 73 | 72 63 29 3b 0a 58 20 20 |fclose(s|rc);.X |
|00005010| 20 20 7d 20 65 6c 73 65 | 0a 58 09 66 70 75 74 63 | } else|.X.fputc|
|00005020| 28 4e 4c 2c 20 74 29 3b | 0a 58 0a 58 20 20 20 20 |(NL, t);|.X.X |
|00005030| 66 63 6c 6f 73 65 28 74 | 29 3b 0a 58 0a 58 20 20 |fclose(t|);.X.X |
|00005040| 20 20 61 75 78 5f 73 68 | 28 28 61 72 74 69 63 6c | aux_sh|((articl|
|00005050| 65 5f 68 65 61 64 65 72 | 20 2a 29 4e 55 4c 4c 2c |e_header| *)NULL,|
|00005060| 20 6e 65 77 73 5f 73 63 | 72 69 70 74 2c 20 22 70 | news_sc|ript, "p|
|00005070| 6f 73 74 22 2c 0a 58 09 | 20 20 20 70 6f 73 74 5f |ost",.X.| post_|
|00005080| 6e 6f 5f 65 64 69 74 20 | 3f 20 22 73 65 6e 64 22 |no_edit |? "send"|
|00005090| 20 3a 20 22 65 64 69 74 | 22 2c 20 6e 65 77 73 5f | : "edit|", news_|
|000050a0| 72 65 63 6f 72 64 2c 0a | 58 09 20 20 20 22 41 72 |record,.|X. "Ar|
|000050b0| 74 69 63 6c 65 25 73 20 | 70 6f 73 74 65 64 22 2c |ticle%s |posted",|
|000050c0| 20 61 70 70 65 6e 64 5f | 73 69 67 5f 70 6f 73 74 | append_|sig_post|
|000050d0| 29 3b 0a 58 0a 58 20 20 | 20 20 72 65 74 75 72 6e |);.X.X | return|
|000050e0| 20 31 3b 0a 58 7d 0a 58 | 0a 45 4e 44 5f 4f 46 5f | 1;.X}.X|.END_OF_|
|000050f0| 46 49 4c 45 0a 20 20 69 | 66 20 74 65 73 74 20 31 |FILE. i|f test 1|
|00005100| 38 37 36 38 20 2d 6e 65 | 20 60 77 63 20 2d 63 20 |8768 -ne| `wc -c |
|00005110| 3c 27 61 6e 73 77 65 72 | 2e 63 27 60 3b 20 74 68 |<'answer|.c'`; th|
|00005120| 65 6e 0a 20 20 20 20 65 | 63 68 6f 20 73 68 61 72 |en. e|cho shar|
|00005130| 3a 20 5c 22 27 61 6e 73 | 77 65 72 2e 63 27 5c 22 |: \"'ans|wer.c'\"|
|00005140| 20 75 6e 70 61 63 6b 65 | 64 20 77 69 74 68 20 77 | unpacke|d with w|
|00005150| 72 6f 6e 67 20 73 69 7a | 65 21 0a 20 20 66 69 0a |rong siz|e!. fi.|
|00005160| 20 20 23 20 65 6e 64 20 | 6f 66 20 27 61 6e 73 77 | # end |of 'answ|
|00005170| 65 72 2e 63 27 0a 66 69 | 0a 69 66 20 74 65 73 74 |er.c'.fi|.if test|
|00005180| 20 2d 66 20 27 63 6f 6e | 66 2f 73 2d 61 69 78 32 | -f 'con|f/s-aix2|
|00005190| 32 31 2e 68 27 20 2d 61 | 20 22 24 7b 31 7d 22 20 |21.h' -a| "${1}" |
|000051a0| 21 3d 20 22 2d 63 22 20 | 3b 20 74 68 65 6e 20 0a |!= "-c" |; then .|
|000051b0| 20 20 65 63 68 6f 20 73 | 68 61 72 3a 20 57 69 6c | echo s|har: Wil|
|000051c0| 6c 20 6e 6f 74 20 63 6c | 6f 62 62 65 72 20 65 78 |l not cl|obber ex|
|000051d0| 69 73 74 69 6e 67 20 66 | 69 6c 65 20 5c 22 27 63 |isting f|ile \"'c|
|000051e0| 6f 6e 66 2f 73 2d 61 69 | 78 32 32 31 2e 68 27 5c |onf/s-ai|x221.h'\|
|000051f0| 22 0a 65 6c 73 65 0a 20 | 20 65 63 68 6f 20 73 68 |".else. | echo sh|
|00005200| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|00005210| 22 27 63 6f 6e 66 2f 73 | 2d 61 69 78 32 32 31 2e |"'conf/s|-aix221.|
|00005220| 68 27 5c 22 20 5c 28 34 | 34 37 20 63 68 61 72 61 |h'\" \(4|47 chara|
|00005230| 63 74 65 72 73 5c 29 0a | 20 20 73 65 64 20 22 73 |cters\).| sed "s|
|00005240| 2f 5e 58 2f 2f 22 20 3e | 27 63 6f 6e 66 2f 73 2d |/^X//" >|'conf/s-|
|00005250| 61 69 78 32 32 31 2e 68 | 27 20 3c 3c 27 45 4e 44 |aix221.h|' <<'END|
|00005260| 5f 4f 46 5f 46 49 4c 45 | 27 0a 58 2f 2a 0a 58 20 |_OF_FILE|'.X/*.X |
|00005270| 2a 09 54 68 69 73 20 76 | 65 72 73 69 6f 6e 20 69 |*.This v|ersion i|
|00005280| 73 20 66 6f 72 20 41 49 | 58 20 32 2e 32 2e 31 0a |s for AI|X 2.2.1.|
|00005290| 58 20 2a 09 46 72 6f 6d | 3a 20 6d 61 72 63 65 6c |X *.From|: marcel|
|000052a0| 40 64 75 74 65 63 61 2e | 74 75 64 65 6c 66 74 2e |@duteca.|tudelft.|
|000052b0| 6e 6c 20 28 4d 61 72 63 | 65 6c 20 4a 2e 45 2e 20 |nl (Marc|el J.E. |
|000052c0| 4d 6f 6c 29 0a 58 20 2a | 2f 0a 58 0a 58 2f 2a 0a |Mol).X *|/.X.X/*.|
|000052d0| 58 20 2a 09 4e 6f 74 69 | 63 65 3a 20 41 49 58 27 |X *.Noti|ce: AIX'|
|000052e0| 73 20 50 52 49 4e 54 45 | 52 20 63 6f 6d 6d 61 6e |s PRINTE|R comman|
|000052f0| 64 20 69 73 20 22 70 72 | 69 6e 74 22 20 20 28 73 |d is "pr|int" (s|
|00005300| 65 65 20 63 6f 6e 66 69 | 67 2e 68 29 0a 58 20 2a |ee confi|g.h).X *|
|00005310| 2f 0a 58 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 73 |/.X.X#in|clude <s|
|00005320| 2d 73 79 73 35 2e 68 3e | 0a 58 0a 58 2f 2a 0a 58 |-sys5.h>|.X.X/*.X|
|00005330| 20 2a 20 20 20 20 41 49 | 58 20 64 6f 65 73 20 68 | * AI|X does h|
|00005340| 61 76 65 20 76 6f 69 64 | 20 73 69 67 6e 61 6c 20 |ave void| signal |
|00005350| 68 61 6e 64 6c 65 72 73 | 2c 20 62 75 74 0a 58 20 |handlers|, but.X |
|00005360| 2a 20 20 20 20 61 20 20 | 20 74 79 70 65 64 65 66 |* a | typedef|
|00005370| 20 76 6f 69 64 20 20 20 | 64 6f 65 73 20 6e 6f 74 | void |does not|
|00005380| 20 77 6f 72 6b 0a 58 20 | 2a 2f 0a 58 0a 58 23 75 | work.X |*/.X.X#u|
|00005390| 6e 64 65 66 09 53 49 47 | 4e 41 4c 5f 48 41 4e 44 |ndef.SIG|NAL_HAND|
|000053a0| 4c 45 52 53 5f 41 52 45 | 5f 56 4f 49 44 0a 58 0a |LERS_ARE|_VOID.X.|
|000053b0| 58 2f 2a 0a 58 20 2a 09 | 44 65 66 69 6e 65 20 48 |X/*.X *.|Define H|
|000053c0| 41 56 45 5f 47 45 54 48 | 4f 53 54 4e 41 4d 45 20 |AVE_GETH|OSTNAME |
|000053d0| 69 66 20 79 6f 75 72 20 | 73 79 73 74 65 6d 20 70 |if your |system p|
|000053e0| 72 6f 76 69 64 65 73 20 | 61 20 42 53 44 20 6c 69 |rovides |a BSD li|
|000053f0| 6b 65 0a 58 20 2a 09 67 | 65 74 68 6f 73 74 6e 61 |ke.X *.g|ethostna|
|00005400| 6d 65 20 72 6f 75 74 69 | 6e 65 2e 0a 58 20 2a 2f |me routi|ne..X */|
|00005410| 0a 58 0a 58 23 75 6e 64 | 65 66 20 20 48 41 56 45 |.X.X#und|ef HAVE|
|00005420| 5f 55 4e 41 4d 45 0a 58 | 23 64 65 66 69 6e 65 09 |_UNAME.X|#define.|
|00005430| 48 41 56 45 5f 47 45 54 | 48 4f 53 54 4e 41 4d 45 |HAVE_GET|HOSTNAME|
|00005440| 0a 58 0a 45 4e 44 5f 4f | 46 5f 46 49 4c 45 0a 20 |.X.END_O|F_FILE. |
|00005450| 20 69 66 20 74 65 73 74 | 20 34 34 37 20 2d 6e 65 | if test| 447 -ne|
|00005460| 20 60 77 63 20 2d 63 20 | 3c 27 63 6f 6e 66 2f 73 | `wc -c |<'conf/s|
|00005470| 2d 61 69 78 32 32 31 2e | 68 27 60 3b 20 74 68 65 |-aix221.|h'`; the|
|00005480| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|00005490| 20 5c 22 27 63 6f 6e 66 | 2f 73 2d 61 69 78 32 32 | \"'conf|/s-aix22|
|000054a0| 31 2e 68 27 5c 22 20 75 | 6e 70 61 63 6b 65 64 20 |1.h'\" u|npacked |
|000054b0| 77 69 74 68 20 77 72 6f | 6e 67 20 73 69 7a 65 21 |with wro|ng size!|
|000054c0| 0a 20 20 66 69 0a 20 20 | 23 20 65 6e 64 20 6f 66 |. fi. |# end of|
|000054d0| 20 27 63 6f 6e 66 2f 73 | 2d 61 69 78 32 32 31 2e | 'conf/s|-aix221.|
|000054e0| 68 27 0a 66 69 0a 69 66 | 20 74 65 73 74 20 2d 66 |h'.fi.if| test -f|
|000054f0| 20 27 6d 61 63 72 6f 2e | 63 27 20 2d 61 20 22 24 | 'macro.|c' -a "$|
|00005500| 7b 31 7d 22 20 21 3d 20 | 22 2d 63 22 20 3b 20 74 |{1}" != |"-c" ; t|
|00005510| 68 65 6e 20 0a 20 20 65 | 63 68 6f 20 73 68 61 72 |hen . e|cho shar|
|00005520| 3a 20 57 69 6c 6c 20 6e | 6f 74 20 63 6c 6f 62 62 |: Will n|ot clobb|
|00005530| 65 72 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |er exist|ing file|
|00005540| 20 5c 22 27 6d 61 63 72 | 6f 2e 63 27 5c 22 0a 65 | \"'macr|o.c'\".e|
|00005550| 6c 73 65 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |lse. ec|ho shar:|
|00005560| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 27 6d | Extract|ing \"'m|
|00005570| 61 63 72 6f 2e 63 27 5c | 22 20 5c 28 31 34 31 38 |acro.c'\|" \(1418|
|00005580| 36 20 63 68 61 72 61 63 | 74 65 72 73 5c 29 0a 20 |6 charac|ters\). |
|00005590| 20 73 65 64 20 22 73 2f | 5e 58 2f 2f 22 20 3e 27 | sed "s/|^X//" >'|
|000055a0| 6d 61 63 72 6f 2e 63 27 | 20 3c 3c 27 45 4e 44 5f |macro.c'| <<'END_|
|000055b0| 4f 46 5f 46 49 4c 45 27 | 0a 58 2f 2a 0a 58 20 2a |OF_FILE'|.X/*.X *|
|000055c0| 09 28 63 29 20 43 6f 70 | 79 72 69 67 68 74 20 31 |.(c) Cop|yright 1|
|000055d0| 39 39 30 2c 20 4b 69 6d | 20 46 61 62 72 69 63 69 |990, Kim| Fabrici|
|000055e0| 75 73 20 53 74 6f 72 6d | 2e 20 20 41 6c 6c 20 72 |us Storm|. All r|
|000055f0| 69 67 68 74 73 20 72 65 | 73 65 72 76 65 64 2e 0a |ights re|served..|
|00005600| 58 20 2a 0a 58 20 2a 09 | 4d 61 63 72 6f 20 70 61 |X *.X *.|Macro pa|
|00005610| 72 73 69 6e 67 20 61 6e | 64 20 65 78 65 63 75 74 |rsing an|d execut|
|00005620| 69 6f 6e 2e 0a 58 20 2a | 2f 0a 58 0a 58 23 69 6e |ion..X *|/.X.X#in|
|00005630| 63 6c 75 64 65 20 22 63 | 6f 6e 66 69 67 2e 68 22 |clude "c|onfig.h"|
|00005640| 0a 58 23 69 6e 63 6c 75 | 64 65 20 22 6b 65 79 6d |.X#inclu|de "keym|
|00005650| 61 70 2e 68 22 0a 58 23 | 69 6e 63 6c 75 64 65 20 |ap.h".X#|include |
|00005660| 22 74 65 72 6d 2e 68 22 | 0a 58 0a 58 65 78 70 6f |"term.h"|.X.Xexpo|
|00005670| 72 74 20 69 6e 74 20 69 | 6e 5f 6d 65 6e 75 5f 6d |rt int i|n_menu_m|
|00005680| 6f 64 65 20 3d 20 30 3b | 0a 58 65 78 70 6f 72 74 |ode = 0;|.Xexport|
|00005690| 20 69 6e 74 20 67 65 74 | 5f 66 72 6f 6d 5f 6d 61 | int get|_from_ma|
|000056a0| 63 72 6f 20 3d 20 30 3b | 0a 58 65 78 70 6f 72 74 |cro = 0;|.Xexport|
|000056b0| 20 69 6e 74 20 6d 61 63 | 72 6f 5f 64 65 62 75 67 | int mac|ro_debug|
|000056c0| 20 3d 20 30 3b 0a 58 65 | 78 70 6f 72 74 20 63 68 | = 0;.Xe|xport ch|
|000056d0| 61 72 20 2a 64 66 6c 74 | 5f 65 6e 74 65 72 5f 6d |ar *dflt|_enter_m|
|000056e0| 61 63 72 6f 20 3d 20 4e | 55 4c 4c 3b 0a 58 0a 58 |acro = N|ULL;.X.X|
|000056f0| 23 64 65 66 69 6e 65 20 | 4d 5f 44 55 4d 4d 59 09 |#define |M_DUMMY.|
|00005700| 09 30 09 2f 2a 20 64 6f | 20 6e 6f 74 68 69 6e 67 |.0./* do| nothing|
|00005710| 20 28 65 6e 64 20 6f 66 | 20 62 72 61 6e 63 68 29 | (end of| branch)|
|00005720| 09 20 2a 2f 0a 58 0a 58 | 23 64 65 66 69 6e 65 09 |. */.X.X|#define.|
|00005730| 4d 5f 43 4f 4d 4d 41 4e | 44 09 31 09 2f 2a 20 61 |M_COMMAN|D.1./* a|
|00005740| 20 63 6f 6d 6d 61 6e 64 | 20 28 67 65 74 5f 63 28 | command| (get_c(|
|00005750| 29 29 20 09 09 20 2a 2f | 0a 58 23 64 65 66 69 6e |)) .. */|.X#defin|
|00005760| 65 20 4d 5f 4b 45 59 09 | 09 32 09 2f 2a 20 61 20 |e M_KEY.|.2./* a |
|00005770| 6b 65 79 20 73 74 72 6f | 6b 65 20 28 67 65 74 5f |key stro|ke (get_|
|00005780| 63 28 29 29 20 09 20 2a | 2f 0a 58 23 64 65 66 69 |c()) . *|/.X#defi|
|00005790| 6e 65 20 4d 5f 53 54 52 | 49 4e 47 09 33 09 2f 2a |ne M_STR|ING.3./*|
|000057a0| 20 61 20 73 74 72 69 6e | 67 20 28 67 65 74 5f 73 | a strin|g (get_s|
|000057b0| 28 29 29 09 09 20 2a 2f | 0a 58 0a 58 23 64 65 66 |()).. */|.X.X#def|
|000057c0| 69 6e 65 20 4d 5f 49 4e | 50 55 54 09 09 34 09 2f |ine M_IN|PUT..4./|
|000057d0| 2a 20 74 61 6b 65 20 69 | 6e 70 75 74 20 66 72 6f |* take i|nput fro|
|000057e0| 6d 20 6b 65 79 62 6f 61 | 72 64 20 28 67 65 74 5f |m keyboa|rd (get_|
|000057f0| 63 2f 67 65 74 5f 73 29 | 20 2a 2f 0a 58 0a 58 23 |c/get_s)| */.X.X#|
|00005800| 64 65 66 69 6e 65 20 4d | 5f 59 45 53 09 09 35 09 |define M|_YES..5.|
|00005810| 2f 2a 20 61 6e 73 77 65 | 72 20 79 65 73 20 74 6f |/* answe|r yes to|
|00005820| 20 63 6f 6e 66 69 72 6d | 61 74 69 6f 6e 09 20 2a | confirm|ation. *|
|00005830| 2f 0a 58 23 64 65 66 69 | 6e 65 20 4d 5f 4e 4f 09 |/.X#defi|ne M_NO.|
|00005840| 09 36 09 2f 2a 20 61 6e | 73 77 65 72 20 6e 6f 20 |.6./* an|swer no |
|00005850| 74 6f 20 63 6f 6e 66 69 | 72 6d 61 74 69 6f 6e 20 |to confi|rmation |
|00005860| 61 6e 64 20 62 72 65 61 | 6b 20 2a 2f 0a 58 09 09 |and brea|k */.X..|
|00005870| 09 09 2f 2a 20 2d 2d 20 | 69 66 20 6e 65 69 74 68 |../* -- |if neith|
|00005880| 65 72 20 61 72 65 20 70 | 72 65 73 65 6e 74 2c 20 |er are p|resent, |
|00005890| 74 61 6b 65 20 69 6e 70 | 75 74 20 2a 2f 0a 58 0a |take inp|ut */.X.|
|000058a0| 58 23 64 65 66 69 6e 65 | 20 4d 5f 50 55 54 53 09 |X#define| M_PUTS.|
|000058b0| 09 37 09 2f 2a 20 70 75 | 74 73 20 22 2e 2e 2e 22 |.7./* pu|ts "..."|
|000058c0| 09 09 09 20 2a 2f 0a 58 | 23 64 65 66 69 6e 65 20 |... */.X|#define |
|000058d0| 4d 5f 50 52 4f 4d 50 54 | 09 38 09 2f 2a 20 70 72 |M_PROMPT|.8./* pr|
|000058e0| 6f 6d 70 74 28 2e 2e 2e | 29 09 20 09 09 20 2a 2f |ompt(...|). .. */|
|000058f0| 0a 58 23 64 65 66 69 6e | 65 20 4d 5f 45 43 48 4f |.X#defin|e M_ECHO|
|00005900| 09 09 39 09 2f 2a 20 6d | 73 67 28 2e 2e 2e 29 09 |..9./* m|sg(...).|
|00005910| 09 09 20 2a 2f 0a 58 0a | 58 23 64 65 66 69 6e 65 |.. */.X.|X#define|
|00005920| 20 4d 5f 49 53 5f 4d 45 | 4e 55 09 31 30 09 2f 2a | M_IS_ME|NU.10./*|
|00005930| 20 69 6e 20 6d 65 6e 75 | 20 6d 6f 64 65 20 3f 09 | in menu| mode ?.|
|00005940| 09 20 2a 2f 0a 58 23 64 | 65 66 69 6e 65 20 4d 5f |. */.X#d|efine M_|
|00005950| 49 53 5f 53 48 4f 57 09 | 31 31 09 2f 2a 20 69 6e |IS_SHOW.|11./* in|
|00005960| 20 72 65 61 64 69 6e 67 | 20 6d 6f 64 65 20 3f 09 | reading| mode ?.|
|00005970| 09 20 2a 2f 0a 58 23 64 | 65 66 69 6e 65 20 4d 5f |. */.X#d|efine M_|
|00005980| 49 53 5f 47 52 4f 55 50 | 09 31 32 09 2f 2a 20 61 |IS_GROUP|.12./* a|
|00005990| 72 65 20 77 65 20 69 6e | 20 61 20 6e 65 77 73 20 |re we in| a news |
|000059a0| 67 72 6f 75 70 20 3f 09 | 20 2a 2f 0a 58 23 64 65 |group ?.| */.X#de|
|000059b0| 66 69 6e 65 20 4d 5f 49 | 53 5f 46 4f 4c 44 45 52 |fine M_I|S_FOLDER|
|000059c0| 09 31 33 09 2f 2a 20 61 | 72 65 20 77 65 20 69 6e |.13./* a|re we in|
|000059d0| 20 61 20 66 6f 6c 64 65 | 72 20 3f 09 09 20 2a 2f | a folde|r ?.. */|
|000059e0| 0a 58 23 64 65 66 69 6e | 65 20 4d 5f 43 4f 4e 46 |.X#defin|e M_CONF|
|000059f0| 49 52 4d 09 31 34 09 2f | 2a 20 61 73 6b 20 66 6f |IRM.14./|* ask fo|
|00005a00| 72 20 63 6f 6e 66 69 72 | 6d 61 74 69 6f 6e 20 74 |r confir|mation t|
|00005a10| 6f 20 70 72 6f 63 65 64 | 65 09 20 2a 2f 0a 58 23 |o proced|e. */.X#|
|00005a20| 64 65 66 69 6e 65 20 4d | 5f 52 45 4a 45 43 54 09 |define M|_REJECT.|
|00005a30| 31 35 09 2f 2a 20 61 73 | 6b 20 66 6f 72 20 21 63 |15./* as|k for !c|
|00005a40| 6f 6e 66 69 72 6d 61 74 | 69 6f 6e 20 74 6f 20 70 |onfirmat|ion to p|
|00005a50| 72 6f 63 65 64 65 09 20 | 2a 2f 0a 58 23 64 65 66 |rocede. |*/.X#def|
|00005a60| 69 6e 65 20 4d 5f 56 41 | 52 54 45 53 54 09 31 36 |ine M_VA|RTEST.16|
|00005a70| 09 2f 2a 20 74 65 73 74 | 20 76 61 6c 75 65 20 6f |./* test| value o|
|00005a80| 66 20 76 61 72 69 61 62 | 6c 65 09 20 2a 2f 0a 58 |f variab|le. */.X|
|00005a90| 23 64 65 66 69 6e 65 20 | 4d 5f 42 52 45 41 4b 09 |#define |M_BREAK.|
|00005aa0| 09 31 37 09 2f 2a 20 65 | 78 69 74 20 66 72 6f 6d |.17./* e|xit from|
|00005ab0| 20 6d 61 63 72 6f 65 73 | 09 09 20 2a 2f 0a 58 23 | macroes|.. */.X#|
|00005ac0| 64 65 66 69 6e 65 09 4d | 5f 52 45 54 55 52 4e 09 |define.M|_RETURN.|
|00005ad0| 31 38 09 2f 2a 20 72 65 | 74 75 72 6e 20 66 72 6f |18./* re|turn fro|
|00005ae0| 6d 20 74 68 69 73 20 6d | 61 63 72 6f 09 20 2a 2f |m this m|acro. */|
|00005af0| 0a 58 0a 58 23 64 65 66 | 69 6e 65 09 4d 5f 53 45 |.X.X#def|ine.M_SE|
|00005b00| 54 5f 43 4f 4d 4d 41 4e | 44 09 31 39 09 2f 2a 20 |T_COMMAN|D.19./* |
|00005b10| 73 65 74 2f 75 6e 73 65 | 74 20 63 6f 6d 6d 61 6e |set/unse|t comman|
|00005b20| 64 09 09 20 2a 2f 0a 58 | 0a 58 0a 58 73 74 72 75 |d.. */.X|.X.Xstru|
|00005b30| 63 74 20 6d 61 63 72 6f | 20 7b 0a 58 20 20 20 20 |ct macro| {.X |
|00005b40| 69 6e 74 09 09 09 6d 5f | 74 79 70 65 3b 09 09 2f |int...m_|type;../|
|00005b50| 2a 20 65 6e 74 72 79 20 | 74 79 70 65 20 2a 2f 0a |* entry |type */.|
|00005b60| 58 20 20 20 20 75 6e 69 | 6f 6e 20 7b 0a 58 09 69 |X uni|on {.X.i|
|00005b70| 6e 74 20 09 09 6d 75 5f | 69 6e 74 3b 09 09 2f 2a |nt ..mu_|int;../*|
|00005b80| 20 63 6f 6d 6d 61 6e 64 | 20 6f 72 20 63 68 61 72 | command| or char|
|00005b90| 20 2a 2f 0a 58 09 63 68 | 61 72 20 09 09 2a 6d 75 | */.X.ch|ar ..*mu|
|00005ba0| 5f 73 74 72 69 6e 67 3b | 09 2f 2a 20 73 74 72 69 |_string;|./* stri|
|00005bb0| 6e 67 20 66 6f 72 20 67 | 65 74 5f 73 20 2a 2f 0a |ng for g|et_s */.|
|00005bc0| 58 09 73 74 72 75 63 74 | 20 6d 61 63 72 6f 20 09 |X.struct| macro .|
|00005bd0| 2a 6d 75 5f 62 72 61 6e | 63 68 3b 09 2f 2a 20 66 |*mu_bran|ch;./* f|
|00005be0| 61 6c 73 65 20 63 6f 6e | 64 69 74 69 6f 6e 61 6c |alse con|ditional|
|00005bf0| 20 2a 2f 0a 58 20 20 20 | 20 7d 20 6d 5f 76 61 6c | */.X | } m_val|
|00005c00| 75 65 3b 0a 58 20 20 20 | 20 73 74 72 75 63 74 20 |ue;.X | struct |
|00005c10| 6d 61 63 72 6f 20 2a 6d | 5f 6e 65 78 74 3b 09 09 |macro *m|_next;..|
|00005c20| 2f 2a 20 6e 65 78 74 20 | 6d 61 63 72 6f 20 65 6c |/* next |macro el|
|00005c30| 65 6d 65 6e 74 20 2a 2f | 0a 58 7d 3b 0a 58 0a 58 |ement */|.X};.X.X|
|00005c40| 23 64 65 66 69 6e 65 20 | 6d 5f 69 6e 74 09 09 6d |#define |m_int..m|
|00005c50| 5f 76 61 6c 75 65 2e 6d | 75 5f 69 6e 74 0a 58 23 |_value.m|u_int.X#|
|00005c60| 64 65 66 69 6e 65 20 6d | 5f 73 74 72 69 6e 67 09 |define m|_string.|
|00005c70| 6d 5f 76 61 6c 75 65 2e | 6d 75 5f 73 74 72 69 6e |m_value.|mu_strin|
|00005c80| 67 0a 58 23 64 65 66 69 | 6e 65 20 6d 5f 62 72 61 |g.X#defi|ne m_bra|
|00005c90| 6e 63 68 09 6d 5f 76 61 | 6c 75 65 2e 6d 75 5f 62 |nch.m_va|lue.mu_b|
|00005ca0| 72 61 6e 63 68 0a 58 0a | 58 23 64 65 66 69 6e 65 |ranch.X.|X#define|
|00005cb0| 20 4e 55 4d 5f 4d 41 43 | 52 4f 20 31 30 31 09 09 | NUM_MAC|RO 101..|
|00005cc0| 2f 2a 20 6e 75 6d 62 65 | 72 65 64 20 6d 61 63 72 |/* numbe|red macr|
|00005cd0| 6f 73 20 2a 2f 0a 58 23 | 64 65 66 69 6e 65 20 41 |os */.X#|define A|
|00005ce0| 4e 4f 4e 5f 4d 41 43 52 | 4f 20 31 30 30 09 09 2f |NON_MACR|O 100../|
|00005cf0| 2a 20 61 6e 6f 6e 79 6d | 6f 75 73 20 6d 61 63 72 |* anonym|ous macr|
|00005d00| 6f 65 73 20 2a 2f 0a 58 | 23 64 65 66 69 6e 65 20 |oes */.X|#define |
|00005d10| 4e 4d 41 43 52 4f 20 28 | 4e 55 4d 5f 4d 41 43 52 |NMACRO (|NUM_MACR|
|00005d20| 4f 20 2b 20 41 4e 4f 4e | 5f 4d 41 43 52 4f 29 0a |O + ANON|_MACRO).|
|00005d30| 58 0a 58 23 64 65 66 69 | 6e 65 20 4d 53 54 41 43 |X.X#defi|ne MSTAC|
|00005d40| 4b 20 35 09 09 2f 2a 20 | 6d 61 78 20 6e 65 73 74 |K 5../* |max nest|
|00005d50| 69 6e 67 20 6c 65 76 65 | 6c 20 2a 2f 0a 58 0a 58 |ing leve|l */.X.X|
|00005d60| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 6d 61 |static s|truct ma|
|00005d70| 63 72 6f 20 2a 6d 61 63 | 72 6f 5b 4e 4d 41 43 52 |cro *mac|ro[NMACR|
|00005d80| 4f 20 2b 20 31 5d 3b 20 | 09 2f 2a 20 6d 61 63 72 |O + 1]; |./* macr|
|00005d90| 6f 20 74 61 62 6c 65 20 | 2a 2f 0a 58 09 09 09 09 |o table |*/.X....|
|00005da0| 2f 2a 20 74 68 65 20 65 | 78 74 72 61 20 73 6c 6f |/* the e|xtra slo|
|00005db0| 74 20 69 73 20 66 6f 72 | 20 65 6e 74 72 79 20 6d |t is for| entry m|
|00005dc0| 61 63 72 6f 65 73 20 2a | 2f 0a 58 0a 58 73 74 61 |acroes *|/.X.Xsta|
|00005dd0| 74 69 63 20 73 74 72 75 | 63 74 20 6d 61 63 72 6f |tic stru|ct macro|
|00005de0| 20 2a 6d 73 74 61 63 6b | 5b 4d 53 54 41 43 4b 5d | *mstack|[MSTACK]|
|00005df0| 3b 09 2f 2a 20 6d 61 63 | 72 6f 20 73 74 61 63 6b |;./* mac|ro stack|
|00005e00| 20 2a 2f 0a 58 73 74 61 | 74 69 63 20 69 6e 74 20 | */.Xsta|tic int |
|00005e10| 63 73 74 61 63 6b 5b 4d | 53 54 41 43 4b 20 2b 20 |cstack[M|STACK + |
|00005e20| 31 5d 3b 0a 58 73 74 61 | 74 69 63 20 69 6e 74 20 |1];.Xsta|tic int |
|00005e30| 6d 5f 6c 65 76 65 6c 20 | 3d 20 30 3b 0a 58 0a 58 |m_level |= 0;.X.X|
|00005e40| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 6d 61 |static s|truct ma|
|00005e50| 63 72 6f 20 2a 6d 20 3d | 20 4e 55 4c 4c 3b 09 09 |cro *m =| NULL;..|
|00005e60| 2f 2a 20 63 75 72 72 65 | 6e 74 20 6d 61 63 72 6f |/* curre|nt macro|
|00005e70| 20 2a 2f 0a 58 73 74 61 | 74 69 63 20 69 6e 74 20 | */.Xsta|tic int |
|00005e80| 6e 6f 5f 61 64 76 61 6e | 63 65 20 3d 20 30 3b 0a |no_advan|ce = 0;.|
|00005e90| 58 73 74 61 74 69 63 20 | 69 6e 74 20 63 68 61 6e |Xstatic |int chan|
|00005ea0| 67 65 64 5f 70 72 6f 6d | 70 74 20 3d 20 30 3b 0a |ged_prom|pt = 0;.|
|00005eb0| 58 0a 58 73 74 61 74 69 | 63 20 69 6e 74 20 63 75 |X.Xstati|c int cu|
|00005ec0| 72 5f 6d 3b 0a 58 0a 58 | 23 64 65 66 69 6e 65 20 |r_m;.X.X|#define |
|00005ed0| 4d 45 52 52 4f 52 20 28 | 28 73 74 72 75 63 74 20 |MERROR (|(struct |
|00005ee0| 6d 61 63 72 6f 20 2a 29 | 31 29 0a 58 0a 58 73 74 |macro *)|1).X.Xst|
|00005ef0| 61 74 69 63 20 6d 5f 65 | 72 72 6f 72 28 66 6d 74 |atic m_e|rror(fmt|
|00005f00| 2c 20 61 72 67 29 0a 58 | 63 68 61 72 20 2a 66 6d |, arg).X|char *fm|
|00005f10| 74 2c 20 2a 61 72 67 3b | 0a 58 7b 0a 58 20 20 20 |t, *arg;|.X{.X |
|00005f20| 20 63 68 61 72 20 62 75 | 66 5b 38 30 5d 3b 0a 58 | char bu|f[80];.X|
|00005f30| 0a 58 20 20 20 69 66 20 | 28 61 72 67 29 20 7b 0a |.X if |(arg) {.|
|00005f40| 58 20 20 20 20 20 20 20 | 73 70 72 69 6e 74 66 28 |X |sprintf(|
|00005f50| 62 75 66 2c 20 66 6d 74 | 2c 20 61 72 67 29 3b 0a |buf, fmt|, arg);.|
|00005f60| 58 20 20 20 20 20 20 20 | 66 6d 74 20 3d 20 62 75 |X |fmt = bu|
|00005f70| 66 3b 0a 58 20 20 20 7d | 0a 58 0a 58 20 20 20 69 |f;.X }|.X.X i|
|00005f80| 6e 69 74 5f 6d 65 73 73 | 61 67 65 28 22 45 72 72 |nit_mess|age("Err|
|00005f90| 6f 72 20 69 6e 20 6d 61 | 63 72 6f 20 25 64 3a 20 |or in ma|cro %d: |
|00005fa0| 25 73 22 2c 20 63 75 72 | 5f 6d 2c 20 66 6d 74 29 |%s", cur|_m, fmt)|
|00005fb0| 3b 0a 58 7d 0a 58 0a 58 | 69 6e 69 74 5f 6d 61 63 |;.X}.X.X|init_mac|
|00005fc0| 72 6f 28 29 0a 58 7b 0a | 58 20 20 20 20 69 6e 74 |ro().X{.|X int|
|00005fd0| 20 6e 3b 0a 58 0a 58 20 | 20 20 20 66 6f 72 20 28 | n;.X.X | for (|
|00005fe0| 6e 20 3d 20 30 3b 20 6e | 20 3c 3d 20 4e 4d 41 43 |n = 0; n| <= NMAC|
|00005ff0| 52 4f 3b 20 6e 2b 2b 29 | 0a 58 09 6d 61 63 72 6f |RO; n++)|.X.macro|
|00006000| 5b 6e 5d 20 3d 20 4e 55 | 4c 4c 3b 0a 58 7d 0a 58 |[n] = NU|LL;.X}.X|
|00006010| 0a 58 73 74 61 74 69 63 | 20 6d 5f 6e 65 77 28 74 |.Xstatic| m_new(t|
|00006020| 29 0a 58 69 6e 74 20 74 | 3b 0a 58 7b 0a 58 20 20 |).Xint t|;.X{.X |
|00006030| 20 20 73 74 72 75 63 74 | 20 6d 61 63 72 6f 20 2a | struct| macro *|
|00006040| 6d 31 3b 0a 58 0a 58 20 | 20 20 20 6d 31 20 3d 20 |m1;.X.X | m1 = |
|00006050| 6e 65 77 6f 62 6a 28 73 | 74 72 75 63 74 20 6d 61 |newobj(s|truct ma|
|00006060| 63 72 6f 2c 20 31 29 3b | 0a 58 0a 58 20 20 20 20 |cro, 1);|.X.X |
|00006070| 69 66 20 28 6d 20 3d 3d | 20 4e 55 4c 4c 29 0a 58 |if (m ==| NULL).X|
|00006080| 09 6d 20 3d 20 6d 61 63 | 72 6f 5b 63 75 72 5f 6d |.m = mac|ro[cur_m|
|00006090| 5d 20 3d 20 6d 31 3b 0a | 58 20 20 20 20 65 6c 73 |] = m1;.|X els|
|000060a0| 65 20 7b 0a 58 09 6d 2d | 3e 6d 5f 6e 65 78 74 20 |e {.X.m-|>m_next |
|000060b0| 3d 20 6d 31 3b 0a 58 09 | 6d 20 3d 20 6d 31 3b 0a |= m1;.X.|m = m1;.|
|000060c0| 58 20 20 20 20 7d 0a 58 | 20 20 20 20 6d 2d 3e 6d |X }.X| m->m|
|000060d0| 5f 74 79 70 65 20 3d 20 | 74 3b 0a 58 20 20 20 20 |_type = |t;.X |
|000060e0| 6d 2d 3e 6d 5f 6e 65 78 | 74 20 3d 20 4e 55 4c 4c |m->m_nex|t = NULL|
|000060f0| 3b 0a 58 7d 0a 58 0a 58 | 0a 58 2f 2a 0a 58 20 2a |;.X}.X.X|.X/*.X *|
|00006100| 09 44 65 66 69 6e 65 20 | 6d 61 63 72 6f 20 22 69 |.Define |macro "i|
|00006110| 64 22 20 72 65 61 64 69 | 6e 67 20 66 72 6f 6d 20 |d" readi|ng from |
|00006120| 66 69 6c 65 20 66 20 75 | 6e 74 69 6c 20 22 65 6e |file f u|ntil "en|
|00006130| 64 22 0a 58 20 2a 0a 58 | 20 2a 09 4d 61 63 72 6f |d".X *.X| *.Macro|
|00006140| 20 64 65 66 69 6e 69 74 | 69 6f 6e 20 73 79 6e 74 | definit|ion synt|
|00006150| 61 78 3a 0a 58 20 2a 09 | 09 64 65 66 69 6e 65 20 |ax:.X *.|.define |
|00006160| 3c 69 64 3e 0a 58 20 2a | 09 09 20 20 20 3c 62 6f |<id>.X *|.. <bo|
|00006170| 64 79 3e 0a 58 20 2a 09 | 09 65 6e 64 0a 58 20 2a |dy>.X *.|.end.X *|
|00006180| 0a 58 20 2a 09 49 64 20 | 73 74 72 69 6e 67 20 69 |.X *.Id |string i|
|00006190| 6e 74 65 72 70 72 65 74 | 61 74 69 6f 6e 3a 0a 58 |nterpret|ation:.X|
|000061a0| 20 2a 09 4e 55 4c 4c 20 | 09 09 75 73 65 20 6e 65 | *.NULL |..use ne|
|000061b0| 78 74 20 66 72 65 65 20 | 6e 75 6d 62 65 72 65 64 |xt free |numbered|
|000061c0| 20 6d 61 63 72 6f 0a 58 | 20 2a 09 09 09 52 65 74 | macro.X| *...Ret|
|000061d0| 75 72 6e 3a 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |urn: poi|nter to |
|000061e0| 6d 61 63 72 6f 0a 58 20 | 2a 09 22 6e 6e 6e 22 20 |macro.X |*."nnn" |
|000061f0| 6e 6e 6e 3e 3d 30 09 4e | 75 6d 62 65 72 65 64 20 |nnn>=0.N|umbered |
|00006200| 6d 61 63 72 6f 20 6e 6e | 6e 0a 58 20 2a 09 09 09 |macro nn|n.X *...|
|00006210| 52 65 74 75 72 6e 3a 20 | 70 6f 69 6e 74 65 72 20 |Return: |pointer |
|00006220| 74 6f 20 6d 61 63 72 6f | 0a 58 20 2a 09 22 2d 31 |to macro|.X *."-1|
|00006230| 22 09 09 65 6e 74 72 79 | 20 6d 61 63 72 6f 0a 58 |"..entry| macro.X|
|00006240| 20 2a 09 09 09 52 65 74 | 75 72 6e 3a 20 70 6f 69 | *...Ret|urn: poi|
|00006250| 6e 74 65 72 20 74 6f 20 | 6d 61 63 72 6f 0a 58 20 |nter to |macro.X |
|00006260| 2a 09 22 2d 32 22 09 09 | 61 6e 6f 6e 79 6d 6f 75 |*."-2"..|anonymou|
|00006270| 73 20 6d 61 63 72 6f 0a | 58 20 2a 09 09 09 52 65 |s macro.|X *...Re|
|00006280| 74 75 72 6e 3a 20 4b 5f | 4d 41 43 52 4f 20 63 6f |turn: K_|MACRO co|
|00006290| 64 65 20 6f 72 20 4b 5f | 55 4e 42 4f 55 4e 44 20 |de or K_|UNBOUND |
|000062a0| 6f 6e 20 65 72 72 6f 72 | 0a 58 20 2a 2f 0a 58 0a |on error|.X */.X.|
|000062b0| 58 73 74 61 74 69 63 20 | 69 6e 74 20 69 6e 69 74 |Xstatic |int init|
|000062c0| 69 61 6c 5f 73 65 74 5f | 63 6f 6d 6d 61 6e 64 73 |ial_set_|commands|
|000062d0| 3b 0a 58 0a 58 73 74 61 | 74 69 63 20 70 61 72 73 |;.X.Xsta|tic pars|
|000062e0| 65 5f 77 6f 72 64 28 77 | 29 0a 58 63 68 61 72 20 |e_word(w|).Xchar |
|000062f0| 2a 77 3b 0a 58 7b 0a 58 | 20 20 20 20 69 6e 74 20 |*w;.X{.X| int |
|00006300| 63 6d 64 3b 0a 58 20 20 | 20 20 72 65 67 69 73 74 |cmd;.X | regist|
|00006310| 65 72 20 73 74 72 75 63 | 74 20 6d 61 63 72 6f 20 |er struc|t macro |
|00006320| 2a 6d 31 3b 0a 58 0a 58 | 20 20 20 20 69 66 20 28 |*m1;.X.X| if (|
|00006330| 6d 20 26 26 20 6d 2d 3e | 6d 5f 74 79 70 65 20 3d |m && m->|m_type =|
|00006340| 3d 20 4d 5f 43 4f 4d 4d | 41 4e 44 20 26 26 20 6d |= M_COMM|AND && m|
|00006350| 2d 3e 6d 5f 69 6e 74 20 | 3d 3d 20 28 47 45 54 43 |->m_int |== (GETC|
|00006360| 5f 43 4f 4d 4d 41 4e 44 | 20 7c 20 4b 5f 4d 41 43 |_COMMAND| | K_MAC|
|00006370| 52 4f 29 29 20 7b 0a 58 | 09 69 66 20 28 69 73 64 |RO)) {.X|.if (isd|
|00006380| 69 67 69 74 28 2a 77 29 | 29 20 7b 0a 58 09 20 20 |igit(*w)|) {.X. |
|00006390| 20 20 6d 2d 3e 6d 5f 69 | 6e 74 20 7c 3d 20 61 74 | m->m_i|nt |= at|
|000063a0| 6f 69 28 77 29 3b 0a 58 | 09 20 20 20 20 67 6f 74 |oi(w);.X|. got|
|000063b0| 6f 20 6f 6b 3b 0a 58 09 | 7d 0a 58 09 6d 5f 65 72 |o ok;.X.|}.X.m_er|
|000063c0| 72 6f 72 28 22 6d 61 63 | 72 6f 20 6e 75 6d 62 65 |ror("mac|ro numbe|
|000063d0| 72 20 6d 69 73 73 69 6e | 67 22 2c 20 28 63 68 61 |r missin|g", (cha|
|000063e0| 72 20 2a 29 4e 55 4c 4c | 29 3b 0a 58 09 72 65 74 |r *)NULL|);.X.ret|
|000063f0| 75 72 6e 20 31 3b 0a 58 | 20 20 20 20 7d 0a 58 0a |urn 1;.X| }.X.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.