home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| ASCII text
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 63 6f 6d 70 |Newsgrou|ps: comp|
|00000010| 2e 73 6f 75 72 63 65 73 | 2e 6d 69 73 63 0a 6f 72 |.sources|.misc.or|
|00000020| 67 61 6e 69 7a 61 74 69 | 6f 6e 3a 20 58 65 6e 69 |ganizati|on: Xeni|
|00000030| 78 20 53 75 70 70 6f 72 | 74 2c 20 46 49 43 43 0a |x Suppor|t, FICC.|
|00000040| 66 72 6f 6d 3a 20 70 65 | 74 65 72 40 66 69 63 63 |from: pe|ter@ficc|
|00000050| 2e 75 75 2e 6e 65 74 20 | 28 50 65 74 65 72 20 64 |.uu.net |(Peter d|
|00000060| 61 20 53 69 6c 76 61 29 | 0a 73 75 62 6a 65 63 74 |a Silva)|.subject|
|00000070| 3a 20 76 31 30 69 30 37 | 31 3a 20 49 6d 70 72 6f |: v10i07|1: Impro|
|00000080| 76 65 6d 65 6e 74 73 20 | 74 6f 20 50 61 72 73 65 |vements |to Parse|
|00000090| 61 72 67 73 0a 53 65 6e | 64 65 72 3a 20 61 6c 6c |args.Sen|der: all|
|000000a0| 62 65 72 79 40 75 75 6e | 65 74 2e 55 55 2e 4e 45 |bery@uun|et.UU.NE|
|000000b0| 54 20 28 42 72 61 6e 64 | 6f 6e 20 53 2e 20 41 6c |T (Brand|on S. Al|
|000000c0| 6c 62 65 72 79 20 2d 20 | 63 6f 6d 70 2e 73 6f 75 |lbery - |comp.sou|
|000000d0| 72 63 65 73 2e 6d 69 73 | 63 29 0a 0a 50 6f 73 74 |rces.mis|c)..Post|
|000000e0| 69 6e 67 2d 6e 75 6d 62 | 65 72 3a 20 56 6f 6c 75 |ing-numb|er: Volu|
|000000f0| 6d 65 20 31 30 2c 20 49 | 73 73 75 65 20 37 31 0a |me 10, I|ssue 71.|
|00000100| 53 75 62 6d 69 74 74 65 | 64 2d 62 79 3a 20 70 65 |Submitte|d-by: pe|
|00000110| 74 65 72 40 66 69 63 63 | 2e 75 75 2e 6e 65 74 20 |ter@ficc|.uu.net |
|00000120| 28 50 65 74 65 72 20 64 | 61 20 53 69 6c 76 61 29 |(Peter d|a Silva)|
|00000130| 0a 41 72 63 68 69 76 65 | 2d 6e 61 6d 65 3a 20 70 |.Archive|-name: p|
|00000140| 61 72 73 65 61 72 67 73 | 0a 0a 59 6f 75 27 72 65 |arseargs|..You're|
|00000150| 20 6d 69 73 73 69 6e 67 | 20 73 6f 6d 65 20 73 74 | missing| some st|
|00000160| 75 66 66 20 49 20 73 65 | 6e 74 20 69 6e 2e 20 53 |uff I se|nt in. S|
|00000170| 6f 6d 65 20 73 65 72 69 | 6f 75 73 20 69 6d 70 72 |ome seri|ous impr|
|00000180| 6f 76 65 6d 65 6e 74 73 | 20 74 6f 20 70 61 72 73 |ovements| to pars|
|00000190| 65 61 72 67 73 2c 0a 66 | 6f 72 20 65 78 61 6d 70 |eargs,.f|or examp|
|000001a0| 6c 65 2e 0a 0a 3a 0a 23 | 21 20 2f 62 69 6e 2f 73 |le...:.#|! /bin/s|
|000001b0| 68 0a 23 20 54 68 69 73 | 20 69 73 20 61 20 73 68 |h.# This| is a sh|
|000001c0| 65 6c 6c 20 61 72 63 68 | 69 76 65 2c 20 63 72 65 |ell arch|ive, cre|
|000001d0| 61 74 65 64 20 61 74 20 | 46 65 72 72 61 6e 74 69 |ated at |Ferranti|
|000001e0| 20 49 6e 74 65 72 6e 61 | 74 69 6f 6e 61 6c 20 43 | Interna|tional C|
|000001f0| 6f 6e 74 72 6f 6c 73 20 | 43 6f 72 70 2e 0a 23 20 |ontrols |Corp..# |
|00000200| 62 79 20 70 65 74 65 72 | 20 28 70 65 74 65 72 20 |by peter| (peter |
|00000210| 64 61 20 73 69 6c 76 61 | 2c 20 2b 31 20 37 31 33 |da silva|, +1 713|
|00000220| 20 32 37 34 20 35 31 38 | 30 29 20 6f 6e 20 57 65 | 274 518|0) on We|
|00000230| 64 20 46 65 62 20 20 37 | 20 30 38 3a 31 30 3a 31 |d Feb 7| 08:10:1|
|00000240| 36 20 31 39 39 30 0a 23 | 20 52 65 6d 6f 76 65 20 |6 1990.#| Remove |
|00000250| 61 6e 79 74 68 69 6e 67 | 20 62 65 66 6f 72 65 20 |anything| before |
|00000260| 74 68 65 20 22 23 21 20 | 2f 62 69 6e 2f 73 68 22 |the "#! |/bin/sh"|
|00000270| 20 6c 69 6e 65 2c 20 74 | 68 65 6e 20 75 6e 70 61 | line, t|hen unpa|
|00000280| 63 6b 20 69 74 20 62 79 | 20 73 61 76 69 6e 67 0a |ck it by| saving.|
|00000290| 23 20 69 74 20 69 6e 74 | 6f 20 61 20 66 69 6c 65 |# it int|o a file|
|000002a0| 20 61 6e 64 20 74 79 70 | 69 6e 67 20 22 73 68 20 | and typ|ing "sh |
|000002b0| 66 69 6c 65 22 2e 20 20 | 49 66 20 79 6f 75 20 64 |file". |If you d|
|000002c0| 6f 20 6e 6f 74 20 68 61 | 76 65 20 73 68 2c 20 79 |o not ha|ve sh, y|
|000002d0| 6f 75 20 6e 65 65 64 20 | 0a 23 20 75 6e 73 68 61 |ou need |.# unsha|
|000002e0| 72 2c 20 61 20 64 65 61 | 72 63 68 69 76 69 6e 67 |r, a dea|rchiving|
|000002f0| 20 70 72 6f 67 72 61 6d | 20 77 68 69 63 68 20 69 | program| which i|
|00000300| 73 20 77 69 64 65 6c 79 | 20 61 76 61 69 6c 61 62 |s widely| availab|
|00000310| 6c 65 2e 20 20 49 6e 20 | 74 68 65 20 61 62 73 6f |le. In |the abso|
|00000320| 6c 75 74 65 0a 23 20 77 | 6f 73 74 20 63 61 73 65 |lute.# w|ost case|
|00000330| 2c 20 79 6f 75 20 63 61 | 6e 20 63 72 61 63 6b 20 |, you ca|n crack |
|00000340| 74 68 65 20 66 69 6c 65 | 73 20 6f 75 74 20 62 79 |the file|s out by|
|00000350| 20 68 61 6e 64 2e 0a 23 | 20 49 66 20 74 68 65 20 | hand..#| If the |
|00000360| 61 72 63 68 69 76 65 20 | 69 73 20 63 6f 6d 70 6c |archive |is compl|
|00000370| 65 74 65 2c 20 79 6f 75 | 20 77 69 6c 6c 20 73 65 |ete, you| will se|
|00000380| 65 20 74 68 65 20 6d 65 | 73 73 61 67 65 20 22 45 |e the me|ssage "E|
|00000390| 6e 64 20 6f 66 20 61 72 | 63 68 69 76 65 2e 22 0a |nd of ar|chive.".|
|000003a0| 23 20 61 74 20 74 68 65 | 20 65 6e 64 2e 0a 23 20 |# at the| end..# |
|000003b0| 54 68 69 73 20 61 72 63 | 68 69 76 65 20 63 6f 6e |This arc|hive con|
|000003c0| 74 61 69 6e 73 20 74 68 | 65 20 66 6f 6c 6c 6f 77 |tains th|e follow|
|000003d0| 69 6e 67 20 66 69 6c 65 | 73 2e 2e 2e 0a 23 20 27 |ing file|s....# '|
|000003e0| 52 45 41 44 4d 45 27 0a | 23 20 27 52 45 41 44 4d |README'.|# 'READM|
|000003f0| 45 2e 50 44 53 27 0a 23 | 20 27 4d 61 6b 65 66 69 |E.PDS'.#| 'Makefi|
|00000400| 6c 65 27 0a 23 20 27 66 | 75 6e 63 6c 69 73 74 2e |le'.# 'f|unclist.|
|00000410| 68 27 0a 23 20 27 70 61 | 72 73 65 61 72 67 73 2e |h'.# 'pa|rseargs.|
|00000420| 68 27 0a 23 20 27 75 73 | 65 66 75 6c 2e 68 27 0a |h'.# 'us|eful.h'.|
|00000430| 23 20 27 63 6b 61 6c 6c | 6f 63 2e 63 27 0a 23 20 |# 'ckall|oc.c'.# |
|00000440| 27 61 72 67 74 79 70 65 | 2e 63 27 0a 23 20 27 66 |'argtype|.c'.# 'f|
|00000450| 70 5f 61 72 67 74 79 70 | 65 2e 63 27 0a 23 20 27 |p_argtyp|e.c'.# '|
|00000460| 66 75 6e 63 6c 69 73 74 | 2e 63 27 0a 23 20 27 6f |funclist|.c'.# 'o|
|00000470| 70 65 6e 70 61 74 68 2e | 63 27 0a 23 20 27 61 6d |penpath.|c'.# 'am|
|00000480| 69 67 61 5f 61 72 67 73 | 2e 63 27 0a 23 20 27 75 |iga_args|.c'.# 'u|
|00000490| 6e 69 78 5f 61 72 67 73 | 2e 63 27 0a 23 20 27 73 |nix_args|.c'.# 's|
|000004a0| 79 73 65 72 72 2e 63 27 | 0a 23 20 27 74 72 61 63 |yserr.c'|.# 'trac|
|000004b0| 65 73 65 74 2e 63 27 0a | 23 20 27 73 74 65 73 74 |eset.c'.|# 'stest|
|000004c0| 2e 63 27 0a 23 20 27 63 | 6b 61 6c 6c 6f 63 2e 33 |.c'.# 'c|kalloc.3|
|000004d0| 27 0a 23 20 27 66 75 6e | 63 6c 69 73 74 2e 33 27 |'.# 'fun|clist.3'|
|000004e0| 0a 23 20 27 6f 70 65 6e | 70 61 74 68 2e 33 27 0a |.# 'open|path.3'.|
|000004f0| 23 20 27 70 61 72 73 65 | 61 72 67 73 2e 33 27 0a |# 'parse|args.3'.|
|00000500| 23 20 27 73 79 73 65 72 | 72 2e 33 27 0a 23 20 27 |# 'syser|r.3'.# '|
|00000510| 74 72 61 63 65 2e 33 27 | 0a 23 20 54 6f 20 65 78 |trace.3'|.# To ex|
|00000520| 74 72 61 63 74 20 74 68 | 65 6d 2c 20 72 75 6e 20 |tract th|em, run |
|00000530| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 74 68 |the foll|owing th|
|00000540| 72 6f 75 67 68 20 2f 62 | 69 6e 2f 73 68 0a 65 63 |rough /b|in/sh.ec|
|00000550| 68 6f 20 78 20 2d 20 52 | 45 41 44 4d 45 0a 73 65 |ho x - R|EADME.se|
|00000560| 64 20 27 73 2f 5e 58 2f | 2f 27 20 3e 20 52 45 41 |d 's/^X/|/' > REA|
|00000570| 44 4d 45 20 3c 3c 20 27 | 2f 2f 45 4e 44 5f 4f 46 |DME << '|//END_OF|
|00000580| 5f 46 49 4c 45 27 0a 58 | 0a 58 09 09 09 20 20 4e |_FILE'.X|.X... N|
|00000590| 49 46 54 59 20 55 54 49 | 4c 49 54 59 20 4c 49 42 |IFTY UTI|LITY LIB|
|000005a0| 52 41 52 59 0a 58 0a 58 | 09 09 09 20 20 20 20 20 |RARY.X.X|... |
|000005b0| 45 72 69 63 20 50 2e 20 | 41 6c 6c 6d 61 6e 0a 58 |Eric P. |Allman.X|
|000005c0| 09 09 09 55 6e 69 76 65 | 72 73 69 74 79 20 6f 66 |...Unive|rsity of|
|000005d0| 20 43 61 6c 69 66 6f 72 | 6e 69 61 0a 58 09 09 09 | Califor|nia.X...|
|000005e0| 20 20 42 65 72 6b 65 6c | 65 79 2c 20 43 61 6c 69 | Berkel|ey, Cali|
|000005f0| 66 6f 72 6e 69 61 0a 58 | 09 09 09 20 20 20 20 65 |fornia.X|... e|
|00000600| 72 69 63 40 42 65 72 6b | 65 6c 65 79 2e 45 44 55 |ric@Berk|eley.EDU|
|00000610| 0a 58 0a 58 0a 58 53 55 | 4d 4d 41 52 59 0a 58 09 |.X.X.XSU|MMARY.X.|
|00000620| 54 68 69 73 20 64 69 72 | 65 63 74 6f 72 79 20 63 |This dir|ectory c|
|00000630| 6f 6e 74 61 69 6e 73 20 | 61 20 73 75 62 73 65 74 |ontains |a subset|
|00000640| 20 6f 66 20 61 20 75 74 | 69 6c 69 74 79 20 6c 69 | of a ut|ility li|
|00000650| 62 72 61 72 79 20 74 68 | 61 74 20 49 20 68 61 76 |brary th|at I hav|
|00000660| 65 0a 58 09 75 73 65 64 | 20 28 69 6e 20 76 61 72 |e.X.used| (in var|
|00000670| 69 6f 75 73 20 66 6f 72 | 6d 73 29 20 66 6f 72 20 |ious for|ms) for |
|00000680| 73 65 76 65 72 61 6c 20 | 79 65 61 72 73 20 6e 6f |several |years no|
|00000690| 77 2e 20 20 54 68 69 73 | 20 70 61 72 74 69 63 75 |w. This| particu|
|000006a0| 6c 61 72 0a 58 09 76 65 | 72 73 69 6f 6e 20 69 73 |lar.X.ve|rsion is|
|000006b0| 20 72 61 74 68 65 72 20 | 73 70 61 72 73 65 2c 20 | rather |sparse, |
|000006c0| 62 65 69 6e 67 20 61 20 | 72 65 6c 61 74 69 76 65 |being a |relative|
|000006d0| 6c 79 20 72 65 63 65 6e | 74 20 72 65 69 6d 70 6c |ly recen|t reimpl|
|000006e0| 65 6d 65 6e 74 61 74 69 | 6f 6e 2e 0a 58 0a 58 09 |ementati|on..X.X.|
|000006f0| 49 20 61 6d 20 6d 61 6b | 69 6e 67 20 74 68 69 73 |I am mak|ing this|
|00000700| 20 61 76 61 69 6c 61 62 | 6c 65 20 61 73 20 61 20 | availab|le as a |
|00000710| 72 65 73 75 6c 74 20 6f | 66 20 74 68 65 20 72 61 |result o|f the ra|
|00000720| 74 68 65 72 20 73 75 72 | 70 72 69 73 69 6e 67 0a |ther sur|prising.|
|00000730| 58 09 72 65 73 70 6f 6e | 73 65 20 74 6f 20 6d 79 |X.respon|se to my|
|00000740| 20 43 20 41 64 76 69 73 | 6f 72 20 63 6f 6c 75 6d | C Advis|or colum|
|00000750| 6e 20 69 6e 20 55 4e 49 | 58 20 52 65 76 69 65 77 |n in UNI|X Review|
|00000760| 20 56 6f 6c 2e 20 37 20 | 4e 6f 2e 20 31 31 20 6f | Vol. 7 |No. 11 o|
|00000770| 6e 0a 58 09 61 72 67 75 | 6d 65 6e 74 20 70 61 72 |n.X.argu|ment par|
|00000780| 73 69 6e 67 2c 20 69 6e | 20 77 68 69 63 68 20 49 |sing, in| which I|
|00000790| 20 64 65 73 63 72 69 62 | 65 64 20 61 6e 20 61 6c | describ|ed an al|
|000007a0| 74 65 72 6e 61 74 69 76 | 65 20 74 6f 20 67 65 74 |ternativ|e to get|
|000007b0| 6f 70 74 2e 0a 58 09 53 | 65 76 65 72 61 6c 20 64 |opt..X.S|everal d|
|000007c0| 6f 7a 65 6e 20 70 65 6f | 70 6c 65 20 68 61 76 65 |ozen peo|ple have|
|000007d0| 20 61 73 6b 65 64 20 66 | 6f 72 20 74 68 65 20 73 | asked f|or the s|
|000007e0| 6f 75 72 63 65 20 63 6f | 64 65 20 2d 2d 20 61 6e |ource co|de -- an|
|000007f0| 20 61 6d 61 7a 69 6e 67 | 0a 58 09 6e 75 6d 62 65 | amazing|.X.numbe|
|00000800| 72 2c 20 63 6f 6e 73 69 | 64 65 72 69 6e 67 20 74 |r, consi|dering t|
|00000810| 68 61 74 20 69 6e 20 74 | 68 65 20 66 6f 75 72 20 |hat in t|he four |
|00000820| 79 65 61 72 73 20 70 72 | 69 6f 72 20 74 6f 20 74 |years pr|ior to t|
|00000830| 68 69 73 20 63 6f 6c 75 | 6d 6e 2c 0a 58 09 49 20 |his colu|mn,.X.I |
|00000840| 68 61 76 65 20 67 6f 74 | 74 65 6e 20 70 65 72 68 |have got|ten perh|
|00000850| 61 70 73 20 73 69 78 20 | 6c 65 74 74 65 72 73 20 |aps six |letters |
|00000860| 69 6e 20 74 6f 74 6f 2e | 0a 58 0a 58 09 52 61 74 |in toto.|.X.X.Rat|
|00000870| 68 65 72 20 74 68 61 6e | 20 6c 69 6d 69 74 69 6e |her than| limitin|
|00000880| 67 20 74 68 69 73 20 64 | 69 73 74 72 69 62 75 74 |g this d|istribut|
|00000890| 69 6f 6e 20 74 6f 20 74 | 68 65 20 73 69 6e 67 6c |ion to t|he singl|
|000008a0| 65 20 61 72 67 75 6d 65 | 6e 74 0a 58 09 70 61 72 |e argume|nt.X.par|
|000008b0| 73 69 6e 67 20 6d 6f 64 | 75 6c 65 2c 20 49 20 68 |sing mod|ule, I h|
|000008c0| 61 76 65 20 61 64 64 65 | 64 20 73 65 76 65 72 61 |ave adde|d severa|
|000008d0| 6c 20 6f 74 68 65 72 20 | 72 6f 75 74 69 6e 65 73 |l other |routines|
|000008e0| 2c 20 6d 61 6e 79 20 6f | 66 20 77 68 69 63 68 0a |, many o|f which.|
|000008f0| 58 09 6d 79 20 6d 6f 72 | 65 20 66 61 69 74 68 66 |X.my mor|e faithf|
|00000900| 75 6c 20 72 65 61 64 65 | 72 73 20 77 69 6c 6c 20 |ul reade|rs will |
|00000910| 72 65 63 6f 67 6e 69 7a | 65 2e 0a 58 0a 58 43 4f |recogniz|e..X.XCO|
|00000920| 50 59 2f 52 45 55 53 45 | 20 50 4f 4c 49 43 59 0a |PY/REUSE| POLICY.|
|00000930| 58 09 50 65 72 6d 69 73 | 73 69 6f 6e 20 69 73 20 |X.Permis|sion is |
|00000940| 68 65 72 65 62 79 20 67 | 72 61 6e 74 65 64 20 74 |hereby g|ranted t|
|00000950| 6f 20 66 72 65 65 6c 79 | 20 63 6f 70 79 20 61 6e |o freely| copy an|
|00000960| 64 20 72 65 64 69 73 74 | 72 69 62 75 74 65 20 74 |d redist|ribute t|
|00000970| 68 69 73 0a 58 09 73 6f | 66 74 77 61 72 65 2c 20 |his.X.so|ftware, |
|00000980| 70 72 6f 76 69 64 65 64 | 20 74 68 61 74 20 74 68 |provided| that th|
|00000990| 65 20 61 75 74 68 6f 72 | 20 69 73 20 63 6c 65 61 |e author| is clea|
|000009a0| 72 6c 79 20 63 72 65 64 | 69 74 65 64 20 69 6e 20 |rly cred|ited in |
|000009b0| 61 6c 6c 0a 58 09 63 6f | 70 69 65 73 20 61 6e 64 |all.X.co|pies and|
|000009c0| 20 64 65 72 69 76 61 74 | 69 6f 6e 73 2e 20 20 4e | derivat|ions. N|
|000009d0| 65 69 74 68 65 72 20 74 | 68 65 20 6e 61 6d 65 20 |either t|he name |
|000009e0| 6f 66 20 74 68 65 20 61 | 75 74 68 6f 72 20 6e 6f |of the a|uthor no|
|000009f0| 72 20 74 68 61 74 0a 58 | 09 6f 66 20 74 68 65 20 |r that.X|.of the |
|00000a00| 55 6e 69 76 65 72 73 69 | 74 79 20 6d 61 79 20 62 |Universi|ty may b|
|00000a10| 65 20 75 73 65 64 20 74 | 6f 20 65 6e 64 6f 72 73 |e used t|o endors|
|00000a20| 65 20 6f 72 20 70 72 6f | 6d 6f 74 65 20 70 72 6f |e or pro|mote pro|
|00000a30| 64 75 63 74 73 0a 58 09 | 64 65 72 69 76 65 64 20 |ducts.X.|derived |
|00000a40| 66 72 6f 6d 20 74 68 69 | 73 20 73 6f 66 74 77 61 |from thi|s softwa|
|00000a50| 72 65 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |re witho|ut speci|
|00000a60| 66 69 63 20 77 72 69 74 | 74 65 6e 20 70 65 72 6d |fic writ|ten perm|
|00000a70| 69 73 73 69 6f 6e 2e 0a | 58 09 54 68 69 73 20 73 |ission..|X.This s|
|00000a80| 6f 66 74 77 61 72 65 20 | 69 73 20 70 72 6f 76 69 |oftware |is provi|
|00000a90| 64 65 64 20 60 60 41 73 | 20 49 73 27 27 20 61 6e |ded ``As| Is'' an|
|00000aa0| 64 20 77 69 74 68 6f 75 | 74 20 61 6e 79 20 65 78 |d withou|t any ex|
|00000ab0| 70 72 65 73 73 20 6f 72 | 0a 58 09 69 6d 70 6c 69 |press or|.X.impli|
|00000ac0| 65 64 20 77 61 72 72 61 | 6e 74 69 65 73 2e 0a 58 |ed warra|nties..X|
|00000ad0| 0a 58 43 4f 4e 54 45 4e | 54 53 0a 58 09 54 68 69 |.XCONTEN|TS.X.Thi|
|00000ae0| 73 20 64 69 72 65 63 74 | 6f 72 79 20 63 6f 6e 74 |s direct|ory cont|
|00000af0| 61 69 6e 73 3a 0a 58 09 | 09 52 45 41 44 4d 45 20 |ains:.X.|.README |
|00000b00| 2d 2d 20 74 68 69 73 20 | 66 69 6c 65 2e 0a 58 09 |-- this |file..X.|
|00000b10| 09 4d 61 6b 65 66 69 6c | 65 20 2d 2d 20 61 20 6d |.Makefil|e -- a m|
|00000b20| 61 6b 65 66 69 6c 65 20 | 66 6f 72 20 74 68 65 20 |akefile |for the |
|00000b30| 6c 69 62 72 61 72 79 2e | 0a 58 09 09 75 73 65 66 |library.|.X..usef|
|00000b40| 75 6c 2e 68 20 2d 2d 20 | 61 20 67 65 6e 65 72 61 |ul.h -- |a genera|
|00000b50| 6c 20 68 65 61 64 65 72 | 20 66 69 6c 65 2c 20 75 |l header| file, u|
|00000b60| 73 65 64 20 62 79 20 6d | 6f 73 74 20 65 76 65 72 |sed by m|ost ever|
|00000b70| 79 74 68 69 6e 67 2e 0a | 58 09 09 63 6b 61 6c 6c |ything..|X..ckall|
|00000b80| 6f 63 2e 63 20 2d 2d 20 | 61 6e 20 69 6e 74 65 72 |oc.c -- |an inter|
|00000b90| 66 61 63 65 20 74 6f 20 | 6d 61 6c 6c 6f 63 28 33 |face to |malloc(3|
|00000ba0| 29 20 77 68 69 63 68 20 | 64 69 61 67 6e 6f 73 65 |) which |diagnose|
|00000bb0| 73 0a 58 09 09 09 6f 75 | 74 20 6f 66 20 6d 65 6d |s.X...ou|t of mem|
|00000bc0| 6f 72 79 20 63 6f 6e 64 | 69 74 69 6f 6e 73 2e 20 |ory cond|itions. |
|00000bd0| 20 54 68 69 73 20 74 6f | 70 69 63 20 77 61 73 20 | This to|pic was |
|00000be0| 64 69 73 63 75 73 73 65 | 64 0a 58 09 09 09 69 6e |discusse|d.X...in|
|00000bf0| 20 74 68 65 20 43 20 41 | 64 76 69 73 6f 72 20 63 | the C A|dvisor c|
|00000c00| 6f 6c 75 6d 6e 20 69 6e | 20 55 4e 49 58 20 52 65 |olumn in| UNIX Re|
|00000c10| 76 69 65 77 20 56 6f 6c | 2e 20 37 20 4e 6f 20 37 |view Vol|. 7 No 7|
|00000c20| 2e 0a 58 09 09 63 6b 61 | 6c 6c 6f 63 2e 33 20 2d |..X..cka|lloc.3 -|
|00000c30| 2d 20 64 6f 63 75 6d 65 | 6e 74 61 74 69 6f 6e 20 |- docume|ntation |
|00000c40| 66 6f 72 20 63 6b 61 6c | 6c 6f 63 2e 0a 58 09 09 |for ckal|loc..X..|
|00000c50| 66 75 6e 63 6c 69 73 74 | 2e 68 20 2d 2d 20 61 20 |funclist|.h -- a |
|00000c60| 68 65 61 64 65 72 20 66 | 69 6c 65 20 73 70 65 63 |header f|ile spec|
|00000c70| 69 66 69 63 20 74 6f 20 | 74 68 65 20 66 75 6e 63 |ific to |the func|
|00000c80| 74 69 6f 6e 20 6c 69 73 | 74 0a 58 09 09 09 72 6f |tion lis|t.X...ro|
|00000c90| 75 74 69 6e 65 73 20 69 | 6e 20 66 75 6e 63 6c 69 |utines i|n funcli|
|00000ca0| 73 74 2e 63 2e 0a 58 09 | 09 66 75 6e 63 6c 69 73 |st.c..X.|.funclis|
|00000cb0| 74 2e 63 20 2d 2d 20 72 | 6f 75 74 69 6e 65 73 20 |t.c -- r|outines |
|00000cc0| 74 68 61 74 20 70 72 6f | 76 69 64 65 20 6c 69 73 |that pro|vide lis|
|00000cd0| 74 73 20 6f 66 20 60 60 | 63 61 6c 6c 6f 75 74 27 |ts of ``|callout'|
|00000ce0| 27 0a 58 09 09 09 66 75 | 6e 63 74 69 6f 6e 73 2c |'.X...fu|nctions,|
|00000cf0| 20 75 73 65 64 20 62 79 | 20 73 65 76 65 72 61 6c | used by| several|
|00000d00| 20 6f 66 20 74 68 65 20 | 6f 74 68 65 72 20 72 6f | of the |other ro|
|00000d10| 75 74 69 6e 65 73 0a 58 | 09 09 09 74 6f 20 68 61 |utines.X|...to ha|
|00000d20| 6e 64 6c 65 20 65 72 72 | 6f 72 73 2e 0a 58 09 09 |ndle err|ors..X..|
|00000d30| 66 75 6e 63 6c 69 73 74 | 2e 33 20 2d 2d 20 64 6f |funclist|.3 -- do|
|00000d40| 63 75 6d 65 6e 74 61 74 | 69 6f 6e 20 66 6f 72 20 |cumentat|ion for |
|00000d50| 74 68 65 20 66 75 6e 63 | 6c 69 73 74 20 72 6f 75 |the func|list rou|
|00000d60| 74 69 6e 65 73 2e 0a 58 | 09 09 6c 77 70 5f 64 75 |tines..X|..lwp_du|
|00000d70| 6d 70 2e 63 20 2d 2d 20 | 61 20 72 6f 75 74 69 6e |mp.c -- |a routin|
|00000d80| 65 20 74 6f 20 64 75 6d | 70 20 74 68 65 20 73 74 |e to dum|p the st|
|00000d90| 61 74 65 20 6f 66 20 74 | 68 65 20 4c 69 67 68 74 |ate of t|he Light|
|00000da0| 57 65 69 67 68 74 0a 58 | 09 09 09 50 72 6f 63 65 |Weight.X|...Proce|
|00000db0| 73 73 20 73 79 73 74 65 | 6d 20 69 6e 20 53 75 6e |ss syste|m in Sun|
|00000dc0| 4f 53 20 34 2e 30 20 2d | 2d 20 74 68 69 73 20 69 |OS 4.0 -|- this i|
|00000dd0| 73 6e 27 74 20 75 73 65 | 64 2c 20 62 75 74 0a 58 |sn't use|d, but.X|
|00000de0| 09 09 09 6d 61 79 20 62 | 65 20 75 73 65 66 75 6c |...may b|e useful|
|00000df0| 20 74 6f 20 73 6f 6d 65 | 20 6f 66 20 79 6f 75 2e | to some| of you.|
|00000e00| 0a 58 09 09 6f 70 65 6e | 70 61 74 68 2e 63 20 2d |.X..open|path.c -|
|00000e10| 2d 20 61 20 72 6f 75 74 | 69 6e 65 20 74 6f 20 6f |- a rout|ine to o|
|00000e20| 70 65 6e 20 61 20 66 69 | 6c 65 2c 20 73 65 61 72 |pen a fi|le, sear|
|00000e30| 63 68 69 6e 67 20 74 68 | 72 6f 75 67 68 0a 58 09 |ching th|rough.X.|
|00000e40| 09 09 61 20 70 61 74 68 | 20 6f 66 20 64 69 72 65 |..a path| of dire|
|00000e50| 63 74 6f 72 69 65 73 20 | 74 6f 20 66 69 6e 64 20 |ctories |to find |
|00000e60| 69 74 2e 0a 58 09 09 6f | 70 65 6e 70 61 74 68 2e |it..X..o|penpath.|
|00000e70| 33 20 2d 2d 20 64 6f 63 | 75 6d 65 6e 74 61 74 69 |3 -- doc|umentati|
|00000e80| 6f 6e 20 66 6f 72 20 6f | 70 65 6e 70 61 74 68 2e |on for o|penpath.|
|00000e90| 0a 58 09 09 70 61 72 73 | 65 61 72 67 73 2e 68 20 |.X..pars|eargs.h |
|00000ea0| 2d 2d 20 68 65 61 64 65 | 72 73 20 66 6f 72 20 74 |-- heade|rs for t|
|00000eb0| 68 65 20 61 72 67 75 6d | 65 6e 74 20 70 61 72 73 |he argum|ent pars|
|00000ec0| 65 72 2e 0a 58 09 09 70 | 61 72 73 65 61 72 67 73 |er..X..p|arseargs|
|00000ed0| 2e 63 20 2d 2d 20 61 20 | 63 6f 6d 6d 61 6e 64 20 |.c -- a |command |
|00000ee0| 6c 69 6e 65 20 61 72 67 | 75 6d 65 6e 74 20 70 61 |line arg|ument pa|
|00000ef0| 72 73 65 72 2e 20 20 50 | 6f 70 75 6c 61 72 0a 58 |rser. P|opular.X|
|00000f00| 09 09 09 72 65 73 70 6f | 6e 73 65 20 74 6f 20 6d |...respo|nse to m|
|00000f10| 79 20 43 20 41 64 76 69 | 73 6f 72 20 63 6f 6c 75 |y C Advi|sor colu|
|00000f20| 6d 6e 20 61 62 6f 75 74 | 20 74 68 69 73 20 72 6f |mn about| this ro|
|00000f30| 75 74 69 6e 65 0a 58 09 | 09 09 69 6e 20 55 4e 49 |utine.X.|..in UNI|
|00000f40| 58 20 52 65 76 69 65 77 | 20 56 6f 6c 2e 20 37 20 |X Review| Vol. 7 |
|00000f50| 4e 6f 2e 20 31 31 20 70 | 72 6f 6d 70 74 65 64 20 |No. 11 p|rompted |
|00000f60| 6d 65 20 74 6f 20 6d 61 | 6b 65 0a 58 09 09 09 74 |me to ma|ke.X...t|
|00000f70| 68 69 73 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |his dist|ribution|
|00000f80| 20 61 76 61 69 6c 61 62 | 6c 65 2e 0a 58 09 09 70 | availab|le..X..p|
|00000f90| 61 72 73 65 61 72 67 73 | 2e 33 20 2d 2d 20 64 6f |arseargs|.3 -- do|
|00000fa0| 63 75 6d 65 6e 74 61 74 | 69 6f 6e 20 66 6f 72 20 |cumentat|ion for |
|00000fb0| 70 61 72 73 65 61 72 67 | 73 2e 0a 58 09 09 66 70 |parsearg|s..X..fp|
|00000fc0| 5f 61 72 67 73 2e 63 20 | 2d 2d 20 61 72 67 75 6d |_args.c |-- argum|
|00000fd0| 65 6e 74 20 76 61 6c 75 | 65 20 70 61 72 73 65 72 |ent valu|e parser|
|00000fe0| 73 20 66 6f 72 20 66 6c | 6f 61 74 69 6e 67 20 70 |s for fl|oating p|
|00000ff0| 6f 69 6e 74 20 76 61 6c | 75 65 73 3b 0a 58 09 09 |oint val|ues;.X..|
|00001000| 09 75 73 65 64 20 62 79 | 20 70 61 72 73 65 61 72 |.used by| parsear|
|00001010| 67 73 2e 20 20 54 68 69 | 73 20 69 73 20 6f 6e 6c |gs. Thi|s is onl|
|00001020| 79 20 69 6e 63 6c 75 64 | 65 64 20 69 66 20 79 6f |y includ|ed if yo|
|00001030| 75 20 6e 65 65 64 0a 58 | 09 09 09 46 50 20 76 61 |u need.X|...FP va|
|00001040| 6c 75 65 73 2e 20 20 49 | 20 68 61 64 20 74 6f 20 |lues. I| had to |
|00001050| 62 72 65 61 6b 20 74 68 | 69 73 20 6f 75 74 20 62 |break th|is out b|
|00001060| 65 63 61 75 73 65 20 52 | 49 53 43 2f 6f 73 0a 58 |ecause R|ISC/os.X|
|00001070| 09 09 09 34 2e 30 31 20 | 66 72 6f 6d 20 4d 69 70 |...4.01 |from Mip|
|00001080| 73 20 64 6f 65 73 6e 27 | 74 20 73 65 65 6d 20 74 |s doesn'|t seem t|
|00001090| 6f 20 73 75 70 70 6f 72 | 74 20 73 74 72 74 6f 64 |o suppor|t strtod|
|000010a0| 20 69 6e 20 74 68 65 0a | 58 09 09 09 42 53 44 20 | in the.|X...BSD |
|000010b0| 65 6e 76 69 72 6f 6e 6d | 65 6e 74 2e 20 20 59 6f |environm|ent. Yo|
|000010c0| 75 20 6d 61 79 20 66 69 | 6e 64 20 79 6f 75 20 6e |u may fi|nd you n|
|000010d0| 65 65 64 20 74 6f 20 69 | 6e 63 6c 75 64 65 0a 58 |eed to i|nclude.X|
|000010e0| 09 09 09 2d 6c 6d 20 66 | 6f 72 20 74 68 69 73 20 |...-lm f|or this |
|000010f0| 74 6f 20 77 6f 72 6b 2e | 0a 58 09 09 73 79 73 65 |to work.|.X..syse|
|00001100| 72 72 2e 63 20 2d 2d 20 | 65 72 72 6f 72 20 6d 65 |rr.c -- |error me|
|00001110| 73 73 61 67 65 20 70 72 | 69 6e 74 69 6e 67 20 72 |ssage pr|inting r|
|00001120| 6f 75 74 69 6e 65 73 2e | 20 20 41 20 76 65 72 73 |outines.| A vers|
|00001130| 69 6f 6e 20 6f 66 0a 58 | 09 09 09 74 68 69 73 20 |ion of.X|...this |
|00001140| 77 61 73 20 64 69 73 63 | 75 73 73 65 64 20 69 6e |was disc|ussed in|
|00001150| 20 74 68 65 20 43 20 41 | 64 76 69 73 6f 72 20 63 | the C A|dvisor c|
|00001160| 6f 6c 75 6d 6e 20 69 6e | 20 55 4e 49 58 0a 58 09 |olumn in| UNIX.X.|
|00001170| 09 09 52 65 76 69 65 77 | 2c 20 56 6f 6c 2e 20 37 |..Review|, Vol. 7|
|00001180| 20 4e 6f 2e 20 37 2e 0a | 58 09 09 73 79 73 65 72 | No. 7..|X..syser|
|00001190| 72 2e 33 20 2d 2d 20 64 | 6f 63 75 6d 65 6e 74 61 |r.3 -- d|ocumenta|
|000011a0| 74 69 6f 6e 20 66 6f 72 | 20 73 79 73 65 72 72 2e |tion for| syserr.|
|000011b0| 0a 58 09 09 74 72 61 63 | 65 73 65 74 2e 63 20 2d |.X..trac|eset.c -|
|000011c0| 2d 20 72 6f 75 74 69 6e | 65 73 20 74 6f 20 73 65 |- routin|es to se|
|000011d0| 74 20 74 72 61 63 65 20 | 66 6c 61 67 73 2e 20 20 |t trace |flags. |
|000011e0| 54 68 65 20 66 6c 61 67 | 73 20 61 72 65 0a 58 09 |The flag|s are.X.|
|000011f0| 09 09 74 65 73 74 65 64 | 20 62 79 20 6d 61 63 72 |..tested| by macr|
|00001200| 6f 73 20 63 6f 6e 74 61 | 69 6e 65 64 20 69 6e 20 |os conta|ined in |
|00001210| 75 73 65 66 75 6c 2e 68 | 2e 0a 58 09 09 74 72 61 |useful.h|..X..tra|
|00001220| 63 65 2e 33 20 2d 2d 20 | 64 6f 63 75 6d 65 6e 74 |ce.3 -- |document|
|00001230| 61 74 69 6f 6e 20 66 6f | 72 20 74 68 65 20 74 72 |ation fo|r the tr|
|00001240| 61 63 65 20 72 6f 75 74 | 69 6e 65 73 20 61 6e 64 |ace rout|ines and|
|00001250| 20 6d 61 63 72 6f 73 2e | 0a 58 09 09 73 74 65 73 | macros.|.X..stes|
|00001260| 74 2e 63 20 2d 2d 20 61 | 20 73 6d 61 6c 6c 20 74 |t.c -- a| small t|
|00001270| 65 73 74 20 70 72 6f 67 | 72 61 6d 20 66 6f 72 20 |est prog|ram for |
|00001280| 74 68 65 20 61 72 67 75 | 6d 65 6e 74 20 70 61 72 |the argu|ment par|
|00001290| 73 65 72 2e 0a 58 0a 58 | 09 54 68 65 20 70 61 72 |ser..X.X|.The par|
|000012a0| 73 65 61 72 67 73 20 72 | 6f 75 74 69 6e 65 20 72 |seargs r|outine r|
|000012b0| 65 61 6c 6c 79 20 6f 75 | 67 68 74 20 74 6f 20 68 |eally ou|ght to h|
|000012c0| 61 76 65 20 61 20 77 61 | 79 20 6f 66 20 6d 61 74 |ave a wa|y of mat|
|000012d0| 63 68 69 6e 67 20 61 0a | 58 09 6c 69 73 74 20 28 |ching a.|X.list (|
|000012e0| 65 2e 67 2e 2c 20 72 65 | 74 75 72 6e 20 74 68 65 |e.g., re|turn the|
|000012f0| 20 72 65 73 74 20 6f 66 | 20 61 72 67 76 29 2e 20 | rest of| argv). |
|00001300| 20 54 68 69 73 20 69 73 | 6e 27 74 20 65 73 70 65 | This is|n't espe|
|00001310| 63 69 61 6c 6c 79 0a 58 | 09 68 61 72 64 20 74 6f |cially.X|.hard to|
|00001320| 20 64 6f 2c 20 62 75 74 | 20 49 20 68 61 76 65 6e | do, but| I haven|
|00001330| 27 74 20 67 6f 74 74 65 | 6e 20 61 72 6f 75 6e 64 |'t gotte|n around|
|00001340| 20 74 6f 20 69 74 20 79 | 65 74 2e 0a 58 0a 58 44 | to it y|et..X.XD|
|00001350| 49 53 43 4c 41 49 4d 45 | 52 53 0a 58 09 49 20 68 |ISCLAIME|RS.X.I h|
|00001360| 61 63 6b 65 64 20 74 68 | 69 73 20 63 6f 64 65 20 |acked th|is code |
|00001370| 75 70 20 74 6f 20 28 68 | 6f 70 65 66 75 6c 6c 79 |up to (h|opefully|
|00001380| 29 20 77 6f 72 6b 20 6f | 6e 20 41 4e 53 49 20 43 |) work o|n ANSI C|
|00001390| 20 63 6f 6d 70 69 6c 65 | 72 73 2c 0a 58 09 73 69 | compile|rs,.X.si|
|000013a0| 6e 63 65 20 73 65 76 65 | 72 61 6c 20 72 65 61 64 |nce seve|ral read|
|000013b0| 65 72 73 20 73 65 65 6d | 20 74 6f 20 62 65 20 69 |ers seem| to be i|
|000013c0| 6e 74 65 72 65 73 74 65 | 64 20 69 6e 20 74 68 69 |ntereste|d in thi|
|000013d0| 73 20 73 6f 72 74 20 6f | 66 20 74 68 69 6e 67 2e |s sort o|f thing.|
|000013e0| 0a 58 09 49 20 63 61 6e | 27 74 20 63 6c 61 69 6d |.X.I can|'t claim|
|000013f0| 20 74 6f 20 68 61 76 65 | 20 72 65 61 6c 6c 79 20 | to have| really |
|00001400| 74 65 73 74 65 64 20 74 | 68 69 73 2e 0a 58 0a 58 |tested t|his..X.X|
|00001410| 09 54 68 65 20 6f 72 69 | 67 69 6e 61 6c 20 76 65 |.The ori|ginal ve|
|00001420| 72 73 69 6f 6e 20 77 61 | 73 20 74 65 73 74 65 64 |rsion wa|s tested|
|00001430| 20 75 6e 64 65 72 20 53 | 75 6e 4f 53 20 34 2e 30 | under S|unOS 4.0|
|00001440| 20 6f 6e 20 53 50 41 52 | 43 20 61 72 63 68 69 74 | on SPAR|C archit|
|00001450| 65 63 74 75 72 65 73 2e | 0a 58 09 54 68 65 20 76 |ectures.|.X.The v|
|00001460| 65 72 73 69 6f 6e 20 79 | 6f 75 20 73 65 65 20 68 |ersion y|ou see h|
|00001470| 61 73 20 62 65 65 6e 20 | 6c 6f 6f 73 65 6c 79 20 |as been |loosely |
|00001480| 74 65 73 74 65 64 20 6f | 6e 20 61 20 4d 69 70 73 |tested o|n a Mips|
|00001490| 20 4d 2f 32 30 30 30 20 | 72 75 6e 6e 69 6e 67 0a | M/2000 |running.|
|000014a0| 58 09 52 49 53 43 2f 6f | 73 20 34 2e 30 31 3b 20 |X.RISC/o|s 4.01; |
|000014b0| 49 20 68 61 76 65 20 6f | 6e 6c 79 20 74 72 69 65 |I have o|nly trie|
|000014c0| 64 20 69 74 20 69 6e 20 | 74 68 65 20 42 53 44 20 |d it in |the BSD |
|000014d0| 65 6e 76 69 72 6f 6e 6d | 65 6e 74 2c 20 61 6e 64 |environm|ent, and|
|000014e0| 20 74 68 61 74 0a 58 09 | 6f 6e 6c 79 20 6c 6f 6f | that.X.|only loo|
|000014f0| 73 65 6c 79 2e 0a 58 0a | 58 41 43 4b 4e 4f 57 4c |sely..X.|XACKNOWL|
|00001500| 45 44 47 45 4d 45 4e 54 | 53 0a 58 09 49 20 77 72 |EDGEMENT|S.X.I wr|
|00001510| 6f 74 65 20 74 68 65 20 | 66 69 72 73 74 20 76 65 |ote the |first ve|
|00001520| 72 73 69 6f 6e 20 6f 66 | 20 74 68 69 73 20 63 6f |rsion of| this co|
|00001530| 64 65 20 77 68 69 6c 65 | 20 77 6f 72 6b 69 6e 67 |de while| working|
|00001540| 20 61 74 20 74 68 65 0a | 58 09 49 6e 74 65 72 6e | at the.|X.Intern|
|00001550| 61 74 69 6f 6e 61 6c 20 | 43 6f 6d 70 75 74 65 72 |ational |Computer|
|00001560| 20 53 63 69 65 6e 63 65 | 20 49 6e 73 74 69 74 75 | Science| Institu|
|00001570| 74 65 20 69 6e 20 42 65 | 72 6b 65 6c 65 79 2c 20 |te in Be|rkeley, |
|00001580| 43 41 2e 0a 58 0a 58 24 | 48 65 61 64 65 72 3a 20 |CA..X.X$|Header: |
|00001590| 52 45 41 44 4d 45 2c 76 | 20 32 2e 31 20 38 39 2f |README,v| 2.1 89/|
|000015a0| 31 32 2f 33 30 20 32 30 | 3a 35 39 3a 31 34 20 65 |12/30 20|:59:14 e|
|000015b0| 72 69 63 20 45 78 70 20 | 24 0a 2f 2f 45 4e 44 5f |ric Exp |$.//END_|
|000015c0| 4f 46 5f 46 49 4c 45 0a | 65 63 68 6f 20 78 20 2d |OF_FILE.|echo x -|
|000015d0| 20 52 45 41 44 4d 45 2e | 50 44 53 0a 73 65 64 20 | README.|PDS.sed |
|000015e0| 27 73 2f 5e 58 2f 2f 27 | 20 3e 20 52 45 41 44 4d |'s/^X//'| > READM|
|000015f0| 45 2e 50 44 53 20 3c 3c | 20 27 2f 2f 45 4e 44 5f |E.PDS <<| '//END_|
|00001600| 4f 46 5f 46 49 4c 45 27 | 0a 58 55 70 64 61 74 65 |OF_FILE'|.XUpdate|
|00001610| 20 74 6f 20 70 61 72 73 | 65 61 72 67 73 20 62 79 | to pars|eargs by|
|00001620| 20 50 65 74 65 72 20 64 | 61 20 53 69 6c 76 61 20 | Peter d|a Silva |
|00001630| 28 70 65 74 65 72 40 66 | 69 63 63 2e 75 75 2e 6e |(peter@f|icc.uu.n|
|00001640| 65 74 29 2e 0a 58 28 73 | 65 63 6f 6e 64 20 75 70 |et)..X(s|econd up|
|00001650| 64 61 74 65 3a 20 6d 6f | 72 65 20 69 6d 70 72 6f |date: mo|re impro|
|00001660| 76 65 6d 65 6e 74 73 20 | 74 6f 20 61 72 67 20 70 |vements |to arg p|
|00001670| 61 72 73 69 6e 67 2c 20 | 61 72 67 43 68 61 72 20 |arsing, |argChar |
|00001680| 74 79 70 65 29 0a 58 28 | 74 68 69 72 64 20 75 70 |type).X(|third up|
|00001690| 64 61 74 65 2c 20 72 65 | 74 75 72 6e 20 74 6f 20 |date, re|turn to |
|000016a0| 6f 72 69 67 69 6e 61 6c | 20 63 61 6c 6c 69 6e 67 |original| calling|
|000016b0| 20 73 65 71 75 65 6e 63 | 65 2c 20 61 72 67 4c 69 | sequenc|e, argLi|
|000016c0| 73 74 20 74 79 70 65 29 | 0a 58 0a 58 50 61 72 73 |st type)|.X.XPars|
|000016d0| 65 61 72 67 73 20 69 73 | 20 61 20 72 65 61 6c 6c |eargs is| a reall|
|000016e0| 79 20 6e 69 66 74 79 20 | 73 65 74 20 6f 66 20 72 |y nifty |set of r|
|000016f0| 6f 75 74 69 6e 65 73 2c | 20 62 75 74 20 69 74 20 |outines,| but it |
|00001700| 64 6f 65 73 6e 27 74 20 | 66 69 74 20 74 6f 6f 0a |doesn't |fit too.|
|00001710| 58 77 65 6c 6c 20 77 69 | 74 68 20 73 74 61 6e 64 |Xwell wi|th stand|
|00001720| 61 72 64 20 55 4e 49 58 | 20 73 65 6d 61 6e 74 69 |ard UNIX| semanti|
|00001730| 63 73 2e 20 49 6e 20 70 | 61 72 74 69 63 75 6c 61 |cs. In p|articula|
|00001740| 72 2c 20 79 6f 75 20 63 | 61 6e 20 67 65 74 20 69 |r, you c|an get i|
|00001750| 6e 74 6f 20 61 0a 58 6c | 6f 74 20 6f 66 20 74 72 |nto a.Xl|ot of tr|
|00001760| 6f 75 62 6c 65 20 75 73 | 69 6e 67 20 69 74 20 69 |ouble us|ing it i|
|00001770| 6e 20 61 20 73 63 72 69 | 70 74 20 69 66 20 69 74 |n a scri|pt if it|
|00001780| 20 64 72 6f 70 73 20 69 | 6e 74 6f 20 69 6e 74 65 | drops i|nto inte|
|00001790| 72 61 63 74 69 76 65 20 | 6d 6f 64 65 0a 58 6f 6e |ractive |mode.Xon|
|000017a0| 20 79 6f 75 2e 20 41 6c | 73 6f 2c 20 69 74 27 73 | you. Al|so, it's|
|000017b0| 20 6e 6f 74 20 61 73 20 | 75 73 65 66 75 6c 20 61 | not as |useful a|
|000017c0| 73 20 69 74 20 63 6f 75 | 6c 64 20 62 65 20 66 6f |s it cou|ld be fo|
|000017d0| 72 20 6e 6f 6e 2d 55 4e | 49 58 20 73 79 73 74 65 |r non-UN|IX syste|
|000017e0| 6d 73 2e 0a 58 54 6f 20 | 6d 61 6b 65 20 69 74 20 |ms..XTo |make it |
|000017f0| 77 6f 72 6b 20 62 65 74 | 74 65 72 2c 20 49 27 76 |work bet|ter, I'v|
|00001800| 65 20 6d 61 64 65 20 61 | 20 63 6f 75 70 6c 65 20 |e made a| couple |
|00001810| 6f 66 20 63 68 61 6e 67 | 65 73 2e 0a 58 0a 58 49 |of chang|es..X.XI|
|00001820| 74 20 63 6f 6d 70 69 6c | 65 64 20 73 74 72 61 69 |t compil|ed strai|
|00001830| 67 68 74 20 6f 75 74 20 | 6f 66 20 74 68 65 20 62 |ght out |of the b|
|00001840| 6f 78 20 6f 6e 20 53 79 | 73 74 65 6d 20 49 49 49 |ox on Sy|stem III|
|00001850| 20 6f 6e 63 65 20 49 27 | 64 20 70 72 6f 76 69 64 | once I'|d provid|
|00001860| 65 64 0a 58 62 63 6f 70 | 79 2c 20 62 63 6d 70 2c |ed.Xbcop|y, bcmp,|
|00001870| 20 61 6e 64 20 73 74 72 | 74 6f 6c 2e 20 54 68 65 | and str|tol. The|
|00001880| 20 73 74 72 74 6f 6c 20 | 49 27 76 65 20 70 72 6f | strtol |I've pro|
|00001890| 76 69 64 65 64 20 69 73 | 20 61 6c 6d 6f 73 74 20 |vided is| almost |
|000018a0| 74 6f 74 61 6c 6c 79 0a | 58 75 6e 74 65 73 74 65 |totally.|Xunteste|
|000018b0| 64 2c 20 62 75 74 20 68 | 6f 70 65 66 75 6c 6c 79 |d, but h|opefully|
|000018c0| 20 79 6f 75 20 77 6f 6e | 27 74 20 6e 65 65 64 20 | you won|'t need |
|000018d0| 74 6f 20 75 73 65 20 69 | 74 2e 20 49 74 27 73 20 |to use i|t. It's |
|000018e0| 6f 6e 6c 79 20 66 6f 72 | 20 66 6f 6c 6b 73 20 77 |only for| folks w|
|000018f0| 69 74 68 0a 58 6f 6c 64 | 20 55 4e 49 58 20 73 79 |ith.Xold| UNIX sy|
|00001900| 73 74 65 6d 73 2e 0a 58 | 0a 58 46 69 72 73 74 20 |stems..X|.XFirst |
|00001910| 63 68 61 6e 67 65 20 77 | 61 73 20 74 6f 20 64 69 |change w|as to di|
|00001920| 73 61 62 6c 65 20 74 68 | 65 20 69 6e 74 65 72 61 |sable th|e intera|
|00001930| 63 74 69 76 65 20 70 72 | 6f 6d 70 74 69 6e 67 20 |ctive pr|ompting |
|00001940| 66 6f 72 20 61 72 67 75 | 6d 65 6e 74 73 2e 0a 58 |for argu|ments..X|
|00001950| 49 20 74 68 69 6e 6b 20 | 74 68 61 74 27 73 20 69 |I think |that's i|
|00001960| 6e 63 6f 6e 73 69 73 74 | 65 6e 74 20 77 69 74 68 |nconsist|ent with|
|00001970| 20 75 73 75 61 6c 20 55 | 4e 49 58 20 73 65 6d 61 | usual U|NIX sema|
|00001980| 6e 74 69 63 73 2e 20 59 | 6f 75 20 63 61 6e 20 75 |ntics. Y|ou can u|
|00001990| 6e 64 6f 0a 58 74 68 69 | 73 20 63 68 61 6e 67 65 |ndo.Xthi|s change|
|000019a0| 20 62 79 20 23 64 65 66 | 69 6e 69 6e 67 20 49 4e | by #def|ining IN|
|000019b0| 54 45 52 41 43 54 49 56 | 45 20 77 68 65 6e 20 63 |TERACTIV|E when c|
|000019c0| 6f 6d 70 69 6c 69 6e 67 | 20 70 61 72 73 65 61 72 |ompiling| parsear|
|000019d0| 67 73 2e 63 2e 0a 58 0a | 58 54 68 65 20 73 65 63 |gs.c..X.|XThe sec|
|000019e0| 6f 6e 64 20 63 68 61 6e | 67 65 20 77 61 73 20 74 |ond chan|ge was t|
|000019f0| 6f 20 61 6c 6c 6f 77 20 | 66 6f 72 20 61 20 74 72 |o allow |for a tr|
|00001a00| 61 69 6c 69 6e 67 20 6c | 69 73 74 20 6f 66 20 61 |ailing l|ist of a|
|00001a10| 72 67 75 6d 65 6e 74 73 | 2e 20 49 0a 58 6f 72 69 |rguments|. I.Xori|
|00001a20| 67 69 6e 61 6c 6c 79 20 | 69 6d 70 6c 65 6d 65 6e |ginally |implemen|
|00001a30| 74 65 64 20 74 68 69 73 | 20 62 79 20 63 68 61 6e |ted this| by chan|
|00001a40| 67 69 6e 67 20 74 68 65 | 20 63 61 6c 6c 69 6e 67 |ging the| calling|
|00001a50| 20 73 65 71 75 65 6e 63 | 65 20 74 6f 20 70 61 72 | sequenc|e to par|
|00001a60| 73 65 61 72 67 73 2e 0a | 58 4f 6e 20 72 65 66 6c |seargs..|XOn refl|
|00001a70| 65 63 74 69 6f 6e 20 74 | 68 69 73 20 77 6f 75 6c |ection t|his woul|
|00001a80| 64 20 6a 75 73 74 20 70 | 72 6f 64 75 63 65 20 69 |d just p|roduce i|
|00001a90| 6e 63 6f 6d 70 61 74 69 | 62 69 6c 69 74 69 65 73 |ncompati|bilities|
|00001aa0| 2c 20 73 6f 20 49 20 61 | 64 64 65 64 20 61 0a 58 |, so I a|dded a.X|
|00001ab0| 6e 65 77 20 22 74 79 70 | 65 22 2c 20 61 72 67 4c |new "typ|e", argL|
|00001ac0| 69 73 74 2e 20 54 68 69 | 73 20 68 61 6e 64 6c 65 |ist. Thi|s handle|
|00001ad0| 73 20 61 20 70 6f 69 6e | 74 65 72 20 74 6f 20 61 |s a poin|ter to a|
|00001ae0| 20 6c 69 73 74 20 6f 66 | 20 6e 61 6d 65 73 3a 0a | list of| names:.|
|00001af0| 58 0a 58 73 74 72 75 63 | 74 20 6e 61 6d 65 6c 69 |X.Xstruc|t nameli|
|00001b00| 73 74 20 7b 0a 58 09 73 | 74 72 75 63 74 20 6e 61 |st {.X.s|truct na|
|00001b10| 6d 65 6c 69 73 74 20 2a | 6e 6c 5f 6e 65 78 74 3b |melist *|nl_next;|
|00001b20| 0a 58 09 63 68 61 72 20 | 2a 6e 6c 5f 6e 61 6d 65 |.X.char |*nl_name|
|00001b30| 3b 0a 58 7d 3b 0a 58 0a | 58 54 68 69 73 20 69 73 |;.X};.X.|XThis is|
|00001b40| 20 69 6d 70 6c 65 6d 65 | 6e 74 65 64 20 77 69 74 | impleme|nted wit|
|00001b50| 68 20 73 6f 6d 65 20 22 | 6d 61 67 69 63 22 20 69 |h some "|magic" i|
|00001b60| 6e 20 70 61 72 73 65 61 | 72 67 73 2c 20 61 6e 64 |n parsea|rgs, and|
|00001b70| 20 70 65 72 68 61 70 73 | 20 69 74 20 77 6f 75 6c | perhaps| it woul|
|00001b80| 64 0a 58 64 6f 20 62 65 | 74 74 65 72 20 61 73 20 |d.Xdo be|tter as |
|00001b90| 61 6e 20 61 64 64 69 74 | 69 6f 6e 61 6c 20 66 6c |an addit|ional fl|
|00001ba0| 61 67 2c 20 41 52 47 4c | 49 53 54 2c 20 61 6e 64 |ag, ARGL|IST, and|
|00001bb0| 20 61 20 73 65 74 20 6f | 66 20 6c 69 73 74 54 79 | a set o|f listTy|
|00001bc0| 70 65 20 72 6f 75 74 69 | 6e 65 73 0a 58 74 6f 20 |pe routi|nes.Xto |
|00001bd0| 68 61 6e 64 6c 65 20 74 | 68 65 6d 2e 20 41 6c 73 |handle t|hem. Als|
|00001be0| 6f 2c 20 69 74 20 63 75 | 72 72 65 6e 74 6c 79 20 |o, it cu|rrently |
|00001bf0| 6b 65 65 70 73 20 74 68 | 65 20 6c 69 73 74 20 69 |keeps th|e list i|
|00001c00| 6e 20 4c 49 46 4f 20 6f | 72 64 65 72 2e 20 49 74 |n LIFO o|rder. It|
|00001c10| 20 77 6f 75 6c 64 0a 58 | 62 65 20 6d 6f 72 65 20 | would.X|be more |
|00001c20| 63 6f 6e 76 65 6e 69 65 | 6e 74 20 69 6e 20 46 49 |convenie|nt in FI|
|00001c30| 46 4f 20 6f 72 64 65 72 | 2c 20 74 68 6f 75 67 68 |FO order|, though|
|00001c40| 20 74 68 69 73 20 77 6f | 75 6c 64 20 74 61 6b 65 | this wo|uld take|
|00001c50| 20 61 20 6c 69 74 74 6c | 65 20 6d 6f 72 65 0a 58 | a littl|e more.X|
|00001c60| 77 6f 72 6b 20 74 6f 20 | 69 6d 70 6c 65 6d 65 6e |work to |implemen|
|00001c70| 74 20 28 62 61 73 69 63 | 61 6c 6c 79 20 6a 75 73 |t (basic|ally jus|
|00001c80| 74 20 73 74 65 70 70 69 | 6e 67 20 74 68 72 6f 75 |t steppi|ng throu|
|00001c90| 67 68 20 74 68 65 20 6c | 69 73 74 20 69 6e 20 61 |gh the l|ist in a|
|00001ca0| 72 67 4c 69 73 74 20 74 | 6f 0a 58 66 69 6e 64 20 |rgList t|o.Xfind |
|00001cb0| 74 68 65 20 74 61 69 6c | 2c 20 69 6e 73 74 65 61 |the tail|, instea|
|00001cc0| 64 20 6f 66 20 69 6e 73 | 65 72 74 69 6e 67 20 61 |d of ins|erting a|
|00001cd0| 74 20 74 68 65 20 68 65 | 61 64 29 2c 20 61 6e 64 |t the he|ad), and|
|00001ce0| 20 63 61 6e 20 62 65 20 | 66 69 78 65 64 20 69 6e | can be |fixed in|
|00001cf0| 20 61 0a 58 73 69 6e 67 | 6c 65 20 70 61 73 73 20 | a.Xsing|le pass |
|00001d00| 61 66 74 65 72 20 70 61 | 72 73 65 61 72 67 73 20 |after pa|rseargs |
|00001d10| 72 65 74 75 72 6e 73 20 | 77 69 74 68 20 28 73 61 |returns |with (sa|
|00001d20| 79 29 20 21 61 72 67 76 | 20 3d 20 72 65 76 65 72 |y) !argv| = rever|
|00001d30| 73 65 6c 69 73 74 28 61 | 72 67 76 29 21 3a 0a 58 |selist(a|rgv)!:.X|
|00001d40| 0a 58 73 74 72 75 63 74 | 20 6e 61 6d 65 6c 69 73 |.Xstruct| namelis|
|00001d50| 74 20 2a 72 65 76 65 72 | 73 65 6c 69 73 74 28 66 |t *rever|selist(f|
|00001d60| 72 6f 6d 29 0a 58 73 74 | 72 75 63 74 20 6e 61 6d |rom).Xst|ruct nam|
|00001d70| 65 6c 69 73 74 20 2a 66 | 72 6f 6d 3b 0a 58 7b 0a |elist *f|rom;.X{.|
|00001d80| 58 09 73 74 72 75 63 74 | 20 6e 61 6d 65 6c 69 73 |X.struct| namelis|
|00001d90| 74 20 2a 74 6f 2c 20 2a | 74 6d 70 3b 0a 58 0a 58 |t *to, *|tmp;.X.X|
|00001da0| 09 74 6f 20 3d 20 4e 55 | 4c 4c 3b 0a 58 09 77 68 |.to = NU|LL;.X.wh|
|00001db0| 69 6c 65 28 66 72 6f 6d | 29 20 7b 0a 58 09 09 74 |ile(from|) {.X..t|
|00001dc0| 6d 70 20 3d 20 66 72 6f | 6d 2d 3e 6e 6c 5f 6e 65 |mp = fro|m->nl_ne|
|00001dd0| 78 74 3b 20 2f 2a 20 72 | 65 6d 6f 76 65 20 74 6f |xt; /* r|emove to|
|00001de0| 70 20 66 72 6f 6d 20 6f | 6c 64 20 6c 69 73 74 20 |p from o|ld list |
|00001df0| 2a 2f 0a 58 09 09 66 72 | 6f 6d 20 3d 20 66 72 6f |*/.X..fr|om = fro|
|00001e00| 6d 2d 3e 6e 6c 5f 6e 65 | 78 74 3b 0a 58 09 09 74 |m->nl_ne|xt;.X..t|
|00001e10| 6d 70 2d 3e 6e 6c 5f 6e | 65 78 74 20 3d 20 74 6f |mp->nl_n|ext = to|
|00001e20| 3b 20 2f 2a 20 69 6e 73 | 65 72 74 20 74 6f 70 20 |; /* ins|ert top |
|00001e30| 69 6e 20 6e 65 77 20 6c | 69 73 74 20 2a 2f 0a 58 |in new l|ist */.X|
|00001e40| 09 09 74 6f 20 3d 20 74 | 6d 70 3b 0a 58 09 7d 0a |..to = t|mp;.X.}.|
|00001e50| 58 09 72 65 74 75 72 6e | 20 74 6f 3b 0a 58 7d 0a |X.return| to;.X}.|
|00001e60| 58 0a 58 54 68 65 20 66 | 69 6e 61 6c 20 63 68 61 |X.XThe f|inal cha|
|00001e70| 6e 67 65 20 69 73 20 74 | 68 65 20 61 64 64 69 74 |nge is t|he addit|
|00001e80| 69 6f 6e 20 6f 66 20 61 | 20 27 61 72 67 43 68 61 |ion of a| 'argCha|
|00001e90| 72 27 20 74 79 70 65 2e | 20 54 68 69 73 20 70 61 |r' type.| This pa|
|00001ea0| 72 73 65 73 20 63 68 61 | 72 61 63 74 65 72 0a 58 |rses cha|racter.X|
|00001eb0| 61 72 67 75 6d 65 6e 74 | 73 20 28 73 75 63 68 20 |argument|s (such |
|00001ec0| 61 73 20 74 68 65 20 27 | 2d 54 27 20 6f 70 74 69 |as the '|-T' opti|
|00001ed0| 6f 6e 20 74 6f 20 27 61 | 77 6b 27 29 2c 20 61 63 |on to 'a|wk'), ac|
|00001ee0| 63 65 70 74 69 6e 67 20 | 73 69 6e 67 6c 65 20 63 |cepting |single c|
|00001ef0| 68 61 72 61 63 74 65 72 | 73 2c 0a 58 27 5c 6e 6e |haracter|s,.X'\nn|
|00001f00| 6e 27 20 6f 63 74 61 6c | 20 65 73 63 61 70 65 73 |n' octal| escapes|
|00001f10| 2c 20 61 6e 64 20 27 5e | 58 27 20 66 6f 72 20 63 |, and '^|X' for c|
|00001f20| 6f 6e 74 72 6f 6c 20 63 | 68 61 72 61 63 74 65 72 |ontrol c|haracter|
|00001f30| 73 2e 0a 58 0a 58 50 61 | 72 73 65 61 72 67 73 20 |s..X.XPa|rseargs |
|00001f40| 69 74 73 65 6c 66 20 6e | 6f 20 6c 6f 6e 67 65 72 |itself n|o longer|
|00001f50| 20 75 73 65 73 20 63 6b | 61 6c 6c 6f 63 2c 20 74 | uses ck|alloc, t|
|00001f60| 72 61 63 65 73 65 74 2c | 20 66 75 6e 63 6c 69 73 |raceset,| funclis|
|00001f70| 74 2c 20 61 6e 64 20 73 | 6f 20 6f 6e 2e 0a 58 74 |t, and s|o on..Xt|
|00001f80| 68 65 73 65 20 72 6f 75 | 74 69 6e 65 73 20 61 72 |hese rou|tines ar|
|00001f90| 65 20 70 72 65 74 74 79 | 20 63 6f 6f 6c 2c 20 62 |e pretty| cool, b|
|00001fa0| 75 74 20 77 68 65 6e 20 | 79 6f 75 27 72 65 20 67 |ut when |you're g|
|00001fb0| 72 61 66 74 69 6e 67 20 | 70 61 72 73 65 61 72 67 |rafting |parsearg|
|00001fc0| 73 20 6f 6e 74 6f 0a 58 | 61 6e 20 65 78 69 73 74 |s onto.X|an exist|
|00001fd0| 69 6e 67 20 70 72 6f 67 | 72 61 6d 20 74 68 65 79 |ing prog|ram they|
|00001fe0| 20 6a 75 73 74 20 67 65 | 74 20 69 6e 20 74 68 65 | just ge|t in the|
|00001ff0| 20 77 61 79 2e 20 41 6c | 73 6f 2c 20 69 74 27 73 | way. Al|so, it's|
|00002000| 20 70 6f 73 73 69 62 6c | 65 20 74 6f 20 6d 61 6b | possibl|e to mak|
|00002010| 65 0a 58 70 61 72 73 65 | 61 72 67 73 20 66 61 69 |e.Xparse|args fai|
|00002020| 6c 20 69 6e 20 61 20 63 | 6c 65 61 6e 65 72 20 66 |l in a c|leaner f|
|00002030| 61 73 68 69 6f 6e 20 62 | 79 20 68 61 6e 64 6c 69 |ashion b|y handli|
|00002040| 6e 67 20 6f 75 74 2d 6f | 66 2d 6d 65 6d 6f 72 79 |ng out-o|f-memory|
|00002050| 20 63 61 73 65 73 20 6d | 79 73 65 6c 66 2e 0a 58 | cases m|yself..X|
|00002060| 43 65 72 74 61 69 6e 6c | 79 20 74 68 65 72 65 27 |Certainl|y there'|
|00002070| 73 20 6e 6f 74 20 67 6f | 69 6e 67 20 74 6f 20 62 |s not go|ing to b|
|00002080| 65 20 61 6e 79 20 6c 6f | 6f 73 65 20 6d 65 6d 6f |e any lo|ose memo|
|00002090| 72 79 20 6c 79 69 6e 67 | 20 61 72 6f 75 6e 64 20 |ry lying| around |
|000020a0| 74 6f 20 62 65 0a 58 63 | 6f 6c 6c 65 63 74 65 64 |to be.Xc|ollected|
|000020b0| 20 77 68 65 6e 20 70 61 | 72 73 65 61 72 67 73 20 | when pa|rseargs |
|000020c0| 73 74 61 72 74 73 20 75 | 70 21 20 54 6f 20 74 75 |starts u|p! To tu|
|000020d0| 72 6e 20 6f 6e 20 54 52 | 41 43 45 20 61 6e 64 20 |rn on TR|ACE and |
|000020e0| 74 68 65 20 66 75 6e 63 | 6c 69 73 74 20 63 6f 64 |the func|list cod|
|000020f0| 65 0a 58 6a 75 73 74 20 | 61 64 64 20 2d 44 54 52 |e.Xjust |add -DTR|
|00002100| 41 43 45 53 54 55 46 46 | 20 61 6e 64 20 2d 44 46 |ACESTUFF| and -DF|
|00002110| 55 4e 43 4c 49 53 54 53 | 54 55 46 46 20 74 6f 20 |UNCLISTS|TUFF to |
|00002120| 74 68 65 20 4d 61 6b 65 | 66 69 6c 65 2e 0a 58 0a |the Make|file..X.|
|00002130| 58 41 6c 73 6f 2c 20 74 | 68 65 20 65 72 72 6f 72 |XAlso, t|he error|
|00002140| 20 6d 65 73 73 61 67 65 | 73 20 68 61 76 65 20 62 | message|s have b|
|00002150| 65 65 6e 20 6d 61 64 65 | 20 61 20 62 69 74 20 6d |een made| a bit m|
|00002160| 6f 72 65 20 64 65 73 63 | 72 69 70 74 69 76 65 2e |ore desc|riptive.|
|00002170| 20 49 6e 73 74 65 61 64 | 0a 58 6f 66 20 73 61 79 | Instead|.Xof say|
|00002180| 69 6e 67 20 22 73 74 65 | 73 74 3a 20 76 61 6c 75 |ing "ste|st: valu|
|00002190| 65 20 72 65 71 75 69 72 | 65 64 20 66 6f 72 20 2d |e requir|ed for -|
|000021a0| 63 20 66 6c 61 67 22 2c | 20 69 74 20 70 72 69 6e |c flag",| it prin|
|000021b0| 74 73 20 22 73 74 65 73 | 74 3a 20 52 65 70 43 6f |ts "stes|t: RepCo|
|000021c0| 75 6e 74 0a 58 72 65 71 | 75 69 72 65 64 20 66 6f |unt.Xreq|uired fo|
|000021d0| 72 20 2d 63 20 66 6c 61 | 67 22 2e 20 54 68 65 20 |r -c fla|g". The |
|000021e0| 61 64 5f 70 72 6f 6d 70 | 74 20 65 6c 65 6d 65 6e |ad_promp|t elemen|
|000021f0| 74 20 73 68 6f 75 6c 64 | 20 72 65 6c 6c 79 20 62 |t should| relly b|
|00002200| 65 20 61 20 64 65 73 63 | 72 69 70 74 69 76 65 0a |e a desc|riptive.|
|00002210| 58 77 6f 72 64 20 74 68 | 61 74 20 63 61 6e 20 62 |Xword th|at can b|
|00002220| 65 20 75 73 65 64 20 69 | 6e 20 61 20 73 65 6e 74 |e used i|n a sent|
|00002230| 65 6e 63 65 2e 2e 2e 20 | 6f 72 20 66 6f 72 20 6e |ence... |or for n|
|00002240| 6f 6e 5f 55 4e 49 58 20 | 73 79 73 74 65 6d 73 20 |on_UNIX |systems |
|00002250| 61 20 6d 75 6c 74 69 2d | 0a 58 63 68 61 72 61 63 |a multi-|.Xcharac|
|00002260| 74 65 72 20 6f 72 20 6b | 65 79 77 6f 72 64 20 62 |ter or k|eyword b|
|00002270| 61 73 65 64 20 66 6c 61 | 67 2e 20 49 20 68 61 76 |ased fla|g. I hav|
|00002280| 65 20 61 6e 20 41 6d 69 | 67 61 20 76 65 72 73 69 |e an Ami|ga versi|
|00002290| 6f 6e 20 69 6e 63 6c 75 | 64 65 64 2c 20 66 6f 72 |on inclu|ded, for|
|000022a0| 0a 58 65 78 61 6d 70 6c | 65 2c 20 74 68 61 74 20 |.Xexampl|e, that |
|000022b0| 75 73 65 73 20 6b 65 79 | 77 6f 72 64 20 73 79 6e |uses key|word syn|
|000022c0| 74 61 78 2e 20 49 6e 20 | 74 68 61 74 20 76 65 72 |tax. In |that ver|
|000022d0| 73 69 6f 6e 2c 20 74 68 | 65 20 75 73 61 67 65 20 |sion, th|e usage |
|000022e0| 6d 65 73 73 61 67 65 20 | 72 65 61 64 73 3a 0a 58 |message |reads:.X|
|000022f0| 0a 58 55 73 61 67 65 3a | 20 61 6d 69 67 61 5f 74 |.XUsage:| amiga_t|
|00002300| 65 73 74 20 3c 6e 61 6d | 65 3e 20 5b 47 52 4f 55 |est <nam|e> [GROU|
|00002310| 50 20 3c 6e 65 77 73 67 | 72 6f 75 70 3e 5d 2e 2e |P <newsg|roup>]..|
|00002320| 2e 20 5b 52 45 50 20 3c | 72 65 70 63 6f 75 6e 74 |. [REP <|repcount|
|00002330| 3e 5d 20 2b 0a 58 09 5b | 44 49 52 20 3c 64 69 72 |>] +.X.[|DIR <dir|
|00002340| 6e 61 6d 65 3e 5d 20 5b | 58 5d 20 5b 59 5d 20 5b |name>] [|X] [Y] [|
|00002350| 5a 5d 20 5b 54 41 42 20 | 3c 74 61 62 63 68 61 72 |Z] [TAB |<tabchar|
|00002360| 3e 5d 20 5b 3c 66 69 6c | 65 3e 5d 2e 2e 2e 0a 58 |>] [<fil|e>]....X|
|00002370| 0a 58 49 6e 73 74 65 61 | 64 20 6f 66 3a 0a 58 0a |.XInstea|d of:.X.|
|00002380| 58 55 73 61 67 65 3a 20 | 75 6e 69 78 5f 74 65 73 |XUsage: |unix_tes|
|00002390| 74 20 3c 4e 61 6d 65 3e | 20 5b 2d 6e 20 3c 6e 65 |t <Name>| [-n <ne|
|000023a0| 77 73 47 52 4f 55 50 3e | 5d 2e 2e 2e 20 5b 2d 63 |wsGROUP>|]... [-c|
|000023b0| 20 3c 52 45 50 63 6f 75 | 6e 74 3e 5d 20 5c 0a 58 | <REPcou|nt>] \.X|
|000023c0| 09 5b 2d 64 20 3c 44 49 | 52 6e 61 6d 65 3e 5d 20 |.[-d <DI|Rname>] |
|000023d0| 5b 2d 78 5d 20 5b 2d 79 | 5d 20 5b 2d 7a 5d 20 5b |[-x] [-y|] [-z] [|
|000023e0| 2d 74 20 3c 54 41 42 63 | 68 61 72 3e 5d 20 5b 3c |-t <TABc|har>] [<|
|000023f0| 46 69 6c 65 3e 5d 2e 2e | 2e 0a 58 0a 58 54 68 69 |File>]..|..X.XThi|
|00002400| 73 20 77 6f 75 6c 64 20 | 73 6f 6c 76 65 20 74 68 |s would |solve th|
|00002410| 65 20 6f 6c 64 20 70 72 | 6f 62 6c 65 6d 20 6f 66 |e old pr|oblem of|
|00002420| 20 55 4e 49 58 20 70 72 | 6f 67 72 61 6d 73 20 73 | UNIX pr|ograms s|
|00002430| 74 69 63 6b 69 6e 67 20 | 6f 75 74 20 6c 69 6b 65 |ticking |out like|
|00002440| 20 61 0a 58 73 6f 72 65 | 20 74 68 75 6d 62 20 69 | a.Xsore| thumb i|
|00002450| 6e 20 6f 74 68 65 72 20 | 6f 70 65 72 61 74 69 6e |n other |operatin|
|00002460| 67 20 73 79 73 74 65 6d | 73 2e 0a 58 0a 58 54 68 |g system|s..X.XTh|
|00002470| 65 20 41 6d 69 67 61 20 | 76 65 72 73 69 6f 6e 20 |e Amiga |version |
|00002480| 73 74 69 6c 6c 20 6e 65 | 65 64 73 20 74 6f 20 70 |still ne|eds to p|
|00002490| 72 6f 6d 70 74 20 66 6f | 72 20 6f 70 74 69 6f 6e |rompt fo|r option|
|000024a0| 73 20 69 66 20 63 61 6c | 6c 65 64 20 77 69 74 68 |s if cal|led with|
|000024b0| 20 61 0a 58 73 69 6e 67 | 6c 65 20 27 3f 27 20 61 | a.Xsing|le '?' a|
|000024c0| 73 20 61 6e 20 61 72 67 | 75 6d 65 6e 74 2e 20 54 |s an arg|ument. T|
|000024d0| 68 69 73 20 6d 61 79 20 | 72 65 71 75 69 72 65 20 |his may |require |
|000024e0| 73 6f 6d 65 20 72 65 64 | 65 73 69 67 6e 3a 20 69 |some red|esign: i|
|000024f0| 74 27 73 20 61 6c 6d 6f | 73 74 0a 58 63 65 72 74 |t's almo|st.Xcert|
|00002500| 61 69 6e 6c 79 20 6e 6f | 74 20 67 6f 69 6e 67 20 |ainly no|t going |
|00002510| 74 6f 20 62 65 20 70 6f | 73 73 69 62 6c 65 20 74 |to be po|ssible t|
|00002520| 6f 20 73 74 75 66 66 20 | 2a 65 78 74 72 61 2a 20 |o stuff |*extra* |
|00002530| 66 69 6c 65 20 6e 61 6d | 65 73 20 69 6e 74 6f 0a |file nam|es into.|
|00002540| 58 61 72 67 76 2e 20 50 | 65 72 68 61 70 73 20 73 |Xargv. P|erhaps s|
|00002550| 6f 6d 65 74 68 69 6e 67 | 20 6c 69 6b 65 3a 0a 58 |omething| like:.X|
|00002560| 0a 58 09 70 61 72 73 65 | 61 72 67 73 28 26 61 72 |.X.parse|args(&ar|
|00002570| 67 63 2c 20 26 61 72 67 | 76 2c 20 22 46 69 6c 65 |gc, &arg|v, "File|
|00002580| 22 29 3b 0a 58 0a 58 3f | 3f 3f 3f 3f 3f 3f 3f 0a |");.X.X?|???????.|
|00002590| 2f 2f 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 0a 65 63 |//END_OF|_FILE.ec|
|000025a0| 68 6f 20 78 20 2d 20 4d | 61 6b 65 66 69 6c 65 0a |ho x - M|akefile.|
|000025b0| 73 65 64 20 27 73 2f 5e | 58 2f 2f 27 20 3e 20 4d |sed 's/^|X//' > M|
|000025c0| 61 6b 65 66 69 6c 65 20 | 3c 3c 20 27 2f 2f 45 4e |akefile |<< '//EN|
|000025d0| 44 5f 4f 46 5f 46 49 4c | 45 27 0a 58 23 20 24 48 |D_OF_FIL|E'.X# $H|
|000025e0| 65 61 64 65 72 3a 20 4d | 61 6b 65 66 69 6c 65 2c |eader: M|akefile,|
|000025f0| 76 20 32 2e 31 20 38 39 | 2f 31 32 2f 33 30 20 32 |v 2.1 89|/12/30 2|
|00002600| 30 3a 35 39 3a 30 31 20 | 65 72 69 63 20 45 78 70 |0:59:01 |eric Exp|
|00002610| 20 24 0a 58 0a 58 54 41 | 52 47 45 54 3d 09 09 2f | $.X.XTA|RGET=../|
|00002620| 75 73 72 0a 58 4c 49 42 | 44 49 52 3d 09 09 2f 6c |usr.XLIB|DIR=../l|
|00002630| 69 62 0a 58 49 4e 43 44 | 49 52 3d 09 09 24 7b 54 |ib.XINCD|IR=..${T|
|00002640| 41 52 47 45 54 7d 2f 69 | 6e 63 6c 75 64 65 0a 58 |ARGET}/i|nclude.X|
|00002650| 0a 58 49 4e 43 4c 55 44 | 45 53 3d 09 2d 49 2e 0a |.XINCLUD|ES=.-I..|
|00002660| 58 4d 4f 44 45 4c 3d 09 | 09 2d 4d 73 0a 58 4d 4f |XMODEL=.|.-Ms.XMO|
|00002670| 44 45 4c 4e 41 4d 45 3d | 09 53 0a 58 53 54 59 4c |DELNAME=|.S.XSTYL|
|00002680| 45 3d 09 09 75 6e 69 78 | 0a 58 4f 3d 09 09 2d 4f |E=..unix|.XO=..-O|
|00002690| 0a 58 4f 50 54 49 4f 4e | 53 3d 09 23 20 2d 44 49 |.XOPTION|S=.# -DI|
|000026a0| 4e 54 45 52 41 43 54 49 | 56 45 20 2d 44 54 52 41 |NTERACTI|VE -DTRA|
|000026b0| 43 45 53 54 55 46 46 20 | 2d 44 46 55 4e 43 4c 49 |CESTUFF |-DFUNCLI|
|000026c0| 53 54 53 54 55 46 46 0a | 58 0a 58 43 46 4c 41 47 |STSTUFF.|X.XCFLAG|
|000026d0| 53 3d 09 09 24 7b 4d 4f | 44 45 4c 7d 20 24 7b 49 |S=..${MO|DEL} ${I|
|000026e0| 4e 43 4c 55 44 45 53 7d | 20 24 4f 20 24 7b 4f 50 |NCLUDES}| $O ${OP|
|000026f0| 54 49 4f 4e 53 7d 0a 58 | 0a 58 4f 46 49 4c 45 53 |TIONS}.X|.XOFILES|
|00002700| 3d 09 09 63 6b 61 6c 6c | 6f 63 2e 6f 20 5c 0a 58 |=..ckall|oc.o \.X|
|00002710| 09 09 61 72 67 74 79 70 | 65 2e 6f 20 5c 0a 58 09 |..argtyp|e.o \.X.|
|00002720| 09 66 70 5f 61 72 67 74 | 79 70 65 2e 6f 20 5c 0a |.fp_argt|ype.o \.|
|00002730| 58 09 09 66 75 6e 63 6c | 69 73 74 2e 6f 20 5c 0a |X..funcl|ist.o \.|
|00002740| 58 09 09 6f 70 65 6e 70 | 61 74 68 2e 6f 20 5c 0a |X..openp|ath.o \.|
|00002750| 58 09 09 24 7b 53 54 59 | 4c 45 7d 5f 61 72 67 73 |X..${STY|LE}_args|
|00002760| 2e 6f 20 5c 0a 58 09 09 | 73 79 73 65 72 72 2e 6f |.o \.X..|syserr.o|
|00002770| 20 5c 0a 58 09 09 74 72 | 61 63 65 73 65 74 2e 6f | \.X..tr|aceset.o|
|00002780| 20 5c 0a 58 09 09 73 74 | 72 74 6f 6c 2e 6f 0a 58 | \.X..st|rtol.o.X|
|00002790| 0a 58 48 46 49 4c 45 53 | 3d 09 09 66 75 6e 63 6c |.XHFILES|=..funcl|
|000027a0| 69 73 74 2e 68 20 5c 0a | 58 09 09 70 61 72 73 65 |ist.h \.|X..parse|
|000027b0| 61 72 67 73 2e 68 20 5c | 0a 58 09 09 75 73 65 66 |args.h \|.X..usef|
|000027c0| 75 6c 2e 68 0a 58 0a 58 | 43 46 49 4c 45 53 3d 09 |ul.h.X.X|CFILES=.|
|000027d0| 09 63 6b 61 6c 6c 6f 63 | 2e 63 20 5c 0a 58 09 09 |.ckalloc|.c \.X..|
|000027e0| 61 72 67 74 79 70 65 2e | 63 20 5c 0a 58 09 09 66 |argtype.|c \.X..f|
|000027f0| 70 5f 61 72 67 74 79 70 | 65 2e 63 20 5c 0a 58 09 |p_argtyp|e.c \.X.|
|00002800| 09 66 75 6e 63 6c 69 73 | 74 2e 63 20 5c 0a 58 09 |.funclis|t.c \.X.|
|00002810| 09 6f 70 65 6e 70 61 74 | 68 2e 63 20 5c 0a 58 09 |.openpat|h.c \.X.|
|00002820| 09 61 6d 69 67 61 5f 61 | 72 67 73 2e 63 20 5c 0a |.amiga_a|rgs.c \.|
|00002830| 58 09 09 75 6e 69 78 5f | 61 72 67 73 2e 63 20 5c |X..unix_|args.c \|
|00002840| 0a 58 09 09 73 79 73 65 | 72 72 2e 63 20 5c 0a 58 |.X..syse|rr.c \.X|
|00002850| 09 09 74 72 61 63 65 73 | 65 74 2e 63 20 5c 0a 58 |..traces|et.c \.X|
|00002860| 09 09 73 74 65 73 74 2e | 63 0a 58 4d 41 4e 46 49 |..stest.|c.XMANFI|
|00002870| 4c 45 53 3d 09 63 6b 61 | 6c 6c 6f 63 2e 33 20 5c |LES=.cka|lloc.3 \|
|00002880| 0a 58 09 09 66 75 6e 63 | 6c 69 73 74 2e 33 20 5c |.X..func|list.3 \|
|00002890| 0a 58 09 09 6f 70 65 6e | 70 61 74 68 2e 33 20 5c |.X..open|path.3 \|
|000028a0| 0a 58 09 09 70 61 72 73 | 65 61 72 67 73 2e 33 20 |.X..pars|eargs.3 |
|000028b0| 5c 0a 58 09 09 73 79 73 | 65 72 72 2e 33 20 5c 0a |\.X..sys|err.3 \.|
|000028c0| 58 09 09 74 72 61 63 65 | 2e 33 0a 58 58 58 46 49 |X..trace|.3.XXXFI|
|000028d0| 4c 45 53 3d 09 52 45 41 | 44 4d 45 20 5c 0a 58 09 |LES=.REA|DME \.X.|
|000028e0| 09 52 45 41 44 4d 45 2e | 50 44 53 20 5c 0a 58 09 |.README.|PDS \.X.|
|000028f0| 09 4d 61 6b 65 66 69 6c | 65 0a 58 0a 58 4f 42 4a |.Makefil|e.X.XOBJ|
|00002900| 53 3d 09 09 24 7b 4f 46 | 49 4c 45 53 7d 0a 58 53 |S=..${OF|ILES}.XS|
|00002910| 52 43 46 49 4c 45 53 3d | 09 24 7b 58 58 46 49 4c |RCFILES=|.${XXFIL|
|00002920| 45 53 7d 20 24 7b 48 46 | 49 4c 45 53 7d 20 24 7b |ES} ${HF|ILES} ${|
|00002930| 43 46 49 4c 45 53 7d 20 | 24 7b 4d 41 4e 46 49 4c |CFILES} |${MANFIL|
|00002940| 45 53 7d 0a 58 4c 49 42 | 41 52 47 53 3d 09 24 7b |ES}.XLIB|ARGS=.${|
|00002950| 4d 4f 44 45 4c 4e 41 4d | 45 7d 6c 69 62 24 7b 53 |MODELNAM|E}lib${S|
|00002960| 54 59 4c 45 7d 5f 61 72 | 67 73 2e 61 0a 58 4c 49 |TYLE}_ar|gs.a.XLI|
|00002970| 42 46 49 4c 45 3d 09 24 | 7b 4d 4f 44 45 4c 4e 41 |BFILE=.$|{MODELNA|
|00002980| 4d 45 7d 6c 69 62 70 61 | 72 73 65 2e 61 0a 58 4c |ME}libpa|rse.a.XL|
|00002990| 4f 43 4c 49 42 53 3d 09 | 24 7b 4c 49 42 41 52 47 |OCLIBS=.|${LIBARG|
|000029a0| 53 7d 0a 58 53 59 53 4c | 49 42 53 3d 09 2d 6c 6d |S}.XSYSL|IBS=.-lm|
|000029b0| 0a 58 4c 49 42 53 3d 09 | 09 24 7b 4c 4f 43 4c 49 |.XLIBS=.|.${LOCLI|
|000029c0| 42 53 7d 20 24 7b 53 59 | 53 4c 49 42 53 7d 0a 58 |BS} ${SY|SLIBS}.X|
|000029d0| 53 48 41 52 3d 09 09 73 | 68 61 72 0a 58 0a 58 24 |SHAR=..s|har.X.X$|
|000029e0| 7b 53 54 59 4c 45 7d 5f | 74 65 73 74 3a 20 73 74 |{STYLE}_|test: st|
|000029f0| 65 73 74 2e 6f 20 24 7b | 4c 4f 43 4c 49 42 53 7d |est.o ${|LOCLIBS}|
|00002a00| 0a 58 09 24 7b 43 43 7d | 20 24 7b 43 46 4c 41 47 |.X.${CC}| ${CFLAG|
|00002a10| 53 7d 20 2d 6f 20 24 7b | 53 54 59 4c 45 7d 5f 74 |S} -o ${|STYLE}_t|
|00002a20| 65 73 74 20 73 74 65 73 | 74 2e 6f 20 24 7b 4c 49 |est stes|t.o ${LI|
|00002a30| 42 53 7d 0a 58 0a 58 63 | 6b 61 6c 6c 6f 63 2e 6f |BS}.X.Xc|kalloc.o|
|00002a40| 20 66 75 6e 63 6c 69 73 | 74 2e 6f 20 73 79 73 65 | funclis|t.o syse|
|00002a50| 72 72 2e 6f 3a 20 66 75 | 6e 63 6c 69 73 74 2e 68 |rr.o: fu|nclist.h|
|00002a60| 0a 58 0a 58 24 7b 53 54 | 59 4c 45 7d 5f 61 72 67 |.X.X${ST|YLE}_arg|
|00002a70| 73 2e 6f 3a 20 70 61 72 | 73 65 61 72 67 73 2e 68 |s.o: par|seargs.h|
|00002a80| 0a 58 0a 58 24 7b 4c 49 | 42 41 52 47 53 7d 3a 20 |.X.X${LI|BARGS}: |
|00002a90| 24 7b 4f 42 4a 53 7d 0a | 58 09 61 72 20 72 76 75 |${OBJS}.|X.ar rvu|
|00002aa0| 20 24 40 20 24 7b 4f 42 | 4a 53 7d 0a 58 09 72 61 | $@ ${OB|JS}.X.ra|
|00002ab0| 6e 6c 69 62 20 24 40 0a | 58 0a 58 69 6e 73 74 61 |nlib $@.|X.Xinsta|
|00002ac0| 6c 6c 3a 20 24 7b 49 4e | 43 44 49 52 7d 2f 70 61 |ll: ${IN|CDIR}/pa|
|00002ad0| 72 73 65 61 72 67 73 2e | 68 20 24 7b 4c 49 42 44 |rseargs.|h ${LIBD|
|00002ae0| 49 52 7d 2f 24 7b 4c 49 | 42 46 49 4c 45 7d 0a 58 |IR}/${LI|BFILE}.X|
|00002af0| 0a 58 24 7b 49 4e 43 44 | 49 52 7d 2f 70 61 72 73 |.X${INCD|IR}/pars|
|00002b00| 65 61 72 67 73 2e 68 3a | 20 70 61 72 73 65 61 72 |eargs.h:| parsear|
|00002b10| 67 73 2e 68 0a 58 09 28 | 63 64 20 24 7b 49 4e 43 |gs.h.X.(|cd ${INC|
|00002b20| 44 49 52 7d 3b 20 72 6d | 20 2d 66 20 24 7b 48 46 |DIR}; rm| -f ${HF|
|00002b30| 49 4c 45 53 7d 29 0a 58 | 09 63 70 20 24 7b 48 46 |ILES}).X|.cp ${HF|
|00002b40| 49 4c 45 53 7d 20 24 7b | 49 4e 43 44 49 52 7d 0a |ILES} ${|INCDIR}.|
|00002b50| 58 0a 58 24 7b 4c 49 42 | 44 49 52 7d 2f 24 7b 4c |X.X${LIB|DIR}/${L|
|00002b60| 49 42 46 49 4c 45 7d 3a | 20 24 7b 4c 49 42 41 52 |IBFILE}:| ${LIBAR|
|00002b70| 47 53 7d 0a 58 09 72 6d | 20 2d 66 20 24 7b 4c 49 |GS}.X.rm| -f ${LI|
|00002b80| 42 44 49 52 7d 2f 24 7b | 4c 49 42 46 49 4c 45 7d |BDIR}/${|LIBFILE}|
|00002b90| 0a 58 09 63 70 20 24 7b | 4c 49 42 41 52 47 53 7d |.X.cp ${|LIBARGS}|
|00002ba0| 20 24 7b 4c 49 42 44 49 | 52 7d 2f 24 7b 4c 49 42 | ${LIBDI|R}/${LIB|
|00002bb0| 46 49 4c 45 7d 0a 58 09 | 72 61 6e 6c 69 62 20 24 |FILE}.X.|ranlib $|
|00002bc0| 7b 4c 49 42 44 49 52 7d | 2f 24 7b 4c 49 42 46 49 |{LIBDIR}|/${LIBFI|
|00002bd0| 4c 45 7d 0a 58 0a 58 73 | 68 61 72 3a 20 70 61 72 |LE}.X.Xs|har: par|
|00002be0| 73 65 61 72 67 73 2e 73 | 68 61 72 0a 58 0a 58 70 |seargs.s|har.X.Xp|
|00002bf0| 61 72 73 65 61 72 67 73 | 2e 73 68 61 72 3a 20 24 |arseargs|.shar: $|
|00002c00| 7b 53 52 43 46 49 4c 45 | 53 7d 0a 58 09 72 6d 20 |{SRCFILE|S}.X.rm |
|00002c10| 2d 66 20 70 61 72 73 65 | 61 72 67 73 2e 73 68 61 |-f parse|args.sha|
|00002c20| 72 0a 58 09 24 7b 53 48 | 41 52 7d 20 24 7b 53 52 |r.X.${SH|AR} ${SR|
|00002c30| 43 46 49 4c 45 53 7d 20 | 3e 20 70 61 72 73 65 61 |CFILES} |> parsea|
|00002c40| 72 67 73 2e 73 68 61 72 | 0a 58 0a 58 63 6c 65 61 |rgs.shar|.X.Xclea|
|00002c50| 6e 3a 0a 58 09 72 6d 20 | 2d 66 20 24 7b 4f 46 49 |n:.X.rm |-f ${OFI|
|00002c60| 4c 45 53 7d 20 24 7b 4c | 49 42 41 52 47 53 7d 20 |LES} ${L|IBARGS} |
|00002c70| 24 7b 53 54 59 4c 45 7d | 5f 74 65 73 74 20 74 61 |${STYLE}|_test ta|
|00002c80| 67 73 20 73 74 65 73 74 | 2e 6f 0a 58 0a 58 74 61 |gs stest|.o.X.Xta|
|00002c90| 67 73 3a 20 24 7b 43 46 | 49 4c 45 53 7d 20 24 7b |gs: ${CF|ILES} ${|
|00002ca0| 48 46 49 4c 45 53 7d 0a | 58 09 63 74 61 67 73 20 |HFILES}.|X.ctags |
|00002cb0| 24 7b 43 46 49 4c 45 53 | 7d 20 24 7b 48 46 49 4c |${CFILES|} ${HFIL|
|00002cc0| 45 53 7d 0a 2f 2f 45 4e | 44 5f 4f 46 5f 46 49 4c |ES}.//EN|D_OF_FIL|
|00002cd0| 45 0a 65 63 68 6f 20 78 | 20 2d 20 66 75 6e 63 6c |E.echo x| - funcl|
|00002ce0| 69 73 74 2e 68 0a 73 65 | 64 20 27 73 2f 5e 58 2f |ist.h.se|d 's/^X/|
|00002cf0| 2f 27 20 3e 20 66 75 6e | 63 6c 69 73 74 2e 68 20 |/' > fun|clist.h |
|00002d00| 3c 3c 20 27 2f 2f 45 4e | 44 5f 4f 46 5f 46 49 4c |<< '//EN|D_OF_FIL|
|00002d10| 45 27 0a 58 2f 2a 0a 58 | 2a 2a 20 20 46 55 4e 43 |E'.X/*.X|** FUNC|
|00002d20| 4c 49 53 54 2e 48 20 2d | 2d 20 68 65 61 64 65 72 |LIST.H -|- header|
|00002d30| 73 20 66 6f 72 20 66 75 | 6e 63 74 69 6f 6e 20 6c |s for fu|nction l|
|00002d40| 69 73 74 20 72 6f 75 74 | 69 6e 65 73 0a 58 2a 2a |ist rout|ines.X**|
|00002d50| 0a 58 2a 2a 09 24 48 65 | 61 64 65 72 3a 20 66 75 |.X**.$He|ader: fu|
|00002d60| 6e 63 6c 69 73 74 2e 68 | 2c 76 20 32 2e 30 20 38 |nclist.h|,v 2.0 8|
|00002d70| 39 2f 31 32 2f 32 34 20 | 30 30 3a 35 36 3a 32 33 |9/12/24 |00:56:23|
|00002d80| 20 65 72 69 63 20 45 78 | 70 20 24 0a 58 2a 2a 0a | eric Ex|p $.X**.|
|00002d90| 58 2a 2a 09 45 61 63 68 | 20 65 6e 74 72 79 20 69 |X**.Each| entry i|
|00002da0| 6e 20 74 68 69 73 20 6c | 69 73 74 20 63 6f 6e 74 |n this l|ist cont|
|00002db0| 61 69 6e 73 20 61 20 70 | 6f 69 6e 74 65 72 20 74 |ains a p|ointer t|
|00002dc0| 6f 20 61 20 66 75 6e 63 | 74 69 6f 6e 20 74 6f 20 |o a func|tion to |
|00002dd0| 62 65 0a 58 2a 2a 09 69 | 6e 76 6f 6b 65 64 2c 20 |be.X**.i|nvoked, |
|00002de0| 61 6e 64 20 61 6e 20 69 | 6e 74 65 67 65 72 20 61 |and an i|nteger a|
|00002df0| 72 67 75 6d 65 6e 74 20 | 74 6f 20 62 65 20 70 61 |rgument |to be pa|
|00002e00| 73 73 65 64 20 74 6f 20 | 69 74 2e 0a 58 2a 2a 0a |ssed to |it..X**.|
|00002e10| 58 2a 2a 09 41 75 74 68 | 6f 72 3a 0a 58 2a 2a 09 |X**.Auth|or:.X**.|
|00002e20| 09 45 72 69 63 20 41 6c | 6c 6d 61 6e 0a 58 2a 2a |.Eric Al|lman.X**|
|00002e30| 09 09 55 6e 69 76 65 72 | 73 69 74 79 20 6f 66 20 |..Univer|sity of |
|00002e40| 43 61 6c 69 66 6f 72 6e | 69 61 2c 20 42 65 72 6b |Californ|ia, Berk|
|00002e50| 65 6c 65 79 0a 58 2a 2f | 0a 58 0a 58 23 69 66 6e |eley.X*/|.X.X#ifn|
|00002e60| 64 65 66 20 46 55 4e 43 | 4c 49 53 54 0a 58 0a 58 |def FUNC|LIST.X.X|
|00002e70| 23 69 66 6e 64 65 66 20 | 5f 55 53 45 46 55 4c 5f |#ifndef |_USEFUL_|
|00002e80| 48 5f 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 75 73 |H_.X#inc|lude <us|
|00002e90| 65 66 75 6c 2e 68 3e 0a | 58 23 65 6e 64 69 66 0a |eful.h>.|X#endif.|
|00002ea0| 58 0a 58 23 64 65 66 69 | 6e 65 20 46 55 4e 43 4c |X.X#defi|ne FUNCL|
|00002eb0| 49 53 54 09 73 74 72 75 | 63 74 20 5f 66 75 6e 63 |IST.stru|ct _func|
|00002ec0| 6c 69 73 74 0a 58 0a 58 | 46 55 4e 43 4c 49 53 54 |list.X.X|FUNCLIST|
|00002ed0| 0a 58 7b 0a 58 09 46 55 | 4e 43 4c 49 53 54 09 2a |.X{.X.FU|NCLIST.*|
|00002ee0| 5f 66 6c 5f 6e 65 78 74 | 3b 09 2f 2a 20 6e 65 78 |_fl_next|;./* nex|
|00002ef0| 74 20 69 6e 20 63 68 61 | 69 6e 20 2a 2f 0a 58 09 |t in cha|in */.X.|
|00002f00| 56 4f 49 44 09 09 28 2a | 5f 66 6c 5f 66 75 6e 63 |VOID..(*|_fl_func|
|00002f10| 29 28 29 3b 09 2f 2a 20 | 66 75 6e 63 74 69 6f 6e |)();./* |function|
|00002f20| 20 74 6f 20 69 6e 76 6f | 6b 65 20 2a 2f 0a 58 09 | to invo|ke */.X.|
|00002f30| 41 52 42 50 54 52 09 09 | 5f 66 6c 5f 61 72 67 3b |ARBPTR..|_fl_arg;|
|00002f40| 09 2f 2a 20 66 69 72 73 | 74 20 61 72 67 75 6d 65 |./* firs|t argume|
|00002f50| 6e 74 20 2a 2f 0a 58 7d | 3b 0a 58 0a 58 23 64 65 |nt */.X}|;.X.X#de|
|00002f60| 66 69 6e 65 20 46 55 4e | 43 4c 49 53 54 4e 55 4c |fine FUN|CLISTNUL|
|00002f70| 4c 09 28 28 46 55 4e 43 | 4c 49 53 54 20 2a 29 20 |L.((FUNC|LIST *) |
|00002f80| 4e 55 4c 4c 29 0a 58 0a | 58 23 65 6e 64 69 66 0a |NULL).X.|X#endif.|
|00002f90| 2f 2f 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 0a 65 63 |//END_OF|_FILE.ec|
|00002fa0| 68 6f 20 78 20 2d 20 70 | 61 72 73 65 61 72 67 73 |ho x - p|arseargs|
|00002fb0| 2e 68 0a 73 65 64 20 27 | 73 2f 5e 58 2f 2f 27 20 |.h.sed '|s/^X//' |
|00002fc0| 3e 20 70 61 72 73 65 61 | 72 67 73 2e 68 20 3c 3c |> parsea|rgs.h <<|
|00002fd0| 20 27 2f 2f 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | '//END_|OF_FILE'|
|00002fe0| 0a 58 2f 2a 0a 58 2a 2a | 20 20 50 41 52 53 45 41 |.X/*.X**| PARSEA|
|00002ff0| 52 47 53 2e 48 20 2d 2d | 20 64 65 63 6c 61 72 61 |RGS.H --| declara|
|00003000| 74 69 6f 6e 73 20 66 6f | 72 20 61 72 67 75 6d 65 |tions fo|r argume|
|00003010| 6e 74 20 76 65 63 74 6f | 72 20 70 61 72 73 65 72 |nt vecto|r parser|
|00003020| 0a 58 2a 2a 0a 58 2a 2a | 09 24 48 65 61 64 65 72 |.X**.X**|.$Header|
|00003030| 3a 20 70 61 72 73 65 61 | 72 67 73 2e 68 2c 76 20 |: parsea|rgs.h,v |
|00003040| 32 2e 30 20 38 39 2f 31 | 32 2f 32 34 20 30 30 3a |2.0 89/1|2/24 00:|
|00003050| 35 36 3a 32 39 20 65 72 | 69 63 20 45 78 70 20 24 |56:29 er|ic Exp $|
|00003060| 0a 58 2a 2a 0a 58 2a 2a | 09 41 75 74 68 6f 72 3a |.X**.X**|.Author:|
|00003070| 0a 58 2a 2a 09 09 45 72 | 69 63 20 41 6c 6c 6d 61 |.X**..Er|ic Allma|
|00003080| 6e 0a 58 2a 2a 09 09 55 | 6e 69 76 65 72 73 69 74 |n.X**..U|niversit|
|00003090| 79 20 6f 66 20 43 61 6c | 69 66 6f 72 6e 69 61 2c |y of Cal|ifornia,|
|000030a0| 20 42 65 72 6b 65 6c 65 | 79 0a 58 2a 2f 0a 58 0a | Berkele|y.X*/.X.|
|000030b0| 58 23 69 66 6e 64 65 66 | 20 41 52 47 44 45 53 43 |X#ifndef| ARGDESC|
|000030c0| 0a 58 0a 58 23 69 66 6e | 64 65 66 20 5f 55 53 45 |.X.X#ifn|def _USE|
|000030d0| 46 55 4c 5f 48 5f 0a 58 | 23 69 6e 63 6c 75 64 65 |FUL_H_.X|#include|
|000030e0| 20 3c 75 73 65 66 75 6c | 2e 68 3e 0a 58 23 65 6e | <useful|.h>.X#en|
|000030f0| 64 69 66 0a 58 0a 58 23 | 64 65 66 69 6e 65 20 41 |dif.X.X#|define A|
|00003100| 52 47 44 45 53 43 09 09 | 73 74 72 75 63 74 20 5f |RGDESC..|struct _|
|00003110| 61 72 67 64 65 73 63 0a | 58 0a 58 41 52 47 44 45 |argdesc.|X.XARGDE|
|00003120| 53 43 0a 58 7b 0a 58 09 | 63 68 61 72 09 61 64 5f |SC.X{.X.|char.ad_|
|00003130| 6e 61 6d 65 3b 09 2f 2a | 20 66 6c 61 67 20 6e 61 |name;./*| flag na|
|00003140| 6d 65 20 2a 2f 0a 58 09 | 63 68 61 72 09 61 64 5f |me */.X.|char.ad_|
|00003150| 66 6c 61 67 73 3b 09 2f | 2a 20 66 6c 61 67 73 20 |flags;./|* flags |
|00003160| 2a 2f 0a 58 09 42 4f 4f | 4c 09 28 2a 61 64 5f 74 |*/.X.BOO|L.(*ad_t|
|00003170| 79 70 65 29 20 41 52 47 | 53 28 28 41 52 47 44 45 |ype) ARG|S((ARGDE|
|00003180| 53 43 20 2a 2c 20 63 68 | 61 72 20 2a 2c 20 42 4f |SC *, ch|ar *, BO|
|00003190| 4f 4c 29 29 3b 0a 58 09 | 09 09 09 2f 2a 20 66 75 |OL));.X.|.../* fu|
|000031a0| 6e 63 74 69 6f 6e 20 74 | 6f 20 70 61 72 73 65 20 |nction t|o parse |
|000031b0| 76 61 6c 75 65 20 2a 2f | 0a 58 09 41 52 42 50 54 |value */|.X.ARBPT|
|000031c0| 52 09 61 64 5f 76 61 6c | 70 3b 09 2f 2a 20 70 6f |R.ad_val|p;./* po|
|000031d0| 69 6e 74 65 72 20 74 6f | 20 76 61 6c 75 65 20 73 |inter to| value s|
|000031e0| 74 6f 72 61 67 65 20 61 | 72 65 61 20 2a 2f 0a 58 |torage a|rea */.X|
|000031f0| 09 63 68 61 72 09 2a 61 | 64 5f 70 72 6f 6d 70 74 |.char.*a|d_prompt|
|00003200| 3b 09 2f 2a 20 70 72 6f | 6d 70 74 20 73 74 72 69 |;./* pro|mpt stri|
|00003210| 6e 67 20 2a 2f 0a 58 7d | 3b 0a 58 0a 58 2f 2a 20 |ng */.X}|;.X.X/* |
|00003220| 62 69 74 73 20 66 6f 72 | 20 61 64 5f 66 6c 61 67 |bits for| ad_flag|
|00003230| 73 20 2a 2f 0a 58 23 64 | 65 66 69 6e 65 20 41 52 |s */.X#d|efine AR|
|00003240| 47 52 45 51 09 09 30 78 | 30 31 09 2f 2a 20 72 65 |GREQ..0x|01./* re|
|00003250| 71 75 69 72 65 64 20 61 | 72 67 75 6d 65 6e 74 20 |quired a|rgument |
|00003260| 2a 2f 0a 58 23 64 65 66 | 69 6e 65 20 41 52 47 4f |*/.X#def|ine ARGO|
|00003270| 50 54 09 09 30 78 30 30 | 09 2f 2a 20 6f 70 74 69 |PT..0x00|./* opti|
|00003280| 6f 6e 61 6c 20 61 72 67 | 75 6d 65 6e 74 20 70 73 |onal arg|ument ps|
|00003290| 65 75 64 6f 2d 66 6c 61 | 67 20 2a 2f 0a 58 23 64 |eudo-fla|g */.X#d|
|000032a0| 65 66 69 6e 65 20 41 52 | 47 48 49 44 44 45 4e 09 |efine AR|GHIDDEN.|
|000032b0| 30 78 30 32 09 2f 2a 20 | 64 6f 6e 27 74 20 64 69 |0x02./* |don't di|
|000032c0| 73 70 6c 61 79 20 69 6e | 20 75 73 61 67 65 20 6d |splay in| usage m|
|000032d0| 65 73 73 61 67 65 20 2a | 2f 0a 58 23 64 65 66 69 |essage *|/.X#defi|
|000032e0| 6e 65 20 41 52 47 47 49 | 56 45 4e 09 30 78 30 38 |ne ARGGI|VEN.0x08|
|000032f0| 09 2f 2a 20 28 69 6e 74 | 65 72 6e 61 6c 29 20 61 |./* (int|ernal) a|
|00003300| 72 67 75 6d 65 6e 74 20 | 68 61 73 20 62 65 65 6e |rgument |has been|
|00003310| 20 73 70 65 63 69 66 69 | 65 64 20 2a 2f 0a 58 0a | specifi|ed */.X.|
|00003320| 58 2f 2a 20 74 79 70 65 | 73 20 61 76 61 69 6c 61 |X/* type|s availa|
|00003330| 62 6c 65 20 66 6f 72 20 | 61 64 5f 74 79 70 65 20 |ble for |ad_type |
|00003340| 2a 2f 0a 58 65 78 74 65 | 72 6e 20 42 4f 4f 4c 09 |*/.Xexte|rn BOOL.|
|00003350| 61 72 67 42 6f 6f 6c 20 | 41 52 47 53 28 28 41 52 |argBool |ARGS((AR|
|00003360| 47 44 45 53 43 20 2a 2c | 20 63 68 61 72 20 2a 2c |GDESC *,| char *,|
|00003370| 20 42 4f 4f 4c 29 29 3b | 0a 58 65 78 74 65 72 6e | BOOL));|.Xextern|
|00003380| 20 42 4f 4f 4c 09 61 72 | 67 43 68 61 72 20 41 52 | BOOL.ar|gChar AR|
|00003390| 47 53 28 28 41 52 47 44 | 45 53 43 20 2a 2c 20 63 |GS((ARGD|ESC *, c|
|000033a0| 68 61 72 20 2a 2c 20 42 | 4f 4f 4c 29 29 3b 0a 58 |har *, B|OOL));.X|
|000033b0| 65 78 74 65 72 6e 20 42 | 4f 4f 4c 09 61 72 67 53 |extern B|OOL.argS|
|000033c0| 74 72 20 41 52 47 53 28 | 28 41 52 47 44 45 53 43 |tr ARGS(|(ARGDESC|
|000033d0| 20 2a 2c 20 63 68 61 72 | 20 2a 2c 20 42 4f 4f 4c | *, char| *, BOOL|
|000033e0| 29 29 3b 0a 58 65 78 74 | 65 72 6e 20 42 4f 4f 4c |));.Xext|ern BOOL|
|000033f0| 09 61 72 67 49 6e 74 20 | 41 52 47 53 28 28 41 52 |.argInt |ARGS((AR|
|00003400| 47 44 45 53 43 20 2a 2c | 20 63 68 61 72 20 2a 2c |GDESC *,| char *,|
|00003410| 20 42 4f 4f 4c 29 29 3b | 0a 58 65 78 74 65 72 6e | BOOL));|.Xextern|
|00003420| 20 42 4f 4f 4c 09 61 72 | 67 53 68 6f 72 74 20 41 | BOOL.ar|gShort A|
|00003430| 52 47 53 28 28 41 52 47 | 44 45 53 43 20 2a 2c 20 |RGS((ARG|DESC *, |
|00003440| 63 68 61 72 20 2a 2c 20 | 42 4f 4f 4c 29 29 3b 0a |char *, |BOOL));.|
|00003450| 58 65 78 74 65 72 6e 20 | 42 4f 4f 4c 09 61 72 67 |Xextern |BOOL.arg|
|00003460| 4c 6f 6e 67 20 41 52 47 | 53 28 28 41 52 47 44 45 |Long ARG|S((ARGDE|
|00003470| 53 43 20 2a 2c 20 63 68 | 61 72 20 2a 2c 20 42 4f |SC *, ch|ar *, BO|
|00003480| 4f 4c 29 29 3b 0a 58 65 | 78 74 65 72 6e 20 42 4f |OL));.Xe|xtern BO|
|00003490| 4f 4c 09 61 72 67 46 6c | 6f 61 74 20 41 52 47 53 |OL.argFl|oat ARGS|
|000034a0| 28 28 41 52 47 44 45 53 | 43 20 2a 2c 20 63 68 61 |((ARGDES|C *, cha|
|000034b0| 72 20 2a 2c 20 42 4f 4f | 4c 29 29 3b 0a 58 65 78 |r *, BOO|L));.Xex|
|000034c0| 74 65 72 6e 20 42 4f 4f | 4c 09 61 72 67 44 6f 75 |tern BOO|L.argDou|
|000034d0| 62 6c 65 20 41 52 47 53 | 28 28 41 52 47 44 45 53 |ble ARGS|((ARGDES|
|000034e0| 43 20 2a 2c 20 63 68 61 | 72 20 2a 2c 20 42 4f 4f |C *, cha|r *, BOO|
|000034f0| 4c 29 29 3b 0a 58 65 78 | 74 65 72 6e 20 42 4f 4f |L));.Xex|tern BOO|
|00003500| 4c 09 61 72 67 4c 69 73 | 74 20 41 52 47 53 28 28 |L.argLis|t ARGS((|
|00003510| 41 52 47 44 45 53 43 20 | 2a 2c 20 63 68 61 72 20 |ARGDESC |*, char |
|00003520| 2a 2c 20 42 4f 4f 4c 29 | 29 3b 0a 58 0a 58 73 74 |*, BOOL)|);.X.Xst|
|00003530| 72 75 63 74 20 6e 61 6d | 65 6c 69 73 74 20 7b 0a |ruct nam|elist {.|
|00003540| 58 09 73 74 72 75 63 74 | 20 6e 61 6d 65 6c 69 73 |X.struct| namelis|
|00003550| 74 20 2a 6e 6c 5f 6e 65 | 78 74 3b 0a 58 09 63 68 |t *nl_ne|xt;.X.ch|
|00003560| 61 72 20 2a 6e 6c 5f 6e | 61 6d 65 3b 0a 58 7d 3b |ar *nl_n|ame;.X};|
|00003570| 0a 58 0a 58 23 64 65 66 | 69 6e 65 20 45 4e 44 4f |.X.X#def|ine ENDO|
|00003580| 46 41 52 47 53 09 7b 20 | 27 5c 30 27 20 7d 0a 58 |FARGS.{ |'\0' }.X|
|00003590| 0a 58 23 65 6e 64 69 66 | 0a 2f 2f 45 4e 44 5f 4f |.X#endif|.//END_O|
|000035a0| 46 5f 46 49 4c 45 0a 65 | 63 68 6f 20 78 20 2d 20 |F_FILE.e|cho x - |
|000035b0| 75 73 65 66 75 6c 2e 68 | 0a 73 65 64 20 27 73 2f |useful.h|.sed 's/|
|000035c0| 5e 58 2f 2f 27 20 3e 20 | 75 73 65 66 75 6c 2e 68 |^X//' > |useful.h|
|000035d0| 20 3c 3c 20 27 2f 2f 45 | 4e 44 5f 4f 46 5f 46 49 | << '//E|ND_OF_FI|
|000035e0| 4c 45 27 0a 58 2f 2a 0a | 58 2a 2a 20 20 55 53 45 |LE'.X/*.|X** USE|
|000035f0| 46 55 4c 2e 48 20 2d 2d | 20 76 61 72 69 6f 75 73 |FUL.H --| various|
|00003600| 20 64 65 66 69 6e 69 74 | 69 6f 6e 73 20 6f 66 20 | definit|ions of |
|00003610| 67 65 6e 65 72 61 6c 20 | 69 6e 74 65 72 65 73 74 |general |interest|
|00003620| 0a 58 2a 2a 0a 58 2a 2a | 09 24 48 65 61 64 65 72 |.X**.X**|.$Header|
|00003630| 3a 20 75 73 65 66 75 6c | 2e 68 2c 76 20 32 2e 30 |: useful|.h,v 2.0|
|00003640| 20 38 39 2f 31 32 2f 32 | 34 20 30 30 3a 35 36 3a | 89/12/2|4 00:56:|
|00003650| 33 33 20 65 72 69 63 20 | 45 78 70 20 24 0a 58 2a |33 eric |Exp $.X*|
|00003660| 2a 0a 58 2a 2a 09 41 75 | 74 68 6f 72 3a 0a 58 2a |*.X**.Au|thor:.X*|
|00003670| 2a 09 09 45 72 69 63 20 | 41 6c 6c 6d 61 6e 0a 58 |*..Eric |Allman.X|
|00003680| 2a 2a 09 09 55 6e 69 76 | 65 72 73 69 74 79 20 6f |**..Univ|ersity o|
|00003690| 66 20 43 61 6c 69 66 6f | 72 6e 69 61 2c 20 42 65 |f Califo|rnia, Be|
|000036a0| 72 6b 65 6c 65 79 0a 58 | 2a 2f 0a 58 0a 58 23 69 |rkeley.X|*/.X.X#i|
|000036b0| 66 6e 64 65 66 20 5f 55 | 53 45 46 55 4c 5f 48 5f |fndef _U|SEFUL_H_|
|000036c0| 0a 58 23 64 65 66 69 6e | 65 20 5f 55 53 45 46 55 |.X#defin|e _USEFU|
|000036d0| 4c 5f 48 5f 0a 58 0a 58 | 23 69 6e 63 6c 75 64 65 |L_H_.X.X|#include|
|000036e0| 20 3c 73 74 64 69 6f 2e | 68 3e 0a 58 0a 58 2f 2a | <stdio.|h>.X.X/*|
|000036f0| 20 67 69 76 65 20 61 20 | 73 74 61 62 20 61 74 20 | give a |stab at |
|00003700| 74 68 65 20 6d 75 6c 74 | 69 70 6c 65 2d 6c 61 6e |the mult|iple-lan|
|00003710| 67 75 61 67 65 20 64 69 | 6c 65 6d 6d 61 20 2a 2f |guage di|lemma */|
|00003720| 0a 58 23 69 66 64 65 66 | 20 5f 5f 53 54 44 43 5f |.X#ifdef| __STDC_|
|00003730| 5f 0a 58 23 64 65 66 69 | 6e 65 20 41 52 47 53 28 |_.X#defi|ne ARGS(|
|00003740| 78 29 09 09 78 0a 58 23 | 64 65 66 69 6e 65 20 4e |x)..x.X#|define N|
|00003750| 4f 41 52 47 53 09 09 28 | 76 6f 69 64 29 0a 58 23 |OARGS..(|void).X#|
|00003760| 64 65 66 69 6e 65 20 5f | 5f 41 4e 53 49 5f 43 5f |define _|_ANSI_C_|
|00003770| 5f 0a 58 23 65 6c 73 65 | 0a 58 23 69 66 20 64 65 |_.X#else|.X#if de|
|00003780| 66 69 6e 65 64 28 63 5f | 70 6c 75 73 70 6c 75 73 |fined(c_|plusplus|
|00003790| 29 20 7c 7c 20 64 65 66 | 69 6e 65 64 28 5f 5f 63 |) || def|ined(__c|
|000037a0| 70 6c 75 73 70 6c 75 73 | 29 0a 58 23 64 65 66 69 |plusplus|).X#defi|
|000037b0| 6e 65 20 41 52 47 53 28 | 78 29 09 09 78 0a 58 23 |ne ARGS(|x)..x.X#|
|000037c0| 64 65 66 69 6e 65 20 4e | 4f 41 52 47 53 09 09 28 |define N|OARGS..(|
|000037d0| 29 0a 58 23 64 65 66 69 | 6e 65 20 5f 5f 41 4e 53 |).X#defi|ne __ANS|
|000037e0| 49 5f 43 5f 5f 0a 58 23 | 65 6c 73 65 0a 58 23 64 |I_C__.X#|else.X#d|
|000037f0| 65 66 69 6e 65 20 41 52 | 47 53 28 78 29 09 09 28 |efine AR|GS(x)..(|
|00003800| 29 0a 58 23 64 65 66 69 | 6e 65 20 4e 4f 41 52 47 |).X#defi|ne NOARG|
|00003810| 53 09 09 28 29 0a 58 23 | 65 6e 64 69 66 0a 58 23 |S..().X#|endif.X#|
|00003820| 65 6e 64 69 66 0a 58 0a | 58 23 69 66 6e 64 65 66 |endif.X.|X#ifndef|
|00003830| 20 56 4f 49 44 0a 58 23 | 69 66 64 65 66 20 5f 5f | VOID.X#|ifdef __|
|00003840| 41 4e 53 49 5f 43 5f 5f | 0a 58 23 64 65 66 69 6e |ANSI_C__|.X#defin|
|00003850| 65 20 56 4f 49 44 09 09 | 76 6f 69 64 0a 58 23 65 |e VOID..|void.X#e|
|00003860| 6c 73 65 0a 58 23 64 65 | 66 69 6e 65 20 56 4f 49 |lse.X#de|fine VOI|
|00003870| 44 09 09 69 6e 74 0a 58 | 23 65 6e 64 69 66 0a 58 |D..int.X|#endif.X|
|00003880| 23 65 6e 64 69 66 0a 58 | 0a 58 23 69 66 6e 64 65 |#endif.X|.X#ifnde|
|00003890| 66 20 54 52 55 45 0a 58 | 23 64 65 66 69 6e 65 20 |f TRUE.X|#define |
|000038a0| 54 52 55 45 09 09 31 0a | 58 23 64 65 66 69 6e 65 |TRUE..1.|X#define|
|000038b0| 20 46 41 4c 53 45 09 09 | 30 0a 58 23 65 6e 64 69 | FALSE..|0.X#endi|
|000038c0| 66 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 42 4f 4f |f.X.X#if|ndef BOO|
|000038d0| 4c 0a 58 23 64 65 66 69 | 6e 65 20 42 4f 4f 4c 09 |L.X#defi|ne BOOL.|
|000038e0| 09 63 68 61 72 0a 58 23 | 65 6e 64 69 66 0a 58 0a |.char.X#|endif.X.|
|000038f0| 58 23 69 66 6e 64 65 66 | 20 53 54 41 54 49 43 0a |X#ifndef| STATIC.|
|00003900| 58 23 69 66 6e 64 65 66 | 20 4e 4f 44 45 42 55 47 |X#ifndef| NODEBUG|
|00003910| 0a 58 23 64 65 66 69 6e | 65 20 53 54 41 54 49 43 |.X#defin|e STATIC|
|00003920| 0a 58 23 65 6c 73 65 0a | 58 23 64 65 66 69 6e 65 |.X#else.|X#define|
|00003930| 20 53 54 41 54 49 43 09 | 09 73 74 61 74 69 63 0a | STATIC.|.static.|
|00003940| 58 23 65 6e 64 69 66 0a | 58 23 65 6e 64 69 66 0a |X#endif.|X#endif.|
|00003950| 58 0a 58 23 69 66 6e 64 | 65 66 20 45 58 54 45 52 |X.X#ifnd|ef EXTER|
|00003960| 4e 0a 58 23 64 65 66 69 | 6e 65 20 45 58 54 45 52 |N.X#defi|ne EXTER|
|00003970| 4e 09 09 65 78 74 65 72 | 6e 0a 58 23 65 6e 64 69 |N..exter|n.X#endi|
|00003980| 66 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 43 4f 4e |f.X.X#if|ndef CON|
|00003990| 53 54 0a 58 23 69 66 64 | 65 66 20 5f 5f 41 4e 53 |ST.X#ifd|ef __ANS|
|000039a0| 49 5f 43 5f 5f 0a 58 23 | 64 65 66 69 6e 65 20 43 |I_C__.X#|define C|
|000039b0| 4f 4e 53 54 09 09 63 6f | 6e 73 74 0a 58 23 65 6c |ONST..co|nst.X#el|
|000039c0| 73 65 0a 58 23 64 65 66 | 69 6e 65 20 43 4f 4e 53 |se.X#def|ine CONS|
|000039d0| 54 0a 58 23 65 6e 64 69 | 66 0a 58 23 65 6e 64 69 |T.X#endi|f.X#endi|
|000039e0| 66 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 4e 55 4c |f.X.X#if|ndef NUL|
|000039f0| 4c 0a 58 23 64 65 66 69 | 6e 65 20 4e 55 4c 4c 09 |L.X#defi|ne NULL.|
|00003a00| 09 30 0a 58 23 65 6e 64 | 69 66 0a 58 0a 58 23 69 |.0.X#end|if.X.X#i|
|00003a10| 66 6e 64 65 66 20 43 48 | 41 52 4e 55 4c 4c 0a 58 |fndef CH|ARNULL.X|
|00003a20| 23 64 65 66 69 6e 65 20 | 43 48 41 52 4e 55 4c 4c |#define |CHARNULL|
|00003a30| 09 28 28 63 68 61 72 20 | 2a 29 20 4e 55 4c 4c 29 |.((char |*) NULL)|
|00003a40| 0a 58 23 65 6e 64 69 66 | 0a 58 0a 58 23 64 65 66 |.X#endif|.X.X#def|
|00003a50| 69 6e 65 20 46 49 4c 45 | 4e 55 4c 4c 09 28 28 46 |ine FILE|NULL.((F|
|00003a60| 49 4c 45 20 2a 29 20 4e | 55 4c 4c 29 0a 58 0a 58 |ILE *) N|ULL).X.X|
|00003a70| 23 69 66 64 65 66 20 5f | 5f 41 4e 53 49 5f 43 5f |#ifdef _|_ANSI_C_|
|00003a80| 5f 0a 58 23 64 65 66 69 | 6e 65 20 41 52 42 50 54 |_.X#defi|ne ARBPT|
|00003a90| 52 09 09 76 6f 69 64 20 | 2a 0a 58 23 65 6c 73 65 |R..void |*.X#else|
|00003aa0| 0a 58 23 64 65 66 69 6e | 65 20 41 52 42 50 54 52 |.X#defin|e ARBPTR|
|00003ab0| 09 09 63 68 61 72 20 2a | 0a 58 23 65 6e 64 69 66 |..char *|.X#endif|
|00003ac0| 0a 58 23 64 65 66 69 6e | 65 20 5f 5f 09 09 28 41 |.X#defin|e __..(A|
|00003ad0| 52 42 50 54 52 29 0a 58 | 23 64 65 66 69 6e 65 20 |RBPTR).X|#define |
|00003ae0| 41 52 42 4e 55 4c 4c 09 | 09 28 5f 5f 20 4e 55 4c |ARBNULL.|.(__ NUL|
|00003af0| 4c 29 0a 58 0a 58 23 69 | 66 6e 64 65 66 20 54 52 |L).X.X#i|fndef TR|
|00003b00| 41 43 45 53 54 55 46 46 | 0a 58 23 64 65 66 69 6e |ACESTUFF|.X#defin|
|00003b10| 65 20 4e 4f 44 45 42 55 | 47 0a 58 23 65 6e 64 69 |e NODEBU|G.X#endi|
|00003b20| 66 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 4e 4f 44 |f.X.X#if|ndef NOD|
|00003b30| 45 42 55 47 0a 58 23 64 | 65 66 69 6e 65 20 5f 54 |EBUG.X#d|efine _T|
|00003b40| 52 41 43 45 5f 53 49 5a | 45 09 32 30 30 0a 58 65 |RACE_SIZ|E.200.Xe|
|00003b50| 78 74 65 72 6e 20 75 6e | 73 69 67 6e 65 64 20 63 |xtern un|signed c|
|00003b60| 68 61 72 09 5f 54 72 61 | 63 65 56 65 63 74 5b 5f |har._Tra|ceVect[_|
|00003b70| 54 52 41 43 45 5f 53 49 | 5a 45 5d 3b 0a 58 23 64 |TRACE_SI|ZE];.X#d|
|00003b80| 65 66 69 6e 65 20 54 52 | 41 43 45 46 28 66 2c 20 |efine TR|ACEF(f, |
|00003b90| 6c 29 09 28 5f 54 72 61 | 63 65 56 65 63 74 5b 66 |l).(_Tra|ceVect[f|
|00003ba0| 5d 20 3e 3d 20 6c 29 0a | 58 23 64 65 66 69 6e 65 |] >= l).|X#define|
|00003bb0| 20 54 52 41 43 45 28 66 | 2c 20 6c 2c 20 6d 29 09 | TRACE(f|, l, m).|
|00003bc0| 28 54 52 41 43 45 46 28 | 66 2c 20 6c 29 20 3f 20 |(TRACEF(|f, l) ? |
|00003bd0| 70 72 69 6e 74 66 20 6d | 20 3a 20 30 29 0a 58 23 |printf m| : 0).X#|
|00003be0| 65 6c 73 65 0a 58 23 64 | 65 66 69 6e 65 20 54 52 |else.X#d|efine TR|
|00003bf0| 41 43 45 46 28 66 2c 20 | 6c 29 09 28 46 41 4c 53 |ACEF(f, |l).(FALS|
|00003c00| 45 29 0a 58 23 64 65 66 | 69 6e 65 20 54 52 41 43 |E).X#def|ine TRAC|
|00003c10| 45 28 66 2c 20 6c 2c 20 | 6d 29 0a 58 23 65 6e 64 |E(f, l, |m).X#end|
|00003c20| 69 66 0a 58 0a 58 23 69 | 66 64 65 66 20 6c 69 6e |if.X.X#i|fdef lin|
|00003c30| 74 0a 58 23 64 65 66 69 | 6e 65 20 56 45 52 53 49 |t.X#defi|ne VERSI|
|00003c40| 4f 4e 49 44 28 76 29 0a | 58 23 65 6c 73 65 0a 58 |ONID(v).|X#else.X|
|00003c50| 23 64 65 66 69 6e 65 20 | 56 45 52 53 49 4f 4e 49 |#define |VERSIONI|
|00003c60| 44 28 76 29 09 73 74 61 | 74 69 63 20 63 68 61 72 |D(v).sta|tic char|
|00003c70| 20 5f 56 65 72 73 69 6f | 6e 5b 5d 20 3d 20 76 3b | _Versio|n[] = v;|
|00003c80| 0a 58 23 65 6e 64 69 66 | 0a 58 0a 58 23 64 65 66 |.X#endif|.X.X#def|
|00003c90| 69 6e 65 20 42 49 54 53 | 45 54 28 62 2c 20 77 29 |ine BITS|ET(b, w)|
|00003ca0| 09 28 28 28 62 29 20 26 | 20 28 77 29 29 20 21 3d |.(((b) &| (w)) !=|
|00003cb0| 20 30 29 0a 58 0a 58 23 | 69 66 64 65 66 20 5f 5f | 0).X.X#|ifdef __|
|00003cc0| 53 54 44 43 5f 5f 0a 58 | 23 69 6e 63 6c 75 64 65 |STDC__.X|#include|
|00003cd0| 20 3c 73 74 72 69 6e 67 | 2e 68 3e 0a 58 23 65 6c | <string|.h>.X#el|
|00003ce0| 73 65 0a 58 65 78 74 65 | 72 6e 20 63 68 61 72 09 |se.Xexte|rn char.|
|00003cf0| 2a 73 74 72 63 68 72 20 | 41 52 47 53 28 28 63 68 |*strchr |ARGS((ch|
|00003d00| 61 72 20 2a 2c 20 63 68 | 61 72 29 29 3b 0a 58 65 |ar *, ch|ar));.Xe|
|00003d10| 78 74 65 72 6e 20 63 68 | 61 72 09 2a 73 74 72 72 |xtern ch|ar.*strr|
|00003d20| 63 68 72 20 41 52 47 53 | 28 28 63 68 61 72 20 2a |chr ARGS|((char *|
|00003d30| 2c 20 63 68 61 72 29 29 | 3b 0a 58 23 65 6e 64 69 |, char))|;.X#endi|
|00003d40| 66 0a 58 0a 58 65 78 74 | 65 72 6e 20 41 52 42 50 |f.X.Xext|ern ARBP|
|00003d50| 54 52 09 63 6b 61 6c 6c | 6f 63 20 41 52 47 53 28 |TR.ckall|oc ARGS(|
|00003d60| 28 75 6e 73 69 67 6e 65 | 64 20 69 6e 74 29 29 3b |(unsigne|d int));|
|00003d70| 0a 58 0a 58 23 64 65 66 | 69 6e 65 20 4d 41 58 49 |.X.X#def|ine MAXI|
|00003d80| 4e 50 55 54 4c 49 4e 45 | 09 32 30 30 09 09 2f 2a |NPUTLINE|.200../*|
|00003d90| 20 6d 61 78 69 6d 75 6d | 20 73 74 72 69 6e 67 20 | maximum| string |
|00003da0| 69 6e 70 75 74 20 6c 69 | 6e 65 20 2a 2f 0a 58 23 |input li|ne */.X#|
|00003db0| 64 65 66 69 6e 65 20 4d | 41 58 57 4f 52 44 4c 45 |define M|AXWORDLE|
|00003dc0| 4e 09 31 30 30 09 09 2f | 2a 20 6d 61 78 69 6d 75 |N.100../|* maximu|
|00003dd0| 6d 20 77 6f 72 64 20 28 | 74 6f 6b 65 6e 29 20 6c |m word (|token) l|
|00003de0| 65 6e 67 74 68 20 2a 2f | 0a 58 0a 58 23 69 66 6e |ength */|.X.X#ifn|
|00003df0| 64 65 66 20 42 53 44 0a | 58 23 64 65 66 69 6e 65 |def BSD.|X#define|
|00003e00| 20 62 63 6f 70 79 28 66 | 2c 74 2c 6c 29 20 6d 65 | bcopy(f|,t,l) me|
|00003e10| 6d 63 70 79 28 74 2c 66 | 2c 6c 29 0a 58 23 64 65 |mcpy(t,f|,l).X#de|
|00003e20| 66 69 6e 65 20 62 63 6d | 70 28 73 2c 74 2c 6c 29 |fine bcm|p(s,t,l)|
|00003e30| 20 6d 65 6d 63 6d 70 28 | 73 2c 74 2c 6c 29 0a 58 | memcmp(|s,t,l).X|
|00003e40| 23 65 6e 64 69 66 0a 58 | 0a 58 23 65 6e 64 69 66 |#endif.X|.X#endif|
|00003e50| 20 2f 2a 20 5f 55 53 45 | 46 55 4c 5f 48 5f 20 2a | /* _USE|FUL_H_ *|
|00003e60| 2f 0a 2f 2f 45 4e 44 5f | 4f 46 5f 46 49 4c 45 0a |/.//END_|OF_FILE.|
|00003e70| 65 63 68 6f 20 78 20 2d | 20 63 6b 61 6c 6c 6f 63 |echo x -| ckalloc|
|00003e80| 2e 63 0a 73 65 64 20 27 | 73 2f 5e 58 2f 2f 27 20 |.c.sed '|s/^X//' |
|00003e90| 3e 20 63 6b 61 6c 6c 6f | 63 2e 63 20 3c 3c 20 27 |> ckallo|c.c << '|
|00003ea0| 2f 2f 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 27 0a 58 |//END_OF|_FILE'.X|
|00003eb0| 23 69 6e 63 6c 75 64 65 | 20 3c 75 73 65 66 75 6c |#include| <useful|
|00003ec0| 2e 68 3e 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 66 |.h>.X#in|clude <f|
|00003ed0| 75 6e 63 6c 69 73 74 2e | 68 3e 0a 58 0a 58 56 45 |unclist.|h>.X.XVE|
|00003ee0| 52 53 49 4f 4e 49 44 28 | 22 24 48 65 61 64 65 72 |RSIONID(|"$Header|
|00003ef0| 3a 20 63 6b 61 6c 6c 6f | 63 2e 63 2c 76 20 32 2e |: ckallo|c.c,v 2.|
|00003f00| 30 20 38 39 2f 31 32 2f | 32 34 20 30 30 3a 35 36 |0 89/12/|24 00:56|
|00003f10| 3a 32 31 20 65 72 69 63 | 20 45 78 70 20 24 22 29 |:21 eric| Exp $")|
|00003f20| 3b 0a 58 0a 58 2f 2a 0a | 58 2a 2a 20 20 43 4b 41 |;.X.X/*.|X** CKA|
|00003f30| 4c 4c 4f 43 20 2d 2d 20 | 61 6c 6c 6f 63 61 74 65 |LLOC -- |allocate|
|00003f40| 20 6d 65 6d 6f 72 79 2c | 20 63 68 65 63 6b 69 6e | memory,| checkin|
|00003f50| 67 20 66 6f 72 20 65 72 | 72 6f 72 20 63 6f 6e 64 |g for er|ror cond|
|00003f60| 69 74 69 6f 6e 73 0a 58 | 2a 2a 0a 58 2a 2a 09 49 |itions.X|**.X**.I|
|00003f70| 66 20 77 65 20 63 61 6e | 6e 6f 74 20 61 6c 6c 6f |f we can|not allo|
|00003f80| 63 61 74 65 20 6d 65 6d | 6f 72 79 2c 20 77 65 20 |cate mem|ory, we |
|00003f90| 63 61 6c 6c 20 74 68 65 | 20 6c 69 73 74 20 6f 66 |call the| list of|
|00003fa0| 20 66 75 6e 63 74 69 6f | 6e 73 0a 58 2a 2a 09 69 | functio|ns.X**.i|
|00003fb0| 6e 20 4f 75 74 4f 66 4d | 65 6d 6f 72 79 46 75 6e |n OutOfM|emoryFun|
|00003fc0| 63 73 2e 20 20 57 65 20 | 74 68 65 6e 20 74 72 79 |cs. We |then try|
|00003fd0| 20 61 67 61 69 6e 2e 20 | 20 49 66 20 74 68 65 20 | again. | If the |
|00003fe0| 73 65 63 6f 6e 64 20 61 | 74 74 65 6d 70 74 0a 58 |second a|ttempt.X|
|00003ff0| 2a 2a 09 66 61 69 6c 73 | 2c 20 77 65 20 74 65 72 |**.fails|, we ter|
|00004000| 6d 69 6e 61 74 65 20 74 | 68 65 20 70 72 6f 63 65 |minate t|he proce|
|00004010| 73 73 2e 0a 58 2a 2a 0a | 58 2a 2a 09 50 61 72 61 |ss..X**.|X**.Para|
|00004020| 6d 65 74 65 72 73 3a 0a | 58 2a 2a 09 09 73 69 7a |meters:.|X**..siz|
|00004030| 65 20 2d 2d 20 74 68 65 | 20 6e 75 6d 62 65 72 20 |e -- the| number |
|00004040| 6f 66 20 62 79 74 65 73 | 20 6f 66 20 6d 65 6d 6f |of bytes| of memo|
|00004050| 72 79 20 74 6f 20 62 65 | 20 61 6c 6c 6f 63 61 74 |ry to be| allocat|
|00004060| 65 64 2e 0a 58 2a 2a 0a | 58 2a 2a 09 52 65 74 75 |ed..X**.|X**.Retu|
|00004070| 72 6e 73 3a 0a 58 2a 2a | 09 09 41 20 70 6f 69 6e |rns:.X**|..A poin|
|00004080| 74 65 72 20 74 6f 20 74 | 68 65 20 61 6c 6c 6f 63 |ter to t|he alloc|
|00004090| 61 74 65 64 20 6d 65 6d | 6f 72 79 2e 0a 58 2a 2a |ated mem|ory..X**|
|000040a0| 09 09 4e 65 76 65 72 20 | 72 65 74 75 72 6e 73 20 |..Never |returns |
|000040b0| 69 66 20 6d 65 6d 6f 72 | 79 20 63 61 6e 6e 6f 74 |if memor|y cannot|
|000040c0| 20 62 65 20 61 6c 6c 6f | 63 61 74 65 64 2e 0a 58 | be allo|cated..X|
|000040d0| 2a 2a 0a 58 2a 2a 09 53 | 69 64 65 20 45 66 66 65 |**.X**.S|ide Effe|
|000040e0| 63 74 73 3a 0a 58 2a 2a | 09 09 41 73 20 69 6d 70 |cts:.X**|..As imp|
|000040f0| 6c 69 65 64 20 62 79 20 | 6d 65 6d 6f 72 79 20 61 |lied by |memory a|
|00004100| 6c 6c 6f 63 61 74 69 6f | 6e 2e 0a 58 2a 2a 0a 58 |llocatio|n..X**.X|
|00004110| 2a 2a 09 47 6c 6f 62 61 | 6c 73 3a 0a 58 2a 2a 09 |**.Globa|ls:.X**.|
|00004120| 09 4f 75 74 4f 66 4d 65 | 6d 6f 72 79 46 75 6e 63 |.OutOfMe|moryFunc|
|00004130| 73 20 2d 2d 20 61 20 46 | 55 4e 43 4c 49 53 54 20 |s -- a F|UNCLIST |
|00004140| 74 68 61 74 20 69 73 20 | 63 61 6c 6c 65 64 20 77 |that is |called w|
|00004150| 68 65 6e 20 6d 65 6d 6f | 72 79 0a 58 2a 2a 09 09 |hen memo|ry.X**..|
|00004160| 09 63 61 6e 6e 6f 74 20 | 62 65 20 61 6c 6c 6f 63 |.cannot |be alloc|
|00004170| 61 74 65 64 2e 0a 58 2a | 2a 0a 58 2a 2a 09 41 75 |ated..X*|*.X**.Au|
|00004180| 74 68 6f 72 3a 0a 58 2a | 2a 09 09 45 72 69 63 20 |thor:.X*|*..Eric |
|00004190| 41 6c 6c 6d 61 6e 0a 58 | 2a 2a 09 09 55 6e 69 76 |Allman.X|**..Univ|
|000041a0| 65 72 73 69 74 79 20 6f | 66 20 43 61 6c 69 66 6f |ersity o|f Califo|
|000041b0| 72 6e 69 61 2c 20 42 65 | 72 6b 65 6c 65 79 0a 58 |rnia, Be|rkeley.X|
|000041c0| 2a 2f 0a 58 0a 58 46 55 | 4e 43 4c 49 53 54 09 2a |*/.X.XFU|NCLIST.*|
|000041d0| 4f 75 74 4f 66 4d 65 6d | 6f 72 79 46 75 6e 63 73 |OutOfMem|oryFuncs|
|000041e0| 20 3d 09 46 55 4e 43 4c | 49 53 54 4e 55 4c 4c 3b | =.FUNCL|ISTNULL;|
|000041f0| 0a 58 0a 58 41 52 42 50 | 54 52 0a 58 63 6b 61 6c |.X.XARBP|TR.Xckal|
|00004200| 6c 6f 63 28 73 69 7a 65 | 29 0a 58 09 75 6e 73 69 |loc(size|).X.unsi|
|00004210| 67 6e 65 64 20 69 6e 74 | 20 73 69 7a 65 3b 0a 58 |gned int| size;.X|
|00004220| 7b 0a 58 09 41 52 42 50 | 54 52 20 70 3b 0a 58 09 |{.X.ARBP|TR p;.X.|
|00004230| 65 78 74 65 72 6e 20 63 | 68 61 72 20 2a 6d 61 6c |extern c|har *mal|
|00004240| 6c 6f 63 20 41 52 47 53 | 28 28 75 6e 73 69 67 6e |loc ARGS|((unsign|
|00004250| 65 64 20 69 6e 74 29 29 | 3b 0a 58 0a 58 09 70 20 |ed int))|;.X.X.p |
|00004260| 3d 20 5f 5f 20 6d 61 6c | 6c 6f 63 28 73 69 7a 65 |= __ mal|loc(size|
|00004270| 29 3b 0a 58 09 69 66 20 | 28 70 20 3d 3d 20 41 52 |);.X.if |(p == AR|
|00004280| 42 4e 55 4c 4c 29 0a 58 | 09 7b 0a 58 09 09 66 75 |BNULL).X|.{.X..fu|
|00004290| 6e 63 6c 69 73 74 5f 63 | 61 6c 6c 28 4f 75 74 4f |nclist_c|all(OutO|
|000042a0| 66 4d 65 6d 6f 72 79 46 | 75 6e 63 73 2c 20 41 52 |fMemoryF|uncs, AR|
|000042b0| 42 4e 55 4c 4c 29 3b 0a | 58 09 09 70 20 3d 20 5f |BNULL);.|X..p = _|
|000042c0| 5f 20 6d 61 6c 6c 6f 63 | 28 73 69 7a 65 29 3b 0a |_ malloc|(size);.|
|000042d0| 58 09 09 69 66 20 28 70 | 20 3d 3d 20 41 52 42 4e |X..if (p| == ARBN|
|000042e0| 55 4c 4c 29 0a 58 09 09 | 09 73 79 73 65 72 72 28 |ULL).X..|.syserr(|
|000042f0| 22 63 6b 61 6c 6c 6f 63 | 3a 20 6f 75 74 20 6f 66 |"ckalloc|: out of|
|00004300| 20 6d 65 6d 6f 72 79 22 | 29 3b 0a 58 09 7d 0a 58 | memory"|);.X.}.X|
|00004310| 09 72 65 74 75 72 6e 20 | 28 70 29 3b 0a 58 7d 0a |.return |(p);.X}.|
|00004320| 2f 2f 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 0a 65 63 |//END_OF|_FILE.ec|
|00004330| 68 6f 20 78 20 2d 20 61 | 72 67 74 79 70 65 2e 63 |ho x - a|rgtype.c|
|00004340| 0a 73 65 64 20 27 73 2f | 5e 58 2f 2f 27 20 3e 20 |.sed 's/|^X//' > |
|00004350| 61 72 67 74 79 70 65 2e | 63 20 3c 3c 20 27 2f 2f |argtype.|c << '//|
|00004360| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 23 69 |END_OF_F|ILE'.X#i|
|00004370| 6e 63 6c 75 64 65 20 3c | 75 73 65 66 75 6c 2e 68 |nclude <|useful.h|
|00004380| 3e 0a 58 23 69 6e 63 6c | 75 64 65 20 3c 70 61 72 |>.X#incl|ude <par|
|00004390| 73 65 61 72 67 73 2e 68 | 3e 0a 58 23 69 6e 63 6c |seargs.h|>.X#incl|
|000043a0| 75 64 65 20 3c 63 74 79 | 70 65 2e 68 3e 0a 58 0a |ude <cty|pe.h>.X.|
|000043b0| 58 23 69 66 64 65 66 20 | 5f 5f 53 54 44 43 5f 5f |X#ifdef |__STDC__|
|000043c0| 0a 58 74 79 70 65 64 65 | 66 20 76 6f 69 64 20 2a |.Xtypede|f void *|
|000043d0| 70 6f 69 6e 74 65 72 3b | 0a 58 23 65 6c 73 65 0a |pointer;|.X#else.|
|000043e0| 58 74 79 70 65 64 65 66 | 20 63 68 61 72 20 2a 70 |Xtypedef| char *p|
|000043f0| 6f 69 6e 74 65 72 3b 0a | 58 23 65 6e 64 69 66 0a |ointer;.|X#endif.|
|00004400| 58 0a 58 65 78 74 65 72 | 6e 20 70 6f 69 6e 74 65 |X.Xexter|n pointe|
|00004410| 72 20 6d 61 6c 6c 6f 63 | 28 29 3b 0a 58 0a 58 23 |r malloc|();.X.X#|
|00004420| 64 65 66 69 6e 65 20 41 | 4c 4c 5f 41 44 09 09 61 |define A|LL_AD..a|
|00004430| 64 20 3d 20 61 72 67 64 | 3b 20 61 64 2d 3e 61 64 |d = argd|; ad->ad|
|00004440| 5f 6e 61 6d 65 20 21 3d | 20 27 5c 30 27 3b 20 61 |_name !=| '\0'; a|
|00004450| 64 2b 2b 0a 58 23 64 65 | 66 69 6e 65 20 41 4c 4c |d++.X#de|fine ALL|
|00004460| 5f 44 45 46 53 09 61 64 | 20 3d 20 5f 44 65 66 61 |_DEFS.ad| = _Defa|
|00004470| 75 6c 74 41 72 67 73 3b | 20 61 64 2d 3e 61 64 5f |ultArgs;| ad->ad_|
|00004480| 6e 61 6d 65 20 21 3d 20 | 27 5c 30 27 3b 20 61 64 |name != |'\0'; ad|
|00004490| 2b 2b 0a 58 0a 58 65 78 | 74 65 72 6e 20 63 68 61 |++.X.Xex|tern cha|
|000044a0| 72 09 2a 50 72 6f 67 4e | 61 6d 65 3b 0a 58 0a 58 |r.*ProgN|ame;.X.X|
|000044b0| 2f 2a 0a 58 2a 2a 20 20 | 41 52 47 74 79 70 65 20 |/*.X** |ARGtype |
|000044c0| 2d 2d 20 61 72 67 75 6d | 65 6e 74 20 74 72 61 6e |-- argum|ent tran|
|000044d0| 73 6c 61 74 69 6f 6e 20 | 72 6f 75 74 69 6e 65 73 |slation |routines|
|000044e0| 2e 0a 58 2a 2a 0a 58 2a | 2a 09 45 61 63 68 20 6f |..X**.X*|*.Each o|
|000044f0| 66 20 74 68 65 73 65 20 | 63 6f 6e 76 65 72 74 73 |f these |converts|
|00004500| 20 61 20 70 61 72 61 6d | 65 74 65 72 20 76 61 6c | a param|eter val|
|00004510| 75 65 20 74 6f 20 74 68 | 65 20 69 6e 74 65 72 6e |ue to th|e intern|
|00004520| 61 6c 20 66 6f 72 6d 2c | 0a 58 2a 2a 09 69 6e 63 |al form,|.X**.inc|
|00004530| 6c 75 64 69 6e 67 20 76 | 61 6c 69 64 69 74 79 20 |luding v|alidity |
|00004540| 63 68 65 63 6b 69 6e 67 | 2e 20 20 54 68 65 69 72 |checking|. Their|
|00004550| 20 70 61 72 61 6d 65 74 | 65 72 73 20 61 6e 64 20 | paramet|ers and |
|00004560| 72 65 74 75 72 6e 20 76 | 61 6c 75 65 73 0a 58 2a |return v|alues.X*|
|00004570| 2a 09 61 6c 6c 20 62 65 | 68 61 76 65 20 69 64 65 |*.all be|have ide|
|00004580| 6e 74 69 63 61 6c 6c 79 | 2e 0a 58 2a 2a 0a 58 2a |ntically|..X**.X*|
|00004590| 2a 09 50 61 72 61 6d 65 | 74 65 72 73 3a 0a 58 2a |*.Parame|ters:.X*|
|000045a0| 2a 09 09 61 64 20 2d 2d | 20 74 68 65 20 61 72 67 |*..ad --| the arg|
|000045b0| 75 6d 65 6e 74 20 64 65 | 73 63 72 69 70 74 6f 72 |ument de|scriptor|
|000045c0| 20 66 6f 72 20 74 68 69 | 73 20 70 61 72 61 6d 65 | for thi|s parame|
|000045d0| 74 65 72 2e 0a 58 2a 2a | 09 09 76 70 20 2d 2d 20 |ter..X**|..vp -- |
|000045e0| 61 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 74 68 65 |a pointe|r to the|
|000045f0| 20 73 74 72 69 6e 67 20 | 69 6e 70 75 74 20 76 61 | string |input va|
|00004600| 6c 75 65 2e 0a 58 2a 2a | 09 09 63 6f 70 79 66 20 |lue..X**|..copyf |
|00004610| 2d 2d 20 69 66 20 54 52 | 55 45 2c 20 74 68 65 20 |-- if TR|UE, the |
|00004620| 76 61 6c 75 65 20 77 69 | 6c 6c 20 62 65 20 64 65 |value wi|ll be de|
|00004630| 73 74 72 6f 79 65 64 20 | 6c 61 74 65 72 2c 0a 58 |stroyed |later,.X|
|00004640| 2a 2a 09 09 09 61 6e 64 | 20 73 6f 20 73 68 6f 75 |**...and| so shou|
|00004650| 6c 64 20 62 65 20 63 6f | 70 69 65 64 20 69 66 20 |ld be co|pied if |
|00004660| 69 74 20 77 69 6c 6c 20 | 62 65 20 72 65 74 61 69 |it will |be retai|
|00004670| 6e 65 64 0a 58 2a 2a 09 | 09 09 28 61 73 20 66 6f |ned.X**.|..(as fo|
|00004680| 72 20 61 20 73 74 72 69 | 6e 67 29 2e 0a 58 2a 2a |r a stri|ng)..X**|
|00004690| 0a 58 2a 2a 09 52 65 74 | 75 72 6e 73 3a 0a 58 2a |.X**.Ret|urns:.X*|
|000046a0| 2a 09 09 54 52 55 45 20 | 2d 2d 20 69 66 20 74 68 |*..TRUE |-- if th|
|000046b0| 65 20 63 6f 6e 76 65 72 | 73 69 6f 6e 20 77 61 73 |e conver|sion was|
|000046c0| 20 73 75 63 63 65 73 73 | 66 75 6c 2e 20 20 54 68 | success|ful. Th|
|000046d0| 65 20 61 63 74 75 61 6c | 0a 58 2a 2a 09 09 09 76 |e actual|.X**...v|
|000046e0| 61 6c 75 65 20 73 68 6f | 75 6c 64 20 62 65 20 73 |alue sho|uld be s|
|000046f0| 74 6f 72 65 64 20 69 6e | 20 74 68 65 20 6c 6f 63 |tored in| the loc|
|00004700| 61 74 69 6f 6e 20 69 6e | 64 69 63 61 74 65 64 0a |ation in|dicated.|
|00004710| 58 2a 2a 09 09 09 62 79 | 20 61 64 2d 3e 61 64 5f |X**...by| ad->ad_|
|00004720| 76 61 6c 70 2e 0a 58 2a | 2a 09 09 46 41 4c 53 45 |valp..X*|*..FALSE|
|00004730| 20 2d 2d 20 69 66 20 74 | 68 65 20 63 6f 6e 76 65 | -- if t|he conve|
|00004740| 72 73 69 6f 6e 20 66 61 | 69 6c 65 64 2e 20 20 54 |rsion fa|iled. T|
|00004750| 68 65 20 72 65 61 73 6f | 6e 20 66 6f 72 20 66 61 |he reaso|n for fa|
|00004760| 69 6c 75 72 65 0a 58 2a | 2a 09 09 09 73 68 6f 75 |ilure.X*|*...shou|
|00004770| 6c 64 20 62 65 20 64 69 | 61 67 6e 6f 73 65 64 20 |ld be di|agnosed |
|00004780| 75 73 69 6e 67 20 75 73 | 72 65 72 72 28 29 2e 0a |using us|rerr()..|
|00004790| 58 2a 2a 0a 58 2a 2a 09 | 53 69 64 65 20 45 66 66 |X**.X**.|Side Eff|
|000047a0| 65 63 74 73 3a 0a 58 2a | 2a 09 09 54 68 65 20 76 |ects:.X*|*..The v|
|000047b0| 61 6c 75 65 20 73 68 6f | 75 6c 64 20 62 65 20 73 |alue sho|uld be s|
|000047c0| 74 6f 72 65 64 20 74 68 | 72 6f 75 67 68 20 61 64 |tored th|rough ad|
|000047d0| 2d 3e 61 64 5f 76 61 6c | 70 2e 0a 58 2a 2f 0a 58 |->ad_val|p..X*/.X|
|000047e0| 0a 58 42 4f 4f 4c 0a 58 | 61 72 67 53 74 72 28 61 |.XBOOL.X|argStr(a|
|000047f0| 64 2c 20 76 70 2c 20 63 | 6f 70 79 66 29 0a 58 09 |d, vp, c|opyf).X.|
|00004800| 72 65 67 69 73 74 65 72 | 20 41 52 47 44 45 53 43 |register| ARGDESC|
|00004810| 20 2a 61 64 3b 0a 58 09 | 72 65 67 69 73 74 65 72 | *ad;.X.|register|
|00004820| 20 63 68 61 72 20 2a 76 | 70 3b 0a 58 09 42 4f 4f | char *v|p;.X.BOO|
|00004830| 4c 20 63 6f 70 79 66 3b | 0a 58 7b 0a 58 09 63 68 |L copyf;|.X{.X.ch|
|00004840| 61 72 20 2a 63 70 3b 0a | 58 0a 58 09 69 66 20 28 |ar *cp;.|X.X.if (|
|00004850| 63 6f 70 79 66 29 0a 58 | 09 7b 0a 58 09 09 72 65 |copyf).X|.{.X..re|
|00004860| 67 69 73 74 65 72 20 69 | 6e 74 20 69 3b 0a 58 0a |gister i|nt i;.X.|
|00004870| 58 09 09 69 20 3d 20 73 | 74 72 6c 65 6e 28 76 70 |X..i = s|trlen(vp|
|00004880| 29 20 2b 20 31 3b 0a 58 | 09 09 63 70 20 3d 20 28 |) + 1;.X|..cp = (|
|00004890| 63 68 61 72 20 2a 29 20 | 6d 61 6c 6c 6f 63 28 69 |char *) |malloc(i|
|000048a0| 29 3b 0a 58 09 09 69 66 | 28 21 63 70 29 20 7b 0a |);.X..if|(!cp) {.|
|000048b0| 58 09 09 09 75 73 72 65 | 72 72 28 22 6f 75 74 20 |X...usre|rr("out |
|000048c0| 6f 66 20 6d 65 6d 6f 72 | 79 20 70 61 72 73 69 6e |of memor|y parsin|
|000048d0| 67 20 25 73 22 2c 20 61 | 64 2d 3e 61 64 5f 70 72 |g %s", a|d->ad_pr|
|000048e0| 6f 6d 70 74 29 3b 0a 58 | 09 09 09 72 65 74 75 72 |ompt);.X|...retur|
|000048f0| 6e 20 46 41 4c 53 45 3b | 0a 58 09 09 7d 0a 58 09 |n FALSE;|.X..}.X.|
|00004900| 09 62 63 6f 70 79 28 76 | 70 2c 20 63 70 2c 20 69 |.bcopy(v|p, cp, i|
|00004910| 29 3b 0a 58 09 7d 0a 58 | 09 65 6c 73 65 0a 58 09 |);.X.}.X|.else.X.|
|00004920| 7b 0a 58 09 09 63 70 20 | 3d 20 76 70 3b 0a 58 09 |{.X..cp |= vp;.X.|
|00004930| 7d 0a 58 09 2a 28 63 68 | 61 72 20 2a 2a 29 20 61 |}.X.*(ch|ar **) a|
|00004940| 64 2d 3e 61 64 5f 76 61 | 6c 70 20 3d 20 63 70 3b |d->ad_va|lp = cp;|
|00004950| 0a 58 09 72 65 74 75 72 | 6e 20 28 54 52 55 45 29 |.X.retur|n (TRUE)|
|00004960| 3b 0a 58 7d 0a 58 0a 58 | 42 4f 4f 4c 0a 58 61 72 |;.X}.X.X|BOOL.Xar|
|00004970| 67 43 68 61 72 28 61 64 | 2c 20 76 70 2c 20 63 6f |gChar(ad|, vp, co|
|00004980| 70 79 66 29 0a 58 09 72 | 65 67 69 73 74 65 72 20 |pyf).X.r|egister |
|00004990| 41 52 47 44 45 53 43 20 | 2a 61 64 3b 0a 58 09 72 |ARGDESC |*ad;.X.r|
|000049a0| 65 67 69 73 74 65 72 20 | 63 68 61 72 20 2a 76 70 |egister |char *vp|
|000049b0| 3b 0a 58 09 42 4f 4f 4c | 20 63 6f 70 79 66 3b 0a |;.X.BOOL| copyf;.|
|000049c0| 58 7b 0a 58 09 61 75 74 | 6f 20 63 68 61 72 20 2a |X{.X.aut|o char *|
|000049d0| 76 70 70 3b 0a 58 09 65 | 78 74 65 72 6e 20 6c 6f |vpp;.X.e|xtern lo|
|000049e0| 6e 67 20 73 74 72 74 6f | 6c 20 41 52 47 53 28 28 |ng strto|l ARGS((|
|000049f0| 63 68 61 72 20 2a 2c 20 | 63 68 61 72 20 2a 2a 2c |char *, |char **,|
|00004a00| 20 69 6e 74 29 29 3b 0a | 58 09 69 6e 74 20 73 74 | int));.|X.int st|
|00004a10| 61 74 75 73 20 3d 20 46 | 41 4c 53 45 3b 0a 58 09 |atus = F|ALSE;.X.|
|00004a20| 63 68 61 72 20 63 3b 0a | 58 0a 58 09 69 66 20 28 |char c;.|X.X.if (|
|00004a30| 73 74 72 6c 65 6e 28 76 | 70 29 20 3d 3d 20 32 20 |strlen(v|p) == 2 |
|00004a40| 26 26 20 76 70 5b 30 5d | 3d 3d 27 5e 27 29 0a 58 |&& vp[0]|=='^').X|
|00004a50| 09 7b 0a 58 09 09 63 20 | 3d 20 76 70 5b 31 5d 20 |.{.X..c |= vp[1] |
|00004a60| 5e 20 27 40 27 3b 0a 58 | 09 09 73 74 61 74 75 73 |^ '@';.X|..status|
|00004a70| 20 3d 20 54 52 55 45 3b | 0a 58 09 7d 0a 58 09 65 | = TRUE;|.X.}.X.e|
|00004a80| 6c 73 65 20 69 66 28 73 | 74 72 6c 65 6e 28 76 70 |lse if(s|trlen(vp|
|00004a90| 29 20 3e 20 31 20 26 26 | 20 76 70 5b 30 5d 3d 3d |) > 1 &&| vp[0]==|
|00004aa0| 27 5c 5c 27 29 0a 58 09 | 7b 0a 58 09 09 63 20 3d |'\\').X.|{.X..c =|
|00004ab0| 20 28 69 6e 74 29 20 73 | 74 72 74 6f 6c 28 26 76 | (int) s|trtol(&v|
|00004ac0| 70 5b 31 5d 2c 20 26 76 | 70 70 2c 20 38 29 3b 0a |p[1], &v|pp, 8);.|
|00004ad0| 58 09 09 69 66 20 28 2a | 76 70 70 20 3d 3d 20 27 |X..if (*|vpp == '|
|00004ae0| 5c 30 27 29 0a 58 09 09 | 09 73 74 61 74 75 73 20 |\0').X..|.status |
|00004af0| 3d 20 54 52 55 45 3b 0a | 58 09 7d 0a 58 09 65 6c |= TRUE;.|X.}.X.el|
|00004b00| 73 65 20 69 66 28 73 74 | 72 6c 65 6e 28 76 70 29 |se if(st|rlen(vp)|
|00004b10| 20 3d 3d 20 31 29 0a 58 | 09 7b 0a 58 09 09 63 20 | == 1).X|.{.X..c |
|00004b20| 3d 20 2a 76 70 3b 0a 58 | 09 09 73 74 61 74 75 73 |= *vp;.X|..status|
|00004b30| 20 3d 20 54 52 55 45 3b | 0a 58 09 7d 0a 58 0a 58 | = TRUE;|.X.}.X.X|
|00004b40| 09 69 66 28 73 74 61 74 | 75 73 20 3d 3d 20 54 52 |.if(stat|us == TR|
|00004b50| 55 45 29 0a 58 09 09 2a | 28 63 68 61 72 20 2a 29 |UE).X..*|(char *)|
|00004b60| 20 61 64 2d 3e 61 64 5f | 76 61 6c 70 20 3d 20 63 | ad->ad_|valp = c|
|00004b70| 3b 0a 58 09 65 6c 73 65 | 0a 58 09 7b 0a 58 09 09 |;.X.else|.X.{.X..|
|00004b80| 75 73 72 65 72 72 28 22 | 69 6e 76 61 6c 69 64 20 |usrerr("|invalid |
|00004b90| 63 68 61 72 61 63 74 65 | 72 20 61 72 67 75 6d 65 |characte|r argume|
|00004ba0| 6e 74 20 27 25 73 27 20 | 66 6f 72 20 25 73 22 2c |nt '%s' |for %s",|
|00004bb0| 0a 58 09 09 09 76 70 2c | 20 61 64 2d 3e 61 64 5f |.X...vp,| ad->ad_|
|00004bc0| 70 72 6f 6d 70 74 29 3b | 0a 58 09 7d 0a 58 09 72 |prompt);|.X.}.X.r|
|00004bd0| 65 74 75 72 6e 20 73 74 | 61 74 75 73 3b 0a 58 7d |eturn st|atus;.X}|
|00004be0| 0a 58 0a 58 2f 2a 41 52 | 47 53 55 53 45 44 2a 2f |.X.X/*AR|GSUSED*/|
|00004bf0| 0a 58 42 4f 4f 4c 0a 58 | 61 72 67 49 6e 74 28 61 |.XBOOL.X|argInt(a|
|00004c00| 64 2c 20 76 70 2c 20 63 | 6f 70 79 66 29 0a 58 09 |d, vp, c|opyf).X.|
|00004c10| 72 65 67 69 73 74 65 72 | 20 41 52 47 44 45 53 43 |register| ARGDESC|
|00004c20| 20 2a 61 64 3b 0a 58 09 | 72 65 67 69 73 74 65 72 | *ad;.X.|register|
|00004c30| 20 63 68 61 72 20 2a 76 | 70 3b 0a 58 09 42 4f 4f | char *v|p;.X.BOO|
|00004c40| 4c 20 63 6f 70 79 66 3b | 0a 58 7b 0a 58 09 61 75 |L copyf;|.X{.X.au|
|00004c50| 74 6f 20 63 68 61 72 20 | 2a 76 70 70 3b 0a 58 09 |to char |*vpp;.X.|
|00004c60| 65 78 74 65 72 6e 20 6c | 6f 6e 67 20 73 74 72 74 |extern l|ong strt|
|00004c70| 6f 6c 20 41 52 47 53 28 | 28 63 68 61 72 20 2a 2c |ol ARGS(|(char *,|
|00004c80| 20 63 68 61 72 20 2a 2a | 2c 20 69 6e 74 29 29 3b | char **|, int));|
|00004c90| 0a 58 0a 58 09 2a 28 69 | 6e 74 20 2a 29 20 61 64 |.X.X.*(i|nt *) ad|
|00004ca0| 2d 3e 61 64 5f 76 61 6c | 70 20 3d 20 28 69 6e 74 |->ad_val|p = (int|
|00004cb0| 29 20 73 74 72 74 6f 6c | 28 76 70 2c 20 26 76 70 |) strtol|(vp, &vp|
|00004cc0| 70 2c 20 30 29 3b 0a 58 | 09 69 66 20 28 2a 76 70 |p, 0);.X|.if (*vp|
|00004cd0| 70 20 21 3d 20 27 5c 30 | 27 29 0a 58 09 7b 0a 58 |p != '\0|').X.{.X|
|00004ce0| 09 09 75 73 72 65 72 72 | 28 22 69 6e 76 61 6c 69 |..usrerr|("invali|
|00004cf0| 64 20 69 6e 74 65 67 65 | 72 20 61 72 67 75 6d 65 |d intege|r argume|
|00004d00| 6e 74 20 27 25 73 27 20 | 66 6f 72 20 25 73 22 2c |nt '%s' |for %s",|
|00004d10| 0a 58 09 09 09 76 70 2c | 20 61 64 2d 3e 61 64 5f |.X...vp,| ad->ad_|
|00004d20| 70 72 6f 6d 70 74 29 3b | 0a 58 09 09 72 65 74 75 |prompt);|.X..retu|
|00004d30| 72 6e 20 28 46 41 4c 53 | 45 29 3b 0a 58 09 7d 0a |rn (FALS|E);.X.}.|
|00004d40| 58 09 65 6c 73 65 0a 58 | 09 7b 0a 58 09 09 72 65 |X.else.X|.{.X..re|
|00004d50| 74 75 72 6e 20 28 54 52 | 55 45 29 3b 0a 58 09 7d |turn (TR|UE);.X.}|
|00004d60| 0a 58 7d 0a 58 0a 58 2f | 2a 41 52 47 53 55 53 45 |.X}.X.X/|*ARGSUSE|
|00004d70| 44 2a 2f 0a 58 42 4f 4f | 4c 0a 58 61 72 67 53 68 |D*/.XBOO|L.XargSh|
|00004d80| 6f 72 74 28 61 64 2c 20 | 76 70 2c 20 63 6f 70 79 |ort(ad, |vp, copy|
|00004d90| 66 29 0a 58 09 72 65 67 | 69 73 74 65 72 20 41 52 |f).X.reg|ister AR|
|00004da0| 47 44 45 53 43 20 2a 61 | 64 3b 0a 58 09 72 65 67 |GDESC *a|d;.X.reg|
|00004db0| 69 73 74 65 72 20 63 68 | 61 72 20 2a 76 70 3b 0a |ister ch|ar *vp;.|
|00004dc0| 58 09 42 4f 4f 4c 20 63 | 6f 70 79 66 3b 0a 58 7b |X.BOOL c|opyf;.X{|
|00004dd0| 0a 58 09 61 75 74 6f 20 | 63 68 61 72 20 2a 76 70 |.X.auto |char *vp|
|00004de0| 70 3b 0a 58 09 65 78 74 | 65 72 6e 20 6c 6f 6e 67 |p;.X.ext|ern long|
|00004df0| 20 73 74 72 74 6f 6c 20 | 41 52 47 53 28 28 63 68 | strtol |ARGS((ch|
|00004e00| 61 72 20 2a 2c 20 63 68 | 61 72 20 2a 2a 2c 20 69 |ar *, ch|ar **, i|
|00004e10| 6e 74 29 29 3b 0a 58 0a | 58 09 2a 28 73 68 6f 72 |nt));.X.|X.*(shor|
|00004e20| 74 20 2a 29 20 61 64 2d | 3e 61 64 5f 76 61 6c 70 |t *) ad-|>ad_valp|
|00004e30| 20 3d 20 28 73 68 6f 72 | 74 29 20 73 74 72 74 6f | = (shor|t) strto|
|00004e40| 6c 28 76 70 2c 20 26 76 | 70 70 2c 20 30 29 3b 0a |l(vp, &v|pp, 0);.|
|00004e50| 58 09 69 66 20 28 2a 76 | 70 70 20 21 3d 20 27 5c |X.if (*v|pp != '\|
|00004e60| 30 27 29 0a 58 09 7b 0a | 58 09 09 75 73 72 65 72 |0').X.{.|X..usrer|
|00004e70| 72 28 22 69 6e 76 61 6c | 69 64 20 69 6e 74 65 67 |r("inval|id integ|
|00004e80| 65 72 20 61 72 67 75 6d | 65 6e 74 20 27 25 73 27 |er argum|ent '%s'|
|00004e90| 20 66 6f 72 20 25 73 22 | 2c 0a 58 09 09 09 76 70 | for %s"|,.X...vp|
|00004ea0| 2c 20 61 64 2d 3e 61 64 | 5f 70 72 6f 6d 70 74 29 |, ad->ad|_prompt)|
|00004eb0| 3b 0a 58 09 09 72 65 74 | 75 72 6e 20 28 46 41 4c |;.X..ret|urn (FAL|
|00004ec0| 53 45 29 3b 0a 58 09 7d | 0a 58 09 65 6c 73 65 0a |SE);.X.}|.X.else.|
|00004ed0| 58 09 7b 0a 58 09 09 72 | 65 74 75 72 6e 20 28 54 |X.{.X..r|eturn (T|
|00004ee0| 52 55 45 29 3b 0a 58 09 | 7d 0a 58 7d 0a 58 0a 58 |RUE);.X.|}.X}.X.X|
|00004ef0| 2f 2a 41 52 47 53 55 53 | 45 44 2a 2f 0a 58 42 4f |/*ARGSUS|ED*/.XBO|
|00004f00| 4f 4c 0a 58 61 72 67 4c | 6f 6e 67 28 61 64 2c 20 |OL.XargL|ong(ad, |
|00004f10| 76 70 2c 20 63 6f 70 79 | 66 29 0a 58 09 72 65 67 |vp, copy|f).X.reg|
|00004f20| 69 73 74 65 72 20 41 52 | 47 44 45 53 43 20 2a 61 |ister AR|GDESC *a|
|00004f30| 64 3b 0a 58 09 72 65 67 | 69 73 74 65 72 20 63 68 |d;.X.reg|ister ch|
|00004f40| 61 72 20 2a 76 70 3b 0a | 58 09 42 4f 4f 4c 20 63 |ar *vp;.|X.BOOL c|
|00004f50| 6f 70 79 66 3b 0a 58 7b | 0a 58 09 61 75 74 6f 20 |opyf;.X{|.X.auto |
|00004f60| 63 68 61 72 20 2a 76 70 | 70 3b 0a 58 09 65 78 74 |char *vp|p;.X.ext|
|00004f70| 65 72 6e 20 6c 6f 6e 67 | 20 73 74 72 74 6f 6c 20 |ern long| strtol |
|00004f80| 41 52 47 53 28 28 63 68 | 61 72 20 2a 2c 20 63 68 |ARGS((ch|ar *, ch|
|00004f90| 61 72 20 2a 2a 2c 20 69 | 6e 74 29 29 3b 0a 58 0a |ar **, i|nt));.X.|
|00004fa0| 58 09 2a 28 6c 6f 6e 67 | 20 2a 29 20 61 64 2d 3e |X.*(long| *) ad->|
|00004fb0| 61 64 5f 76 61 6c 70 20 | 3d 20 73 74 72 74 6f 6c |ad_valp |= strtol|
|00004fc0| 28 76 70 2c 20 26 76 70 | 70 2c 20 30 29 3b 0a 58 |(vp, &vp|p, 0);.X|
|00004fd0| 09 69 66 20 28 2a 76 70 | 70 20 21 3d 20 27 5c 30 |.if (*vp|p != '\0|
|00004fe0| 27 29 0a 58 09 7b 0a 58 | 09 09 75 73 72 65 72 72 |').X.{.X|..usrerr|
|00004ff0| 28 22 69 6e 76 61 6c 69 | 64 20 69 6e 74 65 67 65 |("invali|d intege|
|00005000| 72 20 61 72 67 75 6d 65 | 6e 74 20 27 25 73 27 20 |r argume|nt '%s' |
|00005010| 66 6f 72 20 25 73 22 2c | 0a 58 09 09 09 76 70 2c |for %s",|.X...vp,|
|00005020| 20 61 64 2d 3e 61 64 5f | 70 72 6f 6d 70 74 29 3b | ad->ad_|prompt);|
|00005030| 0a 58 09 09 72 65 74 75 | 72 6e 20 28 46 41 4c 53 |.X..retu|rn (FALS|
|00005040| 45 29 3b 0a 58 09 7d 0a | 58 09 65 6c 73 65 0a 58 |E);.X.}.|X.else.X|
|00005050| 09 7b 0a 58 09 09 72 65 | 74 75 72 6e 20 28 54 52 |.{.X..re|turn (TR|
|00005060| 55 45 29 3b 0a 58 09 7d | 0a 58 7d 0a 58 0a 58 73 |UE);.X.}|.X}.X.Xs|
|00005070| 74 72 75 63 74 20 62 6f | 6f 6c 74 61 62 0a 58 7b |truct bo|oltab.X{|
|00005080| 0a 58 09 63 68 61 72 09 | 2a 62 6e 61 6d 65 3b 09 |.X.char.|*bname;.|
|00005090| 09 2f 2a 20 73 74 72 69 | 6e 67 20 74 6f 20 6d 61 |./* stri|ng to ma|
|000050a0| 74 63 68 20 61 67 61 69 | 6e 73 74 20 2a 2f 0a 58 |tch agai|nst */.X|
|000050b0| 09 63 68 61 72 09 62 6e | 65 65 64 6d 61 74 63 68 |.char.bn|eedmatch|
|000050c0| 3b 09 2f 2a 20 6e 75 6d | 62 65 72 20 6f 66 20 63 |;./* num|ber of c|
|000050d0| 68 61 72 61 63 74 65 72 | 73 20 74 68 61 74 20 6d |haracter|s that m|
|000050e0| 75 73 74 20 6d 61 74 63 | 68 20 2a 2f 0a 58 09 42 |ust matc|h */.X.B|
|000050f0| 4f 4f 4c 09 62 76 61 6c | 3b 09 09 2f 2a 20 76 61 |OOL.bval|;../* va|
|00005100| 6c 75 65 20 74 6f 20 75 | 73 65 20 2a 2f 0a 58 7d |lue to u|se */.X}|
|00005110| 3b 0a 58 0a 58 53 54 41 | 54 49 43 20 73 74 72 75 |;.X.XSTA|TIC stru|
|00005120| 63 74 20 62 6f 6f 6c 74 | 61 62 09 5f 42 6f 6f 6c |ct boolt|ab._Bool|
|00005130| 54 61 62 5b 5d 20 3d 0a | 58 7b 0a 58 09 22 79 65 |Tab[] =.|X{.X."ye|
|00005140| 73 22 2c 09 09 31 2c 09 | 54 52 55 45 2c 0a 58 09 |s",..1,.|TRUE,.X.|
|00005150| 22 6e 6f 22 2c 09 09 31 | 2c 09 46 41 4c 53 45 2c |"no",..1|,.FALSE,|
|00005160| 0a 58 09 22 74 72 75 65 | 22 2c 09 09 31 2c 09 54 |.X."true|",..1,.T|
|00005170| 52 55 45 2c 0a 58 09 22 | 66 61 6c 73 65 22 2c 09 |RUE,.X."|false",.|
|00005180| 31 2c 09 46 41 4c 53 45 | 2c 0a 58 09 22 6f 6e 22 |1,.FALSE|,.X."on"|
|00005190| 2c 09 09 32 2c 09 54 52 | 55 45 2c 0a 58 09 22 6f |,..2,.TR|UE,.X."o|
|000051a0| 66 66 22 2c 09 09 33 2c | 09 46 41 4c 53 45 2c 0a |ff",..3,|.FALSE,.|
|000051b0| 58 09 43 48 41 52 4e 55 | 4c 4c 0a 58 7d 3b 0a 58 |X.CHARNU|LL.X};.X|
|000051c0| 0a 58 2f 2a 41 52 47 53 | 55 53 45 44 2a 2f 0a 58 |.X/*ARGS|USED*/.X|
|000051d0| 42 4f 4f 4c 0a 58 61 72 | 67 42 6f 6f 6c 28 61 64 |BOOL.Xar|gBool(ad|
|000051e0| 2c 20 76 70 2c 20 63 6f | 70 79 66 29 0a 58 09 72 |, vp, co|pyf).X.r|
|000051f0| 65 67 69 73 74 65 72 20 | 41 52 47 44 45 53 43 20 |egister |ARGDESC |
|00005200| 2a 61 64 3b 0a 58 09 72 | 65 67 69 73 74 65 72 20 |*ad;.X.r|egister |
|00005210| 63 68 61 72 20 2a 76 70 | 3b 0a 58 09 42 4f 4f 4c |char *vp|;.X.BOOL|
|00005220| 20 63 6f 70 79 66 3b 0a | 58 7b 0a 58 09 72 65 67 | copyf;.|X{.X.reg|
|00005230| 69 73 74 65 72 20 73 74 | 72 75 63 74 20 62 6f 6f |ister st|ruct boo|
|00005240| 6c 74 61 62 20 2a 62 3b | 0a 58 09 72 65 67 69 73 |ltab *b;|.X.regis|
|00005250| 74 65 72 20 63 68 61 72 | 20 2a 63 70 3b 0a 58 09 |ter char| *cp;.X.|
|00005260| 69 6e 74 20 6c 3b 0a 58 | 0a 58 09 2f 2a 20 63 6f |int l;.X|.X./* co|
|00005270| 6e 76 65 72 74 20 69 6e | 70 75 74 20 74 6f 20 6c |nvert in|put to l|
|00005280| 6f 77 65 72 20 63 61 73 | 65 20 2a 2f 0a 58 09 66 |ower cas|e */.X.f|
|00005290| 6f 72 20 28 6c 20 3d 20 | 30 2c 20 63 70 20 3d 20 |or (l = |0, cp = |
|000052a0| 76 70 3b 20 2a 63 70 20 | 21 3d 20 27 5c 30 27 3b |vp; *cp |!= '\0';|
|000052b0| 20 6c 2b 2b 2c 20 63 70 | 2b 2b 29 0a 58 09 7b 0a | l++, cp|++).X.{.|
|000052c0| 58 09 09 69 66 20 28 69 | 73 75 70 70 65 72 28 2a |X..if (i|supper(*|
|000052d0| 63 70 29 29 0a 58 09 09 | 09 2a 63 70 20 3d 20 74 |cp)).X..|.*cp = t|
|000052e0| 6f 6c 6f 77 65 72 28 2a | 63 70 29 3b 0a 58 09 7d |olower(*|cp);.X.}|
|000052f0| 0a 58 0a 58 09 2f 2a 20 | 73 65 61 72 63 68 20 66 |.X.X./* |search f|
|00005300| 6f 72 20 61 20 6d 61 74 | 63 68 20 69 6e 20 74 68 |or a mat|ch in th|
|00005310| 65 20 74 61 62 6c 65 20 | 2a 2f 0a 58 09 66 6f 72 |e table |*/.X.for|
|00005320| 20 28 62 20 3d 20 5f 42 | 6f 6f 6c 54 61 62 3b 20 | (b = _B|oolTab; |
|00005330| 62 2d 3e 62 6e 61 6d 65 | 20 21 3d 20 43 48 41 52 |b->bname| != CHAR|
|00005340| 4e 55 4c 4c 3b 20 62 2b | 2b 29 0a 58 09 7b 0a 58 |NULL; b+|+).X.{.X|
|00005350| 09 09 2f 2a 20 69 66 20 | 74 6f 6f 20 73 68 6f 72 |../* if |too shor|
|00005360| 74 2c 20 64 6f 6e 27 74 | 20 65 76 65 6e 20 62 6f |t, don't| even bo|
|00005370| 74 68 65 72 20 74 72 79 | 69 6e 67 20 2a 2f 0a 58 |ther try|ing */.X|
|00005380| 09 09 69 66 20 28 6c 20 | 3c 20 62 2d 3e 62 6e 65 |..if (l |< b->bne|
|00005390| 65 64 6d 61 74 63 68 29 | 0a 58 09 09 09 63 6f 6e |edmatch)|.X...con|
|000053a0| 74 69 6e 75 65 3b 0a 58 | 0a 58 09 09 69 66 20 28 |tinue;.X|.X..if (|
|000053b0| 62 63 6d 70 28 76 70 2c | 20 62 2d 3e 62 6e 61 6d |bcmp(vp,| b->bnam|
|000053c0| 65 2c 20 6c 29 20 3d 3d | 20 30 29 0a 58 09 09 7b |e, l) ==| 0).X..{|
|000053d0| 0a 58 09 09 09 2f 2a 20 | 67 6f 74 20 61 20 6d 61 |.X.../* |got a ma|
|000053e0| 74 63 68 20 2a 2f 0a 58 | 09 09 09 2a 28 42 4f 4f |tch */.X|...*(BOO|
|000053f0| 4c 20 2a 29 20 61 64 2d | 3e 61 64 5f 76 61 6c 70 |L *) ad-|>ad_valp|
|00005400| 20 3d 20 62 2d 3e 62 76 | 61 6c 3b 0a 58 09 09 09 | = b->bv|al;.X...|
|00005410| 72 65 74 75 72 6e 20 28 | 54 52 55 45 29 3b 0a 58 |return (|TRUE);.X|
|00005420| 09 09 7d 0a 58 09 7d 0a | 58 0a 58 09 75 73 72 65 |..}.X.}.|X.X.usre|
|00005430| 72 72 28 22 69 6e 76 61 | 6c 69 64 20 42 6f 6f 6c |rr("inva|lid Bool|
|00005440| 65 61 6e 20 61 72 67 75 | 6d 65 6e 74 20 27 25 73 |ean argu|ment '%s|
|00005450| 27 20 66 6f 72 20 25 73 | 22 2c 20 76 70 2c 20 61 |' for %s|", vp, a|
|00005460| 64 2d 3e 61 64 5f 70 72 | 6f 6d 70 74 29 3b 0a 58 |d->ad_pr|ompt);.X|
|00005470| 09 72 65 74 75 72 6e 20 | 28 46 41 4c 53 45 29 3b |.return |(FALSE);|
|00005480| 0a 58 7d 0a 58 0a 58 23 | 69 66 64 65 66 20 54 52 |.X}.X.X#|ifdef TR|
|00005490| 41 43 45 53 54 55 46 46 | 0a 58 2f 2a 41 52 47 53 |ACESTUFF|.X/*ARGS|
|000054a0| 55 53 45 44 2a 2f 0a 58 | 42 4f 4f 4c 0a 58 61 72 |USED*/.X|BOOL.Xar|
|000054b0| 67 54 72 61 63 65 28 61 | 64 2c 20 76 70 2c 20 63 |gTrace(a|d, vp, c|
|000054c0| 6f 70 79 66 29 0a 58 09 | 72 65 67 69 73 74 65 72 |opyf).X.|register|
|000054d0| 20 41 52 47 44 45 53 43 | 20 2a 61 64 3b 0a 58 09 | ARGDESC| *ad;.X.|
|000054e0| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 2a 76 |register| char *v|
|000054f0| 70 3b 0a 58 09 42 4f 4f | 4c 20 63 6f 70 79 66 3b |p;.X.BOO|L copyf;|
|00005500| 0a 58 7b 0a 58 09 74 72 | 61 63 65 73 65 74 28 76 |.X{.X.tr|aceset(v|
|00005510| 70 29 3b 0a 58 09 72 65 | 74 75 72 6e 20 28 54 52 |p);.X.re|turn (TR|
|00005520| 55 45 29 3b 0a 58 7d 0a | 58 23 65 6e 64 69 66 0a |UE);.X}.|X#endif.|
|00005530| 58 0a 58 2f 2a 41 52 47 | 53 55 53 45 44 2a 2f 0a |X.X/*ARG|SUSED*/.|
|00005540| 58 42 4f 4f 4c 0a 58 61 | 72 67 45 6e 64 28 61 64 |XBOOL.Xa|rgEnd(ad|
|00005550| 2c 20 76 70 2c 20 63 6f | 70 79 66 29 0a 58 09 72 |, vp, co|pyf).X.r|
|00005560| 65 67 69 73 74 65 72 20 | 41 52 47 44 45 53 43 20 |egister |ARGDESC |
|00005570| 2a 61 64 3b 0a 58 09 72 | 65 67 69 73 74 65 72 20 |*ad;.X.r|egister |
|00005580| 63 68 61 72 20 2a 76 70 | 3b 0a 58 09 42 4f 4f 4c |char *vp|;.X.BOOL|
|00005590| 20 63 6f 70 79 66 3b 0a | 58 7b 0a 58 09 72 65 74 | copyf;.|X{.X.ret|
|000055a0| 75 72 6e 20 28 46 41 4c | 53 45 29 3b 0a 58 7d 0a |urn (FAL|SE);.X}.|
|000055b0| 58 0a 58 42 4f 4f 4c 0a | 58 61 72 67 4c 69 73 74 |X.XBOOL.|XargList|
|000055c0| 28 61 64 2c 20 76 70 2c | 20 63 6f 70 79 66 29 0a |(ad, vp,| copyf).|
|000055d0| 58 09 72 65 67 69 73 74 | 65 72 20 41 52 47 44 45 |X.regist|er ARGDE|
|000055e0| 53 43 20 2a 61 64 3b 0a | 58 09 72 65 67 69 73 74 |SC *ad;.|X.regist|
|000055f0| 65 72 20 63 68 61 72 20 | 2a 76 70 3b 0a 58 09 42 |er char |*vp;.X.B|
|00005600| 4f 4f 4c 20 63 6f 70 79 | 66 3b 0a 58 7b 0a 58 09 |OOL copy|f;.X{.X.|
|00005610| 63 68 61 72 20 2a 63 70 | 3b 0a 58 09 73 74 72 75 |char *cp|;.X.stru|
|00005620| 63 74 20 6e 61 6d 65 6c | 69 73 74 20 2a 6e 6c 3b |ct namel|ist *nl;|
|00005630| 0a 58 0a 58 09 69 66 20 | 28 63 6f 70 79 66 29 0a |.X.X.if |(copyf).|
|00005640| 58 09 7b 0a 58 09 09 72 | 65 67 69 73 74 65 72 20 |X.{.X..r|egister |
|00005650| 69 6e 74 20 69 3b 0a 58 | 0a 58 09 09 69 20 3d 20 |int i;.X|.X..i = |
|00005660| 73 74 72 6c 65 6e 28 76 | 70 29 20 2b 20 31 3b 0a |strlen(v|p) + 1;.|
|00005670| 58 09 09 63 70 20 3d 20 | 28 63 68 61 72 20 2a 29 |X..cp = |(char *)|
|00005680| 20 6d 61 6c 6c 6f 63 28 | 69 29 3b 0a 58 09 09 69 | malloc(|i);.X..i|
|00005690| 66 28 21 63 70 29 20 7b | 0a 58 09 09 09 75 73 72 |f(!cp) {|.X...usr|
|000056a0| 65 72 72 28 22 6f 75 74 | 20 6f 66 20 6d 65 6d 6f |err("out| of memo|
|000056b0| 72 79 20 73 61 76 69 6e | 67 20 73 74 72 69 6e 67 |ry savin|g string|
|000056c0| 20 25 73 22 2c 20 61 64 | 2d 3e 61 64 5f 70 72 6f | %s", ad|->ad_pro|
|000056d0| 6d 70 74 29 3b 0a 58 09 | 09 09 72 65 74 75 72 6e |mpt);.X.|..return|
|000056e0| 20 46 41 4c 53 45 3b 0a | 58 09 09 7d 0a 58 09 09 | FALSE;.|X..}.X..|
|000056f0| 62 63 6f 70 79 28 76 70 | 2c 20 63 70 2c 20 69 29 |bcopy(vp|, cp, i)|
|00005700| 3b 0a 58 09 7d 0a 58 09 | 65 6c 73 65 0a 58 09 7b |;.X.}.X.|else.X.{|
|00005710| 0a 58 09 09 63 70 20 3d | 20 76 70 3b 0a 58 09 7d |.X..cp =| vp;.X.}|
|00005720| 0a 58 0a 58 09 6e 6c 20 | 3d 20 28 73 74 72 75 63 |.X.X.nl |= (struc|
|00005730| 74 20 6e 61 6d 65 6c 69 | 73 74 20 2a 29 20 6d 61 |t nameli|st *) ma|
|00005740| 6c 6c 6f 63 28 73 69 7a | 65 6f 66 20 2a 6e 6c 29 |lloc(siz|eof *nl)|
|00005750| 3b 0a 58 09 69 66 28 21 | 6e 6c 29 20 7b 0a 58 09 |;.X.if(!|nl) {.X.|
|00005760| 09 75 73 72 65 72 72 28 | 22 6f 75 74 20 6f 66 20 |.usrerr(|"out of |
|00005770| 6d 65 6d 6f 72 79 20 73 | 61 76 69 6e 67 20 61 72 |memory s|aving ar|
|00005780| 67 20 25 73 22 2c 20 61 | 64 2d 3e 61 64 5f 70 72 |g %s", a|d->ad_pr|
|00005790| 6f 6d 70 74 29 3b 0a 58 | 09 09 69 66 28 63 6f 70 |ompt);.X|..if(cop|
|000057a0| 79 66 29 20 66 72 65 65 | 28 63 70 29 3b 0a 58 09 |yf) free|(cp);.X.|
|000057b0| 09 72 65 74 75 72 6e 20 | 46 41 4c 53 45 3b 0a 58 |.return |FALSE;.X|
|000057c0| 09 7d 0a 58 0a 58 09 6e | 6c 2d 3e 6e 6c 5f 6e 65 |.}.X.X.n|l->nl_ne|
|000057d0| 78 74 20 3d 20 2a 28 73 | 74 72 75 63 74 20 6e 61 |xt = *(s|truct na|
|000057e0| 6d 65 6c 69 73 74 20 2a | 2a 29 20 61 64 2d 3e 61 |melist *|*) ad->a|
|000057f0| 64 5f 76 61 6c 70 3b 0a | 58 09 6e 6c 2d 3e 6e 6c |d_valp;.|X.nl->nl|
|00005800| 5f 6e 61 6d 65 20 3d 20 | 63 70 3b 0a 58 09 2a 28 |_name = |cp;.X.*(|
|00005810| 73 74 72 75 63 74 20 6e | 61 6d 65 6c 69 73 74 20 |struct n|amelist |
|00005820| 2a 2a 29 20 61 64 2d 3e | 61 64 5f 76 61 6c 70 20 |**) ad->|ad_valp |
|00005830| 3d 20 6e 6c 3b 0a 58 09 | 72 65 74 75 72 6e 20 28 |= nl;.X.|return (|
|00005840| 54 52 55 45 29 3b 0a 58 | 7d 0a 2f 2f 45 4e 44 5f |TRUE);.X|}.//END_|
|00005850| 4f 46 5f 46 49 4c 45 0a | 65 63 68 6f 20 78 20 2d |OF_FILE.|echo x -|
|00005860| 20 66 70 5f 61 72 67 74 | 79 70 65 2e 63 0a 73 65 | fp_argt|ype.c.se|
|00005870| 64 20 27 73 2f 5e 58 2f | 2f 27 20 3e 20 66 70 5f |d 's/^X/|/' > fp_|
|00005880| 61 72 67 74 79 70 65 2e | 63 20 3c 3c 20 27 2f 2f |argtype.|c << '//|
|00005890| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 23 69 |END_OF_F|ILE'.X#i|
|000058a0| 6e 63 6c 75 64 65 20 3c | 75 73 65 66 75 6c 2e 68 |nclude <|useful.h|
|000058b0| 3e 0a 58 23 69 6e 63 6c | 75 64 65 20 3c 70 61 72 |>.X#incl|ude <par|
|000058c0| 73 65 61 72 67 73 2e 68 | 3e 0a 58 0a 58 56 45 52 |seargs.h|>.X.XVER|
|000058d0| 53 49 4f 4e 49 44 28 22 | 24 48 65 61 64 65 72 3a |SIONID("|$Header:|
|000058e0| 20 66 70 5f 61 72 67 73 | 2e 63 2c 76 20 32 2e 30 | fp_args|.c,v 2.0|
|000058f0| 20 38 39 2f 31 32 2f 32 | 34 20 30 30 3a 35 36 3a | 89/12/2|4 00:56:|
|00005900| 32 31 20 65 72 69 63 20 | 45 78 70 20 24 22 29 3b |21 eric |Exp $");|
|00005910| 0a 58 0a 58 2f 2a 0a 58 | 2a 2a 20 20 50 41 52 53 |.X.X/*.X|** PARS|
|00005920| 45 41 52 47 56 20 61 72 | 67 75 6d 65 6e 74 20 74 |EARGV ar|gument t|
|00005930| 79 70 65 20 66 75 6e 63 | 74 69 6f 6e 73 20 66 6f |ype func|tions fo|
|00005940| 72 20 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |r floati|ng point|
|00005950| 20 6f 70 65 72 61 6e 64 | 73 2e 0a 58 2a 2a 0a 58 | operand|s..X**.X|
|00005960| 2a 2a 09 54 68 65 73 65 | 20 61 72 65 20 62 72 6f |**.These| are bro|
|00005970| 6b 65 6e 20 6f 75 74 20 | 74 6f 20 61 76 6f 69 64 |ken out |to avoid|
|00005980| 20 6c 6f 61 64 69 6e 67 | 20 74 68 65 20 66 6c 6f | loading| the flo|
|00005990| 61 74 69 6e 67 20 70 72 | 65 63 69 73 69 6f 6e 0a |ating pr|ecision.|
|000059a0| 58 2a 2a 09 63 6f 6e 76 | 65 72 73 69 6f 6e 20 72 |X**.conv|ersion r|
|000059b0| 6f 75 74 69 6e 65 73 20 | 77 68 65 6e 20 74 68 65 |outines |when the|
|000059c0| 79 20 61 72 65 6e 27 74 | 20 61 63 74 75 61 6c 6c |y aren't| actuall|
|000059d0| 79 20 6e 65 65 64 65 64 | 2e 0a 58 2a 2a 0a 58 2a |y needed|..X**.X*|
|000059e0| 2a 09 41 75 74 68 6f 72 | 3a 0a 58 2a 2a 09 09 45 |*.Author|:.X**..E|
|000059f0| 72 69 63 20 41 6c 6c 6d | 61 6e 0a 58 2a 2a 09 09 |ric Allm|an.X**..|
|00005a00| 55 6e 69 76 65 72 73 69 | 74 79 20 6f 66 20 43 61 |Universi|ty of Ca|
|00005a10| 6c 69 66 6f 72 6e 69 61 | 2c 20 42 65 72 6b 65 6c |lifornia|, Berkel|
|00005a20| 65 79 0a 58 2a 2f 0a 58 | 0a 58 2f 2a 41 52 47 53 |ey.X*/.X|.X/*ARGS|
|00005a30| 55 53 45 44 2a 2f 0a 58 | 42 4f 4f 4c 0a 58 61 72 |USED*/.X|BOOL.Xar|
|00005a40| 67 44 6f 75 62 6c 65 28 | 61 64 2c 20 76 70 2c 20 |gDouble(|ad, vp, |
|00005a50| 63 6f 70 79 66 29 0a 58 | 09 72 65 67 69 73 74 65 |copyf).X|.registe|
|00005a60| 72 20 41 52 47 44 45 53 | 43 20 2a 61 64 3b 0a 58 |r ARGDES|C *ad;.X|
|00005a70| 09 72 65 67 69 73 74 65 | 72 20 63 68 61 72 20 2a |.registe|r char *|
|00005a80| 76 70 3b 0a 58 09 42 4f | 4f 4c 20 63 6f 70 79 66 |vp;.X.BO|OL copyf|
|00005a90| 3b 0a 58 7b 0a 58 09 61 | 75 74 6f 20 63 68 61 72 |;.X{.X.a|uto char|
|00005aa0| 20 2a 76 70 70 3b 0a 58 | 09 65 78 74 65 72 6e 20 | *vpp;.X|.extern |
|00005ab0| 64 6f 75 62 6c 65 20 73 | 74 72 74 6f 64 20 41 52 |double s|trtod AR|
|00005ac0| 47 53 28 28 63 68 61 72 | 20 2a 2c 20 63 68 61 72 |GS((char| *, char|
|00005ad0| 20 2a 2a 29 29 3b 0a 58 | 0a 58 09 2a 28 64 6f 75 | **));.X|.X.*(dou|
|00005ae0| 62 6c 65 20 2a 29 20 61 | 64 2d 3e 61 64 5f 76 61 |ble *) a|d->ad_va|
|00005af0| 6c 70 20 3d 20 73 74 72 | 74 6f 64 28 76 70 2c 20 |lp = str|tod(vp, |
|00005b00| 26 76 70 70 29 3b 0a 58 | 09 69 66 20 28 2a 76 70 |&vpp);.X|.if (*vp|
|00005b10| 70 20 21 3d 20 27 5c 30 | 27 29 0a 58 09 7b 0a 58 |p != '\0|').X.{.X|
|00005b20| 09 09 75 73 72 65 72 72 | 28 22 69 6e 76 61 6c 69 |..usrerr|("invali|
|00005b30| 64 20 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |d floati|ng point|
|00005b40| 20 61 72 67 75 6d 65 6e | 74 20 27 25 73 27 20 66 | argumen|t '%s' f|
|00005b50| 6f 72 20 25 73 22 2c 0a | 58 09 09 09 76 70 2c 20 |or %s",.|X...vp, |
|00005b60| 61 64 2d 3e 61 64 5f 70 | 72 6f 6d 70 74 29 3b 0a |ad->ad_p|rompt);.|
|00005b70| 58 09 09 72 65 74 75 72 | 6e 20 28 46 41 4c 53 45 |X..retur|n (FALSE|
|00005b80| 29 3b 0a 58 09 7d 0a 58 | 09 65 6c 73 65 0a 58 09 |);.X.}.X|.else.X.|
|00005b90| 7b 0a 58 09 09 72 65 74 | 75 72 6e 20 28 54 52 55 |{.X..ret|urn (TRU|
|00005ba0| 45 29 3b 0a 58 09 7d 0a | 58 7d 0a 58 0a 58 2f 2a |E);.X.}.|X}.X.X/*|
|00005bb0| 41 52 47 53 55 53 45 44 | 2a 2f 0a 58 42 4f 4f 4c |ARGSUSED|*/.XBOOL|
|00005bc0| 0a 58 61 72 67 46 6c 6f | 61 74 28 61 64 2c 20 76 |.XargFlo|at(ad, v|
|00005bd0| 70 2c 20 63 6f 70 79 66 | 29 0a 58 09 72 65 67 69 |p, copyf|).X.regi|
|00005be0| 73 74 65 72 20 41 52 47 | 44 45 53 43 20 2a 61 64 |ster ARG|DESC *ad|
|00005bf0| 3b 0a 58 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |;.X.regi|ster cha|
|00005c00| 72 20 2a 76 70 3b 0a 58 | 09 42 4f 4f 4c 20 63 6f |r *vp;.X|.BOOL co|
|00005c10| 70 79 66 3b 0a 58 7b 0a | 58 09 61 75 74 6f 20 63 |pyf;.X{.|X.auto c|
|00005c20| 68 61 72 20 2a 76 70 70 | 3b 0a 58 09 65 78 74 65 |har *vpp|;.X.exte|
|00005c30| 72 6e 20 64 6f 75 62 6c | 65 20 73 74 72 74 6f 64 |rn doubl|e strtod|
|00005c40| 20 41 52 47 53 28 28 63 | 68 61 72 20 2a 2c 20 63 | ARGS((c|har *, c|
|00005c50| 68 61 72 20 2a 2a 29 29 | 3b 0a 58 0a 58 09 2a 28 |har **))|;.X.X.*(|
|00005c60| 66 6c 6f 61 74 20 2a 29 | 20 61 64 2d 3e 61 64 5f |float *)| ad->ad_|
|00005c70| 76 61 6c 70 20 3d 20 28 | 66 6c 6f 61 74 29 20 73 |valp = (|float) s|
|00005c80| 74 72 74 6f 64 28 76 70 | 2c 20 26 76 70 70 29 3b |trtod(vp|, &vpp);|
|00005c90| 0a 58 09 69 66 20 28 2a | 76 70 70 20 21 3d 20 27 |.X.if (*|vpp != '|
|00005ca0| 5c 30 27 29 0a 58 09 7b | 0a 58 09 09 75 73 72 65 |\0').X.{|.X..usre|
|00005cb0| 72 72 28 22 69 6e 76 61 | 6c 69 64 20 66 6c 6f 61 |rr("inva|lid floa|
|00005cc0| 74 69 6e 67 20 70 6f 69 | 6e 74 20 61 72 67 75 6d |ting poi|nt argum|
|00005cd0| 65 6e 74 20 27 25 73 27 | 20 66 6f 72 20 25 73 22 |ent '%s'| for %s"|
|00005ce0| 2c 0a 58 09 09 09 76 70 | 2c 20 61 64 2d 3e 61 64 |,.X...vp|, ad->ad|
|00005cf0| 5f 70 72 6f 6d 70 74 29 | 3b 0a 58 09 09 72 65 74 |_prompt)|;.X..ret|
|00005d00| 75 72 6e 20 28 46 41 4c | 53 45 29 3b 0a 58 09 7d |urn (FAL|SE);.X.}|
|00005d10| 0a 58 09 65 6c 73 65 0a | 58 09 7b 0a 58 09 09 72 |.X.else.|X.{.X..r|
|00005d20| 65 74 75 72 6e 20 28 54 | 52 55 45 29 3b 0a 58 09 |eturn (T|RUE);.X.|
|00005d30| 7d 0a 58 7d 0a 2f 2f 45 | 4e 44 5f 4f 46 5f 46 49 |}.X}.//E|ND_OF_FI|
|00005d40| 4c 45 0a 65 63 68 6f 20 | 78 20 2d 20 66 75 6e 63 |LE.echo |x - func|
|00005d50| 6c 69 73 74 2e 63 0a 73 | 65 64 20 27 73 2f 5e 58 |list.c.s|ed 's/^X|
|00005d60| 2f 2f 27 20 3e 20 66 75 | 6e 63 6c 69 73 74 2e 63 |//' > fu|nclist.c|
|00005d70| 20 3c 3c 20 27 2f 2f 45 | 4e 44 5f 4f 46 5f 46 49 | << '//E|ND_OF_FI|
|00005d80| 4c 45 27 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 75 |LE'.X#in|clude <u|
|00005d90| 73 65 66 75 6c 2e 68 3e | 0a 58 23 69 6e 63 6c 75 |seful.h>|.X#inclu|
|00005da0| 64 65 20 3c 66 75 6e 63 | 6c 69 73 74 2e 68 3e 0a |de <func|list.h>.|
|00005db0| 58 0a 58 56 45 52 53 49 | 4f 4e 49 44 28 22 24 48 |X.XVERSI|ONID("$H|
|00005dc0| 65 61 64 65 72 3a 20 66 | 75 6e 63 6c 69 73 74 2e |eader: f|unclist.|
|00005dd0| 63 2c 76 20 32 2e 30 20 | 38 39 2f 31 32 2f 32 34 |c,v 2.0 |89/12/24|
|00005de0| 20 30 30 3a 35 36 3a 32 | 32 20 65 72 69 63 20 45 | 00:56:2|2 eric E|
|00005df0| 78 70 20 24 22 29 3b 0a | 58 0a 58 2f 2a 0a 58 2a |xp $");.|X.X/*.X*|
|00005e00| 2a 20 20 46 55 4e 43 4c | 49 53 54 5f 41 44 44 20 |* FUNCL|IST_ADD |
|00005e10| 2d 2d 20 61 64 64 20 61 | 20 66 75 6e 63 74 69 6f |-- add a| functio|
|00005e20| 6e 20 73 70 65 63 69 66 | 69 63 61 74 69 6f 6e 20 |n specif|ication |
|00005e30| 74 6f 20 61 20 66 75 6e | 63 74 69 6f 6e 20 6c 69 |to a fun|ction li|
|00005e40| 73 74 0a 58 2a 2a 0a 58 | 2a 2a 09 50 61 72 61 6d |st.X**.X|**.Param|
|00005e50| 65 74 65 72 73 3a 0a 58 | 2a 2a 09 09 66 6c 68 20 |eters:.X|**..flh |
|00005e60| 2d 2d 20 74 68 65 20 61 | 64 64 72 65 73 73 20 6f |-- the a|ddress o|
|00005e70| 66 20 61 20 70 6f 69 6e | 74 65 72 20 74 6f 20 61 |f a poin|ter to a|
|00005e80| 20 66 75 6e 63 74 69 6f | 6e 20 6c 69 73 74 2e 20 | functio|n list. |
|00005e90| 20 4e 6f 74 65 0a 58 2a | 2a 09 09 09 74 68 61 74 | Note.X*|*...that|
|00005ea0| 20 74 68 69 73 20 6d 75 | 73 74 20 62 65 20 61 20 | this mu|st be a |
|00005eb0| 46 55 4e 43 4c 49 53 54 | 20 2a 2a 2e 0a 58 2a 2a |FUNCLIST| **..X**|
|00005ec0| 09 09 66 75 6e 63 20 2d | 2d 20 74 68 65 20 66 75 |..func -|- the fu|
|00005ed0| 6e 63 74 69 6f 6e 20 74 | 6f 20 61 64 64 20 74 6f |nction t|o add to|
|00005ee0| 20 74 68 65 20 6c 69 73 | 74 2e 0a 58 2a 2a 09 09 | the lis|t..X**..|
|00005ef0| 61 72 67 20 2d 2d 20 74 | 68 65 20 66 69 72 73 74 |arg -- t|he first|
|00005f00| 20 61 72 67 75 6d 65 6e | 74 20 74 6f 20 74 68 65 | argumen|t to the|
|00005f10| 20 66 75 6e 63 74 69 6f | 6e 2e 0a 58 2a 2a 0a 58 | functio|n..X**.X|
|00005f20| 2a 2a 09 52 65 74 75 72 | 6e 73 3a 0a 58 2a 2a 09 |**.Retur|ns:.X**.|
|00005f30| 09 6e 6f 6e 65 2e 0a 58 | 2a 2a 0a 58 2a 2a 09 53 |.none..X|**.X**.S|
|00005f40| 69 64 65 20 45 66 66 65 | 63 74 73 3a 0a 58 2a 2a |ide Effe|cts:.X**|
|00005f50| 09 09 54 68 65 20 69 6e | 64 69 63 61 74 65 64 20 |..The in|dicated |
|00005f60| 66 75 6e 63 74 69 6f 6e | 20 69 73 20 61 64 64 65 |function| is adde|
|00005f70| 64 20 74 6f 20 74 68 65 | 20 66 75 6e 63 74 69 6f |d to the| functio|
|00005f80| 6e 20 6c 69 73 74 0a 58 | 2a 2a 09 09 66 6f 72 20 |n list.X|**..for |
|00005f90| 6c 61 74 65 72 20 69 6e | 76 6f 63 61 74 69 6f 6e |later in|vocation|
|00005fa0| 20 62 79 20 66 75 6e 63 | 6c 69 73 74 5f 63 61 6c | by func|list_cal|
|00005fb0| 6c 2e 0a 58 2a 2a 0a 58 | 2a 2a 09 41 75 74 68 6f |l..X**.X|**.Autho|
|00005fc0| 72 3a 0a 58 2a 2a 09 09 | 45 72 69 63 20 41 6c 6c |r:.X**..|Eric All|
|00005fd0| 6d 61 6e 0a 58 2a 2a 09 | 09 55 6e 69 76 65 72 73 |man.X**.|.Univers|
|00005fe0| 69 74 79 20 6f 66 20 43 | 61 6c 69 66 6f 72 6e 69 |ity of C|aliforni|
|00005ff0| 61 2c 20 42 65 72 6b 65 | 6c 65 79 0a 58 2a 2f 0a |a, Berke|ley.X*/.|
|00006000| 58 0a 58 56 4f 49 44 0a | 58 66 75 6e 63 6c 69 73 |X.XVOID.|Xfunclis|
|00006010| 74 5f 61 64 64 28 66 6c | 68 2c 20 66 75 6e 63 2c |t_add(fl|h, func,|
|00006020| 20 61 72 67 29 0a 58 09 | 46 55 4e 43 4c 49 53 54 | arg).X.|FUNCLIST|
|00006030| 20 2a 2a 66 6c 68 3b 0a | 58 09 56 4f 49 44 20 28 | **flh;.|X.VOID (|
|00006040| 2a 66 75 6e 63 29 28 29 | 3b 0a 58 09 41 52 42 50 |*func)()|;.X.ARBP|
|00006050| 54 52 20 61 72 67 3b 0a | 58 7b 0a 58 09 72 65 67 |TR arg;.|X{.X.reg|
|00006060| 69 73 74 65 72 20 46 55 | 4e 43 4c 49 53 54 20 2a |ister FU|NCLIST *|
|00006070| 66 6c 3b 0a 58 0a 58 09 | 66 6c 20 3d 20 28 46 55 |fl;.X.X.|fl = (FU|
|00006080| 4e 43 4c 49 53 54 20 2a | 29 20 63 6b 61 6c 6c 6f |NCLIST *|) ckallo|
|00006090| 63 28 73 69 7a 65 6f 66 | 20 2a 66 6c 29 3b 0a 58 |c(sizeof| *fl);.X|
|000060a0| 09 66 6c 2d 3e 5f 66 6c | 5f 66 75 6e 63 20 3d 20 |.fl->_fl|_func = |
|000060b0| 66 75 6e 63 3b 0a 58 09 | 66 6c 2d 3e 5f 66 6c 5f |func;.X.|fl->_fl_|
|000060c0| 61 72 67 20 3d 20 61 72 | 67 3b 0a 58 09 66 6c 2d |arg = ar|g;.X.fl-|
|000060d0| 3e 5f 66 6c 5f 6e 65 78 | 74 20 3d 20 2a 66 6c 68 |>_fl_nex|t = *flh|
|000060e0| 3b 0a 58 09 2a 66 6c 68 | 20 3d 20 66 6c 3b 0a 58 |;.X.*flh| = fl;.X|
|000060f0| 7d 0a 58 0c 2f 2a 0a 58 | 2a 2a 20 20 46 55 4e 43 |}.X./*.X|** FUNC|
|00006100| 4c 49 53 54 5f 43 41 4c | 4c 20 2d 2d 20 63 61 6c |LIST_CAL|L -- cal|
|00006110| 6c 20 61 6c 6c 20 74 68 | 65 20 66 75 6e 63 74 69 |l all th|e functi|
|00006120| 6f 6e 73 20 6f 6e 20 61 | 20 66 75 6e 63 74 69 6f |ons on a| functio|
|00006130| 6e 20 6c 69 73 74 2e 0a | 58 2a 2a 0a 58 2a 2a 09 |n list..|X**.X**.|
|00006140| 50 61 72 61 6d 65 74 65 | 72 73 3a 0a 58 2a 2a 09 |Paramete|rs:.X**.|
|00006150| 09 66 6c 20 2d 2d 20 74 | 68 65 20 66 75 6e 63 74 |.fl -- t|he funct|
|00006160| 69 6f 6e 20 6c 69 73 74 | 20 74 6f 20 63 61 6c 6c |ion list| to call|
|00006170| 2e 20 20 55 6e 6c 69 6b | 65 20 66 75 6e 63 6c 69 |. Unlik|e funcli|
|00006180| 73 74 5f 61 64 64 2c 0a | 58 2a 2a 09 09 09 74 68 |st_add,.|X**...th|
|00006190| 69 73 20 73 68 6f 75 6c | 64 20 6e 6f 74 20 62 65 |is shoul|d not be|
|000061a0| 20 61 6e 20 69 6e 64 69 | 72 65 63 74 20 70 6f 69 | an indi|rect poi|
|000061b0| 6e 74 65 72 2e 0a 58 2a | 2a 09 09 61 72 67 20 2d |nter..X*|*..arg -|
|000061c0| 2d 20 74 68 65 20 73 65 | 63 6f 6e 64 20 61 72 67 |- the se|cond arg|
|000061d0| 75 6d 65 6e 74 20 74 6f | 20 74 68 65 20 66 75 6e |ument to| the fun|
|000061e0| 63 74 69 6f 6e 73 2e 0a | 58 2a 2a 0a 58 2a 2a 09 |ctions..|X**.X**.|
|000061f0| 52 65 74 75 72 6e 73 3a | 0a 58 2a 2a 09 09 6e 6f |Returns:|.X**..no|
|00006200| 6e 65 2e 0a 58 2a 2a 0a | 58 2a 2a 09 53 69 64 65 |ne..X**.|X**.Side|
|00006210| 20 45 66 66 65 63 74 73 | 3a 0a 58 2a 2a 09 09 41 | Effects|:.X**..A|
|00006220| 73 20 69 6d 70 6c 69 65 | 64 20 62 79 20 74 68 65 |s implie|d by the|
|00006230| 20 66 75 6e 63 74 69 6f | 6e 20 6c 69 73 74 2e 0a | functio|n list..|
|00006240| 58 2a 2f 0a 58 0a 58 56 | 4f 49 44 0a 58 66 75 6e |X*/.X.XV|OID.Xfun|
|00006250| 63 6c 69 73 74 5f 63 61 | 6c 6c 28 66 6c 2c 20 61 |clist_ca|ll(fl, a|
|00006260| 72 67 29 0a 58 09 72 65 | 67 69 73 74 65 72 20 46 |rg).X.re|gister F|
|00006270| 55 4e 43 4c 49 53 54 20 | 2a 66 6c 3b 0a 58 09 41 |UNCLIST |*fl;.X.A|
|00006280| 52 42 50 54 52 20 61 72 | 67 3b 0a 58 7b 0a 58 09 |RBPTR ar|g;.X{.X.|
|00006290| 77 68 69 6c 65 20 28 66 | 6c 20 21 3d 20 46 55 4e |while (f|l != FUN|
|000062a0| 43 4c 49 53 54 4e 55 4c | 4c 29 0a 58 09 7b 0a 58 |CLISTNUL|L).X.{.X|
|000062b0| 09 09 28 2a 66 6c 2d 3e | 5f 66 6c 5f 66 75 6e 63 |..(*fl->|_fl_func|
|000062c0| 29 28 66 6c 2d 3e 5f 66 | 6c 5f 61 72 67 2c 20 61 |)(fl->_f|l_arg, a|
|000062d0| 72 67 29 3b 0a 58 09 09 | 66 6c 20 3d 20 66 6c 2d |rg);.X..|fl = fl-|
|000062e0| 3e 5f 66 6c 5f 6e 65 78 | 74 3b 0a 58 09 7d 0a 58 |>_fl_nex|t;.X.}.X|
|000062f0| 7d 0a 2f 2f 45 4e 44 5f | 4f 46 5f 46 49 4c 45 0a |}.//END_|OF_FILE.|
|00006300| 65 63 68 6f 20 78 20 2d | 20 6f 70 65 6e 70 61 74 |echo x -| openpat|
|00006310| 68 2e 63 0a 73 65 64 20 | 27 73 2f 5e 58 2f 2f 27 |h.c.sed |'s/^X//'|
|00006320| 20 3e 20 6f 70 65 6e 70 | 61 74 68 2e 63 20 3c 3c | > openp|ath.c <<|
|00006330| 20 27 2f 2f 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | '//END_|OF_FILE'|
|00006340| 0a 58 23 69 6e 63 6c 75 | 64 65 20 3c 75 73 65 66 |.X#inclu|de <usef|
|00006350| 75 6c 2e 68 3e 0a 58 0a | 58 56 45 52 53 49 4f 4e |ul.h>.X.|XVERSION|
|00006360| 49 44 28 22 24 48 65 61 | 64 65 72 3a 20 6f 70 65 |ID("$Hea|der: ope|
|00006370| 6e 70 61 74 68 2e 63 2c | 76 20 32 2e 30 20 38 39 |npath.c,|v 2.0 89|
|00006380| 2f 31 32 2f 32 34 20 30 | 30 3a 35 36 3a 32 36 20 |/12/24 0|0:56:26 |
|00006390| 65 72 69 63 20 45 78 70 | 20 24 22 29 3b 0a 58 0a |eric Exp| $");.X.|
|000063a0| 58 2f 2a 0a 58 2a 2a 20 | 20 4f 50 45 4e 50 41 54 |X/*.X** | OPENPAT|
|000063b0| 48 20 2d 2d 20 6f 70 65 | 6e 20 61 20 66 69 6c 65 |H -- ope|n a file|
|000063c0| 2c 20 73 65 61 72 63 68 | 69 6e 67 20 74 68 72 6f |, search|ing thro|
|000063d0| 75 67 68 20 61 20 70 61 | 74 68 0a 58 2a 2a 0a 58 |ugh a pa|th.X**.X|
|000063e0| 2a 2a 09 50 61 72 61 6d | 65 74 65 72 73 3a 0a 58 |**.Param|eters:.X|
|000063f0| 2a 2a 09 09 66 6e 61 6d | 65 20 2d 2d 20 74 68 65 |**..fnam|e -- the|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.