home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume25 / ease3.5 / part03 < prev    next >
SHell self-extracting ARchive  |  1991-12-09  |  52.8 KB

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).

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



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 32 35 69 30 31 |Subject:| v25i01|
|00000010| 39 3a 20 20 45 61 73 65 | 20 33 2e 35 20 2d 20 68 |9: Ease| 3.5 - h|
|00000020| 69 67 68 2d 6c 65 76 65 | 6c 20 73 65 6e 64 6d 61 |igh-leve|l sendma|
|00000030| 69 6c 2e 63 66 20 6c 61 | 6e 67 75 61 67 65 2c 20 |il.cf la|nguage, |
|00000040| 50 61 72 74 30 33 2f 30 | 36 0a 4e 65 77 73 67 72 |Part03/0|6.Newsgr|
|00000050| 6f 75 70 73 3a 20 63 6f | 6d 70 2e 73 6f 75 72 63 |oups: co|mp.sourc|
|00000060| 65 73 2e 75 6e 69 78 0a | 41 70 70 72 6f 76 65 64 |es.unix.|Approved|
|00000070| 3a 20 76 69 78 69 65 40 | 70 61 2e 64 65 63 2e 63 |: vixie@|pa.dec.c|
|00000080| 6f 6d 0a 0a 53 75 62 6d | 69 74 74 65 64 2d 62 79 |om..Subm|itted-by|
|00000090| 3a 20 42 72 75 63 65 20 | 47 2e 20 42 61 72 6e 65 |: Bruce |G. Barne|
|000000a0| 74 74 20 3c 62 61 72 6e | 65 74 74 40 63 72 64 67 |tt <barn|ett@crdg|
|000000b0| 77 31 2e 67 65 2e 63 6f | 6d 3e 0a 50 6f 73 74 69 |w1.ge.co|m>.Posti|
|000000c0| 6e 67 2d 6e 75 6d 62 65 | 72 3a 20 56 6f 6c 75 6d |ng-numbe|r: Volum|
|000000d0| 65 20 32 35 2c 20 49 73 | 73 75 65 20 31 39 0a 41 |e 25, Is|sue 19.A|
|000000e0| 72 63 68 69 76 65 2d 6e | 61 6d 65 3a 20 65 61 73 |rchive-n|ame: eas|
|000000f0| 65 33 2e 35 2f 70 61 72 | 74 30 33 0a 0a 23 21 20 |e3.5/par|t03..#! |
|00000100| 2f 62 69 6e 2f 73 68 0a | 23 20 54 68 69 73 20 69 |/bin/sh.|# This i|
|00000110| 73 20 61 20 73 68 65 6c | 6c 20 61 72 63 68 69 76 |s a shel|l archiv|
|00000120| 65 2e 20 20 52 65 6d 6f | 76 65 20 61 6e 79 74 68 |e. Remo|ve anyth|
|00000130| 69 6e 67 20 62 65 66 6f | 72 65 20 74 68 69 73 20 |ing befo|re this |
|00000140| 6c 69 6e 65 2c 20 74 68 | 65 6e 20 75 6e 70 61 63 |line, th|en unpac|
|00000150| 6b 0a 23 20 69 74 20 62 | 79 20 73 61 76 69 6e 67 |k.# it b|y saving|
|00000160| 20 69 74 20 69 6e 74 6f | 20 61 20 66 69 6c 65 20 | it into| a file |
|00000170| 61 6e 64 20 74 79 70 69 | 6e 67 20 22 73 68 20 66 |and typi|ng "sh f|
|00000180| 69 6c 65 22 2e 20 20 54 | 6f 20 6f 76 65 72 77 72 |ile". T|o overwr|
|00000190| 69 74 65 20 65 78 69 73 | 74 69 6e 67 0a 23 20 66 |ite exis|ting.# f|
|000001a0| 69 6c 65 73 2c 20 74 79 | 70 65 20 22 73 68 20 66 |iles, ty|pe "sh f|
|000001b0| 69 6c 65 20 2d 63 22 2e | 20 20 59 6f 75 20 63 61 |ile -c".| You ca|
|000001c0| 6e 20 61 6c 73 6f 20 66 | 65 65 64 20 74 68 69 73 |n also f|eed this|
|000001d0| 20 61 73 20 73 74 61 6e | 64 61 72 64 20 69 6e 70 | as stan|dard inp|
|000001e0| 75 74 20 76 69 61 0a 23 | 20 75 6e 73 68 61 72 2c |ut via.#| unshar,|
|000001f0| 20 6f 72 20 62 79 20 74 | 79 70 69 6e 67 20 22 73 | or by t|yping "s|
|00000200| 68 20 3c 66 69 6c 65 22 | 2c 20 65 2e 67 2e 2e 20 |h <file"|, e.g.. |
|00000210| 20 49 66 20 74 68 69 73 | 20 61 72 63 68 69 76 65 | If this| archive|
|00000220| 20 69 73 20 63 6f 6d 70 | 6c 65 74 65 2c 20 79 6f | is comp|lete, yo|
|00000230| 75 0a 23 20 77 69 6c 6c | 20 73 65 65 20 74 68 65 |u.# will| see the|
|00000240| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 6d 65 73 73 61 | followi|ng messa|
|00000250| 67 65 20 61 74 20 74 68 | 65 20 65 6e 64 3a 0a 23 |ge at th|e end:.#|
|00000260| 09 09 22 45 6e 64 20 6f | 66 20 61 72 63 68 69 76 |.."End o|f archiv|
|00000270| 65 20 33 20 28 6f 66 20 | 36 29 2e 22 0a 23 20 43 |e 3 (of |6).".# C|
|00000280| 6f 6e 74 65 6e 74 73 3a | 20 20 49 4e 54 52 4f 20 |ontents:| INTRO |
|00000290| 73 72 63 2f 65 6d 69 74 | 63 66 2e 63 20 73 72 63 |src/emit|cf.c src|
|000002a0| 2f 6c 65 78 61 6e 2e 6c | 20 73 72 63 2f 6d 61 69 |/lexan.l| src/mai|
|000002b0| 6e 2e 63 20 73 72 63 2f | 73 74 72 6f 70 73 2e 63 |n.c src/|strops.c|
|000002c0| 0a 23 20 57 72 61 70 70 | 65 64 20 62 79 20 76 69 |.# Wrapp|ed by vi|
|000002d0| 78 69 65 40 63 6f 67 6e | 69 74 69 6f 6e 2e 70 61 |xie@cogn|ition.pa|
|000002e0| 2e 64 65 63 2e 63 6f 6d | 20 6f 6e 20 54 75 65 20 |.dec.com| on Tue |
|000002f0| 44 65 63 20 31 30 20 30 | 38 3a 34 35 3a 35 36 20 |Dec 10 0|8:45:56 |
|00000300| 31 39 39 31 0a 50 41 54 | 48 3d 2f 62 69 6e 3a 2f |1991.PAT|H=/bin:/|
|00000310| 75 73 72 2f 62 69 6e 3a | 2f 75 73 72 2f 75 63 62 |usr/bin:|/usr/ucb|
|00000320| 20 3b 20 65 78 70 6f 72 | 74 20 50 41 54 48 0a 69 | ; expor|t PATH.i|
|00000330| 66 20 74 65 73 74 20 2d | 66 20 27 49 4e 54 52 4f |f test -|f 'INTRO|
|00000340| 27 20 2d 61 20 22 24 7b | 31 7d 22 20 21 3d 20 22 |' -a "${|1}" != "|
|00000350| 2d 63 22 20 3b 20 74 68 | 65 6e 20 0a 20 20 65 63 |-c" ; th|en . ec|
|00000360| 68 6f 20 73 68 61 72 3a | 20 57 69 6c 6c 20 6e 6f |ho shar:| Will no|
|00000370| 74 20 63 6c 6f 62 62 65 | 72 20 65 78 69 73 74 69 |t clobbe|r existi|
|00000380| 6e 67 20 66 69 6c 65 20 | 5c 22 27 49 4e 54 52 4f |ng file |\"'INTRO|
|00000390| 27 5c 22 0a 65 6c 73 65 | 0a 65 63 68 6f 20 73 68 |'\".else|.echo sh|
|000003a0| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|000003b0| 22 27 49 4e 54 52 4f 27 | 5c 22 20 5c 28 37 38 35 |"'INTRO'|\" \(785|
|000003c0| 33 20 63 68 61 72 61 63 | 74 65 72 73 5c 29 0a 73 |3 charac|ters\).s|
|000003d0| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 49 4e |ed "s/^X|//" >'IN|
|000003e0| 54 52 4f 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |TRO' <<'|END_OF_F|
|000003f0| 49 4c 45 27 0a 58 09 09 | 41 6e 20 69 6e 74 72 6f |ILE'.X..|An intro|
|00000400| 64 75 63 74 69 6f 6e 20 | 74 6f 20 53 65 6e 64 6d |duction |to Sendm|
|00000410| 61 69 6c 20 52 75 6c 65 | 73 0a 58 09 09 43 6f 70 |ail Rule|s.X..Cop|
|00000420| 79 72 69 67 68 74 20 31 | 39 39 31 2c 20 41 6c 6c |yright 1|991, All|
|00000430| 20 72 69 67 68 74 73 20 | 72 65 73 65 72 76 65 64 | rights |reserved|
|00000440| 0a 58 09 09 42 72 75 63 | 65 20 42 61 72 6e 65 74 |.X..Bruc|e Barnet|
|00000450| 74 0a 58 0a 58 09 46 69 | 72 73 74 20 6f 66 20 61 |t.X.X.Fi|rst of a|
|00000460| 6c 6c 2c 20 73 65 6e 64 | 6d 61 69 6c 20 69 73 20 |ll, send|mail is |
|00000470| 65 61 73 79 20 74 6f 20 | 6c 65 61 72 6e 2c 20 6f |easy to |learn, o|
|00000480| 6e 63 65 20 79 6f 75 20 | 6c 65 61 72 6e 65 64 20 |nce you |learned |
|00000490| 61 6c 6c 0a 61 62 6f 75 | 74 20 65 6c 65 63 74 72 |all.abou|t electr|
|000004a0| 6f 6e 69 63 20 6d 61 69 | 6c 2e 20 46 69 67 75 72 |onic mai|l. Figur|
|000004b0| 69 6e 67 20 6f 75 74 20 | 68 6f 77 20 74 6f 20 68 |ing out |how to h|
|000004c0| 61 6e 64 6c 65 20 74 68 | 65 20 61 64 64 72 65 73 |andle th|e addres|
|000004d0| 73 0a 58 0a 58 09 62 69 | 67 76 61 78 3a 3a 61 21 |s.X.X.bi|gvax::a!|
|000004e0| 62 21 61 6e 6f 74 68 65 | 72 2e 64 6f 6d 61 69 6e |b!anothe|r.domain|
|000004f0| 21 63 25 64 25 64 6f 6d | 61 69 6e 2e 63 6f 6d 40 |!c%d%dom|ain.com@|
|00000500| 61 6e 6f 74 68 65 72 2e | 64 6f 6d 61 69 6e 0a 58 |another.|domain.X|
|00000510| 0a 69 73 20 6d 75 63 68 | 20 6d 6f 72 65 20 63 68 |.is much| more ch|
|00000520| 61 6c 6c 65 6e 67 69 6e | 67 2e 20 48 65 72 65 27 |allengin|g. Here'|
|00000530| 73 20 74 68 65 20 73 63 | 6f 6f 70 2e 0a 58 0a 58 |s the sc|oop..X.X|
|00000540| 09 57 68 65 6e 20 73 65 | 6e 64 6d 61 69 6c 20 67 |.When se|ndmail g|
|00000550| 65 74 73 20 61 6e 20 61 | 64 64 72 65 73 73 2c 20 |ets an a|ddress, |
|00000560| 69 74 20 61 6c 77 61 79 | 73 20 70 61 73 73 65 73 |it alway|s passes|
|00000570| 20 69 74 20 74 6f 20 72 | 75 6c 65 20 33 2e 0a 58 | it to r|ule 3..X|
|00000580| 0a 58 09 52 75 6c 65 20 | 33 20 77 69 74 68 20 74 |.X.Rule |3 with t|
|00000590| 72 61 6e 73 66 6f 72 6d | 20 74 68 65 20 61 64 64 |ransform| the add|
|000005a0| 72 65 73 73 2c 20 61 6e | 64 20 65 76 65 6e 74 75 |ress, an|d eventu|
|000005b0| 61 6c 6c 79 20 73 65 6e | 74 20 69 74 20 74 6f 0a |ally sen|t it to.|
|000005c0| 58 09 72 75 6c 65 20 30 | 2e 0a 58 0a 58 09 52 75 |X.rule 0|..X.X.Ru|
|000005d0| 6c 65 20 30 20 6d 61 6b | 65 73 20 74 68 65 20 66 |le 0 mak|es the f|
|000005e0| 69 6e 61 6c 20 64 65 63 | 69 73 69 6f 6e 2c 20 61 |inal dec|ision, a|
|000005f0| 6e 64 20 73 65 6c 65 63 | 74 73 20 74 68 72 65 65 |nd selec|ts three|
|00000600| 20 74 68 69 6e 67 73 3a | 0a 58 0a 58 09 09 09 54 | things:|.X.X...T|
|00000610| 68 65 20 61 64 64 72 65 | 73 73 0a 58 09 09 09 54 |he addre|ss.X...T|
|00000620| 68 65 20 4d 61 63 68 69 | 6e 65 20 74 6f 20 73 65 |he Machi|ne to se|
|00000630| 6e 64 20 74 68 65 20 61 | 64 64 72 65 73 73 20 74 |nd the a|ddress t|
|00000640| 6f 0a 58 09 09 09 54 68 | 65 20 6d 61 69 6c 65 72 |o.X...Th|e mailer|
|00000650| 20 74 6f 20 75 73 65 2e | 0a 58 09 09 09 09 54 68 | to use.|.X....Th|
|00000660| 69 73 20 63 6f 75 6c 64 | 20 62 65 20 55 55 43 50 |is could| be UUCP|
|00000670| 2c 20 65 74 68 65 72 6e | 65 74 2c 20 44 45 43 4e |, ethern|et, DECN|
|00000680| 65 74 2c 0a 58 09 09 09 | 09 61 20 6c 6f 63 61 6c |et,.X...|.a local|
|00000690| 20 75 73 65 72 2c 20 61 | 20 70 72 6f 67 72 61 6d | user, a| program|
|000006a0| 2c 20 65 74 63 2e 0a 58 | 0a 58 09 4f 6e 63 65 20 |, etc..X|.X.Once |
|000006b0| 74 68 65 20 61 62 6f 76 | 65 20 68 61 73 20 62 65 |the abov|e has be|
|000006c0| 65 6e 20 64 65 63 69 64 | 65 64 20 6f 6e 2c 20 74 |en decid|ed on, t|
|000006d0| 68 65 20 61 64 64 72 65 | 73 73 20 69 73 20 74 72 |he addre|ss is tr|
|000006e0| 61 6e 73 66 6f 72 6d 65 | 64 0a 58 09 69 6e 20 74 |ansforme|d.X.in t|
|000006f0| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 20 77 61 79 |he follo|wing way|
|00000700| 3a 0a 58 0a 58 09 52 75 | 6c 65 73 65 74 20 31 20 |:.X.X.Ru|leset 1 |
|00000710| 69 73 20 61 70 70 6c 69 | 65 64 20 74 6f 20 74 68 |is appli|ed to th|
|00000720| 65 20 46 72 6f 6d 3a 20 | 6c 69 6e 65 0a 58 09 52 |e From: |line.X.R|
|00000730| 75 6c 65 73 65 74 20 32 | 20 69 73 20 61 70 70 6c |uleset 2| is appl|
|00000740| 69 65 64 20 74 6f 20 74 | 68 65 20 54 6f 3a 20 61 |ied to t|he To: a|
|00000750| 6e 64 20 43 63 3a 20 6c | 69 6e 65 0a 58 09 0a 58 |nd Cc: l|ine.X..X|
|00000760| 09 45 61 63 68 20 6d 61 | 69 6c 65 72 20 74 68 65 |.Each ma|iler the|
|00000770| 6e 20 61 70 70 6c 69 65 | 73 20 61 20 72 75 6c 65 |n applie|s a rule|
|00000780| 2e 20 54 68 65 73 65 20 | 72 75 6c 65 73 20 61 72 |. These |rules ar|
|00000790| 65 20 6f 74 68 65 72 20 | 75 6e 69 71 75 65 0a 58 |e other |unique.X|
|000007a0| 09 66 6f 72 20 65 61 63 | 68 20 6d 61 69 6c 65 72 |.for eac|h mailer|
|000007b0| 2e 0a 58 0a 58 09 46 69 | 6e 61 6c 6c 79 20 72 75 |..X.X.Fi|nally ru|
|000007c0| 6c 65 73 65 74 20 34 20 | 69 73 20 61 70 70 6c 69 |leset 4 |is appli|
|000007d0| 65 64 2e 0a 58 0a 58 0a | 4e 6f 77 20 6c 65 74 27 |ed..X.X.|Now let'|
|000007e0| 73 20 67 6f 20 74 68 72 | 6f 75 67 68 20 61 6e 20 |s go thr|ough an |
|000007f0| 65 78 61 6d 70 6c 65 20 | 69 6e 20 64 65 74 61 69 |example |in detai|
|00000800| 6c 2e 0a 58 0a 67 72 79 | 6d 6f 69 72 65 25 20 2f |l..X.gry|moire% /|
|00000810| 75 73 72 2f 6c 69 62 2f | 73 65 6e 64 6d 61 69 6c |usr/lib/|sendmail|
|00000820| 20 2d 62 74 20 2d 43 2f | 65 74 63 2f 73 65 6e 64 | -bt -C/|etc/send|
|00000830| 6d 61 69 6c 2e 63 66 0a | 41 44 44 52 45 53 53 20 |mail.cf.|ADDRESS |
|00000840| 54 45 53 54 20 4d 4f 44 | 45 0a 58 45 6e 74 65 72 |TEST MOD|E.XEnter|
|00000850| 20 3c 72 75 6c 65 73 65 | 74 3e 20 3c 61 64 64 72 | <rulese|t> <addr|
|00000860| 65 73 73 3e 0a 58 3e 20 | 30 20 75 73 65 72 40 63 |ess>.X> |0 user@c|
|00000870| 72 64 67 77 31 2e 63 72 | 64 09 09 23 20 3c 2d 2d |rdgw1.cr|d..# <--|
|00000880| 2d 2d 20 49 20 74 79 70 | 65 64 20 74 68 69 73 20 |-- I typ|ed this |
|00000890| 6c 69 6e 65 20 68 65 72 | 65 20 0a 72 65 77 72 69 |line her|e .rewri|
|000008a0| 74 65 3a 20 72 75 6c 65 | 73 65 74 20 20 33 20 20 |te: rule|set 3 |
|000008b0| 20 69 6e 70 75 74 3a 20 | 22 75 73 65 72 22 20 22 | input: |"user" "|
|000008c0| 40 22 20 22 63 72 64 67 | 77 31 22 20 22 2e 22 20 |@" "crdg|w1" "." |
|000008d0| 22 63 72 64 22 0a 72 65 | 77 72 69 74 65 3a 20 72 |"crd".re|write: r|
|000008e0| 75 6c 65 73 65 74 20 20 | 36 20 20 20 69 6e 70 75 |uleset |6 inpu|
|000008f0| 74 3a 20 22 75 73 65 72 | 22 20 22 3c 22 20 22 40 |t: "user|" "<" "@|
|00000900| 22 20 22 63 72 64 67 77 | 31 22 20 22 2e 22 20 22 |" "crdgw|1" "." "|
|00000910| 63 72 64 22 20 22 3e 22 | 0a 72 65 77 72 69 74 65 |crd" ">"|.rewrite|
|00000920| 3a 20 72 75 6c 65 73 65 | 74 20 20 36 20 72 65 74 |: rulese|t 6 ret|
|00000930| 75 72 6e 73 3a 20 22 75 | 73 65 72 22 20 22 3c 22 |urns: "u|ser" "<"|
|00000940| 20 22 40 22 20 22 63 72 | 64 67 77 31 22 20 22 2e | "@" "cr|dgw1" ".|
|00000950| 22 20 22 4c 4f 43 41 4c | 22 20 22 3e 22 0a 72 65 |" "LOCAL|" ">".re|
|00000960| 77 72 69 74 65 3a 20 72 | 75 6c 65 73 65 74 20 20 |write: r|uleset |
|00000970| 33 20 72 65 74 75 72 6e | 73 3a 20 22 75 73 65 72 |3 return|s: "user|
|00000980| 22 20 22 3c 22 20 22 40 | 22 20 22 63 72 64 67 77 |" "<" "@|" "crdgw|
|00000990| 31 22 20 22 2e 22 20 22 | 4c 4f 43 41 4c 22 20 22 |1" "." "|LOCAL" "|
|000009a0| 3e 22 0a 72 65 77 72 69 | 74 65 3a 20 72 75 6c 65 |>".rewri|te: rule|
|000009b0| 73 65 74 20 20 30 20 20 | 20 69 6e 70 75 74 3a 20 |set 0 | input: |
|000009c0| 22 75 73 65 72 22 20 22 | 3c 22 20 22 40 22 20 22 |"user" "|<" "@" "|
|000009d0| 63 72 64 67 77 31 22 20 | 22 2e 22 20 22 4c 4f 43 |crdgw1" |"." "LOC|
|000009e0| 41 4c 22 20 22 3e 22 0a | 72 65 77 72 69 74 65 3a |AL" ">".|rewrite:|
|000009f0| 20 72 75 6c 65 73 65 74 | 20 20 30 20 72 65 74 75 | ruleset| 0 retu|
|00000a00| 72 6e 73 3a 20 24 23 20 | 22 65 74 68 65 72 22 20 |rns: $# |"ether" |
|00000a10| 24 40 20 22 63 72 64 67 | 77 31 22 20 24 3a 20 22 |$@ "crdg|w1" $: "|
|00000a20| 75 73 65 72 22 20 22 3c | 22 20 22 40 22 20 22 63 |user" "<|" "@" "c|
|00000a30| 72 64 67 77 31 22 20 22 | 3e 22 0a 58 3e 20 0a 58 |rdgw1" "|>".X> .X|
|00000a40| 0a 52 75 6c 65 20 33 20 | 63 61 6e 20 62 65 20 67 |.Rule 3 |can be g|
|00000a50| 69 76 65 6e 20 61 6e 79 | 20 61 64 64 72 65 73 73 |iven any| address|
|00000a60| 20 61 74 20 61 6c 6c 2e | 20 49 74 20 6d 75 73 74 | at all.| It must|
|00000a70| 20 64 65 74 65 72 6d 69 | 6e 65 20 74 68 65 20 6d | determi|ne the m|
|00000a80| 61 63 68 69 6e 65 0a 61 | 6e 64 20 64 6f 6d 61 69 |achine.a|nd domai|
|00000a90| 6e 20 77 68 69 63 68 20 | 63 6f 72 72 65 73 70 6f |n which |correspo|
|00000aa0| 6e 64 73 20 74 6f 20 74 | 68 65 20 61 64 64 72 65 |nds to t|he addre|
|00000ab0| 73 73 2e 20 44 65 74 65 | 72 6d 69 6e 69 6e 67 20 |ss. Dete|rmining |
|00000ac0| 74 68 65 20 6d 61 63 68 | 69 6e 65 0a 63 61 6e 20 |the mach|ine.can |
|00000ad0| 62 65 20 74 72 69 63 6b | 79 2c 20 62 65 63 61 75 |be trick|y, becau|
|00000ae0| 73 65 20 69 74 20 64 65 | 70 65 6e 64 73 20 6f 20 |se it de|pends o |
|00000af0| 74 68 65 20 61 64 64 72 | 65 73 73 2e 20 57 68 61 |the addr|ess. Wha|
|00000b00| 74 20 69 74 20 75 73 65 | 73 20 74 6f 0a 73 70 65 |t it use|s to.spe|
|00000b10| 63 69 66 79 20 74 68 65 | 20 61 64 64 72 65 73 73 |cify the| address|
|00000b20| 20 69 73 20 74 6f 20 73 | 75 72 72 6f 75 6e 64 20 | is to s|urround |
|00000b30| 74 68 65 20 68 6f 73 74 | 6e 61 6d 65 20 61 6e 64 |the host|name and|
|00000b40| 20 40 20 73 69 67 6e 20 | 77 69 74 68 20 61 6e 67 | @ sign |with ang|
|00000b50| 6c 65 20 62 72 61 63 6b | 65 74 73 2e 0a 49 74 20 |le brack|ets..It |
|00000b60| 61 6c 73 6f 20 61 64 64 | 65 64 20 61 20 69 6d 61 |also add|ed a ima|
|00000b70| 67 69 6e 61 72 79 20 64 | 6f 6d 61 69 6e 20 74 6f |ginary d|omain to|
|00000b80| 20 74 68 65 20 68 6f 73 | 74 6e 61 6d 65 20 74 6f | the hos|tname to|
|00000b90| 20 69 6e 64 69 63 61 74 | 65 20 74 68 65 20 74 79 | indicat|e the ty|
|00000ba0| 70 65 0a 6f 66 20 6e 65 | 74 77 6f 72 6b 20 69 74 |pe.of ne|twork it|
|00000bb0| 20 69 73 20 6f 6e 2e 20 | 54 68 65 20 73 65 74 20 | is on. |The set |
|00000bc0| 6f 66 20 61 6e 67 6c 65 | 20 62 72 61 63 6b 65 74 |of angle| bracket|
|00000bd0| 73 20 69 73 20 75 73 65 | 64 20 74 6f 20 22 66 6f |s is use|d to "fo|
|00000be0| 63 75 73 22 20 6f 6e 20 | 61 20 6d 61 63 68 69 6e |cus" on |a machin|
|00000bf0| 65 2e 0a 58 0a 53 6f 6d | 65 20 74 79 70 69 63 61 |e..X.Som|e typica|
|00000c00| 6c 20 76 61 6c 75 65 73 | 20 61 72 65 3a 0a 58 0a |l values| are:.X.|
|00000c10| 58 09 3c 20 40 20 6d 61 | 63 68 69 6e 65 20 2e 20 |X.< @ ma|chine . |
|00000c20| 4c 4f 43 41 4c 20 3e 20 | 09 3d 3e 20 61 20 6c 6f |LOCAL > |.=> a lo|
|00000c30| 63 61 6c 20 68 6f 73 74 | 0a 58 09 3c 20 40 20 6d |cal host|.X.< @ m|
|00000c40| 61 63 68 69 6e 65 20 3e | 09 09 3d 3e 20 73 61 6d |achine >|..=> sam|
|00000c50| 65 20 61 73 20 61 62 6f | 76 65 0a 58 09 3c 20 40 |e as abo|ve.X.< @|
|00000c60| 20 6d 61 63 68 69 6e 65 | 20 2e 20 55 55 43 50 20 | machine| . UUCP |
|00000c70| 3e 09 3d 3e 20 61 20 6d | 61 63 68 69 6e 65 20 6f |>.=> a m|achine o|
|00000c80| 6e 20 74 68 65 20 55 55 | 43 50 20 6e 65 74 77 6f |n the UU|CP netwo|
|00000c90| 72 6b 0a 58 0a 54 68 65 | 20 61 6e 67 6c 65 20 62 |rk.X.The| angle b|
|00000ca0| 72 61 63 6b 65 74 73 20 | 69 6e 64 69 63 61 74 65 |rackets |indicate|
|00000cb0| 20 74 68 65 20 69 6d 70 | 6f 72 74 61 6e 74 20 70 | the imp|ortant p|
|00000cc0| 61 72 74 20 2d 20 74 68 | 65 20 6d 61 63 68 69 6e |art - th|e machin|
|00000cd0| 65 20 61 6e 64 0a 70 65 | 72 68 61 70 73 20 77 68 |e and.pe|rhaps wh|
|00000ce0| 61 74 20 6d 61 69 6c 20 | 61 67 65 6e 74 20 74 6f |at mail |agent to|
|00000cf0| 20 75 73 65 2e 20 48 6f | 77 65 76 65 72 2c 20 74 | use. Ho|wever, t|
|00000d00| 68 65 20 75 73 65 72 6e | 61 6d 65 20 69 73 6e 27 |he usern|ame isn'|
|00000d10| 74 20 69 6e 63 6c 75 64 | 65 64 0a 69 6e 20 74 68 |t includ|ed.in th|
|00000d20| 65 20 73 65 74 20 6f 66 | 20 63 68 61 72 61 74 63 |e set of| charatc|
|00000d30| 65 72 73 20 73 75 72 72 | 6f 75 6e 64 65 64 20 62 |ers surr|ounded b|
|00000d40| 79 20 61 6e 67 6c 65 20 | 62 72 61 63 6b 65 74 73 |y angle |brackets|
|00000d50| 2e 20 54 68 65 20 70 72 | 6f 62 6c 65 6d 20 69 73 |. The pr|oblem is|
|00000d60| 2c 0a 64 69 66 66 65 72 | 65 6e 74 20 6d 61 69 6c |,.differ|ent mail|
|00000d70| 65 72 73 20 68 61 76 65 | 20 74 68 65 20 75 73 65 |ers have| the use|
|00000d80| 72 6e 61 6d 65 20 69 6e | 20 61 20 64 69 66 66 65 |rname in| a diffe|
|00000d90| 72 65 6e 74 20 66 6f 72 | 6d 61 74 2e 20 49 6e 20 |rent for|mat. In |
|00000da0| 73 6f 6d 65 0a 63 61 73 | 65 73 73 2c 20 74 68 65 |some.cas|ess, the|
|00000db0| 20 68 6f 73 74 20 69 73 | 20 74 68 65 20 66 69 72 | host is| the fir|
|00000dc0| 73 74 20 77 6f 72 64 2c | 20 69 6e 20 6f 74 68 65 |st word,| in othe|
|00000dd0| 72 73 20 69 74 27 73 20 | 74 68 65 20 6c 61 73 74 |rs it's |the last|
|00000de0| 20 77 6f 72 64 2e 0a 58 | 0a 48 65 72 65 20 69 73 | word..X|.Here is|
|00000df0| 20 61 6e 20 65 78 61 6d | 70 6c 65 20 6f 66 20 61 | an exam|ple of a|
|00000e00| 6e 20 61 64 64 72 65 73 | 73 20 67 6f 69 6e 67 20 |n addres|s going |
|00000e10| 69 6e 74 6f 20 72 75 6c | 65 20 33 20 61 6e 64 20 |into rul|e 3 and |
|00000e20| 74 68 65 20 65 78 70 65 | 63 74 65 64 0a 6f 75 74 |the expe|cted.out|
|00000e30| 70 75 74 3a 0a 58 0a 58 | 09 49 6e 70 75 74 09 09 |put:.X.X|.Input..|
|00000e40| 4f 75 74 70 75 74 0a 58 | 09 61 21 62 21 63 21 64 |Output.X|.a!b!c!d|
|00000e50| 21 75 73 65 72 09 09 3c | 40 61 2e 55 55 43 50 3e |!user..<|@a.UUCP>|
|00000e60| 21 62 21 63 21 64 21 75 | 73 65 72 20 20 20 20 6f |!b!c!d!u|ser o|
|00000e70| 72 0a 58 09 09 09 09 62 | 21 63 21 64 21 75 73 65 |r.X....b|!c!d!use|
|00000e80| 72 3c 40 61 2e 55 55 43 | 50 3e 0a 58 09 75 73 65 |r<@a.UUC|P>.X.use|
|00000e90| 72 40 61 2e 75 75 63 70 | 09 09 75 73 65 72 3c 40 |r@a.uucp|..user<@|
|00000ea0| 61 2e 75 75 63 70 3e 0a | 58 09 62 69 67 76 61 78 |a.uucp>.|X.bigvax|
|00000eb0| 3a 3a 75 73 65 72 09 09 | 75 73 65 72 3c 40 62 69 |::user..|user<@bi|
|00000ec0| 67 76 61 78 2e 44 45 43 | 4e 45 54 3e 0a 58 09 75 |gvax.DEC|NET>.X.u|
|00000ed0| 73 65 72 25 61 2e 63 6f | 6d 40 62 2e 65 64 75 09 |ser%a.co|m@b.edu.|
|00000ee0| 75 73 65 72 25 61 2e 63 | 6f 6d 3c 40 62 2e 65 64 |user%a.c|om<@b.ed|
|00000ef0| 75 3e 20 6f 72 20 2d 20 | 69 74 20 79 6f 75 20 61 |u> or - |it you a|
|00000f00| 72 65 20 61 67 72 65 73 | 73 69 76 65 0a 58 09 09 |re agres|sive.X..|
|00000f10| 09 09 75 73 65 72 3c 40 | 61 2e 63 6f 6d 3e 0a 58 |..user<@|a.com>.X|
|00000f20| 09 61 21 62 21 75 73 65 | 72 40 61 62 63 2e 65 64 |.a!b!use|r@abc.ed|
|00000f30| 75 09 61 21 62 21 75 73 | 65 72 3c 40 61 62 63 2e |u.a!b!us|er<@abc.|
|00000f40| 65 64 75 3e 0a 58 09 40 | 61 3a 75 73 65 72 40 62 |edu>.X.@|a:user@b|
|00000f50| 2e 63 6f 6d 09 09 3c 40 | 61 3e 3a 75 73 65 72 40 |.com..<@|a>:user@|
|00000f60| 62 2e 63 6f 6d 0a 58 09 | 22 42 72 75 63 65 22 20 |b.com.X.|"Bruce" |
|00000f70| 3c 62 61 72 6e 65 74 74 | 40 6c 6f 63 61 6c 3e 09 |<barnett|@local>.|
|00000f80| 62 61 72 6e 65 74 74 3c | 40 6c 6f 63 61 6c 3e 0a |barnett<|@local>.|
|00000f90| 58 0a 41 73 20 79 6f 75 | 20 63 61 6e 20 73 65 65 |X.As you| can see|
|00000fa0| 2c 20 74 68 65 20 6d 61 | 63 68 69 6e 65 20 74 68 |, the ma|chine th|
|00000fb0| 61 74 20 77 69 6c 6c 20 | 61 63 63 65 70 74 20 74 |at will |accept t|
|00000fc0| 68 65 20 6d 65 73 73 61 | 67 65 20 77 69 6c 6c 20 |he messa|ge will |
|00000fd0| 62 65 0a 64 69 66 66 65 | 72 65 6e 74 20 64 65 70 |be.diffe|rent dep|
|00000fe0| 65 6e 64 69 6e 67 20 6f | 6e 20 74 68 65 20 61 64 |ending o|n the ad|
|00000ff0| 64 72 65 73 73 2e 20 52 | 75 6c 65 73 65 74 20 33 |dress. R|uleset 3|
|00001000| 20 6d 75 73 74 20 66 69 | 6e 64 20 74 68 65 20 72 | must fi|nd the r|
|00001010| 69 67 68 74 0a 6d 61 63 | 68 69 6e 65 2c 20 61 6e |ight.mac|hine, an|
|00001020| 64 20 61 6c 73 6f 20 63 | 6c 65 61 6e 20 75 70 20 |d also c|lean up |
|00001030| 61 6e 79 20 61 64 64 72 | 65 73 73 65 73 20 69 66 |any addr|esses if|
|00001040| 20 61 70 70 72 6f 70 72 | 69 61 74 65 2e 0a 49 74 | appropr|iate..It|
|00001050| 20 64 6f 65 73 20 69 74 | 27 73 20 77 6f 72 6b 20 | does it|'s work |
|00001060| 62 79 20 6c 6f 6f 6b 69 | 6e 67 20 66 6f 72 20 61 |by looki|ng for a|
|00001070| 20 70 61 74 74 65 72 6e | 2c 20 61 6e 64 20 74 72 | pattern|, and tr|
|00001080| 61 6e 73 66 6f 72 6d 69 | 6e 67 20 74 68 65 0a 61 |ansformi|ng the.a|
|00001090| 64 64 72 65 73 73 20 77 | 68 65 6e 20 69 74 20 6d |ddress w|hen it m|
|000010a0| 61 74 63 68 65 73 20 74 | 68 65 20 70 61 74 74 65 |atches t|he patte|
|000010b0| 72 6e 2e 20 0a 58 0a 54 | 68 65 20 63 6c 65 61 6e |rn. .X.T|he clean|
|000010c0| 69 6e 67 20 75 70 20 70 | 61 72 74 20 63 61 6e 20 |ing up p|art can |
|000010d0| 62 65 20 63 6f 6e 66 75 | 73 69 6e 67 2c 20 62 75 |be confu|sing, bu|
|000010e0| 74 20 74 79 70 69 63 61 | 6c 6c 79 20 72 75 6c 65 |t typica|lly rule|
|000010f0| 73 65 74 20 33 20 63 61 | 6c 6c 73 0a 6f 74 68 65 |set 3 ca|lls.othe|
|00001100| 72 20 72 75 6c 65 73 20 | 74 6f 20 64 6f 20 74 68 |r rules |to do th|
|00001110| 69 73 2e 20 4f 6e 65 20 | 72 75 6c 65 20 69 73 20 |is. One |rule is |
|00001120| 75 73 65 64 20 74 6f 20 | 63 6c 65 61 6e 20 75 70 |used to |clean up|
|00001130| 20 61 64 64 72 65 73 73 | 65 73 20 62 65 66 6f 72 | address|es befor|
|00001140| 65 0a 74 68 65 20 3c 20 | 61 6e 64 20 3e 20 61 72 |e.the < |and > ar|
|00001150| 65 20 61 64 64 65 64 2e | 20 41 6e 6f 74 68 65 72 |e added.| Another|
|00001160| 20 72 75 6c 65 20 69 73 | 20 75 73 65 64 20 74 6f | rule is| used to|
|00001170| 20 63 6c 65 61 6e 20 75 | 70 20 61 64 64 72 65 73 | clean u|p addres|
|00001180| 73 65 73 0a 61 66 74 65 | 72 20 69 74 20 68 61 73 |ses.afte|r it has|
|00001190| 20 62 65 65 6e 20 63 6f | 6e 76 65 72 74 65 64 20 | been co|nverted |
|000011a0| 69 6e 74 6f 20 74 68 65 | 20 3c 20 40 20 6d 61 63 |into the| < @ mac|
|000011b0| 68 69 6e 65 20 3e 20 66 | 6f 72 6d 61 74 2e 0a 58 |hine > f|ormat..X|
|000011c0| 0a 48 65 72 65 20 69 73 | 20 74 68 65 20 65 61 73 |.Here is| the eas|
|000011d0| 65 20 76 65 72 73 69 6f | 6e 20 6f 66 20 74 68 65 |e versio|n of the|
|000011e0| 20 72 75 6c 65 20 74 68 | 61 74 20 74 72 61 6e 73 | rule th|at trans|
|000011f0| 66 6f 72 6d 73 20 61 20 | 55 55 43 50 20 61 64 64 |forms a |UUCP add|
|00001200| 72 65 73 73 3a 0a 58 0a | 58 09 69 66 20 28 20 65 |ress:.X.|X.if ( e|
|00001210| 78 61 63 74 6c 79 5f 6f | 6e 65 20 21 20 6f 6e 65 |xactly_o|ne ! one|
|00001220| 5f 6f 72 5f 6d 6f 72 65 | 20 29 09 2f 2a 20 75 75 |_or_more| )./* uu|
|00001230| 63 70 68 6f 73 74 21 75 | 73 65 72 20 2a 2f 0a 58 |cphost!u|ser */.X|
|00001240| 09 09 72 65 74 75 72 6e | 20 28 52 55 4c 45 53 45 |..return| (RULESE|
|00001250| 54 5f 36 20 28 24 32 3c | 40 24 31 2e 22 75 75 63 |T_6 ($2<|@$1."uuc|
|00001260| 70 22 3e 29 29 3b 0a 58 | 0a 54 68 69 73 20 74 72 |p">));.X|.This tr|
|00001270| 61 6e 73 66 6f 72 6d 73 | 20 74 68 65 20 61 64 64 |ansforms| the add|
|00001280| 72 65 73 73 2c 20 62 75 | 74 20 63 61 6c 6c 73 20 |ress, bu|t calls |
|00001290| 72 75 6c 65 73 65 74 20 | 36 2c 20 77 68 69 63 68 |ruleset |6, which|
|000012a0| 20 63 6c 65 61 6e 73 20 | 75 70 20 74 68 65 0a 61 | cleans |up the.a|
|000012b0| 64 64 72 65 73 73 65 73 | 20 77 69 74 68 20 3c 20 |ddresses| with < |
|000012c0| 61 6e 64 20 3e 2e 20 54 | 68 65 20 76 61 72 69 61 |and >. T|he varia|
|000012d0| 62 6c 65 73 20 22 65 78 | 61 63 74 6c 79 5f 6f 6e |bles "ex|actly_on|
|000012e0| 65 22 20 61 6e 64 20 22 | 6f 6e 65 5f 6f 72 5f 6d |e" and "|one_or_m|
|000012f0| 6f 72 65 22 0a 6d 61 74 | 63 68 20 74 68 61 74 20 |ore".mat|ch that |
|00001300| 6e 75 6d 62 65 72 20 6f | 66 20 74 6f 6b 65 6e 73 |number o|f tokens|
|00001310| 2c 20 61 6e 64 20 61 72 | 65 20 72 65 70 6c 61 63 |, and ar|e replac|
|00001320| 65 64 20 62 79 20 74 68 | 65 20 24 31 20 6f 72 20 |ed by th|e $1 or |
|00001330| 24 32 20 6f 6e 20 74 68 | 65 20 0a 72 65 74 75 72 |$2 on th|e .retur|
|00001340| 6e 65 64 20 72 75 6c 65 | 2e 20 28 24 31 20 69 73 |ned rule|. ($1 is|
|00001350| 20 65 78 61 63 74 6c 79 | 5f 6f 6e 65 2c 20 24 32 | exactly|_one, $2|
|00001360| 20 69 73 20 6f 6e 65 5f | 6f 72 5f 6d 6f 72 65 29 | is one_|or_more)|
|00001370| 2e 0a 58 0a 48 65 72 65 | 20 69 73 20 61 20 72 75 |..X.Here| is a ru|
|00001380| 6c 65 20 69 6e 20 72 75 | 6c 65 73 65 74 20 36 20 |le in ru|leset 6 |
|00001390| 74 68 61 74 20 6c 6f 6f | 6b 73 20 66 6f 72 20 61 |that loo|ks for a|
|000013a0| 6e 20 61 64 64 72 65 73 | 73 20 74 6f 20 74 68 65 |n addres|s to the|
|000013b0| 20 6c 6f 63 61 6c 0a 64 | 6f 6d 61 69 6e 2c 20 61 | local.d|omain, a|
|000013c0| 6e 64 20 72 65 70 6c 61 | 63 65 73 20 74 68 65 20 |nd repla|ces the |
|000013d0| 64 6f 6d 61 69 6e 20 77 | 69 74 68 20 22 4c 4f 43 |domain w|ith "LOC|
|000013e0| 41 4c 22 3a 0a 58 0a 58 | 09 69 66 20 28 20 7a 65 |AL":.X.X|.if ( ze|
|000013f0| 72 6f 5f 6f 72 5f 6d 6f | 72 65 20 3c 40 20 7a 65 |ro_or_mo|re <@ ze|
|00001400| 72 6f 5f 6f 72 5f 6d 6f | 72 65 20 20 61 6e 79 5f |ro_or_mo|re any_|
|00001410| 69 6e 5f 6d 79 64 6f 6d | 61 69 6e 6e 61 6d 65 20 |in_mydom|ainname |
|00001420| 3e 20 7a 65 72 6f 5f 6f | 72 5f 6d 6f 72 65 20 29 |> zero_o|r_more )|
|00001430| 09 2f 2a 20 63 6f 6e 76 | 65 72 74 20 6c 6f 63 61 |./* conv|ert loca|
|00001440| 6c 20 64 6f 6d 61 69 6e | 20 2a 2f 0a 58 09 09 72 |l domain| */.X..r|
|00001450| 65 74 72 79 20 28 24 31 | 3c 40 24 32 22 4c 4f 43 |etry ($1|<@$2"LOC|
|00001460| 41 4c 22 3e 24 34 29 3b | 0a 58 0a 7a 65 72 6f 5f |AL">$4);|.X.zero_|
|00001470| 6f 72 5f 6d 6f 72 65 20 | 69 73 20 61 20 70 61 74 |or_more |is a pat|
|00001480| 74 65 72 6e 2c 20 77 68 | 69 63 68 20 6d 61 74 63 |tern, wh|ich matc|
|00001490| 68 65 73 20 24 31 2c 20 | 24 32 2c 20 6f 72 20 24 |hes $1, |$2, or $|
|000014a0| 34 2e 0a 61 6e 79 5f 69 | 6e 5f 6d 79 64 6f 6d 61 |4..any_i|n_mydoma|
|000014b0| 69 6e 20 69 73 20 61 20 | 73 70 65 63 69 61 6c 20 |in is a |special |
|000014c0| 70 61 74 74 65 72 6e 20 | 74 68 61 74 20 6d 61 74 |pattern |that mat|
|000014d0| 63 68 65 73 20 74 68 65 | 20 64 6f 6d 61 69 6e 2e |ches the| domain.|
|000014e0| 20 49 74 20 69 73 0a 6e | 6f 74 20 6e 65 63 65 73 | It is.n|ot neces|
|000014f0| 73 61 72 79 20 74 6f 20 | 68 61 76 65 20 61 20 24 |sary to |have a $|
|00001500| 33 20 62 65 63 61 75 73 | 65 20 74 68 65 20 64 6f |3 becaus|e the do|
|00001510| 6d 61 69 6e 20 69 73 20 | 6b 6e 6f 77 6e 2e 0a 53 |main is |known..S|
|00001520| 6f 20 74 68 65 20 74 65 | 73 74 20 6f 66 20 74 68 |o the te|st of th|
|00001530| 65 20 61 64 64 72 65 73 | 73 20 75 73 65 72 40 63 |e addres|s user@c|
|00001540| 72 64 67 77 31 2e 63 72 | 64 20 72 65 70 6f 72 74 |rdgw1.cr|d report|
|00001550| 73 20 74 68 69 73 3a 0a | 58 0a 72 65 77 72 69 74 |s this:.|X.rewrit|
|00001560| 65 3a 20 72 75 6c 65 73 | 65 74 20 20 33 20 20 20 |e: rules|et 3 |
|00001570| 69 6e 70 75 74 3a 20 22 | 75 73 65 72 22 20 22 40 |input: "|user" "@|
|00001580| 22 20 22 63 72 64 67 77 | 31 22 20 22 2e 22 20 22 |" "crdgw|1" "." "|
|00001590| 63 72 64 22 0a 72 65 77 | 72 69 74 65 3a 20 72 75 |crd".rew|rite: ru|
|000015a0| 6c 65 73 65 74 20 20 36 | 20 20 20 69 6e 70 75 74 |leset 6| input|
|000015b0| 3a 20 22 75 73 65 72 22 | 20 22 3c 22 20 22 40 22 |: "user"| "<" "@"|
|000015c0| 20 22 63 72 64 67 77 31 | 22 20 22 2e 22 20 22 63 | "crdgw1|" "." "c|
|000015d0| 72 64 22 20 22 3e 22 0a | 72 65 77 72 69 74 65 3a |rd" ">".|rewrite:|
|000015e0| 20 72 75 6c 65 73 65 74 | 20 20 36 20 72 65 74 75 | ruleset| 6 retu|
|000015f0| 72 6e 73 3a 20 22 75 73 | 65 72 22 20 22 3c 22 20 |rns: "us|er" "<" |
|00001600| 22 40 22 20 22 63 72 64 | 67 77 31 22 20 22 2e 22 |"@" "crd|gw1" "."|
|00001610| 20 22 4c 4f 43 41 4c 22 | 20 22 3e 22 0a 72 65 77 | "LOCAL"| ">".rew|
|00001620| 72 69 74 65 3a 20 72 75 | 6c 65 73 65 74 20 20 33 |rite: ru|leset 3|
|00001630| 20 72 65 74 75 72 6e 73 | 3a 20 22 75 73 65 72 22 | returns|: "user"|
|00001640| 20 22 3c 22 20 22 40 22 | 20 22 63 72 64 67 77 31 | "<" "@"| "crdgw1|
|00001650| 22 20 22 2e 22 20 22 4c | 4f 43 41 4c 22 20 22 3e |" "." "L|OCAL" ">|
|00001660| 22 0a 58 0a 4f 6e 63 65 | 20 72 75 6c 65 73 65 74 |".X.Once| ruleset|
|00001670| 20 33 20 69 73 20 64 6f | 77 6e 2c 20 69 74 20 70 | 3 is do|wn, it p|
|00001680| 61 73 73 65 73 20 74 68 | 65 20 61 64 64 72 65 73 |asses th|e addres|
|00001690| 73 20 74 6f 20 30 2e 0a | 54 68 69 73 20 65 76 65 |s to 0..|This eve|
|000016a0| 6e 74 75 61 6c 6c 79 20 | 67 65 74 73 20 74 6f 20 |ntually |gets to |
|000016b0| 74 68 65 20 72 75 6c 65 | 3a 0a 58 0a 58 2f 2a 20 |the rule|:.X.X/* |
|000016c0| 64 65 6c 69 76 65 72 20 | 74 6f 20 6b 6e 6f 77 6e |deliver |to known|
|000016d0| 20 65 74 68 65 72 6e 65 | 74 20 68 6f 73 74 73 20 | etherne|t hosts |
|000016e0| 65 78 70 6c 69 63 69 74 | 6c 79 20 73 70 65 63 69 |explicit|ly speci|
|000016f0| 66 69 65 64 20 69 6e 20 | 6f 75 72 20 64 6f 6d 61 |fied in |our doma|
|00001700| 69 6e 20 2a 2f 0a 58 09 | 69 66 20 28 20 7a 65 72 |in */.X.|if ( zer|
|00001710| 6f 5f 6f 72 5f 6d 6f 72 | 65 20 3c 40 20 61 6e 79 |o_or_mor|e <@ any|
|00001720| 5f 69 6e 5f 65 74 63 5f | 68 6f 73 74 73 2e 22 4c |_in_etc_|hosts."L|
|00001730| 4f 43 41 4c 22 3e 20 7a | 65 72 6f 5f 6f 72 5f 6d |OCAL"> z|ero_or_m|
|00001740| 6f 72 65 20 29 09 2f 2a | 20 75 73 65 72 40 68 6f |ore )./*| user@ho|
|00001750| 73 74 2e 73 75 6e 2e 63 | 6f 6d 20 2a 2f 0a 58 09 |st.sun.c|om */.X.|
|00001760| 09 72 65 73 6f 6c 76 65 | 20 28 6d 61 69 6c 65 72 |.resolve| (mailer|
|00001770| 20 28 65 74 68 65 72 29 | 2c 0a 58 09 09 09 09 68 | (ether)|,.X....h|
|00001780| 6f 73 74 20 28 24 32 20 | 29 2c 0a 58 09 09 09 09 |ost ($2 |),.X....|
|00001790| 75 73 65 72 20 28 24 31 | 3c 40 24 32 3e 24 33 29 |user ($1|<@$2>$3)|
|000017a0| 29 3b 0a 58 0a 54 68 69 | 73 20 6d 61 74 63 68 65 |);.X.Thi|s matche|
|000017b0| 73 2c 20 73 6f 20 74 68 | 65 20 65 74 68 65 72 20 |s, so th|e ether |
|000017c0| 6d 61 69 6c 65 72 20 69 | 73 20 75 73 65 64 2c 20 |mailer i|s used, |
|000017d0| 61 6e 64 20 74 68 65 20 | 61 64 64 72 65 73 73 20 |and the |address |
|000017e0| 69 73 0a 58 24 31 3c 40 | 32 3e 24 33 2c 20 6f 72 |is.X$1<@|2>$3, or|
|000017f0| 20 69 6e 20 74 68 69 73 | 20 63 61 73 65 3a 0a 58 | in this| case:.X|
|00001800| 0a 58 0a 72 65 77 72 69 | 74 65 3a 20 72 75 6c 65 |.X.rewri|te: rule|
|00001810| 73 65 74 20 20 30 20 72 | 65 74 75 72 6e 73 3a 20 |set 0 r|eturns: |
|00001820| 24 23 20 22 65 74 68 65 | 72 22 20 24 40 20 22 63 |$# "ethe|r" $@ "c|
|00001830| 72 64 67 77 31 22 20 24 | 3a 20 22 75 73 65 72 22 |rdgw1" $|: "user"|
|00001840| 20 22 3c 22 20 22 40 22 | 20 22 63 72 64 67 77 31 | "<" "@"| "crdgw1|
|00001850| 22 20 22 3e 22 0a 58 0a | 54 68 65 20 24 23 2c 20 |" ">".X.|The $#, |
|00001860| 24 40 2c 20 61 6e 64 20 | 24 3a 20 61 72 65 20 73 |$@, and |$: are s|
|00001870| 65 6e 64 6d 61 69 6c 20 | 74 61 6c 6b 20 66 6f 72 |endmail |talk for|
|00001880| 20 74 68 65 20 6d 61 69 | 6c 65 72 2c 20 6d 61 63 | the mai|ler, mac|
|00001890| 68 69 6e 65 2c 20 61 6e | 64 0a 61 64 64 72 65 73 |hine, an|d.addres|
|000018a0| 73 2e 20 0a 58 0a 53 74 | 69 6c 6c 20 6d 6f 72 65 |s. .X.St|ill more|
|000018b0| 20 74 6f 20 63 6f 6d 65 | 2e 20 54 68 65 20 73 70 | to come|. The sp|
|000018c0| 65 63 69 66 69 63 61 6c | 69 6f 6e 20 6f 66 20 74 |ecifical|ion of t|
|000018d0| 68 65 20 6d 61 69 6c 65 | 72 20 69 73 3a 0a 58 0a |he maile|r is:.X.|
|000018e0| 6d 61 69 6c 65 72 0a 58 | 09 65 74 68 65 72 20 7b |mailer.X|.ether {|
|000018f0| 0a 58 09 09 50 61 74 68 | 20 3d 20 22 5b 54 43 50 |.X..Path| = "[TCP|
|00001900| 5d 22 2c 0a 58 09 09 46 | 6c 61 67 73 20 3d 20 7b |]",.X..F|lags = {|
|00001910| 20 66 5f 6d 75 6c 74 2c | 20 66 5f 73 74 72 69 70 | f_mult,| f_strip|
|00001920| 2c 20 66 5f 64 61 74 65 | 2c 20 66 5f 66 72 6f 6d |, f_date|, f_from|
|00001930| 2c 20 66 5f 6d 65 73 67 | 2c 20 66 5f 75 70 70 65 |, f_mesg|, f_uppe|
|00001940| 72 75 2c 20 66 5f 61 64 | 64 72 77 2c 20 66 5f 64 |ru, f_ad|drw, f_d|
|00001950| 6f 74 20 7d 2c 0a 58 09 | 09 53 65 6e 64 65 72 20 |ot },.X.|.Sender |
|00001960| 3d 20 52 55 4c 45 53 45 | 54 5f 31 31 2c 0a 58 09 |= RULESE|T_11,.X.|
|00001970| 09 52 65 63 69 70 69 65 | 6e 74 20 3d 20 52 55 4c |.Recipie|nt = RUL|
|00001980| 45 53 45 54 5f 32 31 2c | 0a 58 09 09 41 72 67 76 |ESET_21,|.X..Argv|
|00001990| 20 3d 20 22 54 43 50 20 | 24 7b 6d 5f 72 68 6f 73 | = "TCP |${m_rhos|
|000019a0| 74 7d 22 0a 58 09 7d 3b | 0a 58 0a 58 0a 54 68 69 |t}".X.};|.X.X.Thi|
|000019b0| 73 20 73 61 79 73 20 74 | 68 65 20 73 65 6e 64 65 |s says t|he sende|
|000019c0| 72 27 73 20 61 64 64 72 | 65 73 73 20 6d 75 73 74 |r's addr|ess must|
|000019d0| 20 67 6f 20 74 68 72 75 | 20 72 75 6c 65 20 31 31 | go thru| rule 11|
|000019e0| 2c 20 77 68 69 63 68 20 | 6d 65 61 6e 73 20 72 75 |, which |means ru|
|000019f0| 6c 65 73 0a 58 31 2c 20 | 31 31 2c 20 61 6e 64 20 |les.X1, |11, and |
|00001a00| 34 2e 20 54 68 65 20 72 | 65 63 69 70 69 65 6e 74 |4. The r|ecipient|
|00001a10| 27 73 20 61 64 64 72 65 | 73 73 20 67 6f 65 73 20 |'s addre|ss goes |
|00001a20| 74 68 72 6f 75 67 68 20 | 32 2c 20 32 31 2c 20 61 |through |2, 21, a|
|00001a30| 6e 64 20 34 2e 0a 58 0a | 54 6f 20 74 65 73 74 20 |nd 4..X.|To test |
|00001a40| 74 68 69 73 2c 20 74 79 | 70 65 20 74 68 65 20 61 |this, ty|pe the a|
|00001a50| 64 64 72 65 73 73 20 66 | 72 6f 6d 20 72 75 6c 65 |ddress f|rom rule|
|00001a60| 73 65 74 20 30 20 61 6e | 64 20 73 70 65 63 69 66 |set 0 an|d specif|
|00001a70| 79 20 65 69 74 68 65 72 | 20 31 2c 0a 58 31 31 2c |y either| 1,.X11,|
|00001a80| 20 61 6e 64 20 34 20 6f | 72 20 70 65 72 68 61 70 | and 4 o|r perhap|
|00001a90| 73 20 32 2c 20 32 31 2c | 20 61 6e 64 20 34 3a 0a |s 2, 21,| and 4:.|
|00001aa0| 58 0a 58 3e 20 31 2c 31 | 31 2c 34 20 75 73 65 72 |X.X> 1,1|1,4 user|
|00001ab0| 40 63 72 64 67 77 31 0a | 72 65 77 72 69 74 65 3a |@crdgw1.|rewrite:|
|00001ac0| 20 72 75 6c 65 73 65 74 | 20 20 33 20 20 20 69 6e | ruleset| 3 in|
|00001ad0| 70 75 74 3a 20 22 75 73 | 65 72 22 20 22 40 22 20 |put: "us|er" "@" |
|00001ae0| 22 63 72 64 67 77 31 22 | 0a 72 65 77 72 69 74 65 |"crdgw1"|.rewrite|
|00001af0| 3a 20 72 75 6c 65 73 65 | 74 20 20 36 20 20 20 69 |: rulese|t 6 i|
|00001b00| 6e 70 75 74 3a 20 22 75 | 73 65 72 22 20 22 3c 22 |nput: "u|ser" "<"|
|00001b10| 20 22 40 22 20 22 63 72 | 64 67 77 31 22 20 22 3e | "@" "cr|dgw1" ">|
|00001b20| 22 0a 72 65 77 72 69 74 | 65 3a 20 72 75 6c 65 73 |".rewrit|e: rules|
|00001b30| 65 74 20 20 36 20 72 65 | 74 75 72 6e 73 3a 20 22 |et 6 re|turns: "|
|00001b40| 75 73 65 72 22 20 22 3c | 22 20 22 40 22 20 22 63 |user" "<|" "@" "c|
|00001b50| 72 64 67 77 31 22 20 22 | 3e 22 0a 72 65 77 72 69 |rdgw1" "|>".rewri|
|00001b60| 74 65 3a 20 72 75 6c 65 | 73 65 74 20 20 33 20 72 |te: rule|set 3 r|
|00001b70| 65 74 75 72 6e 73 3a 20 | 22 75 73 65 72 22 20 22 |eturns: |"user" "|
|00001b80| 3c 22 20 22 40 22 20 22 | 63 72 64 67 77 31 22 20 |<" "@" "|crdgw1" |
|00001b90| 22 3e 22 0a 72 65 77 72 | 69 74 65 3a 20 72 75 6c |">".rewr|ite: rul|
|00001ba0| 65 73 65 74 20 20 31 20 | 20 20 69 6e 70 75 74 3a |eset 1 | input:|
|00001bb0| 20 22 75 73 65 72 22 20 | 22 3c 22 20 22 40 22 20 | "user" |"<" "@" |
|00001bc0| 22 63 72 64 67 77 31 22 | 20 22 3e 22 0a 72 65 77 |"crdgw1"| ">".rew|
|00001bd0| 72 69 74 65 3a 20 72 75 | 6c 65 73 65 74 20 20 31 |rite: ru|leset 1|
|00001be0| 20 72 65 74 75 72 6e 73 | 3a 20 22 75 73 65 72 22 | returns|: "user"|
|00001bf0| 20 22 3c 22 20 22 40 22 | 20 22 63 72 64 67 77 31 | "<" "@"| "crdgw1|
|00001c00| 22 20 22 3e 22 0a 72 65 | 77 72 69 74 65 3a 20 72 |" ">".re|write: r|
|00001c10| 75 6c 65 73 65 74 20 31 | 31 20 20 20 69 6e 70 75 |uleset 1|1 inpu|
|00001c20| 74 3a 20 22 75 73 65 72 | 22 20 22 3c 22 20 22 40 |t: "user|" "<" "@|
|00001c30| 22 20 22 63 72 64 67 77 | 31 22 20 22 3e 22 0a 72 |" "crdgw|1" ">".r|
|00001c40| 65 77 72 69 74 65 3a 20 | 72 75 6c 65 73 65 74 20 |ewrite: |ruleset |
|00001c50| 31 31 20 72 65 74 75 72 | 6e 73 3a 20 22 75 73 65 |11 retur|ns: "use|
|00001c60| 72 22 20 22 3c 22 20 22 | 40 22 20 22 63 72 64 67 |r" "<" "|@" "crdg|
|00001c70| 77 31 22 20 22 3e 22 0a | 72 65 77 72 69 74 65 3a |w1" ">".|rewrite:|
|00001c80| 20 72 75 6c 65 73 65 74 | 20 20 34 20 20 20 69 6e | ruleset| 4 in|
|00001c90| 70 75 74 3a 20 22 75 73 | 65 72 22 20 22 3c 22 20 |put: "us|er" "<" |
|00001ca0| 22 40 22 20 22 63 72 64 | 67 77 31 22 20 22 3e 22 |"@" "crd|gw1" ">"|
|00001cb0| 0a 72 65 77 72 69 74 65 | 3a 20 72 75 6c 65 73 65 |.rewrite|: rulese|
|00001cc0| 74 20 20 39 20 20 20 69 | 6e 70 75 74 3a 20 22 75 |t 9 i|nput: "u|
|00001cd0| 73 65 72 22 20 22 3c 22 | 20 22 40 22 20 22 63 72 |ser" "<"| "@" "cr|
|00001ce0| 64 67 77 31 22 20 22 3e | 22 0a 72 65 77 72 69 74 |dgw1" ">|".rewrit|
|00001cf0| 65 3a 20 72 75 6c 65 73 | 65 74 20 20 39 20 72 65 |e: rules|et 9 re|
|00001d00| 74 75 72 6e 73 3a 20 22 | 75 73 65 72 22 20 22 3c |turns: "|user" "<|
|00001d10| 22 20 22 40 22 20 22 63 | 72 64 67 77 31 22 20 22 |" "@" "c|rdgw1" "|
|00001d20| 3e 22 0a 72 65 77 72 69 | 74 65 3a 20 72 75 6c 65 |>".rewri|te: rule|
|00001d30| 73 65 74 20 20 34 20 72 | 65 74 75 72 6e 73 3a 20 |set 4 r|eturns: |
|00001d40| 22 75 73 65 72 22 20 22 | 40 22 20 22 63 72 64 67 |"user" "|@" "crdg|
|00001d50| 77 31 22 0a 58 0a 41 73 | 20 79 6f 75 20 63 61 6e |w1".X.As| you can|
|00001d60| 20 73 65 65 2c 20 72 75 | 6c 65 73 65 74 20 33 20 | see, ru|leset 3 |
|00001d70| 69 73 20 61 6c 77 61 79 | 73 20 61 70 70 6c 69 65 |is alway|s applie|
|00001d80| 64 20 66 69 72 73 74 2c | 20 77 68 69 63 68 20 63 |d first,| which c|
|00001d90| 61 6c 6c 73 20 36 2c 20 | 0a 54 68 65 6e 20 72 75 |alls 6, |.Then ru|
|00001da0| 6c 65 20 31 20 69 73 20 | 61 70 70 6c 69 65 64 2c |le 1 is |applied,|
|00001db0| 20 66 6f 6c 6c 6f 77 65 | 64 20 62 79 20 72 75 6c | followe|d by rul|
|00001dc0| 65 20 31 31 2c 20 61 6e | 64 20 74 68 65 6e 20 66 |e 11, an|d then f|
|00001dd0| 6f 6c 6c 6f 77 65 64 20 | 62 79 0a 72 75 6c 65 20 |ollowed |by.rule |
|00001de0| 34 2e 20 54 68 65 20 65 | 6e 64 20 72 65 73 75 6c |4. The e|nd resul|
|00001df0| 74 20 74 65 6c 6c 73 20 | 6d 65 20 74 68 65 20 46 |t tells |me the F|
|00001e00| 72 6f 6d 3a 20 6c 69 6e | 65 20 77 6f 75 6c 64 20 |rom: lin|e would |
|00001e10| 6c 6f 6f 6b 20 6c 69 6b | 65 0a 75 73 65 72 40 63 |look lik|e.user@c|
|00001e20| 72 64 67 77 31 0a 58 0a | 58 0a 54 68 65 20 75 75 |rdgw1.X.|X.The uu|
|00001e30| 63 70 20 6d 61 69 6c 65 | 72 20 68 61 73 20 61 20 |cp maile|r has a |
|00001e40| 64 69 66 66 65 6e 74 20 | 73 65 74 20 6f 66 20 72 |diffent |set of r|
|00001e50| 65 77 72 69 74 65 20 72 | 75 6c 65 73 2e 0a 49 6e |ewrite r|ules..In|
|00001e60| 20 73 75 6e 27 73 20 73 | 65 6e 64 6d 61 69 6c 2e | sun's s|endmail.|
|00001e70| 6d 61 69 6e 2e 63 66 2c | 20 69 74 20 75 73 65 73 |main.cf,| it uses|
|00001e80| 20 31 33 20 61 6e 64 20 | 32 33 2e 20 54 6f 20 74 | 13 and |23. To t|
|00001e90| 65 73 74 20 74 68 69 73 | 20 61 64 64 72 65 73 73 |est this| address|
|00001ea0| 2c 0a 49 20 74 79 70 65 | 64 20 31 2c 31 33 2c 34 |,.I type|d 1,13,4|
|00001eb0| 20 61 6e 64 20 67 6f 74 | 20 74 68 69 73 3a 0a 58 | and got| this:.X|
|00001ec0| 0a 58 3e 20 31 2c 31 33 | 2c 34 20 75 73 65 72 40 |.X> 1,13|,4 user@|
|00001ed0| 63 72 64 67 77 31 0a 72 | 65 77 72 69 74 65 3a 20 |crdgw1.r|ewrite: |
|00001ee0| 72 75 6c 65 73 65 74 20 | 20 33 20 20 20 69 6e 70 |ruleset | 3 inp|
|00001ef0| 75 74 3a 20 22 75 73 65 | 72 22 20 22 40 22 20 22 |ut: "use|r" "@" "|
|00001f00| 63 72 64 67 77 31 22 0a | 72 65 77 72 69 74 65 3a |crdgw1".|rewrite:|
|00001f10| 20 72 75 6c 65 73 65 74 | 20 20 36 20 20 20 69 6e | ruleset| 6 in|
|00001f20| 70 75 74 3a 20 22 75 73 | 65 72 22 20 22 3c 22 20 |put: "us|er" "<" |
|00001f30| 22 40 22 20 22 63 72 64 | 67 77 31 22 20 22 3e 22 |"@" "crd|gw1" ">"|
|00001f40| 0a 72 65 77 72 69 74 65 | 3a 20 72 75 6c 65 73 65 |.rewrite|: rulese|
|00001f50| 74 20 20 36 20 72 65 74 | 75 72 6e 73 3a 20 22 75 |t 6 ret|urns: "u|
|00001f60| 73 65 72 22 20 22 3c 22 | 20 22 40 22 20 22 63 72 |ser" "<"| "@" "cr|
|00001f70| 64 67 77 31 22 20 22 3e | 22 0a 72 65 77 72 69 74 |dgw1" ">|".rewrit|
|00001f80| 65 3a 20 72 75 6c 65 73 | 65 74 20 20 33 20 72 65 |e: rules|et 3 re|
|00001f90| 74 75 72 6e 73 3a 20 22 | 75 73 65 72 22 20 22 3c |turns: "|user" "<|
|00001fa0| 22 20 22 40 22 20 22 63 | 72 64 67 77 31 22 20 22 |" "@" "c|rdgw1" "|
|00001fb0| 3e 22 0a 72 65 77 72 69 | 74 65 3a 20 72 75 6c 65 |>".rewri|te: rule|
|00001fc0| 73 65 74 20 20 31 20 20 | 20 69 6e 70 75 74 3a 20 |set 1 | input: |
|00001fd0| 22 75 73 65 72 22 20 22 | 3c 22 20 22 40 22 20 22 |"user" "|<" "@" "|
|00001fe0| 63 72 64 67 77 31 22 20 | 22 3e 22 0a 72 65 77 72 |crdgw1" |">".rewr|
|00001ff0| 69 74 65 3a 20 72 75 6c | 65 73 65 74 20 20 31 20 |ite: rul|eset 1 |
|00002000| 72 65 74 75 72 6e 73 3a | 20 22 75 73 65 72 22 20 |returns:| "user" |
|00002010| 22 3c 22 20 22 40 22 20 | 22 63 72 64 67 77 31 22 |"<" "@" |"crdgw1"|
|00002020| 20 22 3e 22 0a 72 65 77 | 72 69 74 65 3a 20 72 75 | ">".rew|rite: ru|
|00002030| 6c 65 73 65 74 20 31 33 | 20 20 20 69 6e 70 75 74 |leset 13| input|
|00002040| 3a 20 22 75 73 65 72 22 | 20 22 3c 22 20 22 40 22 |: "user"| "<" "@"|
|00002050| 20 22 63 72 64 67 77 31 | 22 20 22 3e 22 0a 72 65 | "crdgw1|" ">".re|
|00002060| 77 72 69 74 65 3a 20 72 | 75 6c 65 73 65 74 20 20 |write: r|uleset |
|00002070| 35 20 20 20 69 6e 70 75 | 74 3a 20 22 75 73 65 72 |5 inpu|t: "user|
|00002080| 22 20 22 3c 22 20 22 40 | 22 20 22 63 72 64 67 77 |" "<" "@|" "crdgw|
|00002090| 31 22 20 22 3e 22 0a 72 | 65 77 72 69 74 65 3a 20 |1" ">".r|ewrite: |
|000020a0| 72 75 6c 65 73 65 74 20 | 20 35 20 72 65 74 75 72 |ruleset | 5 retur|
|000020b0| 6e 73 3a 20 22 63 72 64 | 67 77 31 22 20 22 21 22 |ns: "crd|gw1" "!"|
|000020c0| 20 22 75 73 65 72 22 0a | 72 65 77 72 69 74 65 3a | "user".|rewrite:|
|000020d0| 20 72 75 6c 65 73 65 74 | 20 31 33 20 72 65 74 75 | ruleset| 13 retu|
|000020e0| 72 6e 73 3a 20 22 67 72 | 79 6d 6f 69 72 65 22 20 |rns: "gr|ymoire" |
|000020f0| 22 21 22 20 22 63 72 64 | 67 77 31 22 20 22 21 22 |"!" "crd|gw1" "!"|
|00002100| 20 22 75 73 65 72 22 0a | 72 65 77 72 69 74 65 3a | "user".|rewrite:|
|00002110| 20 72 75 6c 65 73 65 74 | 20 20 34 20 20 20 69 6e | ruleset| 4 in|
|00002120| 70 75 74 3a 20 22 67 72 | 79 6d 6f 69 72 65 22 20 |put: "gr|ymoire" |
|00002130| 22 21 22 20 22 63 72 64 | 67 77 31 22 20 22 21 22 |"!" "crd|gw1" "!"|
|00002140| 20 22 75 73 65 72 22 0a | 72 65 77 72 69 74 65 3a | "user".|rewrite:|
|00002150| 20 72 75 6c 65 73 65 74 | 20 20 39 20 20 20 69 6e | ruleset| 9 in|
|00002160| 70 75 74 3a 20 22 67 72 | 79 6d 6f 69 72 65 22 20 |put: "gr|ymoire" |
|00002170| 22 21 22 20 22 63 72 64 | 67 77 31 22 20 22 21 22 |"!" "crd|gw1" "!"|
|00002180| 20 22 75 73 65 72 22 0a | 72 65 77 72 69 74 65 3a | "user".|rewrite:|
|00002190| 20 72 75 6c 65 73 65 74 | 20 20 39 20 72 65 74 75 | ruleset| 9 retu|
|000021a0| 72 6e 73 3a 20 22 67 72 | 79 6d 6f 69 72 65 22 20 |rns: "gr|ymoire" |
|000021b0| 22 21 22 20 22 63 72 64 | 67 77 31 22 20 22 21 22 |"!" "crd|gw1" "!"|
|000021c0| 20 22 75 73 65 72 22 0a | 72 65 77 72 69 74 65 3a | "user".|rewrite:|
|000021d0| 20 72 75 6c 65 73 65 74 | 20 20 34 20 72 65 74 75 | ruleset| 4 retu|
|000021e0| 72 6e 73 3a 20 22 67 72 | 79 6d 6f 69 72 65 22 20 |rns: "gr|ymoire" |
|000021f0| 22 21 22 20 22 63 72 64 | 67 77 31 22 20 22 21 22 |"!" "crd|gw1" "!"|
|00002200| 20 22 75 73 65 72 22 0a | 58 3e 20 0a 58 0a 41 73 | "user".|X> .X.As|
|00002210| 20 79 6f 75 20 63 61 6e | 20 73 65 65 2c 20 69 74 | you can| see, it|
|00002220| 20 63 6f 6e 76 65 72 74 | 65 64 20 74 68 65 20 61 | convert|ed the a|
|00002230| 64 64 72 65 73 73 20 69 | 6e 74 6f 20 61 20 75 75 |ddress i|nto a uu|
|00002240| 63 70 20 70 61 74 68 20 | 72 65 6c 61 74 69 76 65 |cp path |relative|
|00002250| 20 74 6f 0a 6d 79 20 6d | 61 63 68 69 6e 65 2e 0a | to.my m|achine..|
|00002260| 58 0a 54 6f 20 74 65 73 | 74 20 74 68 65 73 65 20 |X.To tes|t these |
|00002270| 74 68 72 65 65 20 63 61 | 73 65 73 2c 20 61 64 64 |three ca|ses, add|
|00002280| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 74 | the fol|lowing t|
|00002290| 6f 20 79 6f 75 72 20 64 | 65 62 75 67 2e 69 6e 20 |o your d|ebug.in |
|000022a0| 66 69 6c 65 3a 0a 58 0a | 58 30 09 75 73 65 72 40 |file:.X.|X0.user@|
|000022b0| 63 72 64 67 77 31 0a 58 | 31 2c 31 31 2c 34 09 75 |crdgw1.X|1,11,4.u|
|000022c0| 73 65 72 40 63 72 64 67 | 77 31 09 46 72 6f 6d 5f |ser@crdg|w1.From_|
|000022d0| 45 74 68 65 72 6e 65 74 | 5f 74 6f 5f 45 74 68 65 |Ethernet|_to_Ethe|
|000022e0| 72 6e 65 74 0a 58 31 2c | 31 33 2c 34 09 75 73 65 |rnet.X1,|13,4.use|
|000022f0| 72 40 63 72 64 67 77 31 | 09 46 72 6f 6d 5f 45 74 |r@crdgw1|.From_Et|
|00002300| 68 65 72 6e 65 74 5f 74 | 6f 5f 55 55 43 50 0a 58 |hernet_t|o_UUCP.X|
|00002310| 0a 45 4e 44 5f 4f 46 5f | 46 49 4c 45 0a 69 66 20 |.END_OF_|FILE.if |
|00002320| 74 65 73 74 20 37 38 35 | 33 20 2d 6e 65 20 60 77 |test 785|3 -ne `w|
|00002330| 63 20 2d 63 20 3c 27 49 | 4e 54 52 4f 27 60 3b 20 |c -c <'I|NTRO'`; |
|00002340| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|00002350| 61 72 3a 20 5c 22 27 49 | 4e 54 52 4f 27 5c 22 20 |ar: \"'I|NTRO'\" |
|00002360| 75 6e 70 61 63 6b 65 64 | 20 77 69 74 68 20 77 72 |unpacked| with wr|
|00002370| 6f 6e 67 20 73 69 7a 65 | 21 0a 66 69 0a 23 20 65 |ong size|!.fi.# e|
|00002380| 6e 64 20 6f 66 20 27 49 | 4e 54 52 4f 27 0a 66 69 |nd of 'I|NTRO'.fi|
|00002390| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 73 72 63 |.if test| -f 'src|
|000023a0| 2f 65 6d 69 74 63 66 2e | 63 27 20 2d 61 20 22 24 |/emitcf.|c' -a "$|
|000023b0| 7b 31 7d 22 20 21 3d 20 | 22 2d 63 22 20 3b 20 74 |{1}" != |"-c" ; t|
|000023c0| 68 65 6e 20 0a 20 20 65 | 63 68 6f 20 73 68 61 72 |hen . e|cho shar|
|000023d0| 3a 20 57 69 6c 6c 20 6e | 6f 74 20 63 6c 6f 62 62 |: Will n|ot clobb|
|000023e0| 65 72 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |er exist|ing file|
|000023f0| 20 5c 22 27 73 72 63 2f | 65 6d 69 74 63 66 2e 63 | \"'src/|emitcf.c|
|00002400| 27 5c 22 0a 65 6c 73 65 | 0a 65 63 68 6f 20 73 68 |'\".else|.echo sh|
|00002410| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|00002420| 22 27 73 72 63 2f 65 6d | 69 74 63 66 2e 63 27 5c |"'src/em|itcf.c'\|
|00002430| 22 20 5c 28 37 38 34 32 | 20 63 68 61 72 61 63 74 |" \(7842| charact|
|00002440| 65 72 73 5c 29 0a 73 65 | 64 20 22 73 2f 5e 58 2f |ers\).se|d "s/^X/|
|00002450| 2f 22 20 3e 27 73 72 63 | 2f 65 6d 69 74 63 66 2e |/" >'src|/emitcf.|
|00002460| 63 27 20 3c 3c 27 45 4e | 44 5f 4f 46 5f 46 49 4c |c' <<'EN|D_OF_FIL|
|00002470| 45 27 0a 58 23 69 66 64 | 65 66 20 46 4c 55 4b 45 |E'.X#ifd|ef FLUKE|
|00002480| 0a 58 23 20 69 66 6e 64 | 65 66 20 4c 49 4e 54 0a |.X# ifnd|ef LINT.|
|00002490| 58 20 20 20 20 73 74 61 | 74 69 63 20 63 68 61 72 |X sta|tic char|
|000024a0| 20 52 43 53 69 64 5b 5d | 20 3d 20 22 40 28 23 29 | RCSid[]| = "@(#)|
|000024b0| 46 4c 55 4b 45 20 20 24 | 48 65 61 64 65 72 3a 20 |FLUKE $|Header: |
|000024c0| 2f 68 6f 6d 65 2f 6b 72 | 65 73 6b 69 6e 2f 75 30 |/home/kr|eskin/u0|
|000024d0| 2f 62 61 72 6e 65 74 74 | 2f 53 72 63 2f 45 61 73 |/barnett|/Src/Eas|
|000024e0| 65 2f 65 61 73 65 2f 73 | 72 63 2f 52 43 53 2f 65 |e/ease/s|rc/RCS/e|
|000024f0| 6d 69 74 63 66 2e 63 2c | 76 20 33 2e 30 20 31 39 |mitcf.c,|v 3.0 19|
|00002500| 39 31 2f 30 32 2f 32 32 | 20 31 38 3a 35 30 3a 32 |91/02/22| 18:50:2|
|00002510| 37 20 62 61 72 6e 65 74 | 74 20 45 78 70 20 24 22 |7 barnet|t Exp $"|
|00002520| 3b 0a 58 23 20 65 6e 64 | 69 66 20 4c 49 4e 54 0a |;.X# end|if LINT.|
|00002530| 58 23 65 6e 64 69 66 20 | 46 4c 55 4b 45 0a 58 0a |X#endif |FLUKE.X.|
|00002540| 58 2f 2a 0a 58 20 2a 09 | 65 6d 69 74 63 66 2e 63 |X/*.X *.|emitcf.c|
|00002550| 20 20 2d 2d 20 54 68 69 | 73 20 66 69 6c 65 20 63 | -- Thi|s file c|
|00002560| 6f 6e 74 61 69 6e 73 20 | 72 6f 75 74 69 6e 65 73 |ontains |routines|
|00002570| 20 61 73 73 6f 63 69 61 | 74 65 64 20 77 69 74 68 | associa|ted with|
|00002580| 20 74 68 65 20 77 72 69 | 74 69 6e 67 0a 58 20 2a | the wri|ting.X *|
|00002590| 09 09 20 20 20 20 20 61 | 6e 64 20 66 6f 72 6d 61 |.. a|nd forma|
|000025a0| 74 74 69 6e 67 20 6f 66 | 20 61 20 74 72 61 6e 73 |tting of| a trans|
|000025b0| 6c 61 74 65 64 20 73 65 | 6e 64 6d 61 69 6c 20 63 |lated se|ndmail c|
|000025c0| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 66 69 6c |onfigura|tion fil|
|000025d0| 65 2e 0a 58 20 2a 0a 58 | 20 2a 09 61 75 74 68 6f |e..X *.X| *.autho|
|000025e0| 72 09 20 20 2d 2d 20 4a | 61 6d 65 73 20 53 2e 20 |r. -- J|ames S. |
|000025f0| 53 63 68 6f 6e 65 72 2c | 20 50 75 72 64 75 65 20 |Schoner,| Purdue |
|00002600| 55 6e 69 76 65 72 73 69 | 74 79 20 43 6f 6d 70 75 |Universi|ty Compu|
|00002610| 74 69 6e 67 20 43 65 6e | 74 65 72 2c 0a 58 20 2a |ting Cen|ter,.X *|
|00002620| 09 09 09 20 20 09 20 20 | 20 20 20 20 20 57 65 73 |... . | Wes|
|00002630| 74 20 4c 61 66 61 79 65 | 74 74 65 2c 20 49 6e 64 |t Lafaye|tte, Ind|
|00002640| 69 61 6e 61 20 20 34 37 | 39 30 37 0a 58 20 2a 0a |iana 47|907.X *.|
|00002650| 58 20 2a 20 20 09 64 61 | 74 65 09 20 20 2d 2d 20 |X * .da|te. -- |
|00002660| 4a 75 6c 79 20 39 2c 20 | 31 39 38 35 0a 58 20 2a |July 9, |1985.X *|
|00002670| 0a 58 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |.X *.Cop|yright (|
|00002680| 63 29 20 31 39 38 35 20 | 62 79 20 50 75 72 64 75 |c) 1985 |by Purdu|
|00002690| 65 20 52 65 73 65 61 72 | 63 68 20 46 6f 75 6e 64 |e Resear|ch Found|
|000026a0| 61 74 69 6f 6e 0a 58 20 | 2a 0a 58 20 2a 09 41 6c |ation.X |*.X *.Al|
|000026b0| 6c 20 72 69 67 68 74 73 | 20 72 65 73 65 72 76 65 |l rights| reserve|
|000026c0| 64 2e 0a 58 20 2a 0a 58 | 20 2a 20 24 4c 6f 67 3a |d..X *.X| * $Log:|
|000026d0| 20 65 6d 69 74 63 66 2e | 63 2c 76 20 24 0a 58 20 | emitcf.|c,v $.X |
|000026e0| 2a 20 52 65 76 69 73 69 | 6f 6e 20 33 2e 30 20 20 |* Revisi|on 3.0 |
|000026f0| 31 39 39 31 2f 30 32 2f | 32 32 20 20 31 38 3a 35 |1991/02/|22 18:5|
|00002700| 30 3a 32 37 20 20 62 61 | 72 6e 65 74 74 0a 58 20 |0:27 ba|rnett.X |
|00002710| 2a 20 41 64 64 65 64 20 | 73 75 70 70 6f 72 74 20 |* Added |support |
|00002720| 66 6f 72 20 48 50 2f 55 | 58 20 61 6e 64 20 49 44 |for HP/U|X and ID|
|00002730| 41 20 73 65 6e 64 6d 61 | 69 6c 2e 0a 58 20 2a 0a |A sendma|il..X *.|
|00002740| 58 20 2a 20 52 65 76 69 | 73 69 6f 6e 20 32 2e 31 |X * Revi|sion 2.1|
|00002750| 20 20 31 39 39 30 2f 30 | 31 2f 33 30 20 20 31 34 | 1990/0|1/30 14|
|00002760| 3a 30 39 3a 34 39 20 20 | 6a 65 66 66 0a 58 20 2a |:09:49 |jeff.X *|
|00002770| 20 43 68 61 6e 67 65 73 | 20 62 79 20 42 72 75 63 | Changes| by Bruc|
|00002780| 65 20 42 61 72 6e 65 74 | 74 20 2d 20 65 78 74 65 |e Barnet|t - exte|
|00002790| 6e 73 69 6f 6e 73 20 66 | 6f 72 20 53 75 6e 4f 53 |nsions f|or SunOS|
|000027a0| 2f 55 6c 74 72 69 78 2e | 0a 58 20 2a 0a 58 20 2a |/Ultrix.|.X *.X *|
|000027b0| 20 52 65 76 69 73 69 6f | 6e 20 32 2e 30 20 20 38 | Revisio|n 2.0 8|
|000027c0| 38 2f 30 36 2f 31 35 20 | 20 31 34 3a 34 30 3a 34 |8/06/15 | 14:40:4|
|000027d0| 37 20 20 72 6f 6f 74 0a | 58 20 2a 20 42 61 73 65 |7 root.|X * Base|
|000027e0| 6c 69 6e 65 20 72 65 6c | 65 61 73 65 20 66 6f 72 |line rel|ease for|
|000027f0| 20 6e 65 74 20 70 6f 73 | 74 69 6e 67 2e 20 41 44 | net pos|ting. AD|
|00002800| 52 2e 0a 58 20 2a 2f 0a | 58 0a 58 23 69 6e 63 6c |R..X */.|X.X#incl|
|00002810| 75 64 65 20 3c 73 74 64 | 69 6f 2e 68 3e 0a 58 23 |ude <std|io.h>.X#|
|00002820| 69 6e 63 6c 75 64 65 20 | 22 73 79 6d 74 61 62 2e |include |"symtab.|
|00002830| 68 22 0a 58 23 69 6e 63 | 6c 75 64 65 20 22 66 69 |h".X#inc|lude "fi|
|00002840| 78 73 74 72 69 6e 67 73 | 2e 68 22 0a 58 0a 58 23 |xstrings|.h".X.X#|
|00002850| 64 65 66 69 6e 65 20 52 | 45 47 4c 49 4e 45 20 36 |define R|EGLINE 6|
|00002860| 30 09 2f 2a 20 6c 65 6e | 67 74 68 20 6f 66 20 6f |0./* len|gth of o|
|00002870| 75 74 70 75 74 20 6c 69 | 6e 65 73 20 77 68 69 63 |utput li|nes whic|
|00002880| 68 20 6d 61 79 20 62 65 | 20 63 6f 6e 74 69 6e 75 |h may be| continu|
|00002890| 65 64 20 2a 2f 0a 58 23 | 64 65 66 69 6e 65 20 4d |ed */.X#|define M|
|000028a0| 41 58 4c 49 4e 45 20 32 | 35 36 09 2f 2a 20 6c 69 |AXLINE 2|56./* li|
|000028b0| 62 65 72 61 6c 20 6d 61 | 78 69 6d 75 6d 20 6c 69 |beral ma|ximum li|
|000028c0| 6e 65 20 6c 65 6e 67 74 | 68 09 09 09 20 2a 2f 0a |ne lengt|h... */.|
|000028d0| 58 0a 65 78 74 65 72 6e | 20 73 68 6f 72 74 20 52 |X.extern| short R|
|000028e0| 66 6f 72 6d 61 74 3b 09 | 09 09 2f 2a 20 72 65 61 |format;.|../* rea|
|000028f0| 64 2d 66 6f 72 6d 61 74 | 20 66 6c 61 67 20 66 6f |d-format| flag fo|
|00002900| 72 20 61 20 63 6c 61 73 | 73 20 20 2a 2f 0a 65 78 |r a clas|s */.ex|
|00002910| 74 65 72 6e 20 63 68 61 | 72 20 2a 4d 61 63 53 63 |tern cha|r *MacSc|
|00002920| 61 6e 20 28 29 3b 0a 65 | 78 74 65 72 6e 20 63 68 |an ();.e|xtern ch|
|00002930| 61 72 20 20 4d 61 6b 65 | 4d 61 63 20 28 29 3b 0a |ar Make|Mac ();.|
|00002940| 65 78 74 65 72 6e 20 76 | 6f 69 64 20 20 50 72 69 |extern v|oid Pri|
|00002950| 6e 74 45 72 72 6f 72 20 | 28 29 2c 0a 58 09 20 20 |ntError |(),.X. |
|00002960| 20 20 20 46 61 74 61 6c | 45 72 72 6f 72 20 28 29 | Fatal|Error ()|
|00002970| 2c 0a 58 09 20 20 20 20 | 20 50 72 69 6e 74 57 61 |,.X. | PrintWa|
|00002980| 72 6e 69 6e 67 20 28 29 | 2c 0a 58 09 20 20 20 20 |rning ()|,.X. |
|00002990| 20 45 72 72 6f 72 52 65 | 70 6f 72 74 20 28 29 3b | ErrorRe|port ();|
|000029a0| 0a 58 0a 76 6f 69 64 20 | 20 50 72 69 6e 74 44 65 |.X.void | PrintDe|
|000029b0| 66 20 28 29 3b 0a 58 0a | 73 74 61 74 69 63 20 63 |f ();.X.|static c|
|000029c0| 68 61 72 20 43 6c 61 73 | 73 43 48 3b 09 09 09 2f |har Clas|sCH;.../|
|000029d0| 2a 20 70 72 69 6e 74 61 | 62 6c 65 20 63 6c 61 73 |* printa|ble clas|
|000029e0| 73 20 6d 61 63 72 6f 20 | 63 68 61 72 20 20 20 20 |s macro |char |
|000029f0| 2a 2f 0a 58 0a 58 2f 2a | 0a 58 20 2a 09 45 6d 69 |*/.X.X/*|.X *.Emi|
|00002a00| 74 44 65 66 20 28 29 20 | 2d 2d 20 45 6d 69 74 20 |tDef () |-- Emit |
|00002a10| 61 20 64 65 66 69 6e 69 | 74 69 6f 6e 20 6c 69 6e |a defini|tion lin|
|00002a20| 65 20 28 45 61 73 65 20 | 62 6c 6f 63 6b 20 64 65 |e (Ease |block de|
|00002a30| 66 69 6e 69 74 69 6f 6e | 29 20 69 6e 20 63 66 20 |finition|) in cf |
|00002a40| 0a 58 20 2a 09 09 20 20 | 20 20 20 20 66 6f 72 6d |.X *.. | form|
|00002a50| 61 74 2e 0a 58 20 2a 0a | 58 20 2a 2f 0a 76 6f 69 |at..X *.|X */.voi|
|00002a60| 64 0a 58 45 6d 69 74 44 | 65 66 20 28 62 6c 6f 63 |d.XEmitD|ef (bloc|
|00002a70| 6b 64 65 66 2c 20 74 61 | 72 67 2c 20 64 65 66 73 |kdef, ta|rg, defs|
|00002a80| 74 72 31 2c 20 64 65 66 | 73 74 72 32 29 0a 72 65 |tr1, def|str2).re|
|00002a90| 67 69 73 74 65 72 20 65 | 6e 75 6d 20 62 64 65 66 |gister e|num bdef|
|00002aa0| 73 20 62 6c 6f 63 6b 64 | 65 66 3b 09 2f 2a 20 74 |s blockd|ef;./* t|
|00002ab0| 79 70 65 20 6f 66 20 64 | 65 66 69 6e 69 74 69 6f |ype of d|efinitio|
|00002ac0| 6e 20 20 20 09 20 2a 2f | 0a 72 65 67 69 73 74 65 |n . */|.registe|
|00002ad0| 72 20 73 74 72 75 63 74 | 20 68 65 20 2a 74 61 72 |r struct| he *tar|
|00002ae0| 67 3b 09 2f 2a 20 74 61 | 72 67 65 74 20 74 6f 20 |g;./* ta|rget to |
|00002af0| 62 65 20 64 65 66 69 6e | 65 64 20 09 20 2a 2f 0a |be defin|ed . */.|
|00002b00| 63 68 61 72 20 2a 64 65 | 66 73 74 72 31 2c 20 2a |char *de|fstr1, *|
|00002b10| 64 65 66 73 74 72 32 3b | 09 2f 2a 20 6f 6e 65 20 |defstr2;|./* one |
|00002b20| 6f 72 20 74 77 6f 20 64 | 65 66 69 6e 69 74 69 6f |or two d|efinitio|
|00002b30| 6e 20 73 74 72 69 6e 67 | 73 20 2a 2f 0a 58 7b 0a |n string|s */.X{.|
|00002b40| 58 09 2f 2a 0a 58 09 20 | 2a 20 20 54 68 69 73 20 |X./*.X. |* This |
|00002b50| 72 6f 75 74 69 6e 65 20 | 69 73 20 61 62 6f 75 74 |routine |is about|
|00002b60| 20 61 73 20 70 72 65 74 | 74 79 20 61 73 20 61 20 | as pret|ty as a |
|00002b70| 74 72 61 6e 73 6c 61 74 | 65 64 20 65 61 73 65 20 |translat|ed ease |
|00002b80| 66 69 6c 65 2e 2e 2e 0a | 58 09 20 2a 20 20 45 61 |file....|X. * Ea|
|00002b90| 63 68 20 74 79 70 65 20 | 6f 66 20 6c 69 6e 65 20 |ch type |of line |
|00002ba0| 28 45 61 73 65 20 62 6c | 6f 63 6b 29 20 69 73 20 |(Ease bl|ock) is |
|00002bb0| 68 61 6e 64 6c 65 64 20 | 63 61 73 65 20 62 79 20 |handled |case by |
|00002bc0| 63 61 73 65 20 62 65 6c | 6f 77 2e 0a 58 09 20 2a |case bel|ow..X. *|
|00002bd0| 0a 58 09 20 2a 2f 0a 58 | 09 73 77 69 74 63 68 20 |.X. */.X|.switch |
|00002be0| 28 62 6c 6f 63 6b 64 65 | 66 29 20 7b 0a 58 09 09 |(blockde|f) {.X..|
|00002bf0| 63 61 73 65 20 64 65 66 | 5f 6d 61 63 72 6f 3a 09 |case def|_macro:.|
|00002c00| 09 70 72 69 6e 74 66 20 | 28 22 44 25 63 22 2c 20 |.printf |("D%c", |
|00002c10| 4d 61 6b 65 4d 61 63 20 | 28 74 61 72 67 2c 20 49 |MakeMac |(targ, I|
|00002c20| 44 5f 4d 41 43 52 4f 29 | 29 3b 0a 58 09 09 09 09 |D_MACRO)|);.X....|
|00002c30| 09 50 72 69 6e 74 44 65 | 66 20 28 64 65 66 5f 6d |.PrintDe|f (def_m|
|00002c40| 61 63 72 6f 2c 20 4d 61 | 63 53 63 61 6e 20 28 64 |acro, Ma|cScan (d|
|00002c50| 65 66 73 74 72 31 29 29 | 3b 0a 58 09 09 09 09 09 |efstr1))|;.X.....|
|00002c60| 69 66 20 28 49 53 4d 41 | 43 52 4f 28 74 61 72 67 |if (ISMA|CRO(targ|
|00002c70| 2d 3e 69 64 64 29 29 0a | 58 09 09 09 09 09 09 50 |->idd)).|X......P|
|00002c80| 72 69 6e 74 57 61 72 6e | 69 6e 67 20 28 22 52 65 |rintWarn|ing ("Re|
|00002c90| 64 65 66 69 6e 69 6e 67 | 20 6d 61 63 72 6f 20 25 |defining| macro %|
|00002ca0| 73 2e 5c 6e 22 2c 20 74 | 61 72 67 2d 3e 70 73 62 |s.\n", t|arg->psb|
|00002cb0| 29 3b 0a 58 09 09 09 09 | 09 74 61 72 67 2d 3e 69 |);.X....|.targ->i|
|00002cc0| 64 64 20 7c 3d 20 49 44 | 5f 4d 41 43 52 4f 3b 20 |dd |= ID|_MACRO; |
|00002cd0| 20 2f 2a 20 73 69 67 6e | 61 6c 20 64 65 66 69 6e | /* sign|al defin|
|00002ce0| 69 74 69 6f 6e 20 2a 2f | 0a 58 09 09 09 09 09 62 |ition */|.X.....b|
|00002cf0| 72 65 61 6b 3b 0a 58 0a | 58 09 09 63 61 73 65 20 |reak;.X.|X..case |
|00002d00| 64 65 66 5f 63 6c 61 73 | 73 3a 09 09 69 66 20 28 |def_clas|s:..if (|
|00002d10| 52 66 6f 72 6d 61 74 29 | 09 2f 2a 20 72 65 61 64 |Rformat)|./* read|
|00002d20| 20 66 6f 72 6d 61 74 20 | 2a 2f 0a 58 09 09 09 09 | format |*/.X....|
|00002d30| 09 09 70 72 69 6e 74 66 | 20 28 22 46 22 29 3b 0a |..printf| ("F");.|
|00002d40| 58 09 09 09 09 09 65 6c | 73 65 0a 58 09 09 09 09 |X.....el|se.X....|
|00002d50| 09 09 70 72 69 6e 74 66 | 20 28 22 43 22 29 3b 0a |..printf| ("C");.|
|00002d60| 58 09 09 09 09 09 70 72 | 69 6e 74 66 20 28 22 25 |X.....pr|intf ("%|
|00002d70| 63 22 2c 20 43 6c 61 73 | 73 43 48 20 3d 20 4d 61 |c", Clas|sCH = Ma|
|00002d80| 6b 65 4d 61 63 20 28 74 | 61 72 67 2c 20 49 44 5f |keMac (t|arg, ID_|
|00002d90| 43 4c 41 53 53 29 29 3b | 0a 58 09 09 09 09 09 69 |CLASS));|.X.....i|
|00002da0| 66 20 28 52 66 6f 72 6d | 61 74 29 20 7b 09 2f 2a |f (Rform|at) {./*|
|00002db0| 20 72 65 61 64 20 66 6f | 72 6d 61 74 20 2a 2f 0a | read fo|rmat */.|
|00002dc0| 58 09 09 09 09 09 09 70 | 72 69 6e 74 66 20 28 22 |X......p|rintf ("|
|00002dd0| 25 73 5c 6e 22 2c 20 64 | 65 66 73 74 72 31 29 3b |%s\n", d|efstr1);|
|00002de0| 0a 58 09 09 09 09 09 09 | 52 66 6f 72 6d 61 74 20 |.X......|Rformat |
|00002df0| 3d 20 46 41 4c 53 45 3b | 0a 58 09 09 09 09 09 7d |= FALSE;|.X.....}|
|00002e00| 20 65 6c 73 65 0a 58 09 | 09 09 09 09 09 50 72 69 | else.X.|.....Pri|
|00002e10| 6e 74 44 65 66 20 28 64 | 65 66 5f 63 6c 61 73 73 |ntDef (d|ef_class|
|00002e20| 2c 20 4d 61 63 53 63 61 | 6e 28 64 65 66 73 74 72 |, MacSca|n(defstr|
|00002e30| 31 29 29 3b 0a 58 09 09 | 09 09 09 69 66 20 28 49 |1));.X..|...if (I|
|00002e40| 53 43 4c 41 53 53 28 74 | 61 72 67 2d 3e 69 64 64 |SCLASS(t|arg->idd|
|00002e50| 29 29 0a 58 09 09 09 09 | 09 09 50 72 69 6e 74 57 |)).X....|..PrintW|
|00002e60| 61 72 6e 69 6e 67 20 28 | 22 41 70 70 65 6e 64 69 |arning (|"Appendi|
|00002e70| 6e 67 20 74 6f 20 70 72 | 65 76 69 6f 75 73 6c 79 |ng to pr|eviously|
|00002e80| 20 64 65 66 69 6e 65 64 | 20 63 6c 61 73 73 20 25 | defined| class %|
|00002e90| 73 2e 5c 6e 22 2c 20 74 | 61 72 67 2d 3e 70 73 62 |s.\n", t|arg->psb|
|00002ea0| 29 3b 0a 58 09 09 09 09 | 09 74 61 72 67 2d 3e 69 |);.X....|.targ->i|
|00002eb0| 64 64 20 7c 3d 20 49 44 | 5f 43 4c 41 53 53 3b 20 |dd |= ID|_CLASS; |
|00002ec0| 20 2f 2a 20 73 69 67 6e | 61 6c 20 64 65 66 69 6e | /* sign|al defin|
|00002ed0| 69 74 69 6f 6e 20 2a 2f | 0a 58 09 09 09 09 09 62 |ition */|.X.....b|
|00002ee0| 72 65 61 6b 3b 0a 58 0a | 58 09 09 63 61 73 65 20 |reak;.X.|X..case |
|00002ef0| 64 65 66 5f 6f 70 74 69 | 6f 6e 3a 09 69 66 20 28 |def_opti|on:.if (|
|00002f00| 64 65 66 73 74 72 31 20 | 3d 3d 20 4e 55 4c 4c 29 |defstr1 |== NULL)|
|00002f10| 0a 58 09 09 09 09 09 09 | 46 61 74 61 6c 45 72 72 |.X......|FatalErr|
|00002f20| 6f 72 20 28 22 4e 6f 20 | 6f 70 74 69 6f 6e 20 70 |or ("No |option p|
|00002f30| 61 73 73 65 64 20 69 6e | 20 45 6d 69 74 44 65 66 |assed in| EmitDef|
|00002f40| 28 29 22 2c 20 28 63 68 | 61 72 20 2a 29 4e 55 4c |()", (ch|ar *)NUL|
|00002f50| 4c 29 3b 0a 58 09 09 09 | 09 09 70 72 69 6e 74 66 |L);.X...|..printf|
|00002f60| 20 28 22 4f 25 63 22 2c | 20 2a 64 65 66 73 74 72 | ("O%c",| *defstr|
|00002f70| 31 29 3b 0a 58 09 09 09 | 09 09 50 72 69 6e 74 44 |1);.X...|..PrintD|
|00002f80| 65 66 20 28 64 65 66 5f | 6f 70 74 69 6f 6e 2c 20 |ef (def_|option, |
|00002f90| 64 65 66 73 74 72 32 29 | 3b 0a 58 09 09 09 09 09 |defstr2)|;.X.....|
|00002fa0| 62 72 65 61 6b 3b 0a 58 | 0a 58 09 09 63 61 73 65 |break;.X|.X..case|
|00002fb0| 20 64 65 66 5f 70 72 65 | 63 3a 09 09 70 72 69 6e | def_pre|c:..prin|
|00002fc0| 74 66 20 28 22 50 25 73 | 3d 25 64 5c 6e 22 2c 20 |tf ("P%s|=%d\n", |
|00002fd0| 74 61 72 67 2d 3e 70 73 | 62 2c 20 74 61 72 67 2d |targ->ps|b, targ-|
|00002fe0| 3e 69 64 76 61 6c 2e 70 | 72 65 63 29 3b 0a 58 09 |>idval.p|rec);.X.|
|00002ff0| 09 09 09 09 62 72 65 61 | 6b 3b 0a 58 0a 58 09 09 |....brea|k;.X.X..|
|00003000| 63 61 73 65 20 64 65 66 | 5f 74 72 75 73 74 65 64 |case def|_trusted|
|00003010| 3a 09 70 72 69 6e 74 66 | 20 28 22 54 22 29 3b 0a |:.printf| ("T");.|
|00003020| 58 09 09 09 09 09 50 72 | 69 6e 74 44 65 66 20 28 |X.....Pr|intDef (|
|00003030| 64 65 66 5f 74 72 75 73 | 74 65 64 2c 20 64 65 66 |def_trus|ted, def|
|00003040| 73 74 72 31 29 3b 0a 58 | 09 09 09 09 09 62 72 65 |str1);.X|.....bre|
|00003050| 61 6b 3b 0a 58 0a 58 09 | 09 63 61 73 65 20 64 65 |ak;.X.X.|.case de|
|00003060| 66 5f 68 65 61 64 65 72 | 3a 09 70 72 69 6e 74 66 |f_header|:.printf|
|00003070| 20 28 22 48 22 29 3b 0a | 58 09 09 09 09 09 69 66 | ("H");.|X.....if|
|00003080| 20 28 64 65 66 73 74 72 | 31 20 21 3d 20 4e 55 4c | (defstr|1 != NUL|
|00003090| 4c 29 0a 58 09 09 09 09 | 09 09 70 72 69 6e 74 66 |L).X....|..printf|
|000030a0| 20 28 22 3f 25 73 3f 22 | 2c 20 64 65 66 73 74 72 | ("?%s?"|, defstr|
|000030b0| 31 29 3b 0a 58 09 09 09 | 09 09 50 72 69 6e 74 44 |1);.X...|..PrintD|
|000030c0| 65 66 20 28 64 65 66 5f | 68 65 61 64 65 72 2c 20 |ef (def_|header, |
|000030d0| 64 65 66 73 74 72 32 29 | 3b 0a 58 09 09 09 09 09 |defstr2)|;.X.....|
|000030e0| 62 72 65 61 6b 3b 0a 58 | 0a 58 09 09 63 61 73 65 |break;.X|.X..case|
|000030f0| 20 64 65 66 5f 6d 61 69 | 6c 65 72 3a 09 69 66 20 | def_mai|ler:.if |
|00003100| 28 49 53 4d 41 49 4c 45 | 52 28 74 61 72 67 2d 3e |(ISMAILE|R(targ->|
|00003110| 69 64 74 79 70 65 29 29 | 20 7b 0a 58 09 09 09 09 |idtype))| {.X....|
|00003120| 09 09 69 66 20 28 49 53 | 4d 41 49 4c 45 52 28 74 |..if (IS|MAILER(t|
|00003130| 61 72 67 2d 3e 69 64 64 | 29 29 0a 58 09 09 09 09 |arg->idd|)).X....|
|00003140| 09 09 09 50 72 69 6e 74 | 57 61 72 6e 69 6e 67 20 |...Print|Warning |
|00003150| 28 22 52 65 64 65 66 69 | 6e 69 6e 67 20 6d 61 69 |("Redefi|ning mai|
|00003160| 6c 65 72 20 25 73 2e 5c | 6e 22 2c 20 74 61 72 67 |ler %s.\|n", targ|
|00003170| 2d 3e 70 73 62 29 3b 0a | 58 09 09 09 09 09 7d 20 |->psb);.|X.....} |
|00003180| 65 6c 73 65 20 69 66 20 | 28 49 53 54 59 50 45 44 |else if |(ISTYPED|
|00003190| 28 74 61 72 67 2d 3e 69 | 64 74 79 70 65 29 29 20 |(targ->i|dtype)) |
|000031a0| 7b 0a 58 09 09 09 09 09 | 09 50 72 69 6e 74 45 72 |{.X.....|.PrintEr|
|000031b0| 72 6f 72 20 28 22 52 65 | 64 65 63 6c 61 72 61 74 |ror ("Re|declarat|
|000031c0| 69 6f 6e 20 6f 66 20 69 | 64 65 6e 74 69 66 69 65 |ion of i|dentifie|
|000031d0| 72 20 61 73 20 6d 61 69 | 6c 65 72 3a 20 25 73 22 |r as mai|ler: %s"|
|000031e0| 2c 20 74 61 72 67 2d 3e | 70 73 62 29 3b 0a 58 09 |, targ->|psb);.X.|
|000031f0| 09 09 09 09 09 72 65 74 | 75 72 6e 3b 0a 58 09 09 |.....ret|urn;.X..|
|00003200| 09 09 09 7d 0a 58 09 09 | 09 09 09 74 61 72 67 2d |...}.X..|...targ-|
|00003210| 3e 69 64 64 20 7c 3d 20 | 49 44 5f 4d 41 49 4c 45 |>idd |= |ID_MAILE|
|00003220| 52 3b 20 20 2f 2a 20 73 | 69 67 6e 61 6c 20 64 65 |R; /* s|ignal de|
|00003230| 66 69 6e 69 74 69 6f 6e | 20 2a 2f 0a 58 09 09 09 |finition| */.X...|
|00003240| 09 09 70 72 69 6e 74 66 | 20 28 22 4d 25 73 2c 20 |..printf| ("M%s, |
|00003250| 22 2c 20 74 61 72 67 2d | 3e 70 73 62 29 3b 0a 58 |", targ-|>psb);.X|
|00003260| 09 09 09 09 09 50 72 69 | 6e 74 44 65 66 20 28 64 |.....Pri|ntDef (d|
|00003270| 65 66 5f 6d 61 69 6c 65 | 72 2c 20 64 65 66 73 74 |ef_maile|r, defst|
|00003280| 72 31 29 3b 0a 58 09 09 | 09 09 09 62 72 65 61 6b |r1);.X..|...break|
|00003290| 3b 0a 58 0a 58 09 09 63 | 61 73 65 20 64 65 66 5f |;.X.X..c|ase def_|
|000032a0| 72 75 6c 65 73 65 74 3a | 09 70 72 69 6e 74 66 20 |ruleset:|.printf |
|000032b0| 28 22 52 22 29 3b 0a 58 | 09 09 09 09 09 50 72 69 |("R");.X|.....Pri|
|000032c0| 6e 74 44 65 66 20 28 64 | 65 66 5f 72 75 6c 65 73 |ntDef (d|ef_rules|
|000032d0| 65 74 2c 20 64 65 66 73 | 74 72 31 29 3b 0a 58 09 |et, defs|tr1);.X.|
|000032e0| 09 09 09 09 62 72 65 61 | 6b 3b 0a 58 0a 58 09 09 |....brea|k;.X.X..|
|000032f0| 64 65 66 61 75 6c 74 3a | 09 09 46 61 74 61 6c 45 |default:|..FatalE|
|00003300| 72 72 6f 72 20 28 22 42 | 61 64 20 63 61 73 65 20 |rror ("B|ad case |
|00003310| 69 6e 20 45 6d 69 74 44 | 65 66 20 28 29 22 2c 20 |in EmitD|ef ()", |
|00003320| 28 63 68 61 72 20 2a 29 | 20 4e 55 4c 4c 29 3b 0a |(char *)| NULL);.|
|00003330| 58 09 7d 0a 58 7d 0a 58 | 0a 58 0a 58 2f 2a 0a 58 |X.}.X}.X|.X.X/*.X|
|00003340| 20 2a 20 20 09 50 72 69 | 6e 74 43 6f 6e 74 69 6e | * .Pri|ntContin|
|00003350| 75 65 64 20 28 29 20 2d | 2d 20 50 72 69 6e 74 20 |ued () -|- Print |
|00003360| 61 20 6c 69 6e 65 20 64 | 65 66 69 6e 69 74 69 6f |a line d|efinitio|
|00003370| 6e 20 28 62 75 66 29 20 | 62 79 20 73 70 6c 69 74 |n (buf) |by split|
|00003380| 74 69 6e 67 20 69 74 20 | 6f 76 65 72 0a 58 20 2a |ting it |over.X *|
|00003390| 09 09 09 20 20 20 20 20 | 6d 6f 72 65 20 74 68 61 |... |more tha|
|000033a0| 6e 20 6f 6e 65 20 6c 69 | 6e 65 2e 20 20 54 68 65 |n one li|ne. The|
|000033b0| 20 74 77 6f 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 | two def|inition |
|000033c0| 74 79 70 65 73 20 0a 58 | 20 2a 09 09 09 20 20 20 |types .X| *... |
|000033d0| 20 20 61 63 63 65 70 74 | 65 64 20 66 6f 72 20 74 | accept|ed for t|
|000033e0| 68 69 73 20 6d 65 74 68 | 6f 64 20 6f 66 20 63 6f |his meth|od of co|
|000033f0| 6e 74 69 6e 75 61 74 69 | 6f 6e 20 61 72 65 20 63 |ntinuati|on are c|
|00003400| 6c 61 73 73 0a 58 20 2a | 09 09 09 20 20 20 20 20 |lass.X *|... |
|00003410| 61 6e 64 20 74 72 75 73 | 74 65 64 20 75 73 65 72 |and trus|ted user|
|00003420| 20 6c 69 73 74 73 2c 20 | 69 6e 64 69 63 61 74 65 | lists, |indicate|
|00003430| 64 20 69 6e 20 74 68 65 | 20 61 72 67 75 6d 65 6e |d in the| argumen|
|00003440| 74 20 0a 58 20 2a 09 09 | 09 20 20 20 20 20 62 74 |t .X *..|. bt|
|00003450| 79 70 65 20 0a 58 20 2a | 0a 58 20 2a 2f 0a 76 6f |ype .X *|.X */.vo|
|00003460| 69 64 0a 50 72 69 6e 74 | 43 6f 6e 74 69 6e 75 65 |id.Print|Continue|
|00003470| 64 20 28 62 74 79 70 65 | 2c 20 62 75 66 29 0a 65 |d (btype|, buf).e|
|00003480| 6e 75 6d 20 62 64 65 66 | 73 20 20 20 20 20 62 74 |num bdef|s bt|
|00003490| 79 70 65 3b 09 2f 2a 20 | 62 6c 6f 63 6b 20 28 6c |ype;./* |block (l|
|000034a0| 69 6e 65 29 20 74 79 70 | 65 20 66 6f 72 20 64 65 |ine) typ|e for de|
|000034b0| 66 69 6e 69 74 69 6f 6e | 20 2a 2f 0a 72 65 67 69 |finition| */.regi|
|000034c0| 73 74 65 72 20 63 68 61 | 72 20 2a 62 75 66 3b 09 |ster cha|r *buf;.|
|000034d0| 2f 2a 20 62 75 66 66 65 | 72 20 63 6f 6e 74 61 69 |/* buffe|r contai|
|000034e0| 6e 69 6e 67 20 74 68 65 | 20 64 65 66 69 6e 69 74 |ning the| definit|
|000034f0| 69 6f 6e 20 2a 2f 0a 58 | 7b 0a 58 09 72 65 67 69 |ion */.X|{.X.regi|
|00003500| 73 74 65 72 20 63 68 61 | 72 20 2a 74 6d 70 3b 09 |ster cha|r *tmp;.|
|00003510| 2f 2a 20 62 72 65 61 6b | 70 6f 69 6e 74 20 73 65 |/* break|point se|
|00003520| 61 72 63 68 20 70 6f 69 | 6e 74 65 72 20 20 20 2a |arch poi|nter *|
|00003530| 2f 0a 58 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |/.X.regi|ster cha|
|00003540| 72 20 20 74 63 3b 09 2f | 2a 20 74 65 6d 70 6f 72 |r tc;./|* tempor|
|00003550| 61 72 79 20 73 77 61 70 | 20 62 79 74 65 20 20 20 |ary swap| byte |
|00003560| 20 20 20 20 20 20 2a 2f | 0a 58 09 69 6e 74 20 20 | */|.X.int |
|00003570| 62 75 66 6c 65 6e 3b 09 | 09 2f 2a 20 6c 65 6e 67 |buflen;.|./* leng|
|00003580| 74 68 20 6f 66 20 64 65 | 66 69 6e 69 74 69 6f 6e |th of de|finition|
|00003590| 20 62 75 66 66 65 72 20 | 2a 2f 09 0a 58 0a 58 09 | buffer |*/..X.X.|
|000035a0| 62 75 66 6c 65 6e 20 3d | 20 73 74 72 6c 65 6e 20 |buflen =| strlen |
|000035b0| 28 62 75 66 29 3b 0a 58 | 09 74 6d 70 20 3d 20 62 |(buf);.X|.tmp = b|
|000035c0| 75 66 20 2b 20 52 45 47 | 4c 49 4e 45 3b 0a 58 09 |uf + REG|LINE;.X.|
|000035d0| 77 68 69 6c 65 20 28 28 | 2a 2d 2d 74 6d 70 20 21 |while ((|*--tmp !|
|000035e0| 3d 20 27 20 27 29 20 26 | 26 20 28 74 6d 70 20 21 |= ' ') &|& (tmp !|
|000035f0| 3d 20 62 75 66 29 29 09 | 20 2f 2a 20 6c 6f 6f 6b |= buf)).| /* look|
|00003600| 20 66 6f 72 20 73 75 69 | 74 61 62 6c 65 20 62 72 | for sui|table br|
|00003610| 65 61 6b 20 2a 2f 0a 58 | 09 09 2f 2a 20 6e 75 6c |eak */.X|../* nul|
|00003620| 6c 20 2a 2f 20 3b 0a 58 | 09 69 66 20 28 74 6d 70 |l */ ;.X|.if (tmp|
|00003630| 20 3d 3d 20 62 75 66 29 | 20 7b 0a 58 09 09 66 6f | == buf)| {.X..fo|
|00003640| 72 20 28 74 6d 70 20 3d | 20 62 75 66 20 2b 20 52 |r (tmp =| buf + R|
|00003650| 45 47 4c 49 4e 45 3b 20 | 28 2a 74 6d 70 20 21 3d |EGLINE; |(*tmp !=|
|00003660| 20 27 20 27 29 20 26 26 | 20 28 74 6d 70 20 2d 20 | ' ') &&| (tmp - |
|00003670| 62 75 66 20 21 3d 20 62 | 75 66 6c 65 6e 29 3b 20 |buf != b|uflen); |
|00003680| 74 6d 70 2b 2b 29 0a 58 | 09 09 09 2f 2a 20 6e 75 |tmp++).X|.../* nu|
|00003690| 6c 6c 20 2a 2f 20 3b 0a | 58 09 09 69 66 20 28 28 |ll */ ;.|X..if ((|
|000036a0| 74 6d 70 20 2d 20 62 75 | 66 29 20 3e 3d 20 4d 41 |tmp - bu|f) >= MA|
|000036b0| 58 4c 49 4e 45 29 0a 58 | 09 09 09 50 72 69 6e 74 |XLINE).X|...Print|
|000036c0| 57 61 72 6e 69 6e 67 20 | 28 22 4d 65 6d 62 65 72 |Warning |("Member|
|000036d0| 20 6e 61 6d 65 20 6d 61 | 79 20 62 65 20 74 6f 6f | name ma|y be too|
|000036e0| 20 6c 6f 6e 67 2e 5c 6e | 22 2c 20 28 63 68 61 72 | long.\n|", (char|
|000036f0| 20 2a 29 20 4e 55 4c 4c | 29 3b 0a 58 09 7d 0a 58 | *) NULL|);.X.}.X|
|00003700| 09 74 63 20 3d 20 2a 74 | 6d 70 3b 09 09 2f 2a 20 |.tc = *t|mp;../* |
|00003710| 73 77 61 70 20 62 72 65 | 61 6b 20 63 68 61 72 20 |swap bre|ak char |
|00003720| 77 69 74 68 20 6e 75 6c | 6c 20 63 68 61 72 20 2a |with nul|l char *|
|00003730| 2f 0a 58 09 2a 74 6d 70 | 20 3d 20 27 5c 30 27 3b |/.X.*tmp| = '\0';|
|00003740| 0a 58 09 70 72 69 6e 74 | 66 20 28 22 25 73 5c 6e |.X.print|f ("%s\n|
|00003750| 22 2c 20 62 75 66 29 3b | 0a 58 09 69 66 20 28 28 |", buf);|.X.if ((|
|00003760| 2a 74 6d 70 20 3d 20 74 | 63 29 20 3d 3d 20 27 5c |*tmp = t|c) == '\|
|00003770| 30 27 29 0a 58 09 09 72 | 65 74 75 72 6e 3b 0a 58 |0').X..r|eturn;.X|
|00003780| 09 65 6c 73 65 0a 58 09 | 09 74 6d 70 2b 2b 3b 0a |.else.X.|.tmp++;.|
|00003790| 58 09 69 66 20 28 62 74 | 79 70 65 20 3d 3d 20 64 |X.if (bt|ype == d|
|000037a0| 65 66 5f 63 6c 61 73 73 | 29 09 09 2f 2a 20 73 74 |ef_class|)../* st|
|000037b0| 61 72 74 20 6e 65 78 74 | 20 6c 69 6e 65 20 20 20 |art next| line |
|000037c0| 2a 2f 0a 58 09 09 70 72 | 69 6e 74 66 20 28 22 43 |*/.X..pr|intf ("C|
|000037d0| 25 63 22 2c 20 43 6c 61 | 73 73 43 48 29 3b 0a 58 |%c", Cla|ssCH);.X|
|000037e0| 09 65 6c 73 65 0a 58 09 | 09 70 72 69 6e 74 66 20 |.else.X.|.printf |
|000037f0| 28 22 54 22 29 3b 0a 58 | 09 69 66 20 28 73 74 72 |("T");.X|.if (str|
|00003800| 6c 65 6e 20 28 74 6d 70 | 29 20 3c 20 52 45 47 4c |len (tmp|) < REGL|
|00003810| 49 4e 45 29 09 2f 2a 20 | 63 6f 6e 74 69 6e 75 65 |INE)./* |continue|
|00003820| 20 74 68 65 20 6c 69 6e | 65 20 2a 2f 0a 58 09 09 | the lin|e */.X..|
|00003830| 70 72 69 6e 74 66 20 28 | 22 25 73 5c 6e 22 2c 20 |printf (|"%s\n", |
|00003840| 74 6d 70 29 3b 0a 58 09 | 65 6c 73 65 0a 58 09 09 |tmp);.X.|else.X..|
|00003850| 50 72 69 6e 74 43 6f 6e | 74 69 6e 75 65 64 20 28 |PrintCon|tinued (|
|00003860| 62 74 79 70 65 2c 20 74 | 6d 70 29 3b 0a 58 7d 0a |btype, t|mp);.X}.|
|00003870| 58 0a 58 0a 58 2f 2a 0a | 58 20 2a 09 50 72 69 6e |X.X.X/*.|X *.Prin|
|00003880| 74 44 65 66 20 28 29 20 | 2d 2d 20 48 61 6e 64 6c |tDef () |-- Handl|
|00003890| 65 73 20 73 70 65 63 69 | 61 6c 20 63 61 73 65 73 |es speci|al cases|
|000038a0| 20 28 6c 69 6b 65 20 6c | 69 6e 65 20 63 6f 6e 74 | (like l|ine cont|
|000038b0| 69 6e 75 61 74 69 6f 6e | 29 20 77 68 65 6e 20 0a |inuation|) when .|
|000038c0| 58 20 2a 09 09 20 20 20 | 20 20 20 20 70 72 69 6e |X *.. | prin|
|000038d0| 74 69 6e 67 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 |ting def|initions|
|000038e0| 2e 0a 58 20 2a 0a 58 20 | 2a 2f 0a 76 6f 69 64 0a |..X *.X |*/.void.|
|000038f0| 50 72 69 6e 74 44 65 66 | 20 28 62 74 79 70 65 2c |PrintDef| (btype,|
|00003900| 20 64 73 74 72 29 0a 72 | 65 67 69 73 74 65 72 20 | dstr).r|egister |
|00003910| 65 6e 75 6d 20 62 64 65 | 66 73 20 62 74 79 70 65 |enum bde|fs btype|
|00003920| 3b 09 2f 2a 20 62 6c 6f | 63 6b 20 74 79 70 65 20 |;./* blo|ck type |
|00003930| 28 6f 75 74 70 75 74 20 | 6c 69 6e 65 20 74 79 70 |(output |line typ|
|00003940| 65 29 20 2a 2f 0a 72 65 | 67 69 73 74 65 72 20 63 |e) */.re|gister c|
|00003950| 68 61 72 20 2a 64 73 74 | 72 3b 09 09 2f 2a 20 64 |har *dst|r;../* d|
|00003960| 65 66 69 6e 69 74 69 6f | 6e 20 73 74 72 69 6e 67 |efinitio|n string|
|00003970| 09 09 20 2a 2f 0a 58 7b | 0a 58 09 72 65 67 69 73 |.. */.X{|.X.regis|
|00003980| 74 65 72 20 63 68 61 72 | 20 2a 74 6d 70 3b 0a 58 |ter char| *tmp;.X|
|00003990| 0a 58 09 69 66 20 28 64 | 73 74 72 20 3d 3d 20 28 |.X.if (d|str == (|
|000039a0| 63 68 61 72 20 2a 29 4e | 55 4c 4c 29 0a 58 09 09 |char *)N|ULL).X..|
|000039b0| 64 73 74 72 20 3d 20 22 | 22 3b 0a 58 0a 58 09 66 |dstr = "|";.X.X.f|
|000039c0| 6f 72 20 28 74 6d 70 20 | 3d 20 64 73 74 72 3b 20 |or (tmp |= dstr; |
|000039d0| 2a 74 6d 70 20 21 3d 20 | 27 5c 30 27 3b 20 74 6d |*tmp != |'\0'; tm|
|000039e0| 70 2b 2b 29 20 09 2f 2a | 20 73 65 61 72 63 68 20 |p++) ./*| search |
|000039f0| 66 6f 72 20 6c 69 6e 65 | 20 63 6f 6e 74 69 6e 75 |for line| continu|
|00003a00| 61 74 69 6f 6e 73 20 2a | 2f 0a 58 09 09 69 66 20 |ations *|/.X..if |
|00003a10| 28 28 2a 74 6d 70 20 3d | 3d 20 27 5c 5c 27 29 20 |((*tmp =|= '\\') |
|00003a20| 26 26 20 28 2a 2b 2b 74 | 6d 70 20 3d 3d 20 27 5c |&& (*++t|mp == '\|
|00003a30| 6e 27 29 29 0a 58 09 09 | 09 69 66 20 28 62 74 79 |n')).X..|.if (bty|
|00003a40| 70 65 20 21 3d 20 64 65 | 66 5f 68 65 61 64 65 72 |pe != de|f_header|
|00003a50| 29 20 7b 0a 58 09 09 09 | 09 45 72 72 6f 72 52 65 |) {.X...|.ErrorRe|
|00003a60| 70 6f 72 74 20 28 22 4e | 6f 6e 2d 68 65 61 64 65 |port ("N|on-heade|
|00003a70| 72 20 73 74 72 69 6e 67 | 20 63 6f 6e 74 61 69 6e |r string| contain|
|00003a80| 73 20 6c 69 6e 65 20 63 | 6f 6e 74 69 6e 75 61 74 |s line c|ontinuat|
|00003a90| 69 6f 6e 5c 6e 22 29 3b | 0a 58 09 09 09 09 72 65 |ion\n");|.X....re|
|00003aa0| 74 75 72 6e 3b 0a 58 09 | 09 09 7d 20 65 6c 73 65 |turn;.X.|..} else|
|00003ab0| 0a 58 09 09 09 09 62 72 | 65 61 6b 3b 0a 58 0a 58 |.X....br|eak;.X.X|
|00003ac0| 09 2f 2a 0a 58 09 20 2a | 20 20 50 65 72 66 6f 72 |./*.X. *| Perfor|
|00003ad0| 6d 20 63 61 73 65 20 62 | 79 20 63 61 73 65 20 68 |m case b|y case h|
|00003ae0| 61 6e 64 6c 69 6e 67 20 | 6f 66 20 64 65 66 69 6e |andling |of defin|
|00003af0| 69 74 69 6f 6e 20 70 72 | 69 6e 74 69 6e 67 2e 0a |ition pr|inting..|
|00003b00| 58 09 20 2a 0a 58 09 20 | 2a 2f 0a 58 09 73 77 69 |X. *.X. |*/.X.swi|
|00003b10| 74 63 68 20 28 62 74 79 | 70 65 29 20 7b 0a 58 09 |tch (bty|pe) {.X.|
|00003b20| 09 63 61 73 65 20 64 65 | 66 5f 68 65 61 64 65 72 |.case de|f_header|
|00003b30| 20 3a 20 20 69 66 20 28 | 2a 74 6d 70 2d 2d 20 3d | : if (|*tmp-- =|
|00003b40| 3d 20 27 5c 6e 27 29 20 | 7b 0a 58 09 09 09 09 09 |= '\n') |{.X.....|
|00003b50| 2a 74 6d 70 20 3d 20 27 | 5c 30 27 3b 0a 58 09 09 |*tmp = '|\0';.X..|
|00003b60| 09 09 09 69 66 20 28 74 | 6d 70 20 2d 20 64 73 74 |...if (t|mp - dst|
|00003b70| 72 20 3e 3d 20 4d 41 58 | 4c 49 4e 45 29 0a 58 09 |r >= MAX|LINE).X.|
|00003b80| 09 09 09 09 09 50 72 69 | 6e 74 57 61 72 6e 69 6e |.....Pri|ntWarnin|
|00003b90| 67 20 28 22 48 65 61 64 | 65 72 20 6d 61 79 20 62 |g ("Head|er may b|
|00003ba0| 65 20 74 6f 6f 20 6c 6f | 6e 67 2e 5c 6e 22 2c 20 |e too lo|ng.\n", |
|00003bb0| 0a 58 09 09 09 09 09 09 | 09 20 20 20 20 20 20 28 |.X......|. (|
|00003bc0| 63 68 61 72 20 2a 29 20 | 4e 55 4c 4c 29 3b 0a 58 |char *) |NULL);.X|
|00003bd0| 09 09 09 09 09 70 72 69 | 6e 74 66 20 28 22 25 73 |.....pri|ntf ("%s|
|00003be0| 5c 6e 5c 74 22 2c 20 64 | 73 74 72 29 3b 0a 58 09 |\n\t", d|str);.X.|
|00003bf0| 09 09 09 09 74 6d 70 20 | 2b 3d 20 32 3b 0a 58 09 |....tmp |+= 2;.X.|
|00003c00| 09 09 09 20 20 20 20 20 | 20 20 20 50 72 69 6e 74 |... | Print|
|00003c10| 44 65 66 20 28 64 65 66 | 5f 68 65 61 64 65 72 2c |Def (def|_header,|
|00003c20| 20 74 6d 70 29 3b 0a 58 | 09 09 09 09 20 20 20 7d | tmp);.X|.... }|
|00003c30| 20 65 6c 73 65 20 7b 0a | 58 09 09 09 09 09 69 66 | else {.|X.....if|
|00003c40| 20 28 73 74 72 6c 65 6e | 20 28 64 73 74 72 29 20 | (strlen| (dstr) |
|00003c50| 3e 3d 20 4d 41 58 4c 49 | 4e 45 29 0a 58 09 09 09 |>= MAXLI|NE).X...|
|00003c60| 09 09 09 50 72 69 6e 74 | 57 61 72 6e 69 6e 67 20 |...Print|Warning |
|00003c70| 28 22 48 65 61 64 65 72 | 20 6d 61 79 20 62 65 20 |("Header| may be |
|00003c80| 74 6f 6f 20 6c 6f 6e 67 | 2e 5c 6e 22 2c 20 0a 58 |too long|.\n", .X|
|00003c90| 09 09 09 09 09 09 09 20 | 20 20 20 20 20 28 63 68 |....... | (ch|
|00003ca0| 61 72 20 2a 29 20 4e 55 | 4c 4c 29 3b 0a 58 09 09 |ar *) NU|LL);.X..|
|00003cb0| 09 09 09 70 72 69 6e 74 | 66 20 28 22 25 73 5c 6e |...print|f ("%s\n|
|00003cc0| 22 2c 20 64 73 74 72 29 | 3b 0a 58 09 09 09 09 20 |", dstr)|;.X.... |
|00003cd0| 20 20 7d 0a 58 09 09 09 | 09 20 20 20 62 72 65 61 | }.X...|. brea|
|00003ce0| 6b 3b 0a 58 0a 58 09 09 | 63 61 73 65 20 64 65 66 |k;.X.X..|case def|
|00003cf0| 5f 6d 61 69 6c 65 72 20 | 3a 20 20 69 66 20 28 73 |_mailer |: if (s|
|00003d00| 74 72 6c 65 6e 20 28 64 | 73 74 72 29 20 3e 3d 20 |trlen (d|str) >= |
|00003d10| 4d 41 58 4c 49 4e 45 29 | 0a 58 09 09 09 09 09 50 |MAXLINE)|.X.....P|
|00003d20| 72 69 6e 74 57 61 72 6e | 69 6e 67 20 28 22 4d 61 |rintWarn|ing ("Ma|
|00003d30| 69 6c 65 72 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 |iler def|inition |
|00003d40| 6d 61 79 20 62 65 20 74 | 6f 6f 20 6c 6f 6e 67 2e |may be t|oo long.|
|00003d50| 5c 6e 22 2c 20 0a 58 09 | 09 09 09 09 09 20 20 20 |\n", .X.|..... |
|00003d60| 20 20 20 28 63 68 61 72 | 20 2a 29 20 4e 55 4c 4c | (char| *) NULL|
|00003d70| 29 3b 0a 58 09 09 09 09 | 20 20 20 70 72 69 6e 74 |);.X....| print|
|00003d80| 66 20 28 22 25 73 5c 6e | 22 2c 20 64 73 74 72 29 |f ("%s\n|", dstr)|
|00003d90| 3b 0a 58 09 09 09 09 20 | 20 20 62 72 65 61 6b 3b |;.X.... | break;|
|00003da0| 0a 58 0a 58 09 09 63 61 | 73 65 20 64 65 66 5f 72 |.X.X..ca|se def_r|
|00003db0| 75 6c 65 73 65 74 3a 20 | 20 69 66 20 28 73 74 72 |uleset: | if (str|
|00003dc0| 6c 65 6e 20 28 64 73 74 | 72 29 20 3e 3d 20 4d 41 |len (dst|r) >= MA|
|00003dd0| 58 4c 49 4e 45 29 0a 58 | 09 09 09 09 09 50 72 69 |XLINE).X|.....Pri|
|00003de0| 6e 74 57 61 72 6e 69 6e | 67 20 28 22 52 65 77 72 |ntWarnin|g ("Rewr|
|00003df0| 69 74 69 6e 67 20 72 75 | 6c 65 20 6d 61 79 20 62 |iting ru|le may b|
|00003e00| 65 20 74 6f 6f 20 6c 6f | 6e 67 2e 5c 6e 22 2c 20 |e too lo|ng.\n", |
|00003e10| 0a 58 09 09 09 09 09 09 | 20 20 20 20 20 20 28 63 |.X......| (c|
|00003e20| 68 61 72 20 2a 29 20 4e | 55 4c 4c 29 3b 0a 58 09 |har *) N|ULL);.X.|
|00003e30| 09 09 09 20 20 20 70 72 | 69 6e 74 66 20 28 22 25 |... pr|intf ("%|
|00003e40| 73 5c 6e 22 2c 20 64 73 | 74 72 29 3b 0a 58 09 09 |s\n", ds|tr);.X..|
|00003e50| 09 09 20 20 20 62 72 65 | 61 6b 3b 0a 58 0a 58 09 |.. bre|ak;.X.X.|
|00003e60| 09 63 61 73 65 20 64 65 | 66 5f 6f 70 74 69 6f 6e |.case de|f_option|
|00003e70| 20 3a 20 20 69 66 20 28 | 73 74 72 6c 65 6e 20 28 | : if (|strlen (|
|00003e80| 64 73 74 72 29 20 3e 3d | 20 4d 41 58 4c 49 4e 45 |dstr) >=| MAXLINE|
|00003e90| 29 0a 58 09 09 09 09 09 | 50 72 69 6e 74 57 61 72 |).X.....|PrintWar|
|00003ea0| 6e 69 6e 67 20 28 22 4f | 70 74 69 6f 6e 20 61 73 |ning ("O|ption as|
|00003eb0| 73 69 67 6e 6d 65 6e 74 | 20 6d 61 79 20 62 65 20 |signment| may be |
|00003ec0| 74 6f 6f 20 6c 6f 6e 67 | 2e 5c 6e 22 2c 20 0a 58 |too long|.\n", .X|
|00003ed0| 09 09 09 09 09 09 20 20 | 20 20 20 20 28 63 68 61 |...... | (cha|
|00003ee0| 72 20 2a 29 20 4e 55 4c | 4c 29 3b 0a 58 09 09 09 |r *) NUL|L);.X...|
|00003ef0| 09 20 20 20 70 72 69 6e | 74 66 20 28 22 25 73 5c |. prin|tf ("%s\|
|00003f00| 6e 22 2c 20 64 73 74 72 | 29 3b 0a 58 09 09 09 09 |n", dstr|);.X....|
|00003f10| 20 20 20 62 72 65 61 6b | 3b 0a 58 0a 58 09 09 63 | break|;.X.X..c|
|00003f20| 61 73 65 20 64 65 66 5f | 6d 61 63 72 6f 20 20 3a |ase def_|macro :|
|00003f30| 20 20 69 66 20 28 73 74 | 72 6c 65 6e 20 28 64 73 | if (st|rlen (ds|
|00003f40| 74 72 29 20 3e 3d 20 4d | 41 58 4c 49 4e 45 29 0a |tr) >= M|AXLINE).|
|00003f50| 58 09 09 09 09 09 50 72 | 69 6e 74 57 61 72 6e 69 |X.....Pr|intWarni|
|00003f60| 6e 67 20 28 22 4d 61 63 | 72 6f 20 61 73 73 69 67 |ng ("Mac|ro assig|
|00003f70| 6e 6d 65 6e 74 20 6d 61 | 79 20 62 65 20 74 6f 6f |nment ma|y be too|
|00003f80| 20 6c 6f 6e 67 2e 5c 6e | 22 2c 20 0a 58 09 09 09 | long.\n|", .X...|
|00003f90| 09 09 09 20 20 20 20 20 | 20 28 63 68 61 72 20 2a |... | (char *|
|00003fa0| 29 20 4e 55 4c 4c 29 3b | 0a 58 09 09 09 09 20 20 |) NULL);|.X.... |
|00003fb0| 20 70 72 69 6e 74 66 20 | 28 22 25 73 5c 6e 22 2c | printf |("%s\n",|
|00003fc0| 20 64 73 74 72 29 3b 0a | 58 09 09 09 09 20 20 20 | dstr);.|X.... |
|00003fd0| 62 72 65 61 6b 3b 0a 58 | 0a 58 09 09 63 61 73 65 |break;.X|.X..case|
|00003fe0| 20 64 65 66 5f 70 72 65 | 63 20 20 20 3a 20 20 69 | def_pre|c : i|
|00003ff0| 66 20 28 73 74 72 6c 65 | 6e 20 28 64 73 74 72 29 |f (strle|n (dstr)|
|00004000| 20 3e 3d 20 4d 41 58 4c | 49 4e 45 29 0a 58 09 09 | >= MAXL|INE).X..|
|00004010| 09 09 09 50 72 69 6e 74 | 57 61 72 6e 69 6e 67 20 |...Print|Warning |
|00004020| 28 22 50 72 65 63 65 64 | 65 6e 63 65 20 72 65 6c |("Preced|ence rel|
|00004030| 61 74 69 6f 6e 20 6d 61 | 79 20 62 65 20 74 6f 6f |ation ma|y be too|
|00004040| 20 6c 6f 6e 67 2e 5c 6e | 22 2c 20 0a 58 09 09 09 | long.\n|", .X...|
|00004050| 09 09 09 20 20 20 20 20 | 20 28 63 68 61 72 20 2a |... | (char *|
|00004060| 29 20 4e 55 4c 4c 29 3b | 0a 58 09 09 09 09 20 20 |) NULL);|.X.... |
|00004070| 20 70 72 69 6e 74 66 20 | 28 22 25 73 5c 6e 22 2c | printf |("%s\n",|
|00004080| 20 64 73 74 72 29 3b 0a | 58 09 09 09 09 20 20 20 | dstr);.|X.... |
|00004090| 62 72 65 61 6b 3b 0a 58 | 0a 58 09 09 63 61 73 65 |break;.X|.X..case|
|000040a0| 20 64 65 66 5f 74 72 75 | 73 74 65 64 3a 0a 58 09 | def_tru|sted:.X.|
|000040b0| 09 63 61 73 65 20 64 65 | 66 5f 63 6c 61 73 73 20 |.case de|f_class |
|000040c0| 20 3a 20 20 69 66 20 28 | 73 74 72 6c 65 6e 20 28 | : if (|strlen (|
|000040d0| 64 73 74 72 29 20 3c 20 | 52 45 47 4c 49 4e 45 29 |dstr) < |REGLINE)|
|000040e0| 0a 58 09 09 09 09 09 70 | 72 69 6e 74 66 20 28 22 |.X.....p|rintf ("|
|000040f0| 25 73 5c 6e 22 2c 20 64 | 73 74 72 29 3b 0a 58 09 |%s\n", d|str);.X.|
|00004100| 09 09 09 20 20 20 65 6c | 73 65 09 09 2f 2a 20 75 |... el|se../* u|
|00004110| 73 65 20 6c 69 6e 65 20 | 63 6f 6e 74 69 6e 75 61 |se line |continua|
|00004120| 74 69 6f 6e 20 66 65 61 | 74 75 72 65 20 2a 2f 0a |tion fea|ture */.|
|00004130| 58 09 09 09 09 20 20 20 | 09 50 72 69 6e 74 43 6f |X.... |.PrintCo|
|00004140| 6e 74 69 6e 75 65 64 20 | 28 62 74 79 70 65 2c 20 |ntinued |(btype, |
|00004150| 64 73 74 72 29 3b 0a 58 | 09 09 09 09 20 20 20 62 |dstr);.X|.... b|
|00004160| 72 65 61 6b 3b 0a 58 0a | 58 09 09 64 65 66 61 75 |reak;.X.|X..defau|
|00004170| 6c 74 20 20 20 20 20 20 | 20 20 20 3a 20 20 46 61 |lt | : Fa|
|00004180| 74 61 6c 45 72 72 6f 72 | 20 28 22 49 6e 76 61 6c |talError| ("Inval|
|00004190| 69 64 20 63 61 73 65 20 | 69 6e 20 50 72 69 6e 74 |id case |in Print|
|000041a0| 44 65 66 20 28 29 22 2c | 20 28 63 68 61 72 20 2a |Def ()",| (char *|
|000041b0| 29 20 4e 55 4c 4c 29 3b | 0a 58 09 7d 0a 58 7d 0a |) NULL);|.X.}.X}.|
|000041c0| 58 0a 58 0a 58 2f 2a 0a | 58 20 2a 09 53 74 61 72 |X.X.X/*.|X *.Star|
|000041d0| 74 52 75 6c 65 73 65 74 | 20 28 29 20 2d 2d 20 50 |tRuleset| () -- P|
|000041e0| 72 69 6e 74 73 20 61 20 | 72 75 6c 65 73 65 74 20 |rints a |ruleset |
|000041f0| 68 65 61 64 69 6e 67 20 | 66 6f 72 20 74 68 65 20 |heading |for the |
|00004200| 72 75 6c 65 73 65 74 20 | 69 64 65 6e 74 69 66 69 |ruleset |identifi|
|00004210| 65 72 0a 58 20 2a 09 09 | 20 20 20 20 20 20 20 20 |er.X *..| |
|00004220| 20 20 20 63 6f 6e 74 61 | 69 6e 65 64 20 69 6e 20 | conta|ined in |
|00004230| 74 68 65 20 61 72 67 75 | 6d 65 6e 74 20 72 73 69 |the argu|ment rsi|
|00004240| 64 2e 0a 58 20 2a 0a 58 | 20 2a 2f 0a 76 6f 69 64 |d..X *.X| */.void|
|00004250| 0a 53 74 61 72 74 52 75 | 6c 65 73 65 74 20 28 72 |.StartRu|leset (r|
|00004260| 73 69 64 29 0a 72 65 67 | 69 73 74 65 72 20 73 74 |sid).reg|ister st|
|00004270| 72 75 63 74 20 68 65 20 | 2a 72 73 69 64 3b 09 2f |ruct he |*rsid;./|
|00004280| 2a 20 72 75 6c 65 73 65 | 74 20 69 64 65 6e 74 69 |* rulese|t identi|
|00004290| 66 69 65 72 20 2a 2f 0a | 58 7b 0a 58 09 69 66 20 |fier */.|X{.X.if |
|000042a0| 28 21 49 53 52 55 4c 45 | 53 45 54 28 72 73 69 64 |(!ISRULE|SET(rsid|
|000042b0| 2d 3e 69 64 74 79 70 65 | 29 29 0a 58 09 09 69 66 |->idtype|)).X..if|
|000042c0| 20 28 49 53 54 59 50 45 | 44 28 72 73 69 64 2d 3e | (ISTYPE|D(rsid->|
|000042d0| 69 64 74 79 70 65 29 29 | 0a 58 09 09 09 50 72 69 |idtype))|.X...Pri|
|000042e0| 6e 74 45 72 72 6f 72 20 | 28 22 49 64 65 6e 74 69 |ntError |("Identi|
|000042f0| 66 69 65 72 20 6e 6f 74 | 20 6f 66 20 72 75 6c 65 |fier not| of rule|
|00004300| 73 65 74 20 74 79 70 65 | 3a 20 25 73 22 2c 20 72 |set type|: %s", r|
|00004310| 73 69 64 2d 3e 70 73 62 | 29 3b 0a 58 09 09 65 6c |sid->psb|);.X..el|
|00004320| 73 65 0a 58 09 09 09 50 | 72 69 6e 74 45 72 72 6f |se.X...P|rintErro|
|00004330| 72 20 28 22 52 75 6c 65 | 73 65 74 20 69 64 65 6e |r ("Rule|set iden|
|00004340| 74 69 66 69 65 72 20 6e | 6f 74 20 62 6f 75 6e 64 |tifier n|ot bound|
|00004350| 20 74 6f 20 61 20 6e 75 | 6d 62 65 72 3a 20 25 73 | to a nu|mber: %s|
|00004360| 22 2c 20 72 73 69 64 2d | 3e 70 73 62 29 3b 0a 58 |", rsid-|>psb);.X|
|00004370| 09 65 6c 73 65 20 7b 0a | 58 09 09 69 66 20 28 49 |.else {.|X..if (I|
|00004380| 53 52 55 4c 45 53 45 54 | 28 72 73 69 64 2d 3e 69 |SRULESET|(rsid->i|
|00004390| 64 64 29 29 0a 58 09 09 | 09 50 72 69 6e 74 57 61 |dd)).X..|.PrintWa|
|000043a0| 72 6e 69 6e 67 20 28 22 | 52 65 64 65 66 69 6e 69 |rning ("|Redefini|
|000043b0| 6e 67 20 72 75 6c 65 73 | 65 74 20 25 73 2e 5c 6e |ng rules|et %s.\n|
|000043c0| 22 2c 20 72 73 69 64 2d | 3e 70 73 62 29 3b 0a 58 |", rsid-|>psb);.X|
|000043d0| 09 09 72 73 69 64 2d 3e | 69 64 64 20 7c 3d 20 49 |..rsid->|idd |= I|
|000043e0| 44 5f 52 55 4c 45 53 45 | 54 3b 0a 58 09 09 70 72 |D_RULESE|T;.X..pr|
|000043f0| 69 6e 74 66 20 28 22 53 | 25 73 5c 6e 22 2c 20 72 |intf ("S|%s\n", r|
|00004400| 73 69 64 2d 3e 69 64 76 | 61 6c 2e 72 73 6e 29 3b |sid->idv|al.rsn);|
|00004410| 0a 58 09 7d 0a 58 7d 0a | 45 4e 44 5f 4f 46 5f 46 |.X.}.X}.|END_OF_F|
|00004420| 49 4c 45 0a 69 66 20 74 | 65 73 74 20 37 38 34 32 |ILE.if t|est 7842|
|00004430| 20 2d 6e 65 20 60 77 63 | 20 2d 63 20 3c 27 73 72 | -ne `wc| -c <'sr|
|00004440| 63 2f 65 6d 69 74 63 66 | 2e 63 27 60 3b 20 74 68 |c/emitcf|.c'`; th|
|00004450| 65 6e 0a 20 20 20 20 65 | 63 68 6f 20 73 68 61 72 |en. e|cho shar|
|00004460| 3a 20 5c 22 27 73 72 63 | 2f 65 6d 69 74 63 66 2e |: \"'src|/emitcf.|
|00004470| 63 27 5c 22 20 75 6e 70 | 61 63 6b 65 64 20 77 69 |c'\" unp|acked wi|
|00004480| 74 68 20 77 72 6f 6e 67 | 20 73 69 7a 65 21 0a 66 |th wrong| size!.f|
|00004490| 69 0a 23 20 65 6e 64 20 | 6f 66 20 27 73 72 63 2f |i.# end |of 'src/|
|000044a0| 65 6d 69 74 63 66 2e 63 | 27 0a 66 69 0a 69 66 20 |emitcf.c|'.fi.if |
|000044b0| 74 65 73 74 20 2d 66 20 | 27 73 72 63 2f 6c 65 78 |test -f |'src/lex|
|000044c0| 61 6e 2e 6c 27 20 2d 61 | 20 22 24 7b 31 7d 22 20 |an.l' -a| "${1}" |
|000044d0| 21 3d 20 22 2d 63 22 20 | 3b 20 74 68 65 6e 20 0a |!= "-c" |; then .|
|000044e0| 20 20 65 63 68 6f 20 73 | 68 61 72 3a 20 57 69 6c | echo s|har: Wil|
|000044f0| 6c 20 6e 6f 74 20 63 6c | 6f 62 62 65 72 20 65 78 |l not cl|obber ex|
|00004500| 69 73 74 69 6e 67 20 66 | 69 6c 65 20 5c 22 27 73 |isting f|ile \"'s|
|00004510| 72 63 2f 6c 65 78 61 6e | 2e 6c 27 5c 22 0a 65 6c |rc/lexan|.l'\".el|
|00004520| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|00004530| 74 72 61 63 74 69 6e 67 | 20 5c 22 27 73 72 63 2f |tracting| \"'src/|
|00004540| 6c 65 78 61 6e 2e 6c 27 | 5c 22 20 5c 28 38 38 32 |lexan.l'|\" \(882|
|00004550| 32 20 63 68 61 72 61 63 | 74 65 72 73 5c 29 0a 73 |2 charac|ters\).s|
|00004560| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 73 72 |ed "s/^X|//" >'sr|
|00004570| 63 2f 6c 65 78 61 6e 2e | 6c 27 20 3c 3c 27 45 4e |c/lexan.|l' <<'EN|
|00004580| 44 5f 4f 46 5f 46 49 4c | 45 27 0a 58 25 7b 0a 58 |D_OF_FIL|E'.X%{.X|
|00004590| 0a 58 23 69 66 64 65 66 | 20 46 4c 55 4b 45 0a 58 |.X#ifdef| FLUKE.X|
|000045a0| 23 20 69 66 6e 64 65 66 | 20 4c 49 4e 54 0a 58 20 |# ifndef| LINT.X |
|000045b0| 20 20 20 73 74 61 74 69 | 63 20 63 68 61 72 20 52 | stati|c char R|
|000045c0| 43 53 69 64 5b 5d 20 3d | 20 22 40 28 23 29 46 4c |CSid[] =| "@(#)FL|
|000045d0| 55 4b 45 20 20 24 48 65 | 61 64 65 72 3a 20 2f 68 |UKE $He|ader: /h|
|000045e0| 6f 6d 65 2f 6b 72 65 73 | 6b 69 6e 2f 75 30 2f 62 |ome/kres|kin/u0/b|
|000045f0| 61 72 6e 65 74 74 2f 53 | 72 63 2f 65 61 73 65 2f |arnett/S|rc/ease/|
|00004600| 73 72 63 2f 52 43 53 2f | 6c 65 78 61 6e 2e 6c 2c |src/RCS/|lexan.l,|
|00004610| 76 20 33 2e 32 20 31 39 | 39 31 2f 30 35 2f 31 36 |v 3.2 19|91/05/16|
|00004620| 20 31 30 3a 34 35 3a 32 | 35 20 62 61 72 6e 65 74 | 10:45:2|5 barnet|
|00004630| 74 20 45 78 70 20 24 22 | 3b 0a 58 23 20 65 6e 64 |t Exp $"|;.X# end|
|00004640| 69 66 20 4c 49 4e 54 0a | 58 23 65 6e 64 69 66 20 |if LINT.|X#endif |
|00004650| 46 4c 55 4b 45 0a 58 0a | 58 2f 2a 0a 58 20 2a 09 |FLUKE.X.|X/*.X *.|
|00004660| 6c 65 78 61 6e 2e 6c 20 | 2d 2d 20 4c 65 78 69 63 |lexan.l |-- Lexic|
|00004670| 61 6c 20 41 6e 61 6c 79 | 7a 65 72 20 66 6f 72 20 |al Analy|zer for |
|00004680| 45 41 53 45 2e 0a 58 20 | 2a 0a 58 20 2a 09 09 20 |EASE..X |*.X *.. |
|00004690| 20 20 43 6f 6e 74 61 69 | 6e 73 20 63 6f 64 65 20 | Contai|ns code |
|000046a0| 66 6f 72 20 6c 65 78 28 | 31 29 20 77 68 69 63 68 |for lex(|1) which|
|000046b0| 20 67 65 6e 65 72 61 74 | 65 73 20 61 20 6c 65 78 | generat|es a lex|
|000046c0| 69 63 61 6c 0a 58 20 2a | 09 09 20 20 20 61 6e 61 |ical.X *|.. ana|
|000046d0| 6c 79 7a 65 72 20 28 6c | 65 78 2e 79 79 2e 63 29 |lyzer (l|ex.yy.c)|
|000046e0| 20 66 6f 72 20 45 61 73 | 65 2c 20 61 20 68 69 67 | for Eas|e, a hig|
|000046f0| 68 2d 6c 65 76 65 6c 20 | 73 70 65 63 69 66 69 63 |h-level |specific|
|00004700| 61 74 69 6f 6e 20 0a 58 | 20 2a 09 09 20 20 20 66 |ation .X| *.. f|
|00004710| 6f 72 6d 61 74 20 66 6f | 72 20 73 65 6e 64 6d 61 |ormat fo|r sendma|
|00004720| 69 6c 20 63 6f 6e 66 69 | 67 75 72 61 74 69 6f 6e |il confi|guration|
|00004730| 20 66 69 6c 65 73 2e 0a | 58 20 2a 0a 58 20 2a 09 | files..|X *.X *.|
|00004740| 61 75 74 68 6f 72 20 2d | 2d 20 4a 61 6d 65 73 20 |author -|- James |
|00004750| 53 2e 20 53 63 68 6f 6e | 65 72 2c 20 50 75 72 64 |S. Schon|er, Purd|
|00004760| 75 65 20 55 6e 69 76 65 | 72 73 69 74 79 20 43 6f |ue Unive|rsity Co|
|00004770| 6d 70 75 74 69 6e 67 20 | 43 65 6e 74 65 72 2c 0a |mputing |Center,.|
|00004780| 58 20 2a 09 09 09 09 20 | 20 20 20 57 65 73 74 20 |X *.... | West |
|00004790| 4c 61 66 61 79 65 74 74 | 65 2c 20 49 6e 64 69 61 |Lafayett|e, India|
|000047a0| 6e 61 20 20 34 37 39 30 | 37 0a 58 20 2a 0a 58 20 |na 4790|7.X *.X |
|000047b0| 2a 09 64 61 74 65 20 20 | 20 2d 2d 20 4a 75 6c 79 |*.date | -- July|
|000047c0| 20 31 2c 20 31 39 38 35 | 0a 58 20 2a 0a 58 20 2a | 1, 1985|.X *.X *|
|000047d0| 09 43 6f 70 79 72 69 67 | 68 74 20 28 63 29 20 31 |.Copyrig|ht (c) 1|
|000047e0| 39 38 35 20 62 79 20 50 | 75 72 64 75 65 20 52 65 |985 by P|urdue Re|
|000047f0| 73 65 61 72 63 68 20 46 | 6f 75 6e 64 61 74 69 6f |search F|oundatio|
|00004800| 6e 0a 58 20 2a 0a 58 20 | 2a 09 41 6c 6c 20 72 69 |n.X *.X |*.All ri|
|00004810| 67 68 74 73 20 72 65 73 | 65 72 76 65 64 2e 0a 58 |ghts res|erved..X|
|00004820| 20 2a 0a 58 20 2a 20 24 | 4c 6f 67 3a 20 6c 65 78 | *.X * $|Log: lex|
|00004830| 61 6e 2e 6c 2c 76 20 24 | 0a 58 20 2a 20 52 65 76 |an.l,v $|.X * Rev|
|00004840| 69 73 69 6f 6e 20 33 2e | 32 20 20 31 39 39 31 2f |ision 3.|2 1991/|
|00004850| 30 35 2f 31 36 20 20 31 | 30 3a 34 35 3a 32 35 20 |05/16 1|0:45:25 |
|00004860| 20 62 61 72 6e 65 74 74 | 0a 58 20 2a 20 42 65 74 | barnett|.X * Bet|
|00004870| 74 65 72 20 73 75 70 70 | 6f 72 74 20 66 6f 72 20 |ter supp|ort for |
|00004880| 53 79 73 74 65 6d 20 56 | 20 6d 61 63 68 69 6e 65 |System V| machine|
|00004890| 73 0a 58 20 2a 20 53 75 | 70 70 6f 72 74 20 66 6f |s.X * Su|pport fo|
|000048a0| 72 20 6d 61 63 68 69 6e | 65 73 20 77 69 74 68 20 |r machin|es with |
|000048b0| 72 65 61 64 20 6f 6e 6c | 79 20 74 65 78 74 20 73 |read onl|y text s|
|000048c0| 65 67 6d 65 6e 74 73 0a | 58 20 2a 0a 58 20 2a 20 |egments.|X *.X * |
|000048d0| 52 65 76 69 73 69 6f 6e | 20 33 2e 31 20 20 31 39 |Revision| 3.1 19|
|000048e0| 39 31 2f 30 32 2f 32 35 | 20 20 32 32 3a 30 39 3a |91/02/25| 22:09:|
|000048f0| 35 32 20 20 62 61 72 6e | 65 74 74 0a 58 20 2a 20 |52 barn|ett.X * |
|00004900| 46 69 78 65 64 20 73 6f | 6d 65 20 70 6f 72 74 61 |Fixed so|me porta|
|00004910| 62 69 6c 69 74 79 20 70 | 72 6f 62 6c 65 6d 73 0a |bility p|roblems.|
|00004920| 58 20 2a 0a 58 20 2a 20 | 52 65 76 69 73 69 6f 6e |X *.X * |Revision|
|00004930| 20 33 2e 30 20 20 31 39 | 39 31 2f 30 32 2f 32 32 | 3.0 19|91/02/22|
|00004940| 20 20 31 38 3a 35 30 3a | 32 37 20 20 62 61 72 6e | 18:50:|27 barn|
|00004950| 65 74 74 0a 58 20 2a 20 | 41 64 64 65 64 20 73 75 |ett.X * |Added su|
|00004960| 70 70 6f 72 74 20 66 6f | 72 20 48 50 2f 55 58 20 |pport fo|r HP/UX |
|00004970| 61 6e 64 20 49 44 41 20 | 73 65 6e 64 6d 61 69 6c |and IDA |sendmail|
|00004980| 2e 0a 58 20 2a 0a 58 20 | 2a 20 52 65 76 69 73 69 |..X *.X |* Revisi|
|00004990| 6f 6e 20 32 2e 33 20 20 | 31 39 39 31 2f 30 32 2f |on 2.3 |1991/02/|
|000049a0| 31 32 20 20 32 30 3a 34 | 39 3a 33 34 20 20 62 61 |12 20:4|9:34 ba|
|000049b0| 72 6e 65 74 74 0a 58 20 | 2a 20 41 64 64 65 64 20 |rnett.X |* Added |
|000049c0| 73 65 76 65 72 61 6c 20 | 6e 65 77 20 74 6f 6b 65 |several |new toke|
|000049d0| 6e 73 2e 0a 58 20 2a 20 | 4d 65 72 67 65 64 20 4a |ns..X * |Merged J|
|000049e0| 65 66 66 27 73 20 63 68 | 61 6e 67 65 73 20 77 69 |eff's ch|anges wi|
|000049f0| 74 68 20 6d 79 20 6f 77 | 6e 2e 0a 58 20 2a 0a 58 |th my ow|n..X *.X|
|00004a00| 20 2a 20 52 65 76 69 73 | 69 6f 6e 20 32 2e 32 20 | * Revis|ion 2.2 |
|00004a10| 20 31 39 39 30 2f 30 35 | 2f 30 37 20 20 31 31 3a | 1990/05|/07 11:|
|00004a20| 31 32 3a 35 33 20 20 6a | 65 66 66 0a 58 20 2a 20 |12:53 j|eff.X * |
|00004a30| 41 64 64 20 73 75 70 70 | 6f 72 74 20 66 6f 72 20 |Add supp|ort for |
|00004a40| 74 68 65 20 22 43 66 6c | 61 67 22 20 76 61 72 69 |the "Cfl|ag" vari|
|00004a50| 61 62 6c 65 20 77 68 69 | 63 68 20 63 6f 6e 74 72 |able whi|ch contr|
|00004a60| 6f 6c 73 20 77 68 65 74 | 68 65 72 20 6f 72 20 6e |ols whet|her or n|
|00004a70| 6f 74 0a 58 20 2a 20 69 | 6e 70 75 74 20 6c 69 6e |ot.X * i|nput lin|
|00004a80| 65 73 20 61 72 65 20 70 | 61 73 73 65 64 20 74 68 |es are p|assed th|
|00004a90| 72 6f 75 67 68 20 61 73 | 20 63 6f 6d 6d 65 6e 74 |rough as| comment|
|00004aa0| 73 20 69 6e 20 74 68 65 | 20 6f 75 74 70 75 74 20 |s in the| output |
|00004ab0| 73 74 72 65 61 6d 2e 0a | 58 20 2a 0a 58 20 2a 20 |stream..|X *.X * |
|00004ac0| 56 65 72 73 69 6f 6e 20 | 32 2e 31 20 20 39 30 2f |Version |2.1 90/|
|00004ad0| 30 31 2f 33 30 20 20 31 | 35 3a 32 36 3a 32 33 20 |01/30 1|5:26:23 |
|00004ae0| 20 6a 65 66 66 0a 58 20 | 2a 20 49 66 20 2d 43 20 | jeff.X |* If -C |
|00004af0| 66 6c 61 67 20 69 73 20 | 73 70 65 63 69 66 69 65 |flag is |specifie|
|00004b00| 64 2c 20 65 6d 69 74 20 | 69 6e 70 75 74 20 61 73 |d, emit |input as|
|00004b10| 20 63 6f 6d 6d 65 6e 74 | 73 20 69 6e 20 74 68 65 | comment|s in the|
|00004b20| 20 6f 75 74 70 75 74 20 | 73 74 72 65 61 6d 2e 0a | output |stream..|
|00004b30| 58 20 2a 20 0a 58 20 2a | 20 52 65 76 69 73 69 6f |X * .X *| Revisio|
|00004b40| 6e 20 32 2e 30 20 20 38 | 38 2f 30 36 2f 31 35 20 |n 2.0 8|8/06/15 |
|00004b50| 20 31 35 3a 31 31 3a 33 | 30 20 20 72 6f 6f 74 0a | 15:11:3|0 root.|
|00004b60| 58 20 2a 20 42 61 73 65 | 6c 69 6e 65 20 72 65 6c |X * Base|line rel|
|00004b70| 65 61 73 65 20 66 6f 72 | 20 6e 65 74 20 70 6f 73 |ease for| net pos|
|00004b80| 74 69 6e 67 2e 20 41 44 | 52 2e 0a 58 20 2a 20 0a |ting. AD|R..X * .|
|00004b90| 58 20 2a 2f 0a 58 0a 58 | 23 69 6e 63 6c 75 64 65 |X */.X.X|#include|
|00004ba0| 20 22 66 69 78 73 74 72 | 69 6e 67 73 2e 68 22 0a | "fixstr|ings.h".|
|00004bb0| 58 23 69 6e 63 6c 75 64 | 65 20 22 73 79 6d 74 61 |X#includ|e "symta|
|00004bc0| 62 2e 68 22 0a 58 23 69 | 6e 63 6c 75 64 65 20 22 |b.h".X#i|nclude "|
|00004bd0| 6c 65 78 64 65 66 73 2e | 68 22 0a 58 0a 58 23 64 |lexdefs.|h".X.X#d|
|00004be0| 65 66 69 6e 65 20 20 4c | 45 58 6e 65 77 6c 69 6e |efine L|EXnewlin|
|00004bf0| 65 20 27 5c 6e 27 0a 58 | 23 64 65 66 69 6e 65 09 |e '\n'.X|#define.|
|00004c00| 20 4c 45 58 65 6f 66 09 | 20 20 20 20 27 5c 30 27 | LEXeof.| '\0'|
|00004c10| 0a 58 23 64 65 66 69 6e | 65 20 20 4d 61 78 46 4e |.X#defin|e MaxFN|
|00004c20| 09 20 20 20 20 32 30 30 | 09 09 09 2f 2a 20 6d 61 |. 200|.../* ma|
|00004c30| 78 69 6d 75 6d 20 66 69 | 6c 65 20 6e 61 6d 65 20 |ximum fi|le name |
|00004c40| 6c 65 6e 67 74 68 20 2a | 2f 0a 58 0a 65 78 74 65 |length *|/.X.exte|
|00004c50| 72 6e 20 69 6e 74 09 20 | 20 45 63 68 6f 49 6e 70 |rn int. | EchoInp|
|00004c60| 75 74 41 73 43 6f 6d 6d | 65 6e 74 73 3b 0a 65 78 |utAsComm|ents;.ex|
|00004c70| 74 65 72 6e 20 73 74 72 | 75 63 74 20 68 65 20 2a |tern str|uct he *|
|00004c80| 4c 6f 6f 6b 75 70 53 79 | 6d 62 6f 6c 20 28 29 3b |LookupSy|mbol ();|
|00004c90| 0a 65 78 74 65 72 6e 20 | 76 6f 69 64 09 20 20 45 |.extern |void. E|
|00004ca0| 72 72 6f 72 52 65 70 6f | 72 74 20 28 29 3b 0a 65 |rrorRepo|rt ();.e|
|00004cb0| 78 74 65 72 6e 20 76 6f | 69 64 09 20 20 79 79 6d |xtern vo|id. yym|
|00004cc0| 61 72 6b 28 29 3b 0a 65 | 78 74 65 72 6e 20 76 6f |ark();.e|xtern vo|
|00004cd0| 69 64 09 20 20 50 72 69 | 6e 74 45 72 72 6f 72 28 |id. Pri|ntError(|
|00004ce0| 29 3b 0a 65 78 74 65 72 | 6e 20 63 68 61 72 20 2a |);.exter|n char *|
|00004cf0| 09 20 20 6d 61 6c 6c 6f | 63 20 28 29 3b 0a 58 0a |. mallo|c ();.X.|
|00004d00| 69 6e 74 20 20 4c 63 6f | 75 6e 74 3b 09 09 09 09 |int Lco|unt;....|
|00004d10| 2f 2a 20 6c 69 6e 65 20 | 63 6f 75 6e 74 65 72 09 |/* line |counter.|
|00004d20| 09 20 20 20 20 2a 2f 0a | 63 68 61 72 20 46 4e 62 |. */.|char FNb|
|00004d30| 75 66 5b 4d 61 78 46 4e | 5d 3b 09 09 09 2f 2a 20 |uf[MaxFN|];.../* |
|00004d40| 66 69 6c 65 20 6e 61 6d | 65 20 62 75 66 66 65 72 |file nam|e buffer|
|00004d50| 09 20 20 20 20 2a 2f 0a | 73 68 6f 72 74 20 52 4d |. */.|short RM|
|00004d60| 61 74 63 68 20 20 3d 20 | 46 41 4c 53 45 3b 09 09 |atch = |FALSE;..|
|00004d70| 09 2f 2a 20 72 75 6c 65 | 73 65 74 20 6d 61 74 63 |./* rule|set matc|
|00004d80| 68 20 66 6c 61 67 20 20 | 09 20 20 20 20 2a 2f 0a |h flag |. */.|
|00004d90| 58 0a 58 23 69 66 64 65 | 66 20 59 59 44 45 42 55 |X.X#ifde|f YYDEBU|
|00004da0| 47 0a 65 78 74 65 72 6e | 20 69 6e 74 20 79 79 63 |G.extern| int yyc|
|00004db0| 68 61 72 3b 0a 58 23 65 | 6c 73 65 0a 69 6e 74 20 |har;.X#e|lse.int |
|00004dc0| 20 20 79 79 63 68 61 72 | 3b 0a 58 23 65 6e 64 69 | yychar|;.X#endi|
|00004dd0| 66 0a 58 0a 58 23 75 6e | 64 65 66 20 69 6e 70 75 |f.X.X#un|def inpu|
|00004de0| 74 0a 58 23 20 64 65 66 | 69 6e 65 20 69 6e 70 75 |t.X# def|ine inpu|
|00004df0| 74 28 29 20 28 28 28 79 | 79 74 63 68 61 72 3d 79 |t() (((y|ytchar=y|
|00004e00| 79 63 68 61 72 3d 79 79 | 73 70 74 72 3e 79 79 73 |ychar=yy|sptr>yys|
|00004e10| 62 75 66 3f 55 28 2a 2d | 2d 79 79 73 70 74 72 29 |buf?U(*-|-yysptr)|
|00004e20| 3a 47 65 74 63 28 79 79 | 69 6e 2c 79 79 6f 75 74 |:Getc(yy|in,yyout|
|00004e30| 29 29 3d 3d 31 30 3f 28 | 79 79 6c 69 6e 65 6e 6f |))==10?(|yylineno|
|00004e40| 2b 2b 2c 79 79 74 63 68 | 61 72 29 3a 79 79 74 63 |++,yytch|ar):yytc|
|00004e50| 68 61 72 29 3d 3d 45 4f | 46 3f 30 3a 79 79 74 63 |har)==EO|F?0:yytc|
|00004e60| 68 61 72 29 0a 58 0a 69 | 6e 74 0a 47 65 74 63 20 |har).X.i|nt.Getc |
|00004e70| 28 79 79 69 6e 2c 20 79 | 79 6f 75 74 29 0a 58 09 |(yyin, y|yout).X.|
|00004e80| 46 49 4c 45 20 2a 79 79 | 69 6e 2c 20 2a 79 79 6f |FILE *yy|in, *yyo|
|00004e90| 75 74 3b 0a 58 7b 0a 58 | 09 73 74 61 74 69 63 20 |ut;.X{.X|.static |
|00004ea0| 63 68 61 72 20 6c 69 6e | 62 75 66 5b 42 55 46 53 |char lin|buf[BUFS|
|00004eb0| 49 5a 5d 2c 20 2a 70 63 | 20 3d 20 6c 69 6e 62 75 |IZ], *pc| = linbu|
|00004ec0| 66 3b 0a 58 09 63 68 61 | 72 20 63 3b 0a 58 0a 58 |f;.X.cha|r c;.X.X|
|00004ed0| 09 2f 2a 20 69 6e 69 74 | 69 61 6c 69 7a 65 20 62 |./* init|ialize b|
|00004ee0| 75 66 66 65 72 3a 20 66 | 69 72 73 74 20 63 61 6c |uffer: f|irst cal|
|00004ef0| 6c 20 6f 6e 6c 79 20 2a | 2f 0a 58 09 69 66 20 28 |l only *|/.X.if (|
|00004f00| 2a 70 63 20 3d 3d 20 27 | 5c 30 27 20 26 26 20 70 |*pc == '|\0' && p|
|00004f10| 63 20 3d 3d 20 6c 69 6e | 62 75 66 29 20 7b 0a 58 |c == lin|buf) {.X|
|00004f20| 09 09 69 66 20 28 66 67 | 65 74 73 28 6c 69 6e 62 |..if (fg|ets(linb|
|00004f30| 75 66 2c 20 42 55 46 53 | 49 5a 2c 20 79 79 69 6e |uf, BUFS|IZ, yyin|
|00004f40| 29 3d 3d 4e 55 4c 4c 29 | 0a 58 09 09 09 72 65 74 |)==NULL)|.X...ret|
|00004f50| 75 72 6e 20 45 4f 46 3b | 0a 58 09 09 2f 2a 20 65 |urn EOF;|.X../* e|
|00004f60| 63 68 6f 20 69 6e 70 75 | 74 20 61 73 20 63 6f 6d |cho inpu|t as com|
|00004f70| 6d 65 6e 74 20 2a 2f 0a | 58 09 09 69 66 20 28 45 |ment */.|X..if (E|
|00004f80| 63 68 6f 49 6e 70 75 74 | 41 73 43 6f 6d 6d 65 6e |choInput|AsCommen|
|00004f90| 74 73 29 20 7b 0a 58 09 | 09 20 20 20 20 66 70 72 |ts) {.X.|. fpr|
|00004fa0| 69 6e 74 66 28 79 79 6f | 75 74 2c 20 22 25 73 25 |intf(yyo|ut, "%s%|
|00004fb0| 73 22 2c 20 28 6c 69 6e | 62 75 66 5b 30 5d 20 3d |s", (lin|buf[0] =|
|00004fc0| 3d 20 27 23 27 20 3f 20 | 22 22 20 3a 20 22 23 20 |= '#' ? |"" : "# |
|00004fd0| 22 29 2c 20 6c 69 6e 62 | 75 66 29 3b 0a 58 09 09 |"), linb|uf);.X..|
|00004fe0| 7d 0a 58 09 7d 0a 58 09 | 63 20 3d 20 2a 70 63 2b |}.X.}.X.|c = *pc+|
|00004ff0| 2b 3b 0a 58 09 69 66 20 | 28 63 20 3d 3d 20 27 5c |+;.X.if |(c == '\|
|00005000| 6e 27 29 20 7b 0a 58 09 | 09 70 63 20 3d 20 6c 69 |n') {.X.|.pc = li|
|00005010| 6e 62 75 66 3b 0a 58 09 | 09 69 66 20 28 66 67 65 |nbuf;.X.|.if (fge|
|00005020| 74 73 28 6c 69 6e 62 75 | 66 2c 20 42 55 46 53 49 |ts(linbu|f, BUFSI|
|00005030| 5a 2c 20 79 79 69 6e 29 | 20 3d 3d 20 4e 55 4c 4c |Z, yyin)| == NULL|
|00005040| 29 0a 58 09 09 09 2a 70 | 63 20 3d 20 28 63 68 61 |).X...*p|c = (cha|
|00005050| 72 29 20 45 4f 46 3b 0a | 58 09 09 65 6c 73 65 0a |r) EOF;.|X..else.|
|00005060| 58 09 09 09 2f 2a 20 65 | 63 68 6f 20 69 6e 70 75 |X.../* e|cho inpu|
|00005070| 74 20 61 73 20 63 6f 6d | 6d 65 6e 74 20 28 65 78 |t as com|ment (ex|
|00005080| 63 65 70 74 20 63 70 70 | 20 63 6f 6d 6d 65 6e 74 |cept cpp| comment|
|00005090| 73 29 20 2a 2f 0a 58 09 | 09 09 69 66 20 28 45 63 |s) */.X.|..if (Ec|
|000050a0| 68 6f 49 6e 70 75 74 41 | 73 43 6f 6d 6d 65 6e 74 |hoInputA|sComment|
|000050b0| 73 29 20 7b 0a 58 09 09 | 09 20 20 20 20 66 70 72 |s) {.X..|. fpr|
|000050c0| 69 6e 74 66 28 79 79 6f | 75 74 2c 20 22 25 73 25 |intf(yyo|ut, "%s%|
|000050d0| 73 22 2c 0a 58 09 09 09 | 09 28 6c 69 6e 62 75 66 |s",.X...|.(linbuf|
|000050e0| 5b 30 5d 20 3d 3d 20 27 | 23 27 20 3f 20 22 22 20 |[0] == '|#' ? "" |
|000050f0| 3a 20 22 23 20 22 29 2c | 20 6c 69 6e 62 75 66 29 |: "# "),| linbuf)|
|00005100| 3b 0a 58 09 09 09 7d 0a | 58 09 7d 0a 58 20 09 72 |;.X...}.|X.}.X .r|
|00005110| 65 74 75 72 6e 20 28 63 | 20 3d 3d 20 28 63 68 61 |eturn (c| == (cha|
|00005120| 72 29 20 45 4f 46 29 20 | 3f 20 45 4f 46 20 3a 20 |r) EOF) |? EOF : |
|00005130| 63 3b 0a 58 7d 0a 58 0a | 58 2f 2a 0a 58 20 2a 20 |c;.X}.X.|X/*.X * |
|00005140| 54 61 62 6c 65 20 6f 66 | 20 6b 65 79 77 6f 72 64 |Table of| keyword|
|00005150| 73 2e 20 4e 4f 54 45 3a | 20 54 68 69 73 20 69 73 |s. NOTE:| This is|
|00005160| 20 69 6e 20 73 6f 72 74 | 65 64 20 6f 72 64 65 72 | in sort|ed order|
|00005170| 2c 20 61 6e 64 0a 58 20 | 2a 20 6d 75 73 74 20 73 |, and.X |* must s|
|00005180| 74 61 79 20 74 68 61 74 | 20 77 61 79 20 69 66 20 |tay that| way if |
|00005190| 61 6e 79 74 68 69 6e 67 | 20 65 6c 73 65 20 69 73 |anything| else is|
|000051a0| 20 61 64 64 65 64 20 74 | 6f 20 69 74 2e 0a 58 20 | added t|o it..X |
|000051b0| 2a 2f 0a 73 74 61 74 69 | 63 20 73 74 72 75 63 74 |*/.stati|c struct|
|000051c0| 20 72 65 73 77 6f 72 64 | 20 7b 0a 58 09 63 68 61 | resword| {.X.cha|
|000051d0| 72 09 2a 72 5f 74 65 78 | 74 3b 0a 58 09 69 6e 74 |r.*r_tex|t;.X.int|
|000051e0| 09 72 5f 74 6f 6b 76 61 | 6c 3b 0a 58 7d 20 72 65 |.r_tokva|l;.X} re|
|000051f0| 73 77 6f 72 64 73 5b 5d | 20 3d 20 7b 0a 58 09 7b |swords[]| = {.X.{|
|00005200| 20 22 41 72 67 76 22 2c | 09 09 4d 41 52 47 56 20 | "Argv",|..MARGV |
|00005210| 7d 2c 0a 58 09 7b 20 22 | 45 6f 6c 22 2c 09 09 4d |},.X.{ "|Eol",..M|
|00005220| 45 4f 4c 20 7d 2c 0a 58 | 09 7b 20 22 46 6c 61 67 |EOL },.X|.{ "Flag|
|00005230| 73 22 2c 09 09 4d 46 4c | 41 47 53 20 7d 2c 0a 58 |s",..MFL|AGS },.X|
|00005240| 09 7b 20 22 4d 61 78 73 | 69 7a 65 22 2c 09 09 4d |.{ "Maxs|ize",..M|
|00005250| 4d 41 58 53 49 5a 45 20 | 7d 2c 0a 58 09 7b 20 22 |MAXSIZE |},.X.{ "|
|00005260| 50 61 74 68 22 2c 09 09 | 4d 50 41 54 48 20 7d 2c |Path",..|MPATH },|
|00005270| 0a 58 09 7b 20 22 52 65 | 63 69 70 69 65 6e 74 22 |.X.{ "Re|cipient"|
|00005280| 2c 09 09 4d 52 45 43 49 | 50 49 45 4e 54 20 7d 2c |,..MRECI|PIENT },|
|00005290| 0a 58 09 7b 20 22 53 65 | 6e 64 65 72 22 2c 09 09 |.X.{ "Se|nder",..|
|000052a0| 4d 53 45 4e 44 45 52 20 | 7d 2c 0a 58 20 09 7b 20 |MSENDER |},.X .{ |
|000052b0| 22 61 6c 69 61 73 22 2c | 09 09 41 4c 49 41 53 20 |"alias",|..ALIAS |
|000052c0| 7d 2c 0a 58 20 09 7b 20 | 22 61 73 6d 22 2c 09 09 |},.X .{ |"asm",..|
|000052d0| 41 53 4d 20 7d 2c 0a 58 | 09 7b 20 22 62 69 6e 64 |ASM },.X|.{ "bind|
|000052e0| 22 2c 09 09 42 49 4e 44 | 20 7d 2c 0a 58 09 7b 20 |",..BIND| },.X.{ |
|000052f0| 22 63 61 6e 6f 6e 22 2c | 09 09 43 41 4e 4f 4e 20 |"canon",|..CANON |
|00005300| 7d 2c 0a 58 09 7b 20 22 | 63 6c 61 73 73 22 2c 09 |},.X.{ "|class",.|
|00005310| 09 43 4c 41 53 53 20 7d | 2c 0a 58 09 7b 20 22 63 |.CLASS }|,.X.{ "c|
|00005320| 6f 6e 63 61 74 22 2c 09 | 09 43 4f 4e 43 41 54 20 |oncat",.|.CONCAT |
|00005330| 7d 2c 0a 58 09 7b 20 22 | 64 5f 62 61 63 6b 67 72 |},.X.{ "|d_backgr|
|00005340| 6f 75 6e 64 22 2c 09 44 | 4f 50 54 42 20 7d 2c 0a |ound",.D|OPTB },.|
|00005350| 58 09 7b 20 22 64 5f 69 | 6e 74 65 72 61 63 74 69 |X.{ "d_i|nteracti|
|00005360| 76 65 22 2c 09 44 4f 50 | 54 49 20 7d 2c 0a 58 09 |ve",.DOP|TI },.X.|
|00005370| 7b 20 22 64 5f 71 75 65 | 75 65 22 2c 09 09 44 4f |{ "d_que|ue",..DO|
|00005380| 50 54 51 20 7d 2c 0a 58 | 09 7b 20 22 64 62 6d 22 |PTQ },.X|.{ "dbm"|
|00005390| 2c 09 09 44 42 4d 20 7d | 2c 09 20 20 20 2f 2a 20 |,..DBM }|,. /* |
|000053a0| 49 44 41 20 2a 2f 0a 58 | 09 7b 20 22 64 65 66 61 |IDA */.X|.{ "defa|
|000053b0| 75 6c 74 22 2c 09 09 44 | 45 46 41 55 4c 54 20 7d |ult",..D|EFAULT }|
|000053c0| 2c 20 2f 2a 20 49 44 41 | 20 2a 2f 0a 58 09 7b 20 |, /* IDA| */.X.{ |
|000053d0| 22 64 65 66 69 6e 65 22 | 2c 09 09 44 45 46 49 4e |"define"|,..DEFIN|
|000053e0| 45 20 7d 2c 0a 58 20 09 | 7b 20 22 65 76 61 6c 22 |E },.X .|{ "eval"|
|000053f0| 2c 09 09 45 56 41 4c 20 | 7d 2c 0a 58 09 7b 20 22 |,..EVAL |},.X.{ "|
|00005400| 66 5f 61 64 64 72 77 22 | 2c 09 09 43 43 46 4c 41 |f_addrw"|,..CCFLA|
|00005410| 47 20 7d 2c 0a 58 09 7b | 20 22 66 5f 61 72 70 61 |G },.X.{| "f_arpa|
|00005420| 22 2c 09 09 41 41 46 4c | 41 47 20 7d 2c 0a 58 20 |",..AAFL|AG },.X |
|00005430| 09 7b 20 22 66 5f 62 73 | 6d 74 70 22 2c 09 09 42 |.{ "f_bs|mtp",..B|
|00005440| 42 46 4c 41 47 20 7d 2c | 09 2f 2a 20 49 44 41 20 |BFLAG },|./* IDA |
|00005450| 2a 2f 0a 58 09 7b 20 22 | 66 5f 64 61 74 65 22 2c |*/.X.{ "|f_date",|
|00005460| 09 09 44 44 46 4c 41 47 | 20 7d 2c 0a 58 09 7b 20 |..DDFLAG| },.X.{ |
|00005470| 22 66 5f 64 6f 74 22 2c | 09 09 58 58 46 4c 41 47 |"f_dot",|..XXFLAG|
|00005480| 20 7d 2c 0a 58 09 7b 20 | 22 66 5f 65 73 63 61 70 | },.X.{ |"f_escap|
|00005490| 65 22 2c 09 09 45 45 46 | 4c 41 47 20 7d 2c 0a 58 |e",..EEF|LAG },.X|
|000054a0| 09 7b 20 22 66 5f 65 78 | 70 65 6e 73 69 76 65 22 |.{ "f_ex|pensive"|
|000054b0| 2c 09 45 46 4c 41 47 20 | 7d 2c 0a 58 09 7b 20 22 |,.EFLAG |},.X.{ "|
|000054c0| 66 5f 66 66 72 6f 6d 22 | 2c 09 09 46 46 4c 41 47 |f_ffrom"|,..FFLAG|
|000054d0| 20 7d 2c 0a 58 09 7b 20 | 22 66 5f 66 72 6f 6d 22 | },.X.{ |"f_from"|
|000054e0| 2c 09 09 46 46 46 4c 41 | 47 20 7d 2c 0a 58 09 7b |,..FFFLA|G },.X.{|
|000054f0| 20 22 66 5f 66 75 6c 6c | 22 2c 09 09 58 46 4c 41 | "f_full|",..XFLA|
|00005500| 47 20 7d 2c 0a 58 09 7b | 20 22 66 5f 6c 6c 69 6d |G },.X.{| "f_llim|
|00005510| 69 74 22 2c 09 09 4c 4c | 46 4c 41 47 20 7d 2c 0a |it",..LL|FLAG },.|
|00005520| 58 09 7b 20 22 66 5f 6c | 6f 63 6d 22 2c 09 09 4c |X.{ "f_l|ocm",..L|
|00005530| 46 4c 41 47 20 7d 2c 0a | 58 09 7b 20 22 66 5f 6d |FLAG },.|X.{ "f_m|
|00005540| 61 69 6c 31 31 22 2c 09 | 09 48 48 46 4c 41 47 20 |ail11",.|.HHFLAG |
|00005550| 7d 2c 20 20 2f 2a 20 55 | 6c 74 72 69 78 20 2a 2f |}, /* U|ltrix */|
|00005560| 0a 58 09 7b 20 22 66 5f | 6d 65 73 67 22 2c 09 09 |.X.{ "f_|mesg",..|
|00005570| 4d 4d 46 4c 41 47 20 7d | 2c 0a 58 09 7b 20 22 66 |MMFLAG }|,.X.{ "f|
|00005580| 5f 6d 75 6c 74 22 2c 09 | 09 4d 46 4c 41 47 20 7d |_mult",.|.MFLAG }|
|00005590| 2c 0a 58 09 7b 20 22 66 | 5f 6e 6f 72 65 73 65 74 |,.X.{ "f|_noreset|
|000055a0| 22 2c 09 09 53 53 46 4c | 41 47 20 7d 2c 0a 58 09 |",..SSFL|AG },.X.|
|000055b0| 7b 20 22 66 5f 6e 6f 75 | 66 72 6f 6d 22 2c 09 09 |{ "f_nou|from",..|
|000055c0| 4e 46 4c 41 47 20 7d 2c | 0a 58 20 09 7b 20 22 66 |NFLAG },|.X .{ "f|
|000055d0| 5f 72 65 6c 61 74 69 76 | 69 7a 65 22 2c 09 56 56 |_relativ|ize",.VV|
|000055e0| 46 4c 41 47 20 7d 2c 09 | 2f 2a 20 49 44 41 20 2a |FLAG },.|/* IDA *|
|000055f0| 2f 0a 58 09 7b 20 22 66 | 5f 72 65 74 73 6d 74 70 |/.X.{ "f|_retsmtp|
|00005600| 22 2c 09 09 50 46 4c 41 | 47 20 7d 2c 0a 58 09 7b |",..PFLA|G },.X.{|
|00005610| 20 22 66 5f 72 65 74 75 | 72 6e 22 2c 09 09 50 50 | "f_retu|rn",..PP|
|00005620| 46 4c 41 47 20 7d 2c 0a | 58 09 7b 20 22 66 5f 72 |FLAG },.|X.{ "f_r|
|00005630| 66 72 6f 6d 22 2c 09 09 | 52 46 4c 41 47 20 7d 2c |from",..|RFLAG },|
|00005640| 0a 58 09 7b 20 22 66 5f | 72 70 6f 72 74 22 2c 09 |.X.{ "f_|rport",.|
|00005650| 09 52 52 46 4c 41 47 20 | 7d 2c 0a 58 09 7b 20 22 |.RRFLAG |},.X.{ "|
|00005660| 66 5f 73 6d 74 70 22 2c | 09 09 49 49 46 4c 41 47 |f_smtp",|..IIFLAG|
|00005670| 20 7d 2c 0a 58 09 7b 20 | 22 66 5f 73 74 72 69 70 | },.X.{ |"f_strip|
|00005680| 22 2c 09 09 53 46 4c 41 | 47 20 7d 2c 0a 58 09 7b |",..SFLA|G },.X.{|
|00005690| 20 22 66 5f 75 66 72 6f | 6d 22 2c 09 09 55 55 46 | "f_ufro|m",..UUF|
|000056a0| 4c 41 47 20 7d 2c 0a 58 | 09 7b 20 22 66 5f 75 70 |LAG },.X|.{ "f_up|
|000056b0| 70 65 72 68 22 2c 09 09 | 48 46 4c 41 47 20 7d 2c |perh",..|HFLAG },|
|000056c0| 0a 58 09 7b 20 22 66 5f | 75 70 70 65 72 75 22 2c |.X.{ "f_|upperu",|
|000056d0| 09 09 55 46 4c 41 47 20 | 7d 2c 0a 58 09 7b 20 22 |..UFLAG |},.X.{ "|
|000056e0| 66 69 65 6c 64 22 2c 09 | 09 46 49 45 4c 44 20 7d |field",.|.FIELD }|
|000056f0| 2c 0a 58 09 7b 20 22 66 | 6f 72 22 2c 09 09 46 4f |,.X.{ "f|or",..FO|
|00005700| 52 20 7d 2c 0a 58 09 7b | 20 22 68 5f 65 78 69 74 |R },.X.{| "h_exit|
|00005710| 22 2c 09 09 45 4f 50 54 | 45 20 7d 2c 0a 58 09 7b |",..EOPT|E },.X.{|
|00005720| 20 22 68 5f 6d 61 69 6c | 22 2c 09 09 45 4f 50 54 | "h_mail|",..EOPT|
|00005730| 4d 20 7d 2c 0a 58 09 7b | 20 22 68 5f 6d 61 69 6c |M },.X.{| "h_mail|
|00005740| 7a 22 2c 09 09 45 4f 50 | 54 5a 20 7d 2c 0a 58 09 |z",..EOP|TZ },.X.|
|00005750| 7b 20 22 68 5f 70 72 69 | 6e 74 22 2c 09 09 45 4f |{ "h_pri|nt",..EO|
|00005760| 50 54 50 20 7d 2c 0a 58 | 09 7b 20 22 68 5f 77 72 |PTP },.X|.{ "h_wr|
|00005770| 69 74 65 22 2c 09 09 45 | 4f 50 54 57 20 7d 2c 0a |ite",..E|OPTW },.|
|00005780| 58 09 7b 20 22 68 65 61 | 64 65 72 22 2c 09 09 48 |X.{ "hea|der",..H|
|00005790| 45 41 44 45 52 20 7d 2c | 0a 58 09 7b 20 22 68 6f |EADER },|.X.{ "ho|
|000057a0| 73 74 22 2c 09 09 48 4f | 53 54 20 7d 2c 0a 58 09 |st",..HO|ST },.X.|
|000057b0| 7b 20 22 68 6f 73 74 6e | 75 6d 22 2c 09 09 48 4f |{ "hostn|um",..HO|
|000057c0| 53 54 4e 55 4d 20 7d 2c | 0a 58 09 7b 20 22 69 66 |STNUM },|.X.{ "if|
|000057d0| 22 2c 09 09 09 49 46 20 | 7d 2c 0a 58 09 7b 20 22 |",...IF |},.X.{ "|
|000057e0| 69 66 73 65 74 22 2c 09 | 09 49 46 53 45 54 20 7d |ifset",.|.IFSET }|
|000057f0| 2c 0a 58 09 7b 20 22 69 | 6e 22 2c 09 09 09 49 4e |,.X.{ "i|n",...IN|
|00005800| 20 7d 2c 0a 58 09 7b 20 | 22 6d 61 63 72 6f 22 2c | },.X.{ |"macro",|
|00005810| 09 09 4d 41 43 52 4f 20 | 7d 2c 0a 58 09 7b 20 22 |..MACRO |},.X.{ "|
|00005820| 6d 61 69 6c 65 72 22 2c | 09 09 4d 41 49 4c 45 52 |mailer",|..MAILER|
|00005830| 20 7d 2c 0a 58 09 7b 20 | 22 6d 61 70 22 2c 09 09 | },.X.{ |"map",..|
|00005840| 4d 41 50 20 7d 2c 0a 58 | 09 7b 20 22 6d 61 74 63 |MAP },.X|.{ "matc|
|00005850| 68 22 2c 09 09 4d 41 54 | 43 48 20 7d 2c 0a 58 09 |h",..MAT|CH },.X.|
|00005860| 7b 20 22 6e 65 78 74 22 | 2c 09 09 4e 45 58 54 20 |{ "next"|,..NEXT |
|00005870| 7d 2c 0a 58 09 7b 20 22 | 6f 5f 61 6c 69 61 73 22 |},.X.{ "|o_alias"|
|00005880| 2c 09 09 41 41 4f 50 54 | 20 7d 2c 0a 58 20 09 7b |,..AAOPT| },.X .{|
|00005890| 20 22 6f 5f 61 6c 69 61 | 73 66 69 6c 65 22 2c 09 | "o_alia|sfile",.|
|000058a0| 59 59 4f 50 54 20 7d 2c | 09 2f 2a 20 53 75 6e 4f |YYOPT },|./* SunO|
|000058b0| 53 20 2a 2f 0a 58 09 7b | 20 22 6f 5f 62 73 75 62 |S */.X.{| "o_bsub|
|000058c0| 22 2c 09 09 42 42 4f 50 | 54 20 7d 2c 0a 58 09 7b |",..BBOP|T },.X.{|
|000058d0| 20 22 6f 5f 63 68 65 63 | 6b 70 6f 69 6e 74 22 2c | "o_chec|kpoint",|
|000058e0| 09 43 43 4f 50 54 20 7d | 2c 0a 58 09 7b 20 22 6f |.CCOPT }|,.X.{ "o|
|000058f0| 5f 64 65 6c 69 76 65 72 | 79 22 2c 09 09 44 4f 50 |_deliver|y",..DOP|
|00005900| 54 20 7d 2c 0a 58 09 7b | 20 22 6f 5f 64 6d 75 69 |T },.X.{| "o_dmui|
|00005910| 64 22 2c 09 09 55 4f 50 | 54 20 7d 2c 0a 58 09 7b |d",..UOP|T },.X.{|
|00005920| 20 22 6f 5f 64 6e 65 74 | 22 2c 09 09 4e 4e 4f 50 | "o_dnet|",..NNOP|
|00005930| 54 20 7d 2c 0a 58 20 09 | 7b 20 22 6f 5f 65 6e 76 |T },.X .|{ "o_env|
|00005940| 65 6c 6f 70 65 22 2c 09 | 09 53 4c 4f 50 54 20 7d |elope",.|.SLOPT }|
|00005950| 2c 09 2f 2a 20 49 44 41 | 20 2a 2f 0a 58 09 7b 20 |,./* IDA| */.X.{ |
|00005960| 22 6f 5f 65 77 61 69 74 | 22 2c 09 09 41 4f 50 54 |"o_ewait|",..AOPT|
|00005970| 20 7d 2c 0a 58 09 7b 20 | 22 6f 5f 66 6c 6f 67 22 | },.X.{ |"o_flog"|
|00005980| 2c 09 09 53 53 4f 50 54 | 20 7d 2c 0a 58 09 7b 20 |,..SSOPT| },.X.{ |
|00005990| 22 6f 5f 66 73 6d 74 70 | 22 2c 09 09 48 48 4f 50 |"o_fsmtp|",..HHOP|
|000059a0| 54 20 7d 2c 0a 58 09 7b | 20 22 6f 5f 67 69 64 22 |T },.X.{| "o_gid"|
|000059b0| 2c 09 09 47 4f 50 54 20 | 7d 2c 0a 58 09 7b 20 22 |,..GOPT |},.X.{ "|
|000059c0| 6f 5f 68 61 6e 64 6c 69 | 6e 67 22 2c 09 09 45 4f |o_handli|ng",..EO|
|000059d0| 50 54 20 7d 2c 0a 58 09 | 7b 20 22 6f 5f 68 66 6f |PT },.X.|{ "o_hfo|
|000059e0| 72 6d 61 74 22 2c 09 09 | 4f 4f 50 54 20 7d 2c 0a |rmat",..|OOPT },.|
|000059f0| 58 09 7b 20 22 6f 5f 6c | 6f 61 64 6e 63 22 2c 09 |X.{ "o_l|oadnc",.|
|00005a00| 09 58 58 4f 50 54 20 7d | 2c 0a 58 09 7b 20 22 6f |.XXOPT }|,.X.{ "o|
|00005a10| 5f 6c 6f 61 64 71 22 2c | 09 09 58 4f 50 54 20 7d |_loadq",|..XOPT }|
|00005a20| 2c 0a 58 09 7b 20 22 6f | 5f 6d 61 78 65 6d 70 74 |,.X.{ "o|_maxempt|
|00005a30| 79 22 2c 09 09 42 4f 50 | 54 20 7d 2c 09 2f 2a 20 |y",..BOP|T },./* |
|00005a40| 53 75 6e 4f 53 20 2a 2f | 0a 58 20 09 7b 20 22 6f |SunOS */|.X .{ "o|
|00005a50| 5f 6d 61 78 68 6f 70 73 | 22 2c 09 09 48 4f 50 54 |_maxhops|",..HOPT|
|00005a60| 20 7d 2c 20 2f 2a 20 53 | 75 6e 4f 53 20 2a 2f 0a | }, /* S|unOS */.|
|00005a70| 58 20 20 09 7b 20 22 6f | 5f 6e 61 6d 65 73 65 72 |X .{ "o|_nameser|
|00005a80| 76 65 72 22 2c 09 49 49 | 4f 50 54 20 7d 2c 20 2f |ver",.II|OPT }, /|
|00005a90| 2a 20 48 50 2f 55 58 20 | 2a 2f 0a 58 20 20 09 7b |* HP/UX |*/.X .{|
|00005aa0| 20 22 6f 5f 6e 65 77 70 | 72 6f 63 22 2c 09 09 59 | "o_newp|roc",..Y|
|00005ab0| 59 4f 50 54 20 7d 2c 0a | 58 20 09 7b 20 22 6f 5f |YOPT },.|X .{ "o_|
|00005ac0| 6e 66 73 22 2c 09 09 52 | 52 4f 50 54 20 7d 2c 09 |nfs",..R|ROPT },.|
|00005ad0| 2f 2a 20 53 75 6e 4f 53 | 20 34 2e 30 20 2a 2f 0a |/* SunOS| 4.0 */.|
|00005ae0| 58 09 7b 20 22 6f 5f 70 | 6d 61 73 74 65 72 22 2c |X.{ "o_p|master",|
|00005af0| 09 09 50 50 4f 50 54 20 | 7d 2c 0a 58 09 7b 20 22 |..PPOPT |},.X.{ "|
|00005b00| 6f 5f 70 72 69 66 61 63 | 74 6f 72 22 2c 09 5a 4f |o_prifac|tor",.ZO|
|00005b10| 50 54 20 7d 2c 0a 58 09 | 7b 20 22 6f 5f 71 64 69 |PT },.X.|{ "o_qdi|
|00005b20| 72 22 2c 09 09 51 51 4f | 50 54 20 7d 2c 0a 58 09 |r",..QQO|PT },.X.|
|00005b30| 7b 20 22 6f 5f 71 66 61 | 63 74 6f 72 22 2c 09 09 |{ "o_qfa|ctor",..|
|00005b40| 51 4f 50 54 20 7d 2c 0a | 58 09 7b 20 22 6f 5f 71 |QOPT },.|X.{ "o_q|
|00005b50| 74 69 6d 65 6f 75 74 22 | 2c 09 09 54 54 4f 50 54 |timeout"|,..TTOPT|
|00005b60| 20 7d 2c 0a 58 09 7b 20 | 22 6f 5f 71 77 61 69 74 | },.X.{ |"o_qwait|
|00005b70| 22 2c 09 09 43 4f 50 54 | 20 7d 2c 0a 58 09 7b 20 |",..COPT| },.X.{ |
|00005b80| 22 6f 5f 72 65 62 75 69 | 6c 64 22 2c 09 09 44 44 |"o_rebui|ld",..DD|
|00005b90| 4f 50 54 20 7d 2c 0a 58 | 09 7b 20 22 6f 5f 72 65 |OPT },.X|.{ "o_re|
|00005ba0| 63 69 70 66 61 63 74 6f | 72 22 2c 09 59 4f 50 54 |cipfacto|r",.YOPT|
|00005bb0| 20 7d 2c 0a 58 09 7b 20 | 22 6f 5f 72 73 65 6e 64 | },.X.{ |"o_rsend|
|00005bc0| 22 2c 09 09 4d 4f 50 54 | 20 7d 2c 0a 58 09 7b 20 |",..MOPT| },.X.{ |
|00005bd0| 22 6f 5f 73 61 66 65 22 | 2c 09 09 53 4f 50 54 20 |"o_safe"|,..SOPT |
|00005be0| 7d 2c 0a 58 09 7b 20 22 | 6f 5f 73 6b 69 70 64 22 |},.X.{ "|o_skipd"|
|00005bf0| 2c 09 09 49 4f 50 54 20 | 7d 2c 0a 58 09 7b 20 22 |,..IOPT |},.X.{ "|
|00005c00| 6f 5f 73 6c 6f 67 22 2c | 09 09 4c 4c 4f 50 54 20 |o_slog",|..LLOPT |
|00005c10| 7d 2c 0a 58 09 7b 20 22 | 6f 5f 74 69 6d 65 7a 6f |},.X.{ "|o_timezo|
|00005c20| 6e 65 22 2c 09 09 54 4f | 50 54 20 7d 2c 0a 58 09 |ne",..TO|PT },.X.|
|00005c30| 7b 20 22 6f 5f 74 6d 6f | 64 65 22 2c 09 09 46 46 |{ "o_tmo|de",..FF|
|00005c40| 4f 50 54 20 7d 2c 0a 58 | 09 7b 20 22 6f 5f 74 72 |OPT },.X|.{ "o_tr|
|00005c50| 65 61 64 22 2c 09 09 52 | 4f 50 54 20 7d 2c 0a 58 |ead",..R|OPT },.X|
|00005c60| 09 7b 20 22 6f 5f 75 73 | 61 76 65 22 2c 09 09 46 |.{ "o_us|ave",..F|
|00005c70| 4f 50 54 20 7d 2c 0a 58 | 09 7b 20 22 6f 5f 76 61 |OPT },.X|.{ "o_va|
|00005c80| 6c 69 64 61 74 65 22 2c | 09 09 4e 4f 50 54 20 7d |lidate",|..NOPT }|
|00005c90| 2c 0a 58 09 7b 20 22 6f | 5f 76 65 72 62 6f 73 65 |,.X.{ "o|_verbose|
|00005ca0| 22 2c 09 09 56 4f 50 54 | 20 7d 2c 0a 58 09 7b 20 |",..VOPT| },.X.{ |
|00005cb0| 22 6f 5f 77 61 69 74 66 | 61 63 74 6f 72 22 2c 09 |"o_waitf|actor",.|
|00005cc0| 5a 5a 4f 50 54 20 7d 2c | 0a 58 09 7b 20 22 6f 5f |ZZOPT },|.X.{ "o_|
|00005cd0| 77 69 7a 70 61 73 73 22 | 2c 09 09 57 57 4f 50 54 |wizpass"|,..WWOPT|
|00005ce0| 20 7d 2c 0a 58 09 7b 20 | 22 6f 70 74 69 6f 6e 73 | },.X.{ |"options|
|00005cf0| 22 2c 09 09 4f 50 54 49 | 4f 4e 53 20 7d 2c 0a 58 |",..OPTI|ONS },.X|
|00005d00| 09 7b 20 22 70 72 65 63 | 65 64 65 6e 63 65 22 2c |.{ "prec|edence",|
|00005d10| 09 09 50 52 45 43 45 44 | 45 4e 43 45 20 7d 2c 0a |..PRECED|ENCE },.|
|00005d20| 58 20 09 7b 20 22 70 72 | 6f 67 72 61 6d 22 2c 09 |X .{ "pr|ogram",.|
|00005d30| 09 50 52 4f 47 52 41 4d | 20 7d 2c 09 2f 2a 20 48 |.PROGRAM| },./* H|
|00005d40| 50 2f 55 58 20 2a 2f 0a | 58 20 09 7b 20 22 71 75 |P/UX */.|X .{ "qu|
|00005d50| 6f 74 65 22 2c 09 09 51 | 55 4f 54 45 20 7d 2c 0a |ote",..Q|UOTE },.|
|00005d60| 58 09 7b 20 22 72 65 61 | 64 63 6c 61 73 73 22 2c |X.{ "rea|dclass",|
|00005d70| 09 09 52 45 41 44 43 4c | 41 53 53 20 7d 2c 0a 58 |..READCL|ASS },.X|
|00005d80| 09 7b 20 22 72 65 73 6f | 6c 76 65 22 2c 09 09 52 |.{ "reso|lve",..R|
|00005d90| 45 53 4f 4c 56 45 20 7d | 2c 0a 58 20 09 7b 20 22 |ESOLVE }|,.X .{ "|
|00005da0| 72 65 73 6f 6c 76 65 64 | 22 2c 09 09 52 45 53 4f |resolved|",..RESO|
|00005db0| 4c 56 45 44 20 7d 2c 0a | 58 09 7b 20 22 72 65 74 |LVED },.|X.{ "ret|
|00005dc0| 72 79 22 2c 09 09 52 45 | 54 52 59 20 7d 2c 0a 58 |ry",..RE|TRY },.X|
|00005dd0| 09 7b 20 22 72 65 74 75 | 72 6e 22 2c 09 09 52 45 |.{ "retu|rn",..RE|
|00005de0| 54 55 52 4e 20 7d 2c 0a | 58 09 7b 20 22 72 75 6c |TURN },.|X.{ "rul|
|00005df0| 65 73 65 74 22 2c 09 09 | 52 55 4c 45 53 45 54 20 |eset",..|RULESET |
|00005e00| 7d 2c 0a 58 09 7b 20 22 | 74 72 75 73 74 65 64 22 |},.X.{ "|trusted"|
|00005e10| 2c 09 09 54 52 55 53 54 | 45 44 20 7d 2c 0a 58 09 |,..TRUST|ED },.X.|
|00005e20| 7b 20 22 75 73 65 72 22 | 2c 09 09 55 53 45 52 20 |{ "user"|,..USER |
|00005e30| 7d 2c 0a 58 09 7b 20 22 | 77 68 69 6c 65 22 2c 09 |},.X.{ "|while",.|
|00005e40| 09 49 46 20 7d 2c 0a 58 | 20 09 7b 20 22 79 70 61 |.IF },.X| .{ "ypa|
|00005e50| 6c 69 61 73 22 2c 09 09 | 59 50 41 4c 49 41 53 20 |lias",..|YPALIAS |
|00005e60| 7d 2c 09 2f 2a 20 55 6c | 74 72 69 78 20 2a 2f 0a |},./* Ul|trix */.|
|00005e70| 58 20 09 7b 20 22 79 70 | 6d 61 70 22 2c 09 09 59 |X .{ "yp|map",..Y|
|00005e80| 50 4d 41 50 20 7d 2c 09 | 2f 2a 20 53 75 6e 4f 53 |PMAP },.|/* SunOS|
|00005e90| 20 2a 2f 0a 58 20 09 7b | 20 22 79 70 70 61 73 73 | */.X .{| "yppass|
|00005ea0| 77 64 22 2c 09 09 59 50 | 50 41 53 53 57 44 20 7d |wd",..YP|PASSWD }|
|00005eb0| 2c 09 2f 2a 20 55 6c 74 | 72 69 78 20 2a 2f 0a 58 |,./* Ult|rix */.X|
|00005ec0| 7d 3b 0a 58 25 7d 0a 58 | 0a 58 25 25 0a 58 09 69 |};.X%}.X|.X%%.X.i|
|00005ed0| 6e 74 20 49 4e 63 68 3b | 09 09 09 2f 2a 20 61 6e |nt INch;|.../* an|
|00005ee0| 79 20 69 6e 70 75 74 20 | 63 68 61 72 61 63 74 65 |y input |characte|
|00005ef0| 72 20 2a 2f 0a 58 0a 58 | 5b 20 5c 74 5c 66 5d 2b |r */.X.X|[ \t\f]+|
|00005f00| 09 09 09 3b 20 09 2f 2a | 20 64 69 73 63 61 72 64 |...; ./*| discard|
|00005f10| 20 77 68 69 74 65 70 73 | 61 63 65 20 20 2a 2f 0a | whiteps|ace */.|
|00005f20| 58 5b 5c 6e 5d 09 09 09 | 09 4c 63 6f 75 6e 74 2b |X[\n]...|.Lcount+|
|00005f30| 2b 3b 0a 58 5e 5c 23 5b | 20 5c 74 5d 2a 5b 30 2d |+;.X^\#[| \t]*[0-|
|00005f40| 39 5d 2b 5b 20 5c 74 5d | 2a 5c 22 2e 2a 5c 22 5b |9]+[ \t]|*\".*\"[|
|00005f50| 20 5c 74 5d 2a 2e 2a 5b | 5c 6e 5d 09 7b 0a 58 2f | \t]*.*[|\n].{.X/|
|00005f60| 2a 09 09 09 20 20 20 20 | 20 20 20 20 73 73 63 61 |*... | ssca|
|00005f70| 6e 66 20 28 79 79 74 65 | 78 74 2c 20 22 25 2a 63 |nf (yyte|xt, "%*c|
|00005f80| 25 64 25 73 22 2c 20 26 | 4c 63 6f 75 6e 74 2c 20 |%d%s", &|Lcount, |
|00005f90| 46 4e 62 75 66 29 3b 20 | 2a 2f 0a 58 09 20 20 20 |FNbuf); |*/.X. |
|00005fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005fb0| 20 20 20 20 20 79 79 6d | 61 72 6b 28 29 3b 0a 58 | yym|ark();.X|
|00005fc0| 09 09 09 20 20 20 20 20 | 20 20 20 7d 0a 58 5b 41 |... | }.X[A|
|00005fd0| 2d 5a 61 2d 7a 5f 5d 5b | 41 2d 5a 61 2d 7a 30 2d |-Za-z_][|A-Za-z0-|
|00005fe0| 39 5f 2d 5d 2a 09 09 7b | 0a 58 09 09 09 09 72 65 |9_-]*..{|.X....re|
|00005ff0| 67 69 73 74 65 72 20 69 | 6e 74 20 6c 2c 20 68 2c |gister i|nt l, h,|
|00006000| 20 6d 2c 20 72 2c 20 63 | 3b 0a 58 0a 58 09 09 09 | m, r, c|;.X.X...|
|00006010| 09 6c 20 3d 20 30 3b 0a | 58 09 09 09 09 68 20 3d |.l = 0;.|X....h =|
|00006020| 20 28 73 69 7a 65 6f 66 | 20 28 72 65 73 77 6f 72 | (sizeof| (reswor|
|00006030| 64 73 29 20 2f 20 73 69 | 7a 65 6f 66 28 72 65 73 |ds) / si|zeof(res|
|00006040| 77 6f 72 64 73 5b 30 5d | 29 29 20 2d 20 31 3b 0a |words[0]|)) - 1;.|
|00006050| 58 09 09 09 09 77 68 69 | 6c 65 20 28 6c 20 3c 3d |X....whi|le (l <=|
|00006060| 20 68 29 20 7b 0a 58 09 | 09 09 09 09 6d 20 3d 20 | h) {.X.|....m = |
|00006070| 28 68 20 2b 20 6c 29 20 | 2f 20 32 3b 0a 58 09 09 |(h + l) |/ 2;.X..|
|00006080| 09 09 09 63 20 3d 20 79 | 79 74 65 78 74 5b 30 5d |...c = y|ytext[0]|
|00006090| 20 2d 20 72 65 73 77 6f | 72 64 73 5b 6d 5d 2e 72 | - reswo|rds[m].r|
|000060a0| 5f 74 65 78 74 5b 30 5d | 3b 0a 58 09 09 09 09 09 |_text[0]|;.X.....|
|000060b0| 72 20 3d 20 63 20 3f 20 | 63 20 3a 20 73 74 72 63 |r = c ? |c : strc|
|000060c0| 6d 70 20 28 79 79 74 65 | 78 74 2c 20 72 65 73 77 |mp (yyte|xt, resw|
|000060d0| 6f 72 64 73 5b 6d 5d 2e | 72 5f 74 65 78 74 29 3b |ords[m].|r_text);|
|000060e0| 0a 58 09 09 09 09 09 69 | 66 20 28 72 20 3c 20 30 |.X.....i|f (r < 0|
|000060f0| 29 0a 58 09 09 09 09 09 | 09 68 20 3d 20 6d 20 2d |).X.....|.h = m -|
|00006100| 20 31 3b 0a 58 09 09 09 | 09 09 65 6c 73 65 20 69 | 1;.X...|..else i|
|00006110| 66 20 28 72 20 3e 20 30 | 29 0a 58 09 09 09 09 09 |f (r > 0|).X.....|
|00006120| 09 6c 20 3d 20 6d 20 2b | 20 31 3b 0a 58 09 09 09 |.l = m +| 1;.X...|
|00006130| 09 09 65 6c 73 65 0a 58 | 09 09 09 09 09 09 72 65 |..else.X|......re|
|00006140| 74 75 72 6e 20 72 65 73 | 77 6f 72 64 73 5b 6d 5d |turn res|words[m]|
|00006150| 2e 72 5f 74 6f 6b 76 61 | 6c 3b 0a 58 09 09 09 09 |.r_tokva|l;.X....|
|00006160| 7d 0a 58 0a 58 09 09 09 | 09 2f 2a 20 6e 6f 74 20 |}.X.X...|./* not |
|00006170| 61 20 6b 65 79 77 6f 72 | 64 20 2a 2f 0a 58 0a 58 |a keywor|d */.X.X|
|00006180| 09 09 09 09 2f 2a 20 73 | 74 6f 72 65 20 69 64 65 |..../* s|tore ide|
|00006190| 6e 74 69 66 69 65 72 73 | 20 69 6e 20 73 79 6d 62 |ntifiers| in symb|
|000061a0| 6f 6c 20 74 61 62 6c 65 | 20 2a 2f 0a 58 09 09 09 |ol table| */.X...|
|000061b0| 09 79 79 6c 76 61 6c 2e | 70 68 65 20 3d 20 4c 6f |.yylval.|phe = Lo|
|000061c0| 6f 6b 75 70 53 79 6d 62 | 6f 6c 20 28 79 79 74 65 |okupSymb|ol (yyte|
|000061d0| 78 74 29 3b 0a 58 09 09 | 09 09 72 65 74 75 72 6e |xt);.X..|..return|
|000061e0| 20 28 49 44 45 4e 54 29 | 3b 0a 58 09 09 09 09 7d | (IDENT)|;.X....}|
|000061f0| 0a 58 5b 22 5d 28 28 5c | 5c 5c 6e 29 7c 28 5c 5c |.X["]((\|\\n)|(\\|
|00006200| 5c 22 29 7c 5b 5e 22 5c | 6e 5d 29 2a 09 7b 0a 58 |\")|[^"\|n])*.{.X|
|00006210| 09 09 09 09 69 66 20 28 | 28 49 4e 63 68 20 3d 20 |....if (|(INch = |
|00006220| 69 6e 70 75 74 28 29 29 | 20 3d 3d 20 4c 45 58 6e |input())| == LEXn|
|00006230| 65 77 6c 69 6e 65 29 20 | 7b 0a 58 09 09 09 09 09 |ewline) |{.X.....|
|00006240| 45 72 72 6f 72 52 65 70 | 6f 72 74 20 28 22 45 6e |ErrorRep|ort ("En|
|00006250| 64 20 6f 66 20 6c 69 6e | 65 20 69 6e 20 73 74 72 |d of lin|e in str|
|00006260| 69 6e 67 2e 5c 6e 22 29 | 3b 0a 58 09 09 09 09 09 |ing.\n")|;.X.....|
|00006270| 75 6e 70 75 74 20 28 49 | 4e 63 68 29 3b 0a 58 09 |unput (I|Nch);.X.|
|00006280| 09 09 09 7d 0a 58 09 09 | 09 09 66 69 78 71 75 6f |...}.X..|..fixquo|
|00006290| 74 65 73 20 28 29 3b 0a | 58 09 09 09 09 79 79 6c |tes ();.|X....yyl|
|000062a0| 76 61 6c 2e 70 73 62 20 | 3d 20 28 63 68 61 72 20 |val.psb |= (char |
|000062b0| 2a 29 20 6d 61 6c 6c 6f | 63 20 28 73 74 72 6c 65 |*) mallo|c (strle|
|000062c0| 6e 20 28 79 79 74 65 78 | 74 29 20 2b 20 31 29 3b |n (yytex|t) + 1);|
|000062d0| 0a 58 09 09 09 09 73 74 | 72 63 70 79 20 28 79 79 |.X....st|rcpy (yy|
|000062e0| 6c 76 61 6c 2e 70 73 62 | 2c 20 79 79 74 65 78 74 |lval.psb|, yytext|
|000062f0| 20 2b 20 31 29 3b 0a 58 | 09 09 09 09 72 65 74 75 | + 1);.X|....retu|
|00006300| 72 6e 20 28 53 43 4f 4e | 53 54 29 3b 0a 58 09 09 |rn (SCON|ST);.X..|
|00006310| 09 09 7d 0a 58 5b 30 5d | 5b 30 2d 37 5d 2a 09 09 |..}.X[0]|[0-7]*..|
|00006320| 09 7b 0a 58 09 09 09 09 | 73 73 63 61 6e 66 20 28 |.{.X....|sscanf (|
|00006330| 79 79 74 65 78 74 2c 20 | 22 25 6f 22 2c 20 26 79 |yytext, |"%o", &y|
|00006340| 79 6c 76 61 6c 2e 69 76 | 61 6c 29 3b 20 20 2f 2a |ylval.iv|al); /*|
|00006350| 20 6f 63 74 61 6c 20 63 | 6f 6e 73 74 61 6e 74 20 | octal c|onstant |
|00006360| 2a 2f 0a 58 09 09 09 09 | 72 65 74 75 72 6e 20 28 |*/.X....|return (|
|00006370| 49 43 4f 4e 53 54 29 3b | 0a 58 09 09 09 09 7d 0a |ICONST);|.X....}.|
|00006380| 58 5b 2d 5d 3f 5b 31 2d | 39 5d 5b 30 2d 39 5d 2a |X[-]?[1-|9][0-9]*|
|00006390| 09 09 09 7b 0a 58 09 09 | 09 09 79 79 6c 76 61 6c |...{.X..|..yylval|
|000063a0| 2e 69 76 61 6c 20 3d 20 | 61 74 6f 69 20 28 79 79 |.ival = |atoi (yy|
|000063b0| 74 65 78 74 29 3b 0a 58 | 09 09 09 09 72 65 74 75 |text);.X|....retu|
|000063c0| 72 6e 20 28 49 43 4f 4e | 53 54 29 3b 0a 58 09 09 |rn (ICON|ST);.X..|
|000063d0| 09 09 7d 0a 58 22 3d 22 | 09 09 09 09 72 65 74 75 |..}.X"="|....retu|
|000063e0| 72 6e 20 28 41 53 47 4e | 29 3b 0a 58 22 2c 22 09 |rn (ASGN|);.X",".|
|000063f0| 09 09 09 72 65 74 75 72 | 6e 20 28 43 4f 4d 4d 41 |...retur|n (COMMA|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.