home *** CD-ROM | disk | FTP | other *** search
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox ).
Confidence Program Detection Match Type Support
100%
dexvert
Mailbox/MIME Entity (archive/mbox)
magic
Supported
100%
dexvert
Internet Message Format (text/imf)
magic
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
Mailbox text, 1st line "From bbn.com!bbn!mit-eddie!bloom-beacon!tut.cis.ohio-state.edu!mailrus!ames!elroy!devvax!lwall Sat Jun 4 20:08:55 EDT 1988", ASCII text
default
100%
TrID
E-Mail message (Var. 2)
default
100%
checkBytes
Printable ASCII
default
100%
perlTextCheck
Likely Text (Perl)
default
100%
siegfried
x-fmt/111 Plain Text File
default
100%
detectItEasy
Format: plain text[LF]
default (weak)
100%
xdgMime
application/mbox
default
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 46 72 6f 6d 20 62 62 6e | 2e 63 6f 6d 21 62 62 6e |From bbn|.com!bbn| |00000010| 21 6d 69 74 2d 65 64 64 | 69 65 21 62 6c 6f 6f 6d |!mit-edd|ie!bloom| |00000020| 2d 62 65 61 63 6f 6e 21 | 74 75 74 2e 63 69 73 2e |-beacon!|tut.cis.| |00000030| 6f 68 69 6f 2d 73 74 61 | 74 65 2e 65 64 75 21 6d |ohio-sta|te.edu!m| |00000040| 61 69 6c 72 75 73 21 61 | 6d 65 73 21 65 6c 72 6f |ailrus!a|mes!elro| |00000050| 79 21 64 65 76 76 61 78 | 21 6c 77 61 6c 6c 20 53 |y!devvax|!lwall S| |00000060| 61 74 20 4a 75 6e 20 20 | 34 20 32 30 3a 30 38 3a |at Jun |4 20:08:| |00000070| 35 35 20 45 44 54 20 31 | 39 38 38 0a 41 72 74 69 |55 EDT 1|988.Arti| |00000080| 63 6c 65 20 31 30 31 30 | 20 6f 66 20 63 6f 6d 70 |cle 1010| of comp| |00000090| 2e 73 6f 75 72 63 65 73 | 2e 62 75 67 73 3a 0a 50 |.sources|.bugs:.P| |000000a0| 61 74 68 3a 20 62 62 6e | 2e 63 6f 6d 21 62 62 6e |ath: bbn|.com!bbn| |000000b0| 21 6d 69 74 2d 65 64 64 | 69 65 21 62 6c 6f 6f 6d |!mit-edd|ie!bloom| |000000c0| 2d 62 65 61 63 6f 6e 21 | 74 75 74 2e 63 69 73 2e |-beacon!|tut.cis.| |000000d0| 6f 68 69 6f 2d 73 74 61 | 74 65 2e 65 64 75 21 6d |ohio-sta|te.edu!m| |000000e0| 61 69 6c 72 75 73 21 61 | 6d 65 73 21 65 6c 72 6f |ailrus!a|mes!elro| |000000f0| 79 21 64 65 76 76 61 78 | 21 6c 77 61 6c 6c 0a 3e |y!devvax|!lwall.>| |00000100| 46 72 6f 6d 3a 20 6c 77 | 61 6c 6c 40 64 65 76 76 |From: lw|all@devv| |00000110| 61 78 2e 4a 50 4c 2e 4e | 41 53 41 2e 47 4f 56 20 |ax.JPL.N|ASA.GOV | |00000120| 28 4c 61 72 72 79 20 57 | 61 6c 6c 29 0a 4e 65 77 |(Larry W|all).New| |00000130| 73 67 72 6f 75 70 73 3a | 20 63 6f 6d 70 2e 73 6f |sgroups:| comp.so| |00000140| 75 72 63 65 73 2e 62 75 | 67 73 0a 53 75 62 6a 65 |urces.bu|gs.Subje| |00000150| 63 74 3a 20 70 61 74 63 | 68 20 32 2e 30 20 70 61 |ct: patc|h 2.0 pa| |00000160| 74 63 68 20 23 31 31 0a | 53 75 6d 6d 61 72 79 3a |tch #11.|Summary:| |00000170| 20 54 68 69 73 20 69 73 | 20 61 6e 20 6f 66 66 69 | This is| an offi| |00000180| 63 69 61 6c 20 70 61 74 | 63 68 20 66 6f 72 20 70 |cial pat|ch for p| |00000190| 61 74 63 68 20 32 2e 30 | 2e 20 20 50 6c 65 61 73 |atch 2.0|. Pleas| |000001a0| 65 20 61 70 70 6c 79 20 | 69 74 2e 0a 4d 65 73 73 |e apply |it..Mess| |000001b0| 61 67 65 2d 49 44 3a 20 | 3c 32 31 36 39 40 64 65 |age-ID: |<2169@de| |000001c0| 76 76 61 78 2e 4a 50 4c | 2e 4e 41 53 41 2e 47 4f |vvax.JPL|.NASA.GO| |000001d0| 56 3e 0a 44 61 74 65 3a | 20 33 20 4a 75 6e 20 38 |V>.Date:| 3 Jun 8| |000001e0| 38 20 32 33 3a 35 30 3a | 34 30 20 47 4d 54 0a 4f |8 23:50:|40 GMT.O| |000001f0| 72 67 61 6e 69 7a 61 74 | 69 6f 6e 3a 20 4a 65 74 |rganizat|ion: Jet| |00000200| 20 50 72 6f 70 75 6c 73 | 69 6f 6e 20 4c 61 62 6f | Propuls|ion Labo| |00000210| 72 61 74 6f 72 79 0a 4c | 69 6e 65 73 3a 20 31 34 |ratory.L|ines: 14| |00000220| 36 39 0a 0a 53 79 73 74 | 65 6d 3a 20 70 61 74 63 |69..Syst|em: patc| |00000230| 68 20 76 65 72 73 69 6f | 6e 20 32 2e 30 0a 50 61 |h versio|n 2.0.Pa| |00000240| 74 63 68 20 23 3a 20 31 | 31 0a 50 72 69 6f 72 69 |tch #: 1|1.Priori| |00000250| 74 79 3a 20 73 61 6d 65 | 20 61 73 20 70 61 74 63 |ty: same| as patc| |00000260| 68 20 31 30 0a 53 75 62 | 6a 65 63 74 3a 20 70 61 |h 10.Sub|ject: pa| |00000270| 74 63 68 20 31 30 20 63 | 6f 6e 74 69 6e 75 65 64 |tch 10 c|ontinued| |00000280| 0a 0a 44 65 73 63 72 69 | 70 74 69 6f 6e 3a 0a 09 |..Descri|ption:..| |00000290| 54 68 69 73 20 69 73 20 | 61 20 6e 65 77 20 43 6f |This is |a new Co| |000002a0| 6e 66 69 67 75 72 65 2e | 0a 0a 46 69 78 3a 09 55 |nfigure.|..Fix:.U| |000002b0| 6e 6c 69 6b 65 20 6d 6f | 73 74 20 70 61 74 63 68 |nlike mo|st patch| |000002c0| 65 73 2c 20 74 68 69 73 | 20 6f 6e 65 20 63 6f 6e |es, this| one con| |000002d0| 74 61 69 6e 73 20 61 6e | 20 65 6e 74 69 72 65 20 |tains an| entire | |000002e0| 6e 65 77 20 43 6f 6e 66 | 69 67 75 72 65 0a 09 73 |new Conf|igure..s| |000002f0| 63 72 69 70 74 2c 20 77 | 68 69 63 68 20 69 73 20 |cript, w|hich is | |00000300| 73 68 6f 72 74 65 72 20 | 74 68 61 6e 20 74 68 65 |shorter |than the| |00000310| 20 64 69 66 66 73 2e 20 | 20 55 6e 73 68 61 72 20 | diffs. | Unshar | |00000320| 74 68 69 73 20 66 69 6c | 65 20 69 6e 0a 09 79 6f |this fil|e in..yo| |00000330| 75 72 20 70 61 74 63 68 | 20 73 6f 75 72 63 65 20 |ur patch| source | |00000340| 64 69 72 65 63 74 6f 72 | 79 2e 20 20 50 6c 65 61 |director|y. Plea| |00000350| 73 65 20 6d 61 6b 65 20 | 73 75 72 65 20 79 6f 75 |se make |sure you| |00000360| 27 76 65 20 6a 75 73 74 | 20 61 70 70 6c 69 65 64 |'ve just| applied| |00000370| 0a 09 70 61 74 63 68 20 | 23 31 30 2d 2d 74 68 69 |..patch |#10--thi| |00000380| 73 20 6f 6e 65 20 64 6f | 65 73 6e 27 74 20 63 68 |s one do|esn't ch| |00000390| 65 63 6b 20 74 68 61 74 | 20 70 61 74 63 68 6c 65 |eck that| patchle| |000003a0| 76 65 6c 2e 68 20 69 73 | 20 63 6f 72 72 65 63 74 |vel.h is| correct| |000003b0| 2e 0a 0a 09 41 66 74 65 | 72 20 61 70 70 6c 79 69 |....Afte|r applyi| |000003c0| 6e 67 3a 0a 09 09 43 6f | 6e 66 69 67 75 72 65 09 |ng:...Co|nfigure.| |000003d0| 28 6f 72 20 43 6f 6e 66 | 69 67 75 72 65 20 2d 64 |(or Conf|igure -d| |000003e0| 29 0a 09 09 6d 61 6b 65 | 0a 09 09 6d 61 6b 65 20 |)...make|...make | |000003f0| 69 6e 73 74 61 6c 6c 0a | 0a 09 49 66 20 79 6f 75 |install.|..If you| |00000400| 20 61 72 65 20 6d 69 73 | 73 69 6e 67 20 70 72 65 | are mis|sing pre| |00000410| 76 69 6f 75 73 20 70 61 | 74 63 68 65 73 20 74 68 |vious pa|tches th| |00000420| 65 79 20 63 61 6e 20 62 | 65 20 6f 62 74 61 69 6e |ey can b|e obtain| |00000430| 65 64 20 66 72 6f 6d 20 | 6d 65 3a 0a 0a 09 4c 61 |ed from |me:...La| |00000440| 72 72 79 20 57 61 6c 6c | 0a 09 6c 77 61 6c 6c 40 |rry Wall|..lwall@| |00000450| 6a 70 6c 2d 64 65 76 76 | 61 78 2e 6a 70 6c 2e 6e |jpl-devv|ax.jpl.n| |00000460| 61 73 61 2e 67 6f 76 0a | 0a 09 49 66 20 79 6f 75 |asa.gov.|..If you| |00000470| 20 73 65 6e 64 20 61 20 | 6d 61 69 6c 20 6d 65 73 | send a |mail mes| |00000480| 73 61 67 65 20 6f 66 20 | 74 68 65 20 66 6f 6c 6c |sage of |the foll| |00000490| 6f 77 69 6e 67 20 66 6f | 72 6d 20 69 74 20 77 69 |owing fo|rm it wi| |000004a0| 6c 6c 20 67 72 65 61 74 | 6c 79 20 73 70 65 65 64 |ll great|ly speed| |000004b0| 0a 09 70 72 6f 63 65 73 | 73 69 6e 67 3a 0a 0a 09 |..proces|sing:...| |000004c0| 53 75 62 6a 65 63 74 3a | 20 43 6f 6d 6d 61 6e 64 |Subject:| Command| |000004d0| 0a 09 40 53 48 20 6d 61 | 69 6c 70 61 74 63 68 20 |..@SH ma|ilpatch | |000004e0| 50 41 54 48 20 70 61 74 | 63 68 20 32 2e 30 20 4c |PATH pat|ch 2.0 L| |000004f0| 49 53 54 0a 09 09 20 20 | 20 5e 20 6e 6f 74 65 20 |IST... | ^ note | |00000500| 74 68 65 20 63 0a 0a 09 | 77 68 65 72 65 20 50 41 |the c...|where PA| |00000510| 54 48 20 69 73 20 61 20 | 72 65 74 75 72 6e 20 70 |TH is a |return p| |00000520| 61 74 68 20 46 52 4f 4d | 20 4d 45 20 54 4f 20 59 |ath FROM| ME TO Y| |00000530| 4f 55 20 69 6e 20 49 6e | 74 65 72 6e 65 74 20 6e |OU in In|ternet n| |00000540| 6f 74 61 74 69 6f 6e 2c | 20 61 6e 64 0a 09 4c 49 |otation,| and..LI| |00000550| 53 54 20 69 73 20 74 68 | 65 20 6e 75 6d 62 65 72 |ST is th|e number| |00000560| 20 6f 66 20 6f 6e 65 20 | 6f 72 20 6d 6f 72 65 20 | of one |or more | |00000570| 70 61 74 63 68 65 73 20 | 79 6f 75 20 6e 65 65 64 |patches |you need| |00000580| 2c 20 73 65 70 61 72 61 | 74 65 64 20 62 79 20 73 |, separa|ted by s| |00000590| 70 61 63 65 73 2c 0a 09 | 63 6f 6d 6d 61 73 2c 20 |paces,..|commas, | |000005a0| 61 6e 64 2f 6f 72 20 68 | 79 70 68 65 6e 73 2e 20 |and/or h|yphens. | |000005b0| 20 53 61 79 69 6e 67 20 | 33 35 2d 20 73 61 79 73 | Saying |35- says| |000005c0| 20 65 76 65 72 79 74 68 | 69 6e 67 20 66 72 6f 6d | everyth|ing from| |000005d0| 20 33 35 20 74 6f 20 74 | 68 65 20 65 6e 64 2e 0a | 35 to t|he end..| |000005e0| 0a 09 59 6f 75 20 63 61 | 6e 20 61 6c 73 6f 20 67 |..You ca|n also g| |000005f0| 65 74 20 74 68 65 20 70 | 61 74 63 68 65 73 20 76 |et the p|atches v| |00000600| 69 61 20 61 6e 6f 6e 79 | 6d 6f 75 73 20 46 54 50 |ia anony|mous FTP| |00000610| 20 66 72 6f 6d 0a 09 6a | 70 6c 2d 64 65 76 76 61 | from..j|pl-devva| |00000620| 78 2e 6a 70 6c 2e 6e 61 | 73 61 2e 67 6f 76 20 28 |x.jpl.na|sa.gov (| |00000630| 31 32 38 2e 31 34 39 2e | 38 2e 34 33 29 2e 0a 0a |128.149.|8.43)...| |00000640| 23 21 2f 62 69 6e 2f 73 | 68 0a 65 63 68 6f 20 27 |#!/bin/s|h.echo '| |00000650| 49 66 20 74 68 69 73 20 | 6b 69 74 20 69 73 20 63 |If this |kit is c| |00000660| 6f 6d 70 6c 65 74 65 2c | 20 22 45 6e 64 20 6f 66 |omplete,| "End of| |00000670| 20 6b 69 74 22 20 77 69 | 6c 6c 20 65 63 68 6f 20 | kit" wi|ll echo | |00000680| 61 74 20 74 68 65 20 65 | 6e 64 27 0a 65 63 68 6f |at the e|nd'.echo| |00000690| 20 45 78 74 72 61 63 74 | 69 6e 67 20 43 6f 6e 66 | Extract|ing Conf| |000006a0| 69 67 75 72 65 0a 73 65 | 64 20 3e 43 6f 6e 66 69 |igure.se|d >Confi| |000006b0| 67 75 72 65 20 3c 3c 27 | 21 53 54 55 46 46 59 21 |gure <<'|!STUFFY!| |000006c0| 46 55 4e 4b 21 27 20 2d | 65 20 27 73 2f 58 2f 2f |FUNK!' -|e 's/X//| |000006d0| 27 0a 58 23 21 20 2f 62 | 69 6e 2f 73 68 0a 58 23 |'.X#! /b|in/sh.X#| |000006e0| 0a 58 23 20 49 66 20 74 | 68 65 73 65 20 23 20 63 |.X# If t|hese # c| |000006f0| 6f 6d 6d 65 6e 74 73 20 | 64 6f 6e 27 74 20 77 6f |omments |don't wo| |00000700| 72 6b 2c 20 74 72 69 6d | 20 74 68 65 6d 2e 20 20 |rk, trim| them. | |00000710| 44 6f 6e 27 74 20 77 6f | 72 72 79 20 61 62 6f 75 |Don't wo|rry abou| |00000720| 74 20 61 6e 79 20 6f 74 | 68 65 72 0a 58 23 20 73 |t any ot|her.X# s| |00000730| 68 65 6c 6c 20 73 63 72 | 69 70 74 73 2c 20 43 6f |hell scr|ipts, Co| |00000740| 6e 66 69 67 75 72 65 20 | 77 69 6c 6c 20 74 72 69 |nfigure |will tri| |00000750| 6d 20 23 20 63 6f 6d 6d | 65 6e 74 73 20 66 72 6f |m # comm|ents fro| |00000760| 6d 20 74 68 65 6d 20 66 | 6f 72 20 79 6f 75 2e 0a |m them f|or you..| |00000770| 58 23 0a 58 23 20 28 49 | 66 20 79 6f 75 20 61 72 |X#.X# (I|f you ar| |00000780| 65 20 74 72 79 69 6e 67 | 20 74 6f 20 70 6f 72 74 |e trying| to port| |00000790| 20 74 68 69 73 20 70 61 | 63 6b 61 67 65 20 74 6f | this pa|ckage to| |000007a0| 20 61 20 6d 61 63 68 69 | 6e 65 20 77 69 74 68 6f | a machi|ne witho| |000007b0| 75 74 20 73 68 2c 20 49 | 20 77 6f 75 6c 64 0a 58 |ut sh, I| would.X| |000007c0| 23 20 73 75 67 67 65 73 | 74 20 79 6f 75 20 63 75 |# sugges|t you cu| |000007d0| 74 20 6f 75 74 20 74 68 | 65 20 70 72 6f 74 6f 74 |t out th|e protot| |000007e0| 79 70 69 63 61 6c 20 63 | 6f 6e 66 69 67 2e 68 20 |ypical c|onfig.h | |000007f0| 66 72 6f 6d 20 74 68 65 | 20 65 6e 64 20 6f 66 20 |from the| end of | |00000800| 43 6f 6e 66 69 67 75 72 | 65 0a 58 23 20 61 6e 64 |Configur|e.X# and| |00000810| 20 65 64 69 74 20 69 74 | 20 74 6f 20 72 65 66 6c | edit it| to refl| |00000820| 65 63 74 20 79 6f 75 72 | 20 73 79 73 74 65 6d 2e |ect your| system.| |00000830| 20 20 53 6f 6d 65 20 70 | 61 63 6b 61 67 65 73 20 | Some p|ackages | |00000840| 6d 61 79 20 69 6e 63 6c | 75 64 65 20 73 61 6d 70 |may incl|ude samp| |00000850| 6c 65 73 0a 58 23 20 6f | 66 20 63 6f 6e 66 69 67 |les.X# o|f config| |00000860| 2e 68 20 66 6f 72 20 63 | 65 72 74 61 69 6e 20 6d |.h for c|ertain m| |00000870| 61 63 68 69 6e 65 73 2c | 20 73 6f 20 79 6f 75 20 |achines,| so you | |00000880| 6d 69 67 68 74 20 6c 6f | 6f 6b 20 66 6f 72 20 6f |might lo|ok for o| |00000890| 6e 65 20 6f 66 20 74 68 | 6f 73 65 2e 29 0a 58 23 |ne of th|ose.).X#| |000008a0| 0a 58 23 20 24 48 65 61 | 64 65 72 3a 20 43 6f 6e |.X# $Hea|der: Con| |000008b0| 66 69 67 75 72 65 2c 76 | 20 32 2e 30 2e 31 2e 31 |figure,v| 2.0.1.1| |000008c0| 20 38 38 2f 30 36 2f 30 | 33 20 31 35 3a 30 30 3a | 88/06/0|3 15:00:| |000008d0| 31 33 20 6c 77 61 6c 6c | 20 4c 6f 63 6b 65 64 20 |13 lwall| Locked | |000008e0| 24 0a 58 23 0a 58 23 20 | 59 65 73 2c 20 79 6f 75 |$.X#.X# |Yes, you| |000008f0| 20 6d 61 79 20 72 69 70 | 20 74 68 69 73 20 6f 66 | may rip| this of| |00000900| 66 20 74 6f 20 75 73 65 | 20 69 6e 20 6f 74 68 65 |f to use| in othe| |00000910| 72 20 64 69 73 74 72 69 | 62 75 74 69 6f 6e 20 70 |r distri|bution p| |00000920| 61 63 6b 61 67 65 73 2e | 0a 58 23 20 28 4e 6f 74 |ackages.|.X# (Not| |00000930| 65 3a 20 74 68 69 73 20 | 43 6f 6e 66 69 67 75 72 |e: this |Configur| |00000940| 65 20 73 63 72 69 70 74 | 20 77 61 73 20 67 65 6e |e script| was gen| |00000950| 65 72 61 74 65 64 20 61 | 75 74 6f 6d 61 74 69 63 |erated a|utomatic| |00000960| 61 6c 6c 79 2e 20 20 52 | 61 74 68 65 72 20 74 68 |ally. R|ather th| |00000970| 61 6e 0a 58 23 20 77 6f | 72 6b 69 6e 67 20 77 69 |an.X# wo|rking wi| |00000980| 74 68 20 74 68 69 73 20 | 63 6f 70 79 20 6f 66 20 |th this |copy of | |00000990| 43 6f 6e 66 69 67 75 72 | 65 2c 20 79 6f 75 20 6d |Configur|e, you m| |000009a0| 61 79 20 77 69 73 68 20 | 74 6f 20 67 65 74 20 6d |ay wish |to get m| |000009b0| 65 74 61 63 6f 6e 66 69 | 67 2e 29 0a 58 0a 58 3a |etaconfi|g.).X.X:| |000009c0| 20 73 61 6e 69 74 79 20 | 63 68 65 63 6b 73 0a 58 | sanity |checks.X| |000009d0| 50 41 54 48 3d 27 2e 3a | 2f 62 69 6e 3a 2f 75 73 |PATH='.:|/bin:/us| |000009e0| 72 2f 62 69 6e 3a 2f 75 | 73 72 2f 6c 6f 63 61 6c |r/bin:/u|sr/local| |000009f0| 2f 62 69 6e 3a 2f 75 73 | 72 2f 75 63 62 3a 2f 75 |/bin:/us|r/ucb:/u| |00000a00| 73 72 2f 6c 6f 63 61 6c | 3a 2f 75 73 72 2f 6c 62 |sr/local|:/usr/lb| |00000a10| 69 6e 3a 2f 65 74 63 27 | 0a 58 65 78 70 6f 72 74 |in:/etc'|.Xexport| |00000a20| 20 50 41 54 48 20 7c 7c | 20 28 65 63 68 6f 20 22 | PATH ||| (echo "| |00000a30| 4f 4f 50 53 2c 20 74 68 | 69 73 20 69 73 6e 27 74 |OOPS, th|is isn't| |00000a40| 20 73 68 2e 20 20 44 65 | 73 70 65 72 61 74 69 6f | sh. De|speratio| |00000a50| 6e 20 74 69 6d 65 2e 20 | 20 49 20 77 69 6c 6c 20 |n time. | I will | |00000a60| 66 65 65 64 20 6d 79 73 | 65 6c 66 20 74 6f 20 73 |feed mys|elf to s| |00000a70| 68 2e 22 3b 20 73 68 20 | 24 30 3b 20 6b 69 6c 6c |h."; sh |$0; kill| |00000a80| 20 24 24 29 0a 58 0a 58 | 69 66 20 74 65 73 74 20 | $$).X.X|if test | |00000a90| 21 20 2d 74 20 30 3b 20 | 74 68 65 6e 0a 58 20 20 |! -t 0; |then.X | |00000aa0| 20 20 65 63 68 6f 20 22 | 53 61 79 20 27 73 68 20 | echo "|Say 'sh | |00000ab0| 43 6f 6e 66 69 67 75 72 | 65 27 2c 20 6e 6f 74 20 |Configur|e', not | |00000ac0| 27 73 68 20 3c 43 6f 6e | 66 69 67 75 72 65 27 22 |'sh <Con|figure'"| |00000ad0| 0a 58 20 20 20 20 65 78 | 69 74 20 31 0a 58 66 69 |.X ex|it 1.Xfi| |00000ae0| 0a 58 0a 58 28 61 6c 69 | 61 73 29 20 3e 2f 64 65 |.X.X(ali|as) >/de| |00000af0| 76 2f 6e 75 6c 6c 20 32 | 3e 26 31 20 26 26 20 5c |v/null 2|>&1 && \| |00000b00| 0a 58 20 20 20 20 65 63 | 68 6f 20 22 28 49 20 73 |.X ec|ho "(I s| |00000b10| 65 65 20 79 6f 75 20 61 | 72 65 20 75 73 69 6e 67 |ee you a|re using| |00000b20| 20 74 68 65 20 4b 6f 72 | 6e 20 73 68 65 6c 6c 2e | the Kor|n shell.| |00000b30| 20 20 53 6f 6d 65 20 6b | 73 68 27 73 20 62 6c 6f | Some k|sh's blo| |00000b40| 77 20 75 70 20 6f 6e 20 | 43 6f 6e 66 69 67 75 72 |w up on |Configur| |00000b50| 65 2c 22 20 26 26 20 5c | 0a 58 20 20 20 20 65 63 |e," && \|.X ec| |00000b60| 68 6f 20 22 65 73 70 65 | 63 69 61 6c 6c 79 20 6f |ho "espe|cially o| |00000b70| 6e 20 65 78 6f 74 69 63 | 20 6d 61 63 68 69 6e 65 |n exotic| machine| |00000b80| 73 2e 20 20 49 66 20 79 | 6f 75 72 73 20 64 6f 65 |s. If y|ours doe| |00000b90| 73 2c 20 74 72 79 20 74 | 68 65 20 42 6f 75 72 6e |s, try t|he Bourn| |00000ba0| 65 20 73 68 65 6c 6c 20 | 69 6e 73 74 65 61 64 2e |e shell |instead.| |00000bb0| 29 22 0a 58 0a 58 69 66 | 20 74 65 73 74 20 21 20 |)".X.Xif| test ! | |00000bc0| 2d 64 20 2e 2e 2f 55 55 | 3b 20 74 68 65 6e 0a 58 |-d ../UU|; then.X| |00000bd0| 20 20 20 20 69 66 20 74 | 65 73 74 20 21 20 2d 64 | if t|est ! -d| |00000be0| 20 55 55 3b 20 74 68 65 | 6e 0a 58 09 6d 6b 64 69 | UU; the|n.X.mkdi| |00000bf0| 72 20 55 55 0a 58 20 20 | 20 20 66 69 0a 58 20 20 |r UU.X | fi.X | |00000c00| 20 20 63 64 20 55 55 0a | 58 66 69 0a 58 0a 58 63 | cd UU.|Xfi.X.Xc| |00000c10| 61 73 65 20 22 24 31 22 | 20 69 6e 0a 58 2d 64 29 |ase "$1"| in.X-d)| |00000c20| 20 73 68 69 66 74 3b 20 | 66 61 73 74 72 65 61 64 | shift; |fastread| |00000c30| 3d 27 79 65 73 27 3b 3b | 0a 58 65 73 61 63 0a 58 |='yes';;|.Xesac.X| |00000c40| 0a 58 64 5f 65 75 6e 69 | 63 65 3d 27 27 0a 58 65 |.Xd_euni|ce=''.Xe| |00000c50| 75 6e 69 63 65 66 69 78 | 3d 27 27 0a 58 64 65 66 |unicefix|=''.Xdef| |00000c60| 69 6e 65 3d 27 27 0a 58 | 6c 6f 63 6c 69 73 74 3d |ine=''.X|loclist=| |00000c70| 27 27 0a 58 65 78 70 72 | 3d 27 27 0a 58 73 65 64 |''.Xexpr|=''.Xsed| |00000c80| 3d 27 27 0a 58 65 63 68 | 6f 3d 27 27 0a 58 63 61 |=''.Xech|o=''.Xca| |00000c90| 74 3d 27 27 0a 58 72 6d | 3d 27 27 0a 58 6d 76 3d |t=''.Xrm|=''.Xmv=| |00000ca0| 27 27 0a 58 63 70 3d 27 | 27 0a 58 74 61 69 6c 3d |''.Xcp='|'.Xtail=| |00000cb0| 27 27 0a 58 74 72 3d 27 | 27 0a 58 6d 6b 64 69 72 |''.Xtr='|'.Xmkdir| |00000cc0| 3d 27 27 0a 58 73 6f 72 | 74 3d 27 27 0a 58 75 6e |=''.Xsor|t=''.Xun| |00000cd0| 69 71 3d 27 27 0a 58 67 | 72 65 70 3d 27 27 0a 58 |iq=''.Xg|rep=''.X| |00000ce0| 74 72 79 6c 69 73 74 3d | 27 27 0a 58 74 65 73 74 |trylist=|''.Xtest| |00000cf0| 3d 27 27 0a 58 69 6e 65 | 77 73 3d 27 27 0a 58 65 |=''.Xine|ws=''.Xe| |00000d00| 67 72 65 70 3d 27 27 0a | 58 6d 6f 72 65 3d 27 27 |grep=''.|Xmore=''| |00000d10| 0a 58 70 67 3d 27 27 0a | 58 4d 63 63 3d 27 27 0a |.Xpg=''.|XMcc=''.| |00000d20| 58 76 69 3d 27 27 0a 58 | 6d 61 69 6c 78 3d 27 27 |Xvi=''.X|mailx=''| |00000d30| 0a 58 6d 61 69 6c 3d 27 | 27 0a 58 63 70 70 3d 27 |.Xmail='|'.Xcpp='| |00000d40| 27 0a 58 4c 6f 67 3d 27 | 27 0a 58 48 65 61 64 65 |'.XLog='|'.XHeade| |00000d50| 72 3d 27 27 0a 58 62 69 | 6e 3d 27 27 0a 58 63 63 |r=''.Xbi|n=''.Xcc| |00000d60| 3d 27 27 0a 58 63 6f 6e | 74 61 69 6e 73 3d 27 27 |=''.Xcon|tains=''| |00000d70| 0a 58 63 70 70 73 74 64 | 69 6e 3d 27 27 0a 58 63 |.Xcppstd|in=''.Xc| |00000d80| 70 70 6d 69 6e 75 73 3d | 27 27 0a 58 64 5f 63 68 |ppminus=|''.Xd_ch| |00000d90| 61 72 73 70 72 66 3d 27 | 27 0a 58 64 5f 66 6c 65 |arsprf='|'.Xd_fle| |00000da0| 78 66 6e 61 6d 3d 27 27 | 0a 58 64 5f 69 6e 64 65 |xfnam=''|.Xd_inde| |00000db0| 78 3d 27 27 0a 58 64 5f | 76 6f 69 64 73 69 67 3d |x=''.Xd_|voidsig=| |00000dc0| 27 27 0a 58 6c 69 62 63 | 3d 27 27 0a 58 6d 61 6e |''.Xlibc|=''.Xman| |00000dd0| 73 72 63 3d 27 27 0a 58 | 6d 61 6e 65 78 74 3d 27 |src=''.X|manext='| |00000de0| 27 0a 58 6d 6f 64 65 6c | 73 3d 27 27 0a 58 73 70 |'.Xmodel|s=''.Xsp| |00000df0| 6c 69 74 3d 27 27 0a 58 | 73 6d 61 6c 6c 3d 27 27 |lit=''.X|small=''| |00000e00| 0a 58 6d 65 64 69 75 6d | 3d 27 27 0a 58 6c 61 72 |.Xmedium|=''.Xlar| |00000e10| 67 65 3d 27 27 0a 58 68 | 75 67 65 3d 27 27 0a 58 |ge=''.Xh|uge=''.X| |00000e20| 63 63 66 6c 61 67 73 3d | 27 27 0a 58 6c 64 66 6c |ccflags=|''.Xldfl| |00000e30| 61 67 73 3d 27 27 0a 58 | 6e 3d 27 27 0a 58 63 3d |ags=''.X|n=''.Xc=| |00000e40| 27 27 0a 58 70 61 63 6b | 61 67 65 3d 27 27 0a 58 |''.Xpack|age=''.X| |00000e50| 72 65 67 69 73 74 65 72 | 73 3d 27 27 0a 58 72 65 |register|s=''.Xre| |00000e60| 67 31 3d 27 27 0a 58 72 | 65 67 32 3d 27 27 0a 58 |g1=''.Xr|eg2=''.X| |00000e70| 72 65 67 33 3d 27 27 0a | 58 72 65 67 34 3d 27 27 |reg3=''.|Xreg4=''| |00000e80| 0a 58 72 65 67 35 3d 27 | 27 0a 58 72 65 67 36 3d |.Xreg5='|'.Xreg6=| |00000e90| 27 27 0a 58 72 65 67 37 | 3d 27 27 0a 58 72 65 67 |''.Xreg7|=''.Xreg| |00000ea0| 38 3d 27 27 0a 58 72 65 | 67 39 3d 27 27 0a 58 72 |8=''.Xre|g9=''.Xr| |00000eb0| 65 67 31 30 3d 27 27 0a | 58 72 65 67 31 31 3d 27 |eg10=''.|Xreg11='| |00000ec0| 27 0a 58 72 65 67 31 32 | 3d 27 27 0a 58 72 65 67 |'.Xreg12|=''.Xreg| |00000ed0| 31 33 3d 27 27 0a 58 72 | 65 67 31 34 3d 27 27 0a |13=''.Xr|eg14=''.| |00000ee0| 58 72 65 67 31 35 3d 27 | 27 0a 58 72 65 67 31 36 |Xreg15='|'.Xreg16| |00000ef0| 3d 27 27 0a 58 73 70 69 | 74 73 68 65 6c 6c 3d 27 |=''.Xspi|tshell='| |00000f00| 27 0a 58 73 68 73 68 61 | 72 70 3d 27 27 0a 58 73 |'.Xshsha|rp=''.Xs| |00000f10| 68 61 72 70 62 61 6e 67 | 3d 27 27 0a 58 73 74 61 |harpbang|=''.Xsta| |00000f20| 72 74 73 68 3d 27 27 0a | 58 76 6f 69 64 66 6c 61 |rtsh=''.|Xvoidfla| |00000f30| 67 73 3d 27 27 0a 58 64 | 65 66 76 6f 69 64 75 73 |gs=''.Xd|efvoidus| |00000f40| 65 64 3d 27 27 0a 58 43 | 4f 4e 46 49 47 3d 27 27 |ed=''.XC|ONFIG=''| |00000f50| 0a 58 0a 58 3a 20 73 65 | 74 20 70 61 63 6b 61 67 |.X.X: se|t packag| |00000f60| 65 20 6e 61 6d 65 0a 58 | 70 61 63 6b 61 67 65 3d |e name.X|package=| |00000f70| 70 61 74 63 68 0a 58 0a | 58 65 63 68 6f 20 22 20 |patch.X.|Xecho " | |00000f80| 22 0a 58 65 63 68 6f 20 | 22 42 65 67 69 6e 6e 69 |".Xecho |"Beginni| |00000f90| 6e 67 20 6f 66 20 63 6f | 6e 66 69 67 75 72 61 74 |ng of co|nfigurat| |00000fa0| 69 6f 6e 20 71 75 65 73 | 74 69 6f 6e 73 20 66 6f |ion ques|tions fo| |00000fb0| 72 20 24 70 61 63 6b 61 | 67 65 20 6b 69 74 2e 22 |r $packa|ge kit."| |00000fc0| 0a 58 3a 20 45 75 6e 69 | 63 65 20 72 65 71 75 69 |.X: Euni|ce requi| |00000fd0| 72 65 73 20 22 20 22 20 | 69 6e 73 74 65 61 64 20 |res " " |instead | |00000fe0| 6f 66 20 22 22 2c 20 63 | 61 6e 20 79 6f 75 20 62 |of "", c|an you b| |00000ff0| 65 6c 69 65 76 65 20 69 | 74 0a 58 65 63 68 6f 20 |elieve i|t.Xecho | |00001000| 22 20 22 0a 58 0a 58 64 | 65 66 69 6e 65 3d 27 64 |" ".X.Xd|efine='d| |00001010| 65 66 69 6e 65 27 0a 58 | 75 6e 64 65 66 3d 27 2f |efine'.X|undef='/| |00001020| 2a 75 6e 64 65 66 27 0a | 58 6c 69 62 70 74 68 3d |*undef'.|Xlibpth=| |00001030| 27 2f 75 73 72 2f 6c 69 | 62 20 2f 75 73 72 2f 6c |'/usr/li|b /usr/l| |00001040| 6f 63 61 6c 2f 6c 69 62 | 20 2f 6c 69 62 27 0a 58 |ocal/lib| /lib'.X| |00001050| 73 6d 61 6c 6c 6d 61 63 | 68 3d 27 70 64 70 31 31 |smallmac|h='pdp11| |00001060| 20 69 38 30 38 36 20 7a | 38 30 30 30 20 69 38 30 | i8086 z|8000 i80| |00001070| 32 38 36 20 69 41 50 58 | 32 38 36 27 0a 58 72 6d |286 iAPX|286'.Xrm| |00001080| 6c 69 73 74 3d 27 6b 69 | 74 5b 31 2d 39 5d 69 73 |list='ki|t[1-9]is| |00001090| 64 6f 6e 65 20 6b 69 74 | 5b 31 2d 39 5d 5b 30 2d |done kit|[1-9][0-| |000010a0| 39 5d 69 73 64 6f 6e 65 | 27 0a 58 74 72 61 70 20 |9]isdone|'.Xtrap | |000010b0| 27 65 63 68 6f 20 22 20 | 22 3b 20 72 6d 20 2d 66 |'echo " |"; rm -f| |000010c0| 20 24 72 6d 6c 69 73 74 | 3b 20 65 78 69 74 20 31 | $rmlist|; exit 1| |000010d0| 27 20 31 20 32 20 33 0a | 58 0a 58 3a 20 57 65 20 |' 1 2 3.|X.X: We | |000010e0| 6d 75 73 74 20 66 69 6e | 64 20 6f 75 74 20 61 62 |must fin|d out ab| |000010f0| 6f 75 74 20 45 75 6e 69 | 63 65 20 65 61 72 6c 79 |out Euni|ce early| |00001100| 0a 58 65 75 6e 69 63 65 | 66 69 78 3d 27 3a 27 0a |.Xeunice|fix=':'.| |00001110| 58 69 66 20 74 65 73 74 | 20 2d 66 20 2f 65 74 63 |Xif test| -f /etc| |00001120| 2f 75 6e 69 78 74 6f 76 | 6d 73 3b 20 74 68 65 6e |/unixtov|ms; then| |00001130| 0a 58 20 20 20 20 65 75 | 6e 69 63 65 66 69 78 3d |.X eu|nicefix=| |00001140| 2f 65 74 63 2f 75 6e 69 | 78 74 6f 76 6d 73 0a 58 |/etc/uni|xtovms.X| |00001150| 66 69 0a 58 69 66 20 74 | 65 73 74 20 2d 66 20 2f |fi.Xif t|est -f /| |00001160| 65 74 63 2f 75 6e 69 78 | 74 6f 76 6d 73 2e 65 78 |etc/unix|tovms.ex| |00001170| 65 3b 20 74 68 65 6e 0a | 58 20 20 20 20 65 75 6e |e; then.|X eun| |00001180| 69 63 65 66 69 78 3d 2f | 65 74 63 2f 75 6e 69 78 |icefix=/|etc/unix| |00001190| 74 6f 76 6d 73 2e 65 78 | 65 0a 58 66 69 0a 58 0a |tovms.ex|e.Xfi.X.| |000011a0| 58 61 74 74 72 6c 69 73 | 74 3d 22 6d 63 36 38 30 |Xattrlis|t="mc680| |000011b0| 30 30 20 73 75 6e 20 67 | 63 6f 73 20 75 6e 69 78 |00 sun g|cos unix| |000011c0| 20 69 62 6d 20 67 69 6d | 70 65 6c 20 69 6e 74 65 | ibm gim|pel inte| |000011d0| 72 64 61 74 61 20 74 73 | 73 20 6f 73 20 6d 65 72 |rdata ts|s os mer| |000011e0| 74 20 70 79 72 22 0a 58 | 61 74 74 72 6c 69 73 74 |t pyr".X|attrlist| |000011f0| 3d 22 24 61 74 74 72 6c | 69 73 74 20 76 61 78 20 |="$attrl|ist vax | |00001200| 70 64 70 31 31 20 69 38 | 30 38 36 20 7a 38 30 30 |pdp11 i8|086 z800| |00001210| 30 20 75 33 62 32 20 75 | 33 62 35 20 75 33 62 32 |0 u3b2 u|3b5 u3b2| |00001220| 30 20 75 33 62 32 30 30 | 22 0a 58 61 74 74 72 6c |0 u3b200|".Xattrl| |00001230| 69 73 74 3d 22 24 61 74 | 74 72 6c 69 73 74 20 6e |ist="$at|trlist n| |00001240| 73 33 32 30 30 30 20 6e | 73 31 36 30 30 30 20 69 |s32000 n|s16000 i| |00001250| 41 50 58 32 38 36 20 6d | 63 33 30 30 20 6d 63 35 |APX286 m|c300 mc5| |00001260| 30 30 20 6d 63 37 30 30 | 20 73 70 61 72 63 22 0a |00 mc700| sparc".| |00001270| 58 61 74 74 72 6c 69 73 | 74 3d 22 24 61 74 74 72 |Xattrlis|t="$attr| |00001280| 6c 69 73 74 20 6e 73 63 | 33 32 30 30 30 20 73 69 |list nsc|32000 si| |00001290| 6e 69 78 20 78 65 6e 69 | 78 20 76 65 6e 69 78 20 |nix xeni|x venix | |000012a0| 70 6f 73 69 78 20 61 6e | 73 69 20 4d 5f 58 45 4e |posix an|si M_XEN| |000012b0| 49 58 22 0a 58 61 74 74 | 72 6c 69 73 74 3d 22 24 |IX".Xatt|rlist="$| |000012c0| 61 74 74 72 6c 69 73 74 | 20 24 6d 63 36 38 6b 20 |attrlist| $mc68k | |000012d0| 5f 5f 53 54 44 43 5f 5f | 22 0a 58 70 74 68 3d 22 |__STDC__|".Xpth="| |000012e0| 2f 75 73 72 2f 75 63 62 | 20 2f 62 69 6e 20 2f 75 |/usr/ucb| /bin /u| |000012f0| 73 72 2f 62 69 6e 20 2f | 75 73 72 2f 6c 6f 63 61 |sr/bin /|usr/loca| |00001300| 6c 20 2f 75 73 72 2f 6c | 6f 63 61 6c 2f 62 69 6e |l /usr/l|ocal/bin| |00001310| 20 2f 75 73 72 2f 6c 62 | 69 6e 20 2f 65 74 63 20 | /usr/lb|in /etc | |00001320| 2f 75 73 72 2f 6c 69 62 | 20 2f 6c 69 62 22 0a 58 |/usr/lib| /lib".X| |00001330| 64 5f 6e 65 77 73 68 6f | 6d 65 3d 22 2e 2e 2f 2e |d_newsho|me="../.| |00001340| 2e 2f 4e 65 57 53 22 0a | 58 64 65 66 76 6f 69 64 |./NeWS".|Xdefvoid| |00001350| 75 73 65 64 3d 37 0a 58 | 0a 58 3a 20 73 6f 6d 65 |used=7.X|.X: some| |00001360| 20 67 72 65 70 73 20 64 | 6f 20 6e 6f 74 20 72 65 | greps d|o not re| |00001370| 74 75 72 6e 20 73 74 61 | 74 75 73 2c 20 67 72 72 |turn sta|tus, grr| |00001380| 72 2e 0a 58 65 63 68 6f | 20 22 67 72 69 6d 62 6c |r..Xecho| "grimbl| |00001390| 65 70 72 69 74 7a 22 20 | 3e 67 72 69 6d 62 6c 65 |epritz" |>grimble| |000013a0| 0a 58 69 66 20 67 72 65 | 70 20 62 6c 75 72 66 6c |.Xif gre|p blurfl| |000013b0| 64 79 69 63 6b 20 67 72 | 69 6d 62 6c 65 20 3e 2f |dyick gr|imble >/| |000013c0| 64 65 76 2f 6e 75 6c 6c | 20 32 3e 26 31 20 3b 20 |dev/null| 2>&1 ; | |000013d0| 74 68 65 6e 0a 58 20 20 | 20 20 63 6f 6e 74 61 69 |then.X | contai| |000013e0| 6e 73 3d 63 6f 6e 74 61 | 69 6e 73 0a 58 65 6c 69 |ns=conta|ins.Xeli| |000013f0| 66 20 67 72 65 70 20 67 | 72 69 6d 62 6c 65 70 72 |f grep g|rimblepr| |00001400| 69 74 7a 20 67 72 69 6d | 62 6c 65 20 3e 2f 64 65 |itz grim|ble >/de| |00001410| 76 2f 6e 75 6c 6c 20 32 | 3e 26 31 20 3b 20 74 68 |v/null 2|>&1 ; th| |00001420| 65 6e 0a 58 20 20 20 20 | 63 6f 6e 74 61 69 6e 73 |en.X |contains| |00001430| 3d 67 72 65 70 0a 58 65 | 6c 73 65 0a 58 20 20 20 |=grep.Xe|lse.X | |00001440| 20 63 6f 6e 74 61 69 6e | 73 3d 63 6f 6e 74 61 69 | contain|s=contai| |00001450| 6e 73 0a 58 66 69 0a 58 | 72 6d 20 2d 66 20 67 72 |ns.Xfi.X|rm -f gr| |00001460| 69 6d 62 6c 65 0a 58 3a | 20 74 68 65 20 66 6f 6c |imble.X:| the fol| |00001470| 6c 6f 77 69 6e 67 20 73 | 68 6f 75 6c 64 20 77 6f |lowing s|hould wo| |00001480| 72 6b 20 69 6e 20 61 6e | 79 20 73 68 65 6c 6c 0a |rk in an|y shell.| |00001490| 58 63 61 73 65 20 22 24 | 63 6f 6e 74 61 69 6e 73 |Xcase "$|contains| |000014a0| 22 20 69 6e 0a 58 63 6f | 6e 74 61 69 6e 73 2a 29 |" in.Xco|ntains*)| |000014b0| 0a 58 20 20 20 20 65 63 | 68 6f 20 22 20 22 0a 58 |.X ec|ho " ".X| |000014c0| 20 20 20 20 65 63 68 6f | 20 22 41 47 48 21 20 20 | echo| "AGH! | |000014d0| 47 72 65 70 20 64 6f 65 | 73 6e 27 74 20 72 65 74 |Grep doe|sn't ret| |000014e0| 75 72 6e 20 61 20 73 74 | 61 74 75 73 2e 20 20 41 |urn a st|atus. A| |000014f0| 74 74 65 6d 70 74 69 6e | 67 20 72 65 6d 65 64 69 |ttemptin|g remedi| |00001500| 61 6c 20 61 63 74 69 6f | 6e 2e 22 0a 58 20 20 20 |al actio|n.".X | |00001510| 20 63 61 74 20 3e 63 6f | 6e 74 61 69 6e 73 20 3c | cat >co|ntains <| |00001520| 3c 27 45 4f 53 53 27 0a | 58 67 72 65 70 20 22 24 |<'EOSS'.|Xgrep "$| |00001530| 31 22 20 22 24 32 22 20 | 3e 2e 67 72 65 70 74 6d |1" "$2" |>.greptm| |00001540| 70 20 26 26 20 63 61 74 | 20 2e 67 72 65 70 74 6d |p && cat| .greptm| |00001550| 70 20 26 26 20 74 65 73 | 74 20 2d 73 20 2e 67 72 |p && tes|t -s .gr| |00001560| 65 70 74 6d 70 0a 58 45 | 4f 53 53 0a 58 63 68 6d |eptmp.XE|OSS.Xchm| |00001570| 6f 64 20 2b 78 20 63 6f | 6e 74 61 69 6e 73 0a 58 |od +x co|ntains.X| |00001580| 65 73 61 63 0a 58 0a 58 | 3a 20 66 69 72 73 74 20 |esac.X.X|: first | |00001590| 64 65 74 65 72 6d 69 6e | 65 20 68 6f 77 20 74 6f |determin|e how to| |000015a0| 20 73 75 70 70 72 65 73 | 73 20 6e 65 77 6c 69 6e | suppres|s newlin| |000015b0| 65 20 6f 6e 20 65 63 68 | 6f 20 63 6f 6d 6d 61 6e |e on ech|o comman| |000015c0| 64 0a 58 65 63 68 6f 20 | 22 43 68 65 63 6b 69 6e |d.Xecho |"Checkin| |000015d0| 67 20 65 63 68 6f 20 74 | 6f 20 73 65 65 20 68 6f |g echo t|o see ho| |000015e0| 77 20 74 6f 20 73 75 70 | 70 72 65 73 73 20 6e 65 |w to sup|press ne| |000015f0| 77 6c 69 6e 65 73 2e 2e | 2e 22 0a 58 28 65 63 68 |wlines..|.".X(ech| |00001600| 6f 20 22 68 69 20 74 68 | 65 72 65 5c 63 22 20 3b |o "hi th|ere\c" ;| |00001610| 20 65 63 68 6f 20 22 20 | 22 29 20 3e 2e 65 63 68 | echo " |") >.ech| |00001620| 6f 74 6d 70 0a 58 69 66 | 20 24 63 6f 6e 74 61 69 |otmp.Xif| $contai| |00001630| 6e 73 20 63 20 2e 65 63 | 68 6f 74 6d 70 20 3e 2f |ns c .ec|hotmp >/| |00001640| 64 65 76 2f 6e 75 6c 6c | 20 32 3e 26 31 20 3b 20 |dev/null| 2>&1 ; | |00001650| 74 68 65 6e 0a 58 20 20 | 20 20 65 63 68 6f 20 22 |then.X | echo "| |00001660| 2e 2e 2e 75 73 69 6e 67 | 20 2d 6e 2e 22 0a 58 20 |...using| -n.".X | |00001670| 20 20 20 6e 3d 27 2d 6e | 27 0a 58 20 20 20 20 63 | n='-n|'.X c| |00001680| 3d 27 27 0a 58 65 6c 73 | 65 0a 58 20 20 20 20 63 |=''.Xels|e.X c| |00001690| 61 74 20 3c 3c 27 45 4f | 4d 27 0a 58 2e 2e 2e 75 |at <<'EO|M'.X...u| |000016a0| 73 69 6e 67 20 5c 63 0a | 58 45 4f 4d 0a 58 20 20 |sing \c.|XEOM.X | |000016b0| 20 20 6e 3d 27 27 0a 58 | 20 20 20 20 63 3d 27 5c | n=''.X| c='\| |000016c0| 63 27 0a 58 66 69 0a 58 | 65 63 68 6f 20 24 6e 20 |c'.Xfi.X|echo $n | |000016d0| 22 54 79 70 65 20 63 61 | 72 72 69 61 67 65 20 72 |"Type ca|rriage r| |000016e0| 65 74 75 72 6e 20 74 6f | 20 63 6f 6e 74 69 6e 75 |eturn to| continu| |000016f0| 65 2e 20 20 59 6f 75 72 | 20 63 75 72 73 6f 72 20 |e. Your| cursor | |00001700| 73 68 6f 75 6c 64 20 62 | 65 20 68 65 72 65 2d 2d |should b|e here--| |00001710| 3e 24 63 22 0a 58 72 65 | 61 64 20 61 6e 73 0a 58 |>$c".Xre|ad ans.X| |00001720| 72 6d 20 2d 66 20 2e 65 | 63 68 6f 74 6d 70 0a 58 |rm -f .e|chotmp.X| |00001730| 0a 58 3a 20 6e 6f 77 20 | 73 65 74 20 75 70 20 74 |.X: now |set up t| |00001740| 6f 20 64 6f 20 72 65 61 | 64 73 20 77 69 74 68 20 |o do rea|ds with | |00001750| 70 6f 73 73 69 62 6c 65 | 20 73 68 65 6c 6c 20 65 |possible| shell e| |00001760| 73 63 61 70 65 20 61 6e | 64 20 64 65 66 61 75 6c |scape an|d defaul| |00001770| 74 20 61 73 73 69 67 6e | 6d 65 6e 74 0a 58 63 61 |t assign|ment.Xca| |00001780| 74 20 3c 3c 45 4f 53 43 | 20 3e 6d 79 72 65 61 64 |t <<EOSC| >myread| |00001790| 0a 58 63 61 73 65 20 22 | 5c 24 66 61 73 74 72 65 |.Xcase "|\$fastre| |000017a0| 61 64 22 20 69 6e 0a 58 | 79 65 73 29 20 61 6e 73 |ad" in.X|yes) ans| |000017b0| 3d 27 27 3b 20 65 63 68 | 6f 20 22 20 22 20 3b 3b |=''; ech|o " " ;;| |000017c0| 0a 58 2a 29 20 61 6e 73 | 3d 27 21 27 3b 3b 0a 58 |.X*) ans|='!';;.X| |000017d0| 65 73 61 63 0a 58 77 68 | 69 6c 65 20 65 78 70 72 |esac.Xwh|ile expr| |000017e0| 20 22 58 5c 24 61 6e 73 | 22 20 3a 20 22 58 21 22 | "X\$ans|" : "X!"| |000017f0| 20 3e 2f 64 65 76 2f 6e | 75 6c 6c 3b 20 64 6f 0a | >/dev/n|ull; do.| |00001800| 58 20 20 20 20 72 65 61 | 64 20 61 6e 73 0a 58 20 |X rea|d ans.X | |00001810| 20 20 20 63 61 73 65 20 | 22 5c 24 61 6e 73 22 20 | case |"\$ans" | |00001820| 69 6e 0a 58 20 20 20 20 | 21 29 0a 58 09 73 68 0a |in.X |!).X.sh.| |00001830| 58 09 65 63 68 6f 20 22 | 20 22 0a 58 09 65 63 68 |X.echo "| ".X.ech| |00001840| 6f 20 24 6e 20 22 5c 24 | 72 70 20 24 63 22 0a 58 |o $n "\$|rp $c".X| |00001850| 09 3b 3b 0a 58 20 20 20 | 20 21 2a 29 0a 58 09 73 |.;;.X | !*).X.s| |00001860| 65 74 20 5c 60 65 78 70 | 72 20 22 58 5c 24 61 6e |et \`exp|r "X\$an| |00001870| 73 22 20 3a 20 22 58 21 | 5c 28 2e 2a 5c 29 5c 24 |s" : "X!|\(.*\)\$| |00001880| 22 5c 60 0a 58 09 73 68 | 20 2d 63 20 22 5c 24 2a |"\`.X.sh| -c "\$*| |00001890| 22 0a 58 09 65 63 68 6f | 20 22 20 22 0a 58 09 65 |".X.echo| " ".X.e| |000018a0| 63 68 6f 20 24 6e 20 22 | 5c 24 72 70 20 24 63 22 |cho $n "|\$rp $c"| |000018b0| 0a 58 09 3b 3b 0a 58 20 | 20 20 20 65 73 61 63 0a |.X.;;.X | esac.| |000018c0| 58 64 6f 6e 65 0a 58 72 | 70 3d 27 59 6f 75 72 20 |Xdone.Xr|p='Your | |000018d0| 61 6e 73 77 65 72 3a 27 | 0a 58 63 61 73 65 20 22 |answer:'|.Xcase "| |000018e0| 5c 24 61 6e 73 22 20 69 | 6e 0a 58 27 27 29 20 61 |\$ans" i|n.X'') a| |000018f0| 6e 73 3d 22 5c 24 64 66 | 6c 74 22 3b 3b 0a 58 65 |ns="\$df|lt";;.Xe| |00001900| 73 61 63 0a 58 45 4f 53 | 43 0a 58 0a 58 3a 20 67 |sac.XEOS|C.X.X: g| |00001910| 65 6e 65 72 61 6c 20 69 | 6e 73 74 72 75 63 74 69 |eneral i|nstructi| |00001920| 6f 6e 73 0a 58 63 61 74 | 20 3c 3c 45 4f 48 0a 58 |ons.Xcat| <<EOH.X| |00001930| 20 0a 58 54 68 69 73 20 | 69 6e 73 74 61 6c 6c 61 | .XThis |installa| |00001940| 74 69 6f 6e 20 73 68 65 | 6c 6c 20 73 63 72 69 70 |tion she|ll scrip| |00001950| 74 20 77 69 6c 6c 20 65 | 78 61 6d 69 6e 65 20 79 |t will e|xamine y| |00001960| 6f 75 72 20 73 79 73 74 | 65 6d 20 61 6e 64 20 61 |our syst|em and a| |00001970| 73 6b 20 79 6f 75 20 71 | 75 65 73 74 69 6f 6e 73 |sk you q|uestions| |00001980| 0a 58 74 6f 20 64 65 74 | 65 72 6d 69 6e 65 20 68 |.Xto det|ermine h| |00001990| 6f 77 20 74 68 65 20 24 | 70 61 63 6b 61 67 65 20 |ow the $|package | |000019a0| 70 61 63 6b 61 67 65 20 | 73 68 6f 75 6c 64 20 62 |package |should b| |000019b0| 65 20 69 6e 73 74 61 6c | 6c 65 64 2e 20 20 49 66 |e instal|led. If| |000019c0| 20 79 6f 75 20 67 65 74 | 20 73 74 75 63 6b 0a 58 | you get| stuck.X| |000019d0| 6f 6e 20 61 20 71 75 65 | 73 74 69 6f 6e 2c 20 79 |on a que|stion, y| |000019e0| 6f 75 20 6d 61 79 20 75 | 73 65 20 61 20 21 20 73 |ou may u|se a ! s| |000019f0| 68 65 6c 6c 20 65 73 63 | 61 70 65 20 74 6f 20 73 |hell esc|ape to s| |00001a00| 74 61 72 74 20 61 20 73 | 75 62 73 68 65 6c 6c 20 |tart a s|ubshell | |00001a10| 6f 72 20 65 78 65 63 75 | 74 65 0a 58 61 20 63 6f |or execu|te.Xa co| |00001a20| 6d 6d 61 6e 64 2e 20 20 | 4d 61 6e 79 20 6f 66 20 |mmand. |Many of | |00001a30| 74 68 65 20 71 75 65 73 | 74 69 6f 6e 73 20 77 69 |the ques|tions wi| |00001a40| 6c 6c 20 68 61 76 65 20 | 64 65 66 61 75 6c 74 20 |ll have |default | |00001a50| 61 6e 73 77 65 72 73 20 | 69 6e 20 73 71 75 61 72 |answers |in squar| |00001a60| 65 0a 58 62 72 61 63 6b | 65 74 73 2d 2d 74 79 70 |e.Xbrack|ets--typ| |00001a70| 69 6e 67 20 63 61 72 72 | 69 61 67 65 20 72 65 74 |ing carr|iage ret| |00001a80| 75 72 6e 20 77 69 6c 6c | 20 67 69 76 65 20 79 6f |urn will| give yo| |00001a90| 75 20 74 68 65 20 64 65 | 66 61 75 6c 74 2e 0a 58 |u the de|fault..X| |00001aa0| 0a 58 4f 6e 20 73 6f 6d | 65 20 6f 66 20 74 68 65 |.XOn som|e of the| |00001ab0| 20 71 75 65 73 74 69 6f | 6e 73 20 77 68 69 63 68 | questio|ns which| |00001ac0| 20 61 73 6b 20 66 6f 72 | 20 66 69 6c 65 20 6f 72 | ask for| file or| |00001ad0| 20 64 69 72 65 63 74 6f | 72 79 20 6e 61 6d 65 73 | directo|ry names| |00001ae0| 20 79 6f 75 20 61 72 65 | 0a 58 61 6c 6c 6f 77 65 | you are|.Xallowe| |00001af0| 64 20 74 6f 20 75 73 65 | 20 74 68 65 20 7e 6e 61 |d to use| the ~na| |00001b00| 6d 65 20 63 6f 6e 73 74 | 72 75 63 74 20 74 6f 20 |me const|ruct to | |00001b10| 73 70 65 63 69 66 79 20 | 74 68 65 20 6c 6f 67 69 |specify |the logi| |00001b20| 6e 20 64 69 72 65 63 74 | 6f 72 79 20 62 65 6c 6f |n direct|ory belo| |00001b30| 6e 67 69 6e 67 0a 58 74 | 6f 20 22 6e 61 6d 65 22 |nging.Xt|o "name"| |00001b40| 2c 20 65 76 65 6e 20 69 | 66 20 79 6f 75 20 64 6f |, even i|f you do| |00001b50| 6e 27 74 20 68 61 76 65 | 20 61 20 73 68 65 6c 6c |n't have| a shell| |00001b60| 20 77 68 69 63 68 20 6b | 6e 6f 77 73 20 61 62 6f | which k|nows abo| |00001b70| 75 74 20 74 68 61 74 2e | 20 20 51 75 65 73 74 69 |ut that.| Questi| |00001b80| 6f 6e 73 0a 58 77 68 65 | 72 65 20 74 68 69 73 20 |ons.Xwhe|re this | |00001b90| 69 73 20 61 6c 6c 6f 77 | 65 64 20 77 69 6c 6c 20 |is allow|ed will | |00001ba0| 62 65 20 6d 61 72 6b 65 | 64 20 22 28 7e 6e 61 6d |be marke|d "(~nam| |00001bb0| 65 20 6f 6b 29 22 2e 0a | 58 0a 58 45 4f 48 0a 58 |e ok)"..|X.XEOH.X| |00001bc0| 72 70 3d 22 5b 54 79 70 | 65 20 63 61 72 72 69 61 |rp="[Typ|e carria| |00001bd0| 67 65 20 72 65 74 75 72 | 6e 20 74 6f 20 63 6f 6e |ge retur|n to con| |00001be0| 74 69 6e 75 65 5d 22 0a | 58 65 63 68 6f 20 24 6e |tinue]".|Xecho $n| |00001bf0| 20 22 24 72 70 20 24 63 | 22 0a 58 2e 20 6d 79 72 | "$rp $c|".X. myr| |00001c00| 65 61 64 0a 58 63 61 74 | 20 3c 3c 45 4f 48 0a 58 |ead.Xcat| <<EOH.X| |00001c10| 0a 58 4d 75 63 68 20 65 | 66 66 6f 72 74 20 68 61 |.XMuch e|ffort ha| |00001c20| 73 20 62 65 65 6e 20 65 | 78 70 65 6e 64 65 64 20 |s been e|xpended | |00001c30| 74 6f 20 65 6e 73 75 72 | 65 20 74 68 61 74 20 74 |to ensur|e that t| |00001c40| 68 69 73 20 73 68 65 6c | 6c 20 73 63 72 69 70 74 |his shel|l script| |00001c50| 20 77 69 6c 6c 20 72 75 | 6e 0a 58 6f 6e 20 61 6e | will ru|n.Xon an| |00001c60| 79 20 55 6e 69 78 20 73 | 79 73 74 65 6d 2e 20 20 |y Unix s|ystem. | |00001c70| 49 66 20 64 65 73 70 69 | 74 65 20 74 68 61 74 20 |If despi|te that | |00001c80| 69 74 20 62 6c 6f 77 73 | 20 75 70 20 6f 6e 20 79 |it blows| up on y| |00001c90| 6f 75 2c 20 79 6f 75 72 | 20 62 65 73 74 20 62 65 |ou, your| best be| |00001ca0| 74 20 69 73 0a 58 74 6f | 20 65 64 69 74 20 43 6f |t is.Xto| edit Co| |00001cb0| 6e 66 69 67 75 72 65 20 | 61 6e 64 20 72 75 6e 20 |nfigure |and run | |00001cc0| 69 74 20 61 67 61 69 6e | 2e 20 41 6c 73 6f 2c 20 |it again|. Also, | |00001cd0| 6c 65 74 20 6d 65 20 28 | 6c 77 61 6c 6c 40 6a 70 |let me (|lwall@jp| |00001ce0| 6c 2d 64 65 76 76 61 78 | 2e 6a 70 6c 2e 6e 61 73 |l-devvax|.jpl.nas| |00001cf0| 61 2e 67 6f 76 29 0a 58 | 6b 6e 6f 77 20 68 6f 77 |a.gov).X|know how| |00001d00| 20 49 20 62 6c 65 77 20 | 69 74 2e 20 20 49 66 20 | I blew |it. If | |00001d10| 79 6f 75 20 63 61 6e 27 | 74 20 72 75 6e 20 43 6f |you can'|t run Co| |00001d20| 6e 66 69 67 75 72 65 20 | 66 6f 72 20 73 6f 6d 65 |nfigure |for some| |00001d30| 20 72 65 61 73 6f 6e 2c | 20 79 6f 75 27 6c 6c 20 | reason,| you'll | |00001d40| 68 61 76 65 0a 58 74 6f | 20 67 65 6e 65 72 61 74 |have.Xto| generat| |00001d50| 65 20 61 20 63 6f 6e 66 | 69 67 2e 73 68 20 66 69 |e a conf|ig.sh fi| |00001d60| 6c 65 20 62 79 20 68 61 | 6e 64 2e 0a 58 0a 58 54 |le by ha|nd..X.XT| |00001d70| 68 69 73 20 69 6e 73 74 | 61 6c 6c 61 74 69 6f 6e |his inst|allation| |00001d80| 20 73 63 72 69 70 74 20 | 61 66 66 65 63 74 73 20 | script |affects | |00001d90| 74 68 69 6e 67 73 20 69 | 6e 20 74 77 6f 20 77 61 |things i|n two wa| |00001da0| 79 73 3a 20 31 29 20 69 | 74 20 6d 61 79 20 64 6f |ys: 1) i|t may do| |00001db0| 20 64 69 72 65 63 74 0a | 58 76 61 72 69 61 62 6c | direct.|Xvariabl| |00001dc0| 65 20 73 75 62 73 74 69 | 74 75 74 69 6f 6e 73 20 |e substi|tutions | |00001dd0| 6f 6e 20 73 6f 6d 65 20 | 6f 66 20 74 68 65 20 66 |on some |of the f| |00001de0| 69 6c 65 73 20 69 6e 63 | 6c 75 64 65 64 20 69 6e |iles inc|luded in| |00001df0| 20 74 68 69 73 20 6b 69 | 74 2c 20 61 6e 64 0a 58 | this ki|t, and.X| |00001e00| 32 29 20 69 74 20 62 75 | 69 6c 64 73 20 61 20 63 |2) it bu|ilds a c| |00001e10| 6f 6e 66 69 67 2e 68 20 | 66 69 6c 65 20 66 6f 72 |onfig.h |file for| |00001e20| 20 69 6e 63 6c 75 73 69 | 6f 6e 20 69 6e 20 43 20 | inclusi|on in C | |00001e30| 70 72 6f 67 72 61 6d 73 | 2e 20 20 59 6f 75 20 6d |programs|. You m| |00001e40| 61 79 20 65 64 69 74 0a | 58 61 6e 79 20 6f 66 20 |ay edit.|Xany of | |00001e50| 74 68 65 73 65 20 66 69 | 6c 65 73 20 61 73 20 74 |these fi|les as t| |00001e60| 68 65 20 6e 65 65 64 20 | 61 72 69 73 65 73 20 61 |he need |arises a| |00001e70| 66 74 65 72 20 72 75 6e | 6e 69 6e 67 20 74 68 69 |fter run|ning thi| |00001e80| 73 20 73 63 72 69 70 74 | 2e 0a 58 0a 58 49 66 20 |s script|..X.XIf | |00001e90| 79 6f 75 20 6d 61 6b 65 | 20 61 20 6d 69 73 74 61 |you make| a mista| |00001ea0| 6b 65 20 6f 6e 20 61 20 | 71 75 65 73 74 69 6f 6e |ke on a |question| |00001eb0| 2c 20 74 68 65 72 65 20 | 69 73 20 6e 6f 20 65 61 |, there |is no ea| |00001ec0| 73 79 20 77 61 79 20 74 | 6f 20 62 61 63 6b 20 75 |sy way t|o back u| |00001ed0| 70 20 74 6f 20 69 74 0a | 58 63 75 72 72 65 6e 74 |p to it.|Xcurrent| |00001ee0| 6c 79 2e 20 20 54 68 65 | 20 65 61 73 69 65 73 74 |ly. The| easiest| |00001ef0| 20 74 68 69 6e 67 20 74 | 6f 20 64 6f 20 69 73 20 | thing t|o do is | |00001f00| 74 6f 20 65 64 69 74 20 | 63 6f 6e 66 69 67 2e 73 |to edit |config.s| |00001f10| 68 20 61 6e 64 20 72 65 | 72 75 6e 20 61 6c 6c 20 |h and re|run all | |00001f20| 74 68 65 0a 58 53 48 20 | 66 69 6c 65 73 2e 20 20 |the.XSH |files. | |00001f30| 43 6f 6e 66 69 67 75 72 | 65 20 77 69 6c 6c 20 6f |Configur|e will o| |00001f40| 66 66 65 72 20 74 6f 20 | 6c 65 74 20 79 6f 75 20 |ffer to |let you | |00001f50| 64 6f 20 74 68 69 73 20 | 62 65 66 6f 72 65 20 69 |do this |before i| |00001f60| 74 20 72 75 6e 73 20 74 | 68 65 20 53 48 20 66 69 |t runs t|he SH fi| |00001f70| 6c 65 73 2e 0a 58 0a 58 | 45 4f 48 0a 58 72 70 3d |les..X.X|EOH.Xrp=| |00001f80| 22 5b 54 79 70 65 20 63 | 61 72 72 69 61 67 65 20 |"[Type c|arriage | |00001f90| 72 65 74 75 72 6e 20 74 | 6f 20 63 6f 6e 74 69 6e |return t|o contin| |00001fa0| 75 65 5d 22 0a 58 65 63 | 68 6f 20 24 6e 20 22 24 |ue]".Xec|ho $n "$| |00001fb0| 72 70 20 24 63 22 0a 58 | 2e 20 6d 79 72 65 61 64 |rp $c".X|. myread| |00001fc0| 0a 58 0a 58 3a 20 67 65 | 74 20 6f 6c 64 20 61 6e |.X.X: ge|t old an| |00001fd0| 73 77 65 72 73 2c 20 69 | 66 20 74 68 65 72 65 20 |swers, i|f there | |00001fe0| 69 73 20 61 20 63 6f 6e | 66 69 67 20 66 69 6c 65 |is a con|fig file| |00001ff0| 20 6f 75 74 20 74 68 65 | 72 65 0a 58 69 66 20 74 | out the|re.Xif t| |00002000| 65 73 74 20 2d 66 20 2e | 2e 2f 63 6f 6e 66 69 67 |est -f .|./config| |00002010| 2e 73 68 3b 20 74 68 65 | 6e 0a 58 20 20 20 20 65 |.sh; the|n.X e| |00002020| 63 68 6f 20 22 20 22 0a | 58 20 20 20 20 64 66 6c |cho " ".|X dfl| |00002030| 74 3d 79 0a 58 20 20 20 | 20 72 70 3d 22 49 20 73 |t=y.X | rp="I s| |00002040| 65 65 20 61 20 63 6f 6e | 66 69 67 2e 73 68 20 66 |ee a con|fig.sh f| |00002050| 69 6c 65 2e 20 20 44 69 | 64 20 43 6f 6e 66 69 67 |ile. Di|d Config| |00002060| 75 72 65 20 6d 61 6b 65 | 20 69 74 20 6f 6e 20 54 |ure make| it on T| |00002070| 48 49 53 20 73 79 73 74 | 65 6d 3f 20 5b 24 64 66 |HIS syst|em? [$df| |00002080| 6c 74 5d 22 0a 58 20 20 | 20 20 65 63 68 6f 20 24 |lt]".X | echo $| |00002090| 6e 20 22 24 72 70 20 24 | 63 22 0a 58 20 20 20 20 |n "$rp $|c".X | |000020a0| 2e 20 6d 79 72 65 61 64 | 0a 58 20 20 20 20 63 61 |. myread|.X ca| |000020b0| 73 65 20 22 24 61 6e 73 | 22 20 69 6e 0a 58 20 20 |se "$ans|" in.X | |000020c0| 20 20 6e 2a 29 20 65 63 | 68 6f 20 22 4f 4b 2c 20 | n*) ec|ho "OK, | |000020d0| 49 27 6c 6c 20 69 67 6e | 6f 72 65 20 69 74 2e 22 |I'll ign|ore it."| |000020e0| 3b 3b 0a 58 20 20 20 20 | 2a 29 20 20 65 63 68 6f |;;.X |*) echo| |000020f0| 20 22 46 65 74 63 68 69 | 6e 67 20 64 65 66 61 75 | "Fetchi|ng defau| |00002100| 6c 74 20 61 6e 73 77 65 | 72 73 20 66 72 6f 6d 20 |lt answe|rs from | |00002110| 79 6f 75 72 20 6f 6c 64 | 20 63 6f 6e 66 69 67 2e |your old| config.| |00002120| 73 68 20 66 69 6c 65 2e | 2e 2e 22 0a 58 09 74 6d |sh file.|..".X.tm| |00002130| 70 3d 22 24 6e 22 0a 58 | 09 61 6e 73 3d 22 24 63 |p="$n".X|.ans="$c| |00002140| 22 0a 58 20 20 20 20 20 | 20 20 20 2e 20 2e 2e 2f |".X | . ../| |00002150| 63 6f 6e 66 69 67 2e 73 | 68 0a 58 09 6e 3d 22 24 |config.s|h.X.n="$| |00002160| 74 6d 70 22 0a 58 09 63 | 3d 22 24 61 6e 73 22 0a |tmp".X.c|="$ans".| |00002170| 58 09 3b 3b 0a 58 20 20 | 20 20 65 73 61 63 0a 58 |X.;;.X | esac.X| |00002180| 66 69 0a 58 0a 58 3a 20 | 66 69 6e 64 20 6f 75 74 |fi.X.X: |find out| |00002190| 20 77 68 65 72 65 20 63 | 6f 6d 6d 6f 6e 20 70 72 | where c|ommon pr| |000021a0| 6f 67 72 61 6d 73 20 61 | 72 65 0a 58 65 63 68 6f |ograms a|re.Xecho| |000021b0| 20 22 20 22 0a 58 65 63 | 68 6f 20 22 4c 6f 63 61 | " ".Xec|ho "Loca| |000021c0| 74 69 6e 67 20 63 6f 6d | 6d 6f 6e 20 70 72 6f 67 |ting com|mon prog| |000021d0| 72 61 6d 73 2e 2e 2e 22 | 0a 58 63 61 74 20 3c 3c |rams..."|.Xcat <<| |000021e0| 45 4f 53 43 20 3e 6c 6f | 63 0a 58 24 73 74 61 72 |EOSC >lo|c.X$star| |000021f0| 74 73 68 0a 58 63 61 73 | 65 20 5c 24 23 20 69 6e |tsh.Xcas|e \$# in| |00002200| 0a 58 30 29 20 65 78 69 | 74 20 31 3b 3b 0a 58 65 |.X0) exi|t 1;;.Xe| |00002210| 73 61 63 0a 58 74 68 69 | 6e 67 3d 5c 24 31 0a 58 |sac.Xthi|ng=\$1.X| |00002220| 73 68 69 66 74 0a 58 64 | 66 6c 74 3d 5c 24 31 0a |shift.Xd|flt=\$1.| |00002230| 58 73 68 69 66 74 0a 58 | 66 6f 72 20 64 69 72 20 |Xshift.X|for dir | |00002240| 69 6e 20 5c 24 2a 3b 20 | 64 6f 0a 58 20 20 20 20 |in \$*; |do.X | |00002250| 63 61 73 65 20 22 5c 24 | 74 68 69 6e 67 22 20 69 |case "\$|thing" i| |00002260| 6e 0a 58 20 20 20 20 2e | 29 0a 58 09 69 66 20 74 |n.X .|).X.if t| |00002270| 65 73 74 20 2d 64 20 5c | 24 64 69 72 2f 5c 24 74 |est -d \|$dir/\$t| |00002280| 68 69 6e 67 3b 20 74 68 | 65 6e 0a 58 09 20 20 20 |hing; th|en.X. | |00002290| 20 65 63 68 6f 20 5c 24 | 64 69 72 0a 58 09 20 20 | echo \$|dir.X. | |000022a0| 20 20 65 78 69 74 20 30 | 0a 58 09 66 69 0a 58 09 | exit 0|.X.fi.X.| |000022b0| 3b 3b 0a 58 20 20 20 20 | 2a 29 0a 58 09 69 66 20 |;;.X |*).X.if | |000022c0| 74 65 73 74 20 2d 66 20 | 5c 24 64 69 72 2f 5c 24 |test -f |\$dir/\$| |000022d0| 74 68 69 6e 67 3b 20 74 | 68 65 6e 0a 58 09 20 20 |thing; t|hen.X. | |000022e0| 20 20 65 63 68 6f 20 5c | 24 64 69 72 2f 5c 24 74 | echo \|$dir/\$t| |000022f0| 68 69 6e 67 0a 58 09 20 | 20 20 20 65 78 69 74 20 |hing.X. | exit | |00002300| 30 0a 58 09 65 6c 69 66 | 20 74 65 73 74 20 2d 66 |0.X.elif| test -f| |00002310| 20 5c 24 64 69 72 2f 5c | 24 74 68 69 6e 67 2e 65 | \$dir/\|$thing.e| |00002320| 78 65 3b 20 74 68 65 6e | 0a 58 09 20 20 20 20 3a |xe; then|.X. :| |00002330| 20 6f 6e 20 45 75 6e 69 | 63 65 20 61 70 70 61 72 | on Euni|ce appar| |00002340| 65 6e 74 6c 79 0a 58 09 | 20 20 20 20 65 63 68 6f |ently.X.| echo| |00002350| 20 5c 24 64 69 72 2f 5c | 24 74 68 69 6e 67 0a 58 | \$dir/\|$thing.X| |00002360| 09 20 20 20 20 65 78 69 | 74 20 30 0a 58 09 66 69 |. exi|t 0.X.fi| |00002370| 0a 58 09 3b 3b 0a 58 20 | 20 20 20 65 73 61 63 0a |.X.;;.X | esac.| |00002380| 58 64 6f 6e 65 0a 58 65 | 63 68 6f 20 5c 24 64 66 |Xdone.Xe|cho \$df| |00002390| 6c 74 0a 58 65 78 69 74 | 20 31 0a 58 45 4f 53 43 |lt.Xexit| 1.XEOSC| |000023a0| 0a 58 63 68 6d 6f 64 20 | 2b 78 20 6c 6f 63 0a 58 |.Xchmod |+x loc.X| |000023b0| 24 65 75 6e 69 63 65 66 | 69 78 20 6c 6f 63 0a 58 |$eunicef|ix loc.X| |000023c0| 6c 6f 63 6c 69 73 74 3d | 22 0a 58 65 78 70 72 0a |loclist=|".Xexpr.| |000023d0| 58 73 65 64 0a 58 65 63 | 68 6f 0a 58 63 61 74 0a |Xsed.Xec|ho.Xcat.| |000023e0| 58 72 6d 0a 58 74 72 0a | 58 67 72 65 70 0a 58 22 |Xrm.Xtr.|Xgrep.X"| |000023f0| 0a 58 74 72 79 6c 69 73 | 74 3d 22 0a 58 74 65 73 |.Xtrylis|t=".Xtes| |00002400| 74 0a 58 4d 63 63 0a 58 | 63 70 70 0a 58 22 0a 58 |t.XMcc.X|cpp.X".X| |00002410| 66 6f 72 20 66 69 6c 65 | 20 69 6e 20 24 6c 6f 63 |for file| in $loc| |00002420| 6c 69 73 74 3b 20 64 6f | 0a 58 20 20 20 20 78 78 |list; do|.X xx| |00002430| 78 3d 60 6c 6f 63 20 24 | 66 69 6c 65 20 24 66 69 |x=`loc $|file $fi| |00002440| 6c 65 20 24 70 74 68 60 | 0a 58 20 20 20 20 65 76 |le $pth`|.X ev| |00002450| 61 6c 20 24 66 69 6c 65 | 3d 24 78 78 78 0a 58 20 |al $file|=$xxx.X | |00002460| 20 20 20 65 76 61 6c 20 | 5f 24 66 69 6c 65 3d 24 | eval |_$file=$| |00002470| 78 78 78 0a 58 20 20 20 | 20 63 61 73 65 20 22 24 |xxx.X | case "$| |00002480| 78 78 78 22 20 69 6e 0a | 58 20 20 20 20 2f 2a 29 |xxx" in.|X /*)| |00002490| 0a 58 09 65 63 68 6f 20 | 24 66 69 6c 65 20 69 73 |.X.echo |$file is| |000024a0| 20 69 6e 20 24 78 78 78 | 2e 0a 58 09 3b 3b 0a 58 | in $xxx|..X.;;.X| |000024b0| 20 20 20 20 2a 29 0a 58 | 09 65 63 68 6f 20 22 49 | *).X|.echo "I| |000024c0| 20 64 6f 6e 27 74 20 6b | 6e 6f 77 20 77 68 65 72 | don't k|now wher| |000024d0| 65 20 24 66 69 6c 65 20 | 69 73 2e 20 20 49 20 68 |e $file |is. I h| |000024e0| 6f 70 65 20 69 74 27 73 | 20 69 6e 20 65 76 65 72 |ope it's| in ever| |000024f0| 79 6f 6e 65 27 73 20 50 | 41 54 48 2e 22 0a 58 09 |yone's P|ATH.".X.| |00002500| 3b 3b 0a 58 20 20 20 20 | 65 73 61 63 0a 58 64 6f |;;.X |esac.Xdo| |00002510| 6e 65 0a 58 65 63 68 6f | 20 22 20 22 0a 58 65 63 |ne.Xecho| " ".Xec| |00002520| 68 6f 20 22 44 6f 6e 27 | 74 20 77 6f 72 72 79 20 |ho "Don'|t worry | |00002530| 69 66 20 61 6e 79 20 6f | 66 20 74 68 65 20 66 6f |if any o|f the fo| |00002540| 6c 6c 6f 77 69 6e 67 20 | 61 72 65 6e 27 74 20 66 |llowing |aren't f| |00002550| 6f 75 6e 64 2e 2e 2e 22 | 0a 58 61 6e 73 3d 6f 66 |ound..."|.Xans=of| |00002560| 66 68 61 6e 64 0a 58 66 | 6f 72 20 66 69 6c 65 20 |fhand.Xf|or file | |00002570| 69 6e 20 24 74 72 79 6c | 69 73 74 3b 20 64 6f 0a |in $tryl|ist; do.| |00002580| 58 20 20 20 20 78 78 78 | 3d 60 6c 6f 63 20 24 66 |X xxx|=`loc $f| |00002590| 69 6c 65 20 24 66 69 6c | 65 20 24 70 74 68 60 0a |ile $fil|e $pth`.| |000025a0| 58 20 20 20 20 65 76 61 | 6c 20 24 66 69 6c 65 3d |X eva|l $file=| |000025b0| 24 78 78 78 0a 58 20 20 | 20 20 65 76 61 6c 20 5f |$xxx.X | eval _| |000025c0| 24 66 69 6c 65 3d 24 78 | 78 78 0a 58 20 20 20 20 |$file=$x|xx.X | |000025d0| 63 61 73 65 20 22 24 78 | 78 78 22 20 69 6e 0a 58 |case "$x|xx" in.X| |000025e0| 20 20 20 20 2f 2a 29 0a | 58 09 65 63 68 6f 20 24 | /*).|X.echo $| |000025f0| 66 69 6c 65 20 69 73 20 | 69 6e 20 24 78 78 78 2e |file is |in $xxx.| |00002600| 0a 58 09 3b 3b 0a 58 20 | 20 20 20 2a 29 0a 58 09 |.X.;;.X | *).X.| |00002610| 65 63 68 6f 20 22 49 20 | 64 6f 6e 27 74 20 73 65 |echo "I |don't se| |00002620| 65 20 24 66 69 6c 65 20 | 6f 75 74 20 74 68 65 72 |e $file |out ther| |00002630| 65 2c 20 24 61 6e 73 2e | 22 0a 58 09 61 6e 73 3d |e, $ans.|".X.ans=| |00002640| 65 69 74 68 65 72 0a 58 | 09 3b 3b 0a 58 20 20 20 |either.X|.;;.X | |00002650| 20 65 73 61 63 0a 58 64 | 6f 6e 65 0a 58 63 61 73 | esac.Xd|one.Xcas| |00002660| 65 20 22 24 65 67 72 65 | 70 22 20 69 6e 0a 58 65 |e "$egre|p" in.Xe| |00002670| 67 72 65 70 29 0a 58 20 | 20 20 20 65 63 68 6f 20 |grep).X | echo | |00002680| 22 53 75 62 73 74 69 74 | 75 74 69 6e 67 20 67 72 |"Substit|uting gr| |00002690| 65 70 20 66 6f 72 20 65 | 67 72 65 70 2e 22 0a 58 |ep for e|grep.".X| |000026a0| 20 20 20 20 65 67 72 65 | 70 3d 24 67 72 65 70 0a | egre|p=$grep.| |000026b0| 58 20 20 20 20 3b 3b 0a | 58 65 73 61 63 0a 58 63 |X ;;.|Xesac.Xc| |000026c0| 61 73 65 20 22 24 74 65 | 73 74 22 20 69 6e 0a 58 |ase "$te|st" in.X| |000026d0| 74 65 73 74 29 0a 58 20 | 20 20 20 65 63 68 6f 20 |test).X | echo | |000026e0| 22 48 6f 70 65 66 75 6c | 6c 79 20 74 65 73 74 20 |"Hopeful|ly test | |000026f0| 69 73 20 62 75 69 6c 74 | 20 69 6e 74 6f 20 79 6f |is built| into yo| |00002700| 75 72 20 73 68 2e 22 0a | 58 20 20 20 20 3b 3b 0a |ur sh.".|X ;;.| |00002710| 58 2f 62 69 6e 2f 74 65 | 73 74 29 0a 58 20 20 20 |X/bin/te|st).X | |00002720| 20 65 63 68 6f 20 22 20 | 22 0a 58 20 20 20 20 64 | echo " |".X d| |00002730| 66 6c 74 3d 6e 0a 58 20 | 20 20 20 72 70 3d 22 49 |flt=n.X | rp="I| |00002740| 73 20 79 6f 75 72 20 22 | 27 22 27 22 74 65 73 74 |s your "|'"'"test| |00002750| 22 27 22 27 22 20 62 75 | 69 6c 74 20 69 6e 74 6f |"'"'" bu|ilt into| |00002760| 20 73 68 3f 20 5b 24 64 | 66 6c 74 5d 20 28 4f 4b | sh? [$d|flt] (OK| |00002770| 20 74 6f 20 67 75 65 73 | 73 29 22 0a 58 20 20 20 | to gues|s)".X | |00002780| 20 65 63 68 6f 20 24 6e | 20 22 24 72 70 20 24 63 | echo $n| "$rp $c| |00002790| 22 0a 58 20 20 20 20 2e | 20 6d 79 72 65 61 64 0a |".X .| myread.| |000027a0| 58 20 20 20 20 63 61 73 | 65 20 22 24 61 6e 73 22 |X cas|e "$ans"| |000027b0| 20 69 6e 0a 58 20 20 20 | 20 79 2a 29 20 74 65 73 | in.X | y*) tes| |000027c0| 74 3d 74 65 73 74 20 3b | 3b 0a 58 20 20 20 20 65 |t=test ;|;.X e| |000027d0| 73 61 63 0a 58 20 20 20 | 20 3b 3b 0a 58 2a 29 0a |sac.X | ;;.X*).| |000027e0| 58 20 20 20 20 74 65 73 | 74 3d 74 65 73 74 0a 58 |X tes|t=test.X| |000027f0| 20 20 20 20 3b 3b 0a 58 | 65 73 61 63 0a 58 63 61 | ;;.X|esac.Xca| |00002800| 73 65 20 22 24 65 63 68 | 6f 22 20 69 6e 0a 58 65 |se "$ech|o" in.Xe| |00002810| 63 68 6f 29 0a 58 20 20 | 20 20 65 63 68 6f 20 22 |cho).X | echo "| |00002820| 48 6f 70 65 66 75 6c 6c | 79 20 65 63 68 6f 20 69 |Hopefull|y echo i| |00002830| 73 20 62 75 69 6c 74 20 | 69 6e 74 6f 20 79 6f 75 |s built |into you| |00002840| 72 20 73 68 2e 22 0a 58 | 20 20 20 20 3b 3b 0a 58 |r sh.".X| ;;.X| |00002850| 2f 62 69 6e 2f 65 63 68 | 6f 29 0a 58 20 20 20 20 |/bin/ech|o).X | |00002860| 65 63 68 6f 20 22 20 22 | 0a 58 20 20 20 20 65 63 |echo " "|.X ec| |00002870| 68 6f 20 22 43 68 65 63 | 6b 69 6e 67 20 63 6f 6d |ho "Chec|king com| |00002880| 70 61 74 69 62 69 6c 69 | 74 79 20 62 65 74 77 65 |patibili|ty betwe| |00002890| 65 6e 20 2f 62 69 6e 2f | 65 63 68 6f 20 61 6e 64 |en /bin/|echo and| |000028a0| 20 62 75 69 6c 74 69 6e | 20 65 63 68 6f 20 28 69 | builtin| echo (i| |000028b0| 66 20 61 6e 79 29 2e 2e | 2e 22 0a 58 20 20 20 20 |f any)..|.".X | |000028c0| 24 65 63 68 6f 20 24 6e | 20 22 68 69 20 74 68 65 |$echo $n| "hi the| |000028d0| 72 65 24 63 22 20 3e 66 | 6f 6f 31 0a 58 20 20 20 |re$c" >f|oo1.X | |000028e0| 20 65 63 68 6f 20 24 6e | 20 22 68 69 20 74 68 65 | echo $n| "hi the| |000028f0| 72 65 24 63 22 20 3e 66 | 6f 6f 32 0a 58 20 20 20 |re$c" >f|oo2.X | |00002900| 20 69 66 20 63 6d 70 20 | 66 6f 6f 31 20 66 6f 6f | if cmp |foo1 foo| |00002910| 32 20 3e 2f 64 65 76 2f | 6e 75 6c 6c 20 32 3e 26 |2 >/dev/|null 2>&| |00002920| 31 3b 20 74 68 65 6e 0a | 58 09 65 63 68 6f 20 22 |1; then.|X.echo "| |00002930| 54 68 65 79 20 61 72 65 | 20 63 6f 6d 70 61 74 69 |They are| compati| |00002940| 62 6c 65 2e 20 20 49 6e | 20 66 61 63 74 2c 20 74 |ble. In| fact, t| |00002950| 68 65 79 20 6d 61 79 20 | 62 65 20 69 64 65 6e 74 |hey may |be ident| |00002960| 69 63 61 6c 2e 22 0a 58 | 20 20 20 20 65 6c 73 65 |ical.".X| else| |00002970| 0a 58 09 63 61 73 65 20 | 22 24 6e 22 20 69 6e 0a |.X.case |"$n" in.| |00002980| 58 09 27 2d 6e 27 29 20 | 6e 3d 27 27 20 63 3d 27 |X.'-n') |n='' c='| |00002990| 5c 63 27 20 61 6e 73 3d | 27 5c 63 27 20 3b 3b 0a |\c' ans=|'\c' ;;.| |000029a0| 58 09 2a 29 20 6e 3d 27 | 2d 6e 27 20 63 3d 27 27 |X.*) n='|-n' c=''| |000029b0| 20 61 6e 73 3d 27 2d 6e | 27 20 3b 3b 0a 58 09 65 | ans='-n|' ;;.X.e| |000029c0| 73 61 63 0a 58 09 63 61 | 74 20 3c 3c 46 4f 4f 0a |sac.X.ca|t <<FOO.| |000029d0| 58 54 68 65 79 20 61 72 | 65 20 6e 6f 74 20 63 6f |XThey ar|e not co| |000029e0| 6d 70 61 74 69 62 6c 65 | 21 20 20 59 6f 75 20 61 |mpatible|! You a| |000029f0| 72 65 20 70 72 6f 62 61 | 62 6c 79 20 72 75 6e 6e |re proba|bly runn| |00002a00| 69 6e 67 20 6b 73 68 20 | 6f 6e 20 61 20 6e 6f 6e |ing ksh |on a non| |00002a10| 2d 55 53 47 20 73 79 73 | 74 65 6d 2e 0a 58 49 27 |-USG sys|tem..XI'| |00002a20| 6c 6c 20 68 61 76 65 20 | 74 6f 20 75 73 65 20 2f |ll have |to use /| |00002a30| 62 69 6e 2f 65 63 68 6f | 20 69 6e 73 74 65 61 64 |bin/echo| instead| |00002a40| 20 6f 66 20 74 68 65 20 | 62 75 69 6c 74 69 6e 2c | of the |builtin,| |00002a50| 20 73 69 6e 63 65 20 42 | 6f 75 72 6e 65 20 73 68 | since B|ourne sh| |00002a60| 65 6c 6c 20 64 6f 65 73 | 6e 27 74 0a 58 68 61 76 |ell does|n't.Xhav| |00002a70| 65 20 65 63 68 6f 20 62 | 75 69 6c 74 20 69 6e 20 |e echo b|uilt in | |00002a80| 61 6e 64 20 77 65 20 6d | 61 79 20 68 61 76 65 20 |and we m|ay have | |00002a90| 74 6f 20 72 75 6e 20 73 | 6f 6d 65 20 42 6f 75 72 |to run s|ome Bour| |00002aa0| 6e 65 20 73 68 65 6c 6c | 20 73 63 72 69 70 74 73 |ne shell| scripts| |00002ab0| 2e 20 20 54 68 61 74 0a | 58 6d 65 61 6e 73 20 49 |. That.|Xmeans I| |00002ac0| 27 6c 6c 20 68 61 76 65 | 20 74 6f 20 75 73 65 20 |'ll have| to use | |00002ad0| 24 61 6e 73 20 74 6f 20 | 73 75 70 70 72 65 73 73 |$ans to |suppress| |00002ae0| 20 6e 65 77 6c 69 6e 65 | 73 20 6e 6f 77 2e 20 20 | newline|s now. | |00002af0| 4c 69 66 65 20 69 73 20 | 72 69 64 69 63 75 6c 6f |Life is |ridiculo| |00002b00| 75 73 2e 0a 58 0a 58 46 | 4f 4f 0a 58 09 72 70 3d |us..X.XF|OO.X.rp=| |00002b10| 22 59 6f 75 72 20 63 75 | 72 73 6f 72 20 73 68 6f |"Your cu|rsor sho| |00002b20| 75 6c 64 20 62 65 20 68 | 65 72 65 2d 2d 3e 22 0a |uld be h|ere-->".| |00002b30| 58 09 24 65 63 68 6f 20 | 24 6e 20 22 24 72 70 24 |X.$echo |$n "$rp$| |00002b40| 63 22 0a 58 09 2e 20 6d | 79 72 65 61 64 0a 58 20 |c".X.. m|yread.X | |00002b50| 20 20 20 66 69 0a 58 20 | 20 20 20 24 72 6d 20 2d | fi.X | $rm -| |00002b60| 66 20 66 6f 6f 31 20 66 | 6f 6f 32 0a 58 20 20 20 |f foo1 f|oo2.X | |00002b70| 20 3b 3b 0a 58 2a 29 0a | 58 20 20 20 20 3a 20 63 | ;;.X*).|X : c| |00002b80| 72 6f 73 73 20 79 6f 75 | 72 20 66 69 6e 67 65 72 |ross you|r finger| |00002b90| 73 0a 58 20 20 20 20 65 | 63 68 6f 3d 65 63 68 6f |s.X e|cho=echo| |00002ba0| 0a 58 20 20 20 20 3b 3b | 0a 58 65 73 61 63 0a 58 |.X ;;|.Xesac.X| |00002bb0| 72 6d 6c 69 73 74 3d 22 | 24 72 6d 6c 69 73 74 20 |rmlist="|$rmlist | |00002bc0| 6c 6f 63 22 0a 58 0a 58 | 3a 20 67 65 74 20 6c 69 |loc".X.X|: get li| |00002bd0| 73 74 20 6f 66 20 70 72 | 65 64 65 66 69 6e 65 64 |st of pr|edefined| |00002be0| 20 66 75 6e 63 74 69 6f | 6e 73 20 69 6e 20 61 20 | functio|ns in a | |00002bf0| 68 61 6e 64 79 20 70 6c | 61 63 65 0a 58 65 63 68 |handy pl|ace.Xech| |00002c00| 6f 20 22 20 22 0a 58 69 | 66 20 74 65 73 74 20 2d |o " ".Xi|f test -| |00002c10| 66 20 2f 6c 69 62 2f 6c | 69 62 63 2e 61 3b 20 74 |f /lib/l|ibc.a; t| |00002c20| 68 65 6e 0a 58 20 20 20 | 20 65 63 68 6f 20 22 59 |hen.X | echo "Y| |00002c30| 6f 75 72 20 43 20 6c 69 | 62 72 61 72 79 20 69 73 |our C li|brary is| |00002c40| 20 69 6e 20 2f 6c 69 62 | 2f 6c 69 62 63 2e 61 2e | in /lib|/libc.a.| |00002c50| 20 20 59 6f 75 27 72 65 | 20 6e 6f 72 6d 61 6c 2e | You're| normal.| |00002c60| 22 0a 58 20 20 20 20 6c | 69 62 63 3d 2f 6c 69 62 |".X l|ibc=/lib| |00002c70| 2f 6c 69 62 63 2e 61 0a | 58 65 6c 73 65 0a 58 20 |/libc.a.|Xelse.X | |00002c80| 20 20 20 61 6e 73 3d 60 | 6c 6f 63 20 6c 69 62 63 | ans=`|loc libc| |00002c90| 2e 61 20 62 6c 75 72 66 | 6c 2f 64 79 69 63 6b 20 |.a blurf|l/dyick | |00002ca0| 24 6c 69 62 70 74 68 60 | 0a 58 20 20 20 20 69 66 |$libpth`|.X if| |00002cb0| 20 74 65 73 74 20 21 20 | 2d 66 20 24 61 6e 73 3b | test ! |-f $ans;| |00002cc0| 20 74 68 65 6e 0a 58 09 | 61 6e 73 3d 60 6c 6f 63 | then.X.|ans=`loc| |00002cd0| 20 63 6c 69 62 20 62 6c | 75 72 66 6c 2f 64 79 69 | clib bl|urfl/dyi| |00002ce0| 63 6b 20 24 6c 69 62 70 | 74 68 60 0a 58 20 20 20 |ck $libp|th`.X | |00002cf0| 20 66 69 0a 58 20 20 20 | 20 69 66 20 74 65 73 74 | fi.X | if test| |00002d00| 20 21 20 2d 66 20 24 61 | 6e 73 3b 20 74 68 65 6e | ! -f $a|ns; then| |00002d10| 0a 58 09 61 6e 73 3d 60 | 6c 6f 63 20 6c 69 62 63 |.X.ans=`|loc libc| |00002d20| 20 62 6c 75 72 66 6c 2f | 64 79 69 63 6b 20 24 6c | blurfl/|dyick $l| |00002d30| 69 62 70 74 68 60 0a 58 | 20 20 20 20 66 69 0a 58 |ibpth`.X| fi.X| |00002d40| 20 20 20 20 69 66 20 74 | 65 73 74 20 2d 66 20 24 | if t|est -f $| |00002d50| 61 6e 73 3b 20 74 68 65 | 6e 0a 58 09 65 63 68 6f |ans; the|n.X.echo| |00002d60| 20 22 59 6f 75 72 20 43 | 20 6c 69 62 72 61 72 79 | "Your C| library| |00002d70| 20 69 73 20 69 6e 20 24 | 61 6e 73 2c 20 6f 66 20 | is in $|ans, of | |00002d80| 61 6c 6c 20 70 6c 61 63 | 65 73 2e 22 0a 58 09 6c |all plac|es.".X.l| |00002d90| 69 62 63 3d 24 61 6e 73 | 0a 58 20 20 20 20 65 6c |ibc=$ans|.X el| |00002da0| 73 65 0a 58 09 69 66 20 | 74 65 73 74 20 2d 66 20 |se.X.if |test -f | |00002db0| 22 24 6c 69 62 63 22 3b | 20 74 68 65 6e 0a 58 09 |"$libc";| then.X.| |00002dc0| 20 20 20 20 65 63 68 6f | 20 22 59 6f 75 72 20 43 | echo| "Your C| |00002dd0| 20 6c 69 62 72 61 72 79 | 20 69 73 20 69 6e 20 24 | library| is in $| |00002de0| 6c 69 62 63 2c 20 6c 69 | 6b 65 20 79 6f 75 20 73 |libc, li|ke you s| |00002df0| 61 69 64 20 62 65 66 6f | 72 65 2e 22 0a 58 09 65 |aid befo|re.".X.e| |00002e00| 6c 73 65 0a 58 09 20 20 | 20 20 63 61 74 20 3c 3c |lse.X. | cat <<| |00002e10| 45 4f 4d 0a 58 20 0a 58 | 49 20 63 61 6e 27 74 20 |EOM.X .X|I can't | |00002e20| 73 65 65 6d 20 74 6f 20 | 66 69 6e 64 20 79 6f 75 |seem to |find you| |00002e30| 72 20 43 20 6c 69 62 72 | 61 72 79 2e 20 20 49 27 |r C libr|ary. I'| |00002e40| 76 65 20 6c 6f 6f 6b 65 | 64 20 69 6e 20 74 68 65 |ve looke|d in the| |00002e50| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 70 6c 61 63 65 | followi|ng place| |00002e60| 73 3a 0a 58 0a 58 09 24 | 6c 69 62 70 74 68 0a 58 |s:.X.X.$|libpth.X| |00002e70| 0a 58 4e 6f 6e 65 20 6f | 66 20 74 68 65 73 65 20 |.XNone o|f these | |00002e80| 73 65 65 6d 73 20 74 6f | 20 63 6f 6e 74 61 69 6e |seems to| contain| |00002e90| 20 79 6f 75 72 20 43 20 | 6c 69 62 72 61 72 79 2e | your C |library.| |00002ea0| 20 20 57 68 61 74 20 69 | 73 20 74 68 65 20 66 75 | What i|s the fu| |00002eb0| 6c 6c 20 6e 61 6d 65 0a | 58 45 4f 4d 0a 58 09 20 |ll name.|XEOM.X. | |00002ec0| 20 20 20 64 66 6c 74 3d | 4e 6f 6e 65 0a 58 09 20 | dflt=|None.X. | |00002ed0| 20 20 20 24 65 63 68 6f | 20 24 6e 20 22 6f 66 20 | $echo| $n "of | |00002ee0| 79 6f 75 72 20 43 20 6c | 69 62 72 61 72 79 3f 20 |your C l|ibrary? | |00002ef0| 24 63 22 0a 58 09 20 20 | 20 20 72 70 3d 27 43 20 |$c".X. | rp='C | |00002f00| 6c 69 62 72 61 72 79 20 | 66 75 6c 6c 20 6e 61 6d |library |full nam| |00002f10| 65 3f 27 0a 58 09 20 20 | 20 20 2e 20 6d 79 72 65 |e?'.X. | . myre| |00002f20| 61 64 0a 58 09 20 20 20 | 20 6c 69 62 63 3d 22 24 |ad.X. | libc="$| |00002f30| 61 6e 73 22 0a 58 09 66 | 69 0a 58 20 20 20 20 66 |ans".X.f|i.X f| |00002f40| 69 0a 58 66 69 0a 58 65 | 63 68 6f 20 22 20 22 0a |i.Xfi.Xe|cho " ".| |00002f50| 58 24 65 63 68 6f 20 24 | 6e 20 22 45 78 74 72 61 |X$echo $|n "Extra| |00002f60| 63 74 69 6e 67 20 6e 61 | 6d 65 73 20 66 72 6f 6d |cting na|mes from| |00002f70| 20 24 6c 69 62 63 20 66 | 6f 72 20 6c 61 74 65 72 | $libc f|or later| |00002f80| 20 70 65 72 75 73 61 6c | 2e 2e 2e 24 63 22 0a 58 | perusal|...$c".X| |00002f90| 6e 6d 20 24 6c 69 62 63 | 20 32 3e 2f 64 65 76 2f |nm $libc| 2>/dev/| |00002fa0| 6e 75 6c 6c 20 7c 20 73 | 65 64 20 2d 6e 20 2d 65 |null | s|ed -n -e| |00002fb0| 20 27 73 2f 5e 2e 2a 20 | 54 20 5f 2f 2f 70 27 20 | 's/^.* |T _//p' | |00002fc0| 2d 65 20 27 73 2f 5e 2e | 2a 20 54 20 2f 2f 70 27 |-e 's/^.|* T //p'| |00002fd0| 20 3e 20 6c 69 62 63 2e | 6c 69 73 74 0a 58 69 66 | > libc.|list.Xif| |00002fe0| 20 24 63 6f 6e 74 61 69 | 6e 73 20 27 5e 70 72 69 | $contai|ns '^pri| |00002ff0| 6e 74 66 24 27 20 6c 69 | 62 63 2e 6c 69 73 74 20 |ntf$' li|bc.list | |00003000| 3e 2f 64 65 76 2f 6e 75 | 6c 6c 20 32 3e 26 31 3b |>/dev/nu|ll 2>&1;| |00003010| 20 74 68 65 6e 0a 58 20 | 20 20 20 65 63 68 6f 20 | then.X | echo | |00003020| 22 64 6f 6e 65 22 0a 58 | 65 6c 73 65 0a 58 20 20 |"done".X|else.X | |00003030| 20 20 6e 6d 20 24 6c 69 | 62 63 20 32 3e 2f 64 65 | nm $li|bc 2>/de| |00003040| 76 2f 6e 75 6c 6c 20 7c | 20 73 65 64 20 2d 6e 20 |v/null || sed -n | |00003050| 2d 65 20 27 73 2f 5e 2e | 2a 20 44 20 5f 2f 2f 70 |-e 's/^.|* D _//p| |00003060| 27 20 2d 65 20 27 73 2f | 5e 2e 2a 20 44 20 2f 2f |' -e 's/|^.* D //| |00003070| 70 27 20 3e 20 6c 69 62 | 63 2e 6c 69 73 74 0a 58 |p' > lib|c.list.X| |00003080| 20 20 20 20 69 66 20 24 | 63 6f 6e 74 61 69 6e 73 | if $|contains| |00003090| 20 27 5e 70 72 69 6e 74 | 66 24 27 20 6c 69 62 63 | '^print|f$' libc| |000030a0| 2e 6c 69 73 74 20 3e 2f | 64 65 76 2f 6e 75 6c 6c |.list >/|dev/null| |000030b0| 20 32 3e 26 31 3b 20 74 | 68 65 6e 0a 58 09 65 63 | 2>&1; t|hen.X.ec| |000030c0| 68 6f 20 22 64 6f 6e 65 | 22 0a 58 20 20 20 20 65 |ho "done|".X e| |000030d0| 6c 73 65 0a 58 09 65 63 | 68 6f 20 22 20 22 0a 58 |lse.X.ec|ho " ".X| |000030e0| 09 65 63 68 6f 20 22 6e | 6d 20 64 69 64 6e 27 74 |.echo "n|m didn't| |000030f0| 20 73 65 65 6d 20 74 6f | 20 77 6f 72 6b 20 72 69 | seem to| work ri| |00003100| 67 68 74 2e 22 0a 58 09 | 65 63 68 6f 20 22 54 72 |ght.".X.|echo "Tr| |00003110| 79 69 6e 67 20 61 72 20 | 69 6e 73 74 65 61 64 2e |ying ar |instead.| |00003120| 2e 2e 22 0a 58 09 69 66 | 20 61 72 20 74 20 24 6c |..".X.if| ar t $l| |00003130| 69 62 63 20 7c 20 73 65 | 64 20 2d 65 20 27 73 2f |ibc | se|d -e 's/| |00003140| 5c 2e 6f 24 2f 2f 27 20 | 3e 20 6c 69 62 63 2e 6c |\.o$//' |> libc.l| |00003150| 69 73 74 3b 20 74 68 65 | 6e 0a 58 09 20 20 20 20 |ist; the|n.X. | |00003160| 65 63 68 6f 20 22 4f 6b | 2e 22 0a 58 09 65 6c 73 |echo "Ok|.".X.els| |00003170| 65 0a 58 09 20 20 20 20 | 65 63 68 6f 20 22 54 68 |e.X. |echo "Th| |00003180| 61 74 20 64 69 64 6e 27 | 74 20 77 6f 72 6b 20 65 |at didn'|t work e| |00003190| 69 74 68 65 72 2e 20 20 | 47 69 76 69 6e 67 20 75 |ither. |Giving u| |000031a0| 70 2e 22 0a 58 09 20 20 | 20 20 65 78 69 74 20 31 |p.".X. | exit 1| |000031b0| 0a 58 09 66 69 0a 58 20 | 20 20 20 66 69 0a 58 66 |.X.fi.X | fi.Xf| |000031c0| 69 0a 58 72 6d 6c 69 73 | 74 3d 22 24 72 6d 6c 69 |i.Xrmlis|t="$rmli| |000031d0| 73 74 20 6c 69 62 63 2e | 6c 69 73 74 22 0a 58 0a |st libc.|list".X.| |000031e0| 58 3a 20 6d 61 6b 65 20 | 73 6f 6d 65 20 71 75 69 |X: make |some qui| |000031f0| 63 6b 20 67 75 65 73 73 | 65 73 20 61 62 6f 75 74 |ck guess|es about| |00003200| 20 77 68 61 74 20 77 65 | 20 61 72 65 20 75 70 20 | what we| are up | |00003210| 61 67 61 69 6e 73 74 0a | 58 65 63 68 6f 20 22 20 |against.|Xecho " | |00003220| 22 0a 58 24 65 63 68 6f | 20 24 6e 20 22 48 6d 6d |".X$echo| $n "Hmm| |00003230| 2e 2e 2e 20 20 24 63 22 | 0a 58 69 66 20 24 63 6f |... $c"|.Xif $co| |00003240| 6e 74 61 69 6e 73 20 53 | 49 47 54 53 54 50 20 2f |ntains S|IGTSTP /| |00003250| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 69 67 6e |usr/incl|ude/sign| |00003260| 61 6c 2e 68 20 3e 2f 64 | 65 76 2f 6e 75 6c 6c 20 |al.h >/d|ev/null | |00003270| 32 3e 26 31 20 3b 20 74 | 68 65 6e 0a 58 20 20 20 |2>&1 ; t|hen.X | |00003280| 20 65 63 68 6f 20 22 4c | 6f 6f 6b 73 20 6b 69 6e | echo "L|ooks kin| |00003290| 64 20 6f 66 20 6c 69 6b | 65 20 61 20 42 53 44 20 |d of lik|e a BSD | |000032a0| 73 79 73 74 65 6d 2c 20 | 62 75 74 20 77 65 27 6c |system, |but we'l| |000032b0| 6c 20 73 65 65 2e 2e 2e | 22 0a 58 20 20 20 20 65 |l see...|".X e| |000032c0| 63 68 6f 20 65 78 69 74 | 20 30 20 3e 62 73 64 0a |cho exit| 0 >bsd.| |000032d0| 58 20 20 20 20 65 63 68 | 6f 20 65 78 69 74 20 31 |X ech|o exit 1| |000032e0| 20 3e 75 73 67 0a 58 20 | 20 20 20 65 63 68 6f 20 | >usg.X | echo | |000032f0| 65 78 69 74 20 31 20 3e | 76 37 0a 58 65 6c 69 66 |exit 1 >|v7.Xelif| |00003300| 20 24 63 6f 6e 74 61 69 | 6e 73 20 27 5e 66 63 6e | $contai|ns '^fcn| |00003310| 74 6c 24 27 20 6c 69 62 | 63 2e 6c 69 73 74 20 3e |tl$' lib|c.list >| |00003320| 2f 64 65 76 2f 6e 75 6c | 6c 20 32 3e 26 31 20 3b |/dev/nul|l 2>&1 ;| |00003330| 20 74 68 65 6e 0a 58 20 | 20 20 20 65 63 68 6f 20 | then.X | echo | |00003340| 22 4c 6f 6f 6b 73 20 6b | 69 6e 64 20 6f 66 20 6c |"Looks k|ind of l| |00003350| 69 6b 65 20 61 20 55 53 | 47 20 73 79 73 74 65 6d |ike a US|G system| |00003360| 2c 20 62 75 74 20 77 65 | 27 6c 6c 20 73 65 65 2e |, but we|'ll see.| |00003370| 2e 2e 22 0a 58 20 20 20 | 20 65 63 68 6f 20 65 78 |..".X | echo ex| |00003380| 69 74 20 31 20 3e 62 73 | 64 0a 58 20 20 20 20 65 |it 1 >bs|d.X e| |00003390| 63 68 6f 20 65 78 69 74 | 20 30 20 3e 75 73 67 0a |cho exit| 0 >usg.| |000033a0| 58 20 20 20 20 65 63 68 | 6f 20 65 78 69 74 20 31 |X ech|o exit 1| |000033b0| 20 3e 76 37 0a 58 65 6c | 73 65 0a 58 20 20 20 20 | >v7.Xel|se.X | |000033c0| 65 63 68 6f 20 22 4c 6f | 6f 6b 73 20 6b 69 6e 64 |echo "Lo|oks kind| |000033d0| 20 6f 66 20 6c 69 6b 65 | 20 61 20 76 65 72 73 69 | of like| a versi| |000033e0| 6f 6e 20 37 20 73 79 73 | 74 65 6d 2c 20 62 75 74 |on 7 sys|tem, but| |000033f0| 20 77 65 27 6c 6c 20 73 | 65 65 2e 2e 2e 22 0a 58 | we'll s|ee...".X| |00003400| 20 20 20 20 65 63 68 6f | 20 65 78 69 74 20 31 20 | echo| exit 1 | |00003410| 3e 62 73 64 0a 58 20 20 | 20 20 65 63 68 6f 20 65 |>bsd.X | echo e| |00003420| 78 69 74 20 31 20 3e 75 | 73 67 0a 58 20 20 20 20 |xit 1 >u|sg.X | |00003430| 65 63 68 6f 20 65 78 69 | 74 20 30 20 3e 76 37 0a |echo exi|t 0 >v7.| |00003440| 58 66 69 0a 58 69 66 20 | 24 63 6f 6e 74 61 69 6e |Xfi.Xif |$contain| |00003450| 73 20 27 5e 76 6d 73 73 | 79 73 74 65 6d 24 27 20 |s '^vmss|ystem$' | |00003460| 6c 69 62 63 2e 6c 69 73 | 74 20 3e 2f 64 65 76 2f |libc.lis|t >/dev/| |00003470| 6e 75 6c 6c 20 32 3e 26 | 31 20 3b 20 74 68 65 6e |null 2>&|1 ; then| |00003480| 0a 58 20 20 20 20 63 61 | 74 20 3c 3c 27 45 4f 49 |.X ca|t <<'EOI| |00003490| 27 0a 58 54 68 65 72 65 | 20 69 73 2c 20 68 6f 77 |'.XThere| is, how| |000034a0| 65 76 65 72 2c 20 61 20 | 73 74 72 61 6e 67 65 2c |ever, a |strange,| |000034b0| 20 6d 75 73 74 79 20 73 | 6d 65 6c 6c 20 69 6e 20 | musty s|mell in | |000034c0| 74 68 65 20 61 69 72 20 | 74 68 61 74 20 72 65 6d |the air |that rem| |000034d0| 69 6e 64 73 20 6d 65 20 | 6f 66 0a 58 73 6f 6d 65 |inds me |of.Xsome| |000034e0| 74 68 69 6e 67 2e 2e 2e | 68 6d 6d 2e 2e 2e 79 65 |thing...|hmm...ye| |000034f0| 73 2e 2e 2e 49 27 76 65 | 20 67 6f 74 20 69 74 2e |s...I've| got it.| |00003500| 2e 2e 74 68 65 72 65 27 | 73 20 61 20 56 4d 53 20 |..there'|s a VMS | |00003510| 6e 65 61 72 62 79 2c 20 | 6f 72 20 49 27 6d 20 61 |nearby, |or I'm a| |00003520| 20 42 6c 69 74 2e 0a 58 | 45 4f 49 0a 58 20 20 20 | Blit..X|EOI.X | |00003530| 20 65 63 68 6f 20 22 65 | 78 69 74 20 30 22 20 3e | echo "e|xit 0" >| |00003540| 65 75 6e 69 63 65 0a 58 | 20 20 20 20 65 75 6e 69 |eunice.X| euni| |00003550| 63 65 66 69 78 3d 75 6e | 69 78 74 6f 76 6d 73 0a |cefix=un|ixtovms.| |00003560| 58 20 20 20 20 64 5f 65 | 75 6e 69 63 65 3d 22 24 |X d_e|unice="$| |00003570| 64 65 66 69 6e 65 22 0a | 58 3a 20 69 74 20 73 6f |define".|X: it so| |00003580| 20 68 61 70 70 65 6e 73 | 20 74 68 65 20 45 75 6e | happens| the Eun| |00003590| 69 63 65 20 49 20 6b 6e | 6f 77 20 77 69 6c 6c 20 |ice I kn|ow will | |000035a0| 6e 6f 74 20 72 75 6e 20 | 73 68 65 6c 6c 20 73 63 |not run |shell sc| |000035b0| 72 69 70 74 73 20 69 6e | 20 55 6e 69 78 20 66 6f |ripts in| Unix fo| |000035c0| 72 6d 61 74 0a 58 65 6c | 73 65 0a 58 20 20 20 20 |rmat.Xel|se.X | |000035d0| 65 63 68 6f 20 22 20 22 | 0a 58 20 20 20 20 65 63 |echo " "|.X ec| |000035e0| 68 6f 20 22 43 6f 6e 67 | 72 61 74 75 6c 61 74 69 |ho "Cong|ratulati| |000035f0| 6f 6e 73 2e 20 20 59 6f | 75 20 61 72 65 6e 27 74 |ons. Yo|u aren't| |00003600| 20 72 75 6e 6e 69 6e 67 | 20 45 75 6e 69 63 65 2e | running| Eunice.| |00003610| 22 0a 58 20 20 20 20 65 | 75 6e 69 63 65 66 69 78 |".X e|unicefix| |00003620| 3d 27 3a 27 0a 58 20 20 | 20 20 64 5f 65 75 6e 69 |=':'.X | d_euni| |00003630| 63 65 3d 22 24 75 6e 64 | 65 66 22 0a 58 20 20 20 |ce="$und|ef".X | |00003640| 20 65 63 68 6f 20 22 65 | 78 69 74 20 31 22 20 3e | echo "e|xit 1" >| |00003650| 65 75 6e 69 63 65 0a 58 | 66 69 0a 58 69 66 20 74 |eunice.X|fi.Xif t| |00003660| 65 73 74 20 2d 66 20 2f | 78 65 6e 69 78 3b 20 74 |est -f /|xenix; t| |00003670| 68 65 6e 0a 58 20 20 20 | 20 65 63 68 6f 20 22 41 |hen.X | echo "A| |00003680| 63 74 75 61 6c 6c 79 2c | 20 74 68 69 73 20 6c 6f |ctually,| this lo| |00003690| 6f 6b 73 20 6d 6f 72 65 | 20 6c 69 6b 65 20 61 20 |oks more| like a | |000036a0| 58 45 4e 49 58 20 73 79 | 73 74 65 6d 2e 2e 2e 22 |XENIX sy|stem..."| |000036b0| 0a 58 20 20 20 20 65 63 | 68 6f 20 22 65 78 69 74 |.X ec|ho "exit| |000036c0| 20 30 22 20 3e 78 65 6e | 69 78 0a 58 65 6c 73 65 | 0" >xen|ix.Xelse| |000036d0| 0a 58 20 20 20 20 65 63 | 68 6f 20 22 20 22 0a 58 |.X ec|ho " ".X| |000036e0| 20 20 20 20 65 63 68 6f | 20 22 49 74 27 73 20 6e | echo| "It's n| |000036f0| 6f 74 20 58 65 6e 69 78 | 2e 2e 2e 22 0a 58 20 20 |ot Xenix|...".X | |00003700| 20 20 65 63 68 6f 20 22 | 65 78 69 74 20 31 22 20 | echo "|exit 1" | |00003710| 3e 78 65 6e 69 78 0a 58 | 66 69 0a 58 63 68 6d 6f |>xenix.X|fi.Xchmo| |00003720| 64 20 2b 78 20 78 65 6e | 69 78 0a 58 24 65 75 6e |d +x xen|ix.X$eun| |00003730| 69 63 65 66 69 78 20 78 | 65 6e 69 78 0a 58 69 66 |icefix x|enix.Xif| |00003740| 20 74 65 73 74 20 2d 66 | 20 2f 76 65 6e 69 78 3b | test -f| /venix;| |00003750| 20 74 68 65 6e 0a 58 20 | 20 20 20 65 63 68 6f 20 | then.X | echo | |00003760| 22 41 63 74 75 61 6c 6c | 79 2c 20 74 68 69 73 20 |"Actuall|y, this | |00003770| 6c 6f 6f 6b 73 20 6d 6f | 72 65 20 6c 69 6b 65 20 |looks mo|re like | |00003780| 61 20 56 45 4e 49 58 20 | 73 79 73 74 65 6d 2e 2e |a VENIX |system..| |00003790| 2e 22 0a 58 20 20 20 20 | 65 63 68 6f 20 22 65 78 |.".X |echo "ex| |000037a0| 69 74 20 30 22 20 3e 76 | 65 6e 69 78 0a 58 65 6c |it 0" >v|enix.Xel| |000037b0| 73 65 0a 58 20 20 20 20 | 65 63 68 6f 20 22 20 22 |se.X |echo " "| |000037c0| 0a 58 20 20 20 20 69 66 | 20 78 65 6e 69 78 3b 20 |.X if| xenix; | |000037d0| 74 68 65 6e 0a 58 09 3a | 20 6e 75 6c 6c 0a 58 20 |then.X.:| null.X | |000037e0| 20 20 20 65 6c 73 65 0a | 58 09 65 63 68 6f 20 22 | else.|X.echo "| |000037f0| 4e 6f 72 20 69 73 20 69 | 74 20 56 65 6e 69 78 2e |Nor is i|t Venix.| |00003800| 2e 2e 22 0a 58 20 20 20 | 20 66 69 0a 58 20 20 20 |..".X | fi.X | |00003810| 20 65 63 68 6f 20 22 65 | 78 69 74 20 31 22 20 3e | echo "e|xit 1" >| |00003820| 76 65 6e 69 78 0a 58 66 | 69 0a 58 63 68 6d 6f 64 |venix.Xf|i.Xchmod| |00003830| 20 2b 78 20 62 73 64 20 | 75 73 67 20 76 37 20 65 | +x bsd |usg v7 e| |00003840| 75 6e 69 63 65 20 76 65 | 6e 69 78 0a 58 24 65 75 |unice ve|nix.X$eu| |00003850| 6e 69 63 65 66 69 78 20 | 62 73 64 20 75 73 67 20 |nicefix |bsd usg | |00003860| 76 37 20 65 75 6e 69 63 | 65 20 76 65 6e 69 78 0a |v7 eunic|e venix.| |00003870| 58 72 6d 6c 69 73 74 3d | 22 24 72 6d 6c 69 73 74 |Xrmlist=|"$rmlist| |00003880| 20 62 73 64 20 75 73 67 | 20 76 37 20 65 75 6e 69 | bsd usg| v7 euni| |00003890| 63 65 20 76 65 6e 69 78 | 20 78 65 6e 69 78 22 0a |ce venix| xenix".| |000038a0| 58 0a 58 3a 20 73 65 65 | 20 69 66 20 73 68 20 6b |X.X: see| if sh k| |000038b0| 6e 6f 77 73 20 23 20 63 | 6f 6d 6d 65 6e 74 73 0a |nows # c|omments.| |000038c0| 58 65 63 68 6f 20 22 20 | 22 0a 58 65 63 68 6f 20 |Xecho " |".Xecho | |000038d0| 22 43 68 65 63 6b 69 6e | 67 20 79 6f 75 72 20 73 |"Checkin|g your s| |000038e0| 68 20 74 6f 20 73 65 65 | 20 69 66 20 69 74 20 6b |h to see| if it k| |000038f0| 6e 6f 77 73 20 61 62 6f | 75 74 20 23 20 63 6f 6d |nows abo|ut # com| |00003900| 6d 65 6e 74 73 2e 2e 2e | 22 0a 58 69 66 20 73 68 |ments...|".Xif sh| |00003910| 20 2d 63 20 27 23 27 20 | 3e 2f 64 65 76 2f 6e 75 | -c '#' |>/dev/nu| |00003920| 6c 6c 20 32 3e 26 31 20 | 3b 20 74 68 65 6e 0a 58 |ll 2>&1 |; then.X| |00003930| 20 20 20 20 65 63 68 6f | 20 22 59 6f 75 72 20 73 | echo| "Your s| |00003940| 68 20 68 61 6e 64 6c 65 | 73 20 23 20 63 6f 6d 6d |h handle|s # comm| |00003950| 65 6e 74 73 20 63 6f 72 | 72 65 63 74 6c 79 2e 22 |ents cor|rectly."| |00003960| 0a 58 20 20 20 20 73 68 | 73 68 61 72 70 3d 74 72 |.X sh|sharp=tr| |00003970| 75 65 0a 58 20 20 20 20 | 73 70 69 74 73 68 65 6c |ue.X |spitshel| |00003980| 6c 3d 63 61 74 0a 58 20 | 20 20 20 65 63 68 6f 20 |l=cat.X | echo | |00003990| 22 20 22 0a 58 20 20 20 | 20 65 63 68 6f 20 22 4f |" ".X | echo "O| |000039a0| 6b 61 79 2c 20 6c 65 74 | 27 73 20 73 65 65 20 69 |kay, let|'s see i| |000039b0| 66 20 23 21 20 77 6f 72 | 6b 73 20 6f 6e 20 74 68 |f #! wor|ks on th| |000039c0| 69 73 20 73 79 73 74 65 | 6d 2e 2e 2e 22 0a 58 20 |is syste|m...".X | |000039d0| 20 20 20 65 63 68 6f 20 | 22 23 21 2f 62 69 6e 2f | echo |"#!/bin/| |000039e0| 65 63 68 6f 20 68 69 22 | 20 3e 20 74 72 79 0a 58 |echo hi"| > try.X| |000039f0| 20 20 20 20 24 65 75 6e | 69 63 65 66 69 78 20 74 | $eun|icefix t| |00003a00| 72 79 0a 58 20 20 20 20 | 63 68 6d 6f 64 20 2b 78 |ry.X |chmod +x| |00003a10| 20 74 72 79 0a 58 20 20 | 20 20 74 72 79 20 3e 20 | try.X | try > | |00003a20| 74 6f 64 61 79 0a 58 20 | 20 20 20 69 66 20 24 63 |today.X | if $c| |00003a30| 6f 6e 74 61 69 6e 73 20 | 68 69 20 74 6f 64 61 79 |ontains |hi today| |00003a40| 20 3e 2f 64 65 76 2f 6e | 75 6c 6c 20 32 3e 26 31 | >/dev/n|ull 2>&1| |00003a50| 3b 20 74 68 65 6e 0a 58 | 09 65 63 68 6f 20 22 49 |; then.X|.echo "I| |00003a60| 74 20 64 6f 65 73 2e 22 | 0a 58 09 73 68 61 72 70 |t does."|.X.sharp| |00003a70| 62 61 6e 67 3d 27 23 21 | 27 0a 58 20 20 20 20 65 |bang='#!|'.X e| |00003a80| 6c 73 65 0a 58 09 65 63 | 68 6f 20 22 23 21 20 2f |lse.X.ec|ho "#! /| |00003a90| 62 69 6e 2f 65 63 68 6f | 20 68 69 22 20 3e 20 74 |bin/echo| hi" > t| |00003aa0| 72 79 0a 58 09 24 65 75 | 6e 69 63 65 66 69 78 20 |ry.X.$eu|nicefix | |00003ab0| 74 72 79 0a 58 09 63 68 | 6d 6f 64 20 2b 78 20 74 |try.X.ch|mod +x t| |00003ac0| 72 79 0a 58 09 74 72 79 | 20 3e 20 74 6f 64 61 79 |ry.X.try| > today| |00003ad0| 0a 58 09 69 66 20 74 65 | 73 74 20 2d 73 20 74 6f |.X.if te|st -s to| |00003ae0| 64 61 79 3b 20 74 68 65 | 6e 0a 58 09 20 20 20 20 |day; the|n.X. | |00003af0| 65 63 68 6f 20 22 49 74 | 20 64 6f 65 73 2e 22 0a |echo "It| does.".| |00003b00| 58 09 20 20 20 20 73 68 | 61 72 70 62 61 6e 67 3d |X. sh|arpbang=| |00003b10| 27 23 21 20 27 0a 58 09 | 65 6c 73 65 0a 58 09 20 |'#! '.X.|else.X. | |00003b20| 20 20 20 65 63 68 6f 20 | 22 49 74 20 64 6f 65 73 | echo |"It does| |00003b30| 6e 27 74 2e 22 0a 58 09 | 20 20 20 20 73 68 61 72 |n't.".X.| shar| |00003b40| 70 62 61 6e 67 3d 27 3a | 20 75 73 65 20 27 0a 58 |pbang=':| use '.X| |00003b50| 09 66 69 0a 58 20 20 20 | 20 66 69 0a 58 65 6c 73 |.fi.X | fi.Xels| |00003b60| 65 0a 58 20 20 20 20 65 | 63 68 6f 20 22 59 6f 75 |e.X e|cho "You| |00003b70| 72 20 73 68 20 64 6f 65 | 73 6e 27 74 20 67 72 6f |r sh doe|sn't gro| |00003b80| 6b 20 23 20 63 6f 6d 6d | 65 6e 74 73 2d 2d 49 20 |k # comm|ents--I | |00003b90| 77 69 6c 6c 20 73 74 72 | 69 70 20 74 68 65 6d 20 |will str|ip them | |00003ba0| 6c 61 74 65 72 20 6f 6e | 2e 22 0a 58 20 20 20 20 |later on|.".X | |00003bb0| 73 68 73 68 61 72 70 3d | 66 61 6c 73 65 0a 58 20 |shsharp=|false.X | |00003bc0| 20 20 20 65 63 68 6f 20 | 22 65 78 65 63 20 67 72 | echo |"exec gr| |00003bd0| 65 70 20 2d 76 20 27 5e | 23 27 22 20 3e 73 70 69 |ep -v '^|#'" >spi| |00003be0| 74 73 68 65 6c 6c 0a 58 | 20 20 20 20 63 68 6d 6f |tshell.X| chmo| |00003bf0| 64 20 2b 78 20 73 70 69 | 74 73 68 65 6c 6c 0a 58 |d +x spi|tshell.X| |00003c00| 20 20 20 20 24 65 75 6e | 69 63 65 66 69 78 20 73 | $eun|icefix s| |00003c10| 70 69 74 73 68 65 6c 6c | 0a 58 20 20 20 20 73 70 |pitshell|.X sp| |00003c20| 69 74 73 68 65 6c 6c 3d | 60 70 77 64 60 2f 73 70 |itshell=|`pwd`/sp| |00003c30| 69 74 73 68 65 6c 6c 0a | 58 20 20 20 20 65 63 68 |itshell.|X ech| |00003c40| 6f 20 22 49 20 70 72 65 | 73 75 6d 65 20 74 68 61 |o "I pre|sume tha| |00003c50| 74 20 69 66 20 23 20 64 | 6f 65 73 6e 27 74 20 77 |t if # d|oesn't w| |00003c60| 6f 72 6b 2c 20 23 21 20 | 77 6f 6e 27 74 20 77 6f |ork, #! |won't wo| |00003c70| 72 6b 20 65 69 74 68 65 | 72 21 22 0a 58 20 20 20 |rk eithe|r!".X | |00003c80| 20 73 68 61 72 70 62 61 | 6e 67 3d 27 3a 20 75 73 | sharpba|ng=': us| |00003c90| 65 20 27 0a 58 66 69 0a | 58 0a 58 3a 20 66 69 67 |e '.Xfi.|X.X: fig| |00003ca0| 75 72 65 20 6f 75 74 20 | 68 6f 77 20 74 6f 20 67 |ure out |how to g| |00003cb0| 75 61 72 61 6e 74 65 65 | 20 73 68 20 73 74 61 72 |uarantee| sh star| |00003cc0| 74 75 70 0a 58 65 63 68 | 6f 20 22 20 22 0a 58 65 |tup.Xech|o " ".Xe| |00003cd0| 63 68 6f 20 22 43 68 65 | 63 6b 69 6e 67 20 6f 75 |cho "Che|cking ou| |00003ce0| 74 20 68 6f 77 20 74 6f | 20 67 75 61 72 61 6e 74 |t how to| guarant| |00003cf0| 65 65 20 73 68 20 73 74 | 61 72 74 75 70 2e 2e 2e |ee sh st|artup...| |00003d00| 22 0a 58 73 74 61 72 74 | 73 68 3d 24 73 68 61 72 |".Xstart|sh=$shar| |00003d10| 70 62 61 6e 67 27 2f 62 | 69 6e 2f 73 68 27 0a 58 |pbang'/b|in/sh'.X| |00003d20| 65 63 68 6f 20 22 4c 65 | 74 27 73 20 73 65 65 20 |echo "Le|t's see | |00003d30| 69 66 20 27 24 73 74 61 | 72 74 73 68 27 20 77 6f |if '$sta|rtsh' wo| |00003d40| 72 6b 73 2e 2e 2e 22 0a | 58 63 61 74 20 3e 74 72 |rks...".|Xcat >tr| |00003d50| 79 20 3c 3c 45 4f 53 53 | 0a 58 24 73 74 61 72 74 |y <<EOSS|.X$start| |00003d60| 73 68 0a 58 73 65 74 20 | 61 62 63 0a 58 74 65 73 |sh.Xset |abc.Xtes| |00003d70| 74 20 22 24 3f 61 62 63 | 22 20 21 3d 20 31 0a 58 |t "$?abc|" != 1.X| |00003d80| 45 4f 53 53 0a 58 0a 58 | 63 68 6d 6f 64 20 2b 78 |EOSS.X.X|chmod +x| |00003d90| 20 74 72 79 0a 58 24 65 | 75 6e 69 63 65 66 69 78 | try.X$e|unicefix| |00003da0| 20 74 72 79 0a 58 69 66 | 20 74 72 79 3b 20 74 68 | try.Xif| try; th| |00003db0| 65 6e 0a 58 20 20 20 20 | 65 63 68 6f 20 22 59 75 |en.X |echo "Yu| |00003dc0| 70 2c 20 69 74 20 64 6f | 65 73 2e 22 0a 58 65 6c |p, it do|es.".Xel| |00003dd0| 73 65 0a 58 20 20 20 20 | 65 63 68 6f 20 22 4e 6f |se.X |echo "No| |00003de0| 70 65 2e 20 20 59 6f 75 | 20 6d 61 79 20 68 61 76 |pe. You| may hav| |00003df0| 65 20 74 6f 20 66 69 78 | 20 75 70 20 74 68 65 20 |e to fix| up the | |00003e00| 73 68 65 6c 6c 20 73 63 | 72 69 70 74 73 20 74 6f |shell sc|ripts to| |00003e10| 20 6d 61 6b 65 20 73 75 | 72 65 20 73 68 20 72 75 | make su|re sh ru| |00003e20| 6e 73 20 74 68 65 6d 2e | 22 0a 58 66 69 0a 58 72 |ns them.|".Xfi.Xr| |00003e30| 6d 20 2d 66 20 74 72 79 | 20 74 6f 64 61 79 0a 58 |m -f try| today.X| |00003e40| 0a 58 3a 20 73 65 65 20 | 69 66 20 73 70 72 69 6e |.X: see |if sprin| |00003e50| 74 66 20 69 73 20 64 65 | 63 6c 61 72 65 64 20 61 |tf is de|clared a| |00003e60| 73 20 69 6e 74 20 6f 72 | 20 70 6f 69 6e 74 65 72 |s int or| pointer| |00003e70| 20 74 6f 20 63 68 61 72 | 0a 58 65 63 68 6f 20 22 | to char|.Xecho "| |00003e80| 20 22 0a 58 63 61 74 20 | 3e 2e 75 63 62 73 70 72 | ".Xcat |>.ucbspr| |00003e90| 66 2e 63 20 3c 3c 27 45 | 4f 46 27 0a 58 6d 61 69 |f.c <<'E|OF'.Xmai| |00003ea0| 6e 28 29 20 7b 20 63 68 | 61 72 20 62 75 66 5b 31 |n() { ch|ar buf[1| |00003eb0| 30 5d 3b 20 65 78 69 74 | 28 28 75 6e 73 69 67 6e |0]; exit|((unsign| |00003ec0| 65 64 20 6c 6f 6e 67 29 | 73 70 72 69 6e 74 66 28 |ed long)|sprintf(| |00003ed0| 62 75 66 2c 22 25 73 22 | 2c 22 66 6f 6f 22 29 20 |buf,"%s"|,"foo") | |00003ee0| 3e 20 31 30 4c 29 3b 20 | 7d 0a 58 45 4f 46 0a 58 |> 10L); |}.XEOF.X| |00003ef0| 69 66 20 63 63 20 2e 75 | 63 62 73 70 72 66 2e 63 |if cc .u|cbsprf.c| |00003f00| 20 2d 6f 20 2e 75 63 62 | 73 70 72 66 20 3e 2f 64 | -o .ucb|sprf >/d| |00003f10| 65 76 2f 6e 75 6c 6c 20 | 32 3e 26 31 20 26 26 20 |ev/null |2>&1 && | |00003f20| 2e 75 63 62 73 70 72 66 | 3b 20 74 68 65 6e 0a 58 |.ucbsprf|; then.X| |00003f30| 20 20 20 20 65 63 68 6f | 20 22 59 6f 75 72 20 73 | echo| "Your s| |00003f40| 70 72 69 6e 74 66 28 29 | 20 72 65 74 75 72 6e 73 |printf()| returns| |00003f50| 20 28 69 6e 74 29 2e 22 | 0a 58 20 20 20 20 64 5f | (int)."|.X d_| |00003f60| 63 68 61 72 73 70 72 66 | 3d 22 24 75 6e 64 65 66 |charsprf|="$undef| |00003f70| 22 0a 58 65 6c 73 65 0a | 58 20 20 20 20 65 63 68 |".Xelse.|X ech| |00003f80| 6f 20 22 59 6f 75 72 20 | 73 70 72 69 6e 74 66 28 |o "Your |sprintf(| |00003f90| 29 20 72 65 74 75 72 6e | 73 20 28 63 68 61 72 2a |) return|s (char*| |00003fa0| 29 2e 22 0a 58 20 20 20 | 20 64 5f 63 68 61 72 73 |).".X | d_chars| |00003fb0| 70 72 66 3d 22 24 64 65 | 66 69 6e 65 22 0a 58 66 |prf="$de|fine".Xf| |00003fc0| 69 0a 58 2f 62 69 6e 2f | 72 6d 20 2d 66 20 2e 75 |i.X/bin/|rm -f .u| |00003fd0| 63 62 73 70 72 66 2e 63 | 20 2e 75 63 62 73 70 72 |cbsprf.c| .ucbspr| |00003fe0| 66 0a 58 0a 58 3a 20 73 | 65 65 20 69 66 20 77 65 |f.X.X: s|ee if we| |00003ff0| 20 63 61 6e 20 68 61 76 | 65 20 6c 6f 6e 67 20 66 | can hav|e long f| |00004000| 69 6c 65 6e 61 6d 65 73 | 0a 58 65 63 68 6f 20 22 |ilenames|.Xecho "| |00004010| 20 22 0a 58 72 6d 20 2d | 66 20 31 32 33 34 35 36 | ".Xrm -|f 123456| |00004020| 37 38 39 61 62 63 64 65 | 0a 58 69 66 20 28 65 63 |789abcde|.Xif (ec| |00004030| 68 6f 20 68 69 20 3e 31 | 32 33 34 35 36 37 38 39 |ho hi >1|23456789| |00004040| 61 62 63 64 65 66 29 20 | 32 3e 2f 64 65 76 2f 6e |abcdef) |2>/dev/n| |00004050| 75 6c 6c 3b 20 74 68 65 | 6e 0a 58 20 20 20 20 3a |ull; the|n.X :| |00004060| 20 6e 6f 74 20 76 65 72 | 73 69 6f 6e 20 38 0a 58 | not ver|sion 8.X| |00004070| 20 20 20 20 69 66 20 74 | 65 73 74 20 2d 66 20 31 | if t|est -f 1| |00004080| 32 33 34 35 36 37 38 39 | 61 62 63 64 65 3b 20 74 |23456789|abcde; t| |00004090| 68 65 6e 0a 58 09 65 63 | 68 6f 20 27 59 6f 75 20 |hen.X.ec|ho 'You | |000040a0| 63 61 6e 6e 6f 74 20 68 | 61 76 65 20 66 69 6c 65 |cannot h|ave file| |000040b0| 6e 61 6d 65 73 20 6c 6f | 6e 67 65 72 20 74 68 61 |names lo|nger tha| |000040c0| 6e 20 31 34 20 63 68 61 | 72 61 63 74 65 72 73 2e |n 14 cha|racters.| |000040d0| 20 20 53 69 67 68 2e 27 | 0a 58 09 64 5f 66 6c 65 | Sigh.'|.X.d_fle| |000040e0| 78 66 6e 61 6d 3d 22 24 | 75 6e 64 65 66 22 0a 58 |xfnam="$|undef".X| |000040f0| 20 20 20 20 65 6c 73 65 | 0a 58 09 65 63 68 6f 20 | else|.X.echo | |00004100| 27 59 6f 75 20 63 61 6e | 20 68 61 76 65 20 66 69 |'You can| have fi| |00004110| 6c 65 6e 61 6d 65 73 20 | 6c 6f 6e 67 65 72 20 74 |lenames |longer t| |00004120| 68 61 6e 20 31 34 20 63 | 68 61 72 61 63 74 65 72 |han 14 c|haracter| |00004130| 73 2e 27 0a 58 09 64 5f | 66 6c 65 78 66 6e 61 6d |s.'.X.d_|flexfnam| |00004140| 3d 22 24 64 65 66 69 6e | 65 22 0a 58 20 20 20 20 |="$defin|e".X | |00004150| 66 69 0a 58 65 6c 73 65 | 0a 58 20 20 20 20 3a 20 |fi.Xelse|.X : | |00004160| 76 65 72 73 69 6f 6e 20 | 38 20 70 72 6f 62 61 62 |version |8 probab| |00004170| 6c 79 0a 58 20 20 20 20 | 65 63 68 6f 20 22 59 6f |ly.X |echo "Yo| |00004180| 75 20 63 61 6e 27 74 20 | 68 61 76 65 20 66 69 6c |u can't |have fil| |00004190| 65 6e 61 6d 65 73 20 6c | 6f 6e 67 65 72 20 74 68 |enames l|onger th| |000041a0| 61 6e 20 31 34 20 63 68 | 61 72 73 2e 20 20 56 38 |an 14 ch|ars. V8| |000041b0| 20 63 61 6e 27 74 20 65 | 76 65 6e 20 74 68 69 6e | can't e|ven thin| |000041c0| 6b 20 61 62 6f 75 74 20 | 74 68 65 6d 21 22 0a 58 |k about |them!".X| |000041d0| 20 20 20 20 64 5f 66 6c | 65 78 66 6e 61 6d 3d 22 | d_fl|exfnam="| |000041e0| 24 75 6e 64 65 66 22 0a | 58 66 69 20 0a 58 3a 20 |$undef".|Xfi .X: | |000041f0| 69 6e 64 65 78 20 6f 72 | 20 73 74 72 63 70 79 0a |index or| strcpy.| |00004200| 58 65 63 68 6f 20 22 20 | 22 0a 58 63 61 73 65 20 |Xecho " |".Xcase | |00004210| 22 24 64 5f 69 6e 64 65 | 78 22 20 69 6e 0a 58 6e |"$d_inde|x" in.Xn| |00004220| 29 20 64 66 6c 74 3d 6e | 3b 3b 0a 58 2a 29 20 64 |) dflt=n|;;.X*) d| |00004230| 66 6c 74 3d 79 3b 3b 0a | 58 65 73 61 63 0a 58 69 |flt=y;;.|Xesac.Xi| |00004240| 66 20 24 63 6f 6e 74 61 | 69 6e 73 20 27 5e 69 6e |f $conta|ins '^in| |00004250| 64 65 78 24 27 20 6c 69 | 62 63 2e 6c 69 73 74 20 |dex$' li|bc.list | |00004260| 3e 2f 64 65 76 2f 6e 75 | 6c 6c 20 32 3e 26 31 20 |>/dev/nu|ll 2>&1 | |00004270| 3b 20 74 68 65 6e 0a 58 | 20 20 20 20 69 66 20 24 |; then.X| if $| |00004280| 63 6f 6e 74 61 69 6e 73 | 20 27 5e 73 74 72 63 68 |contains| '^strch| |00004290| 72 24 27 20 6c 69 62 63 | 2e 6c 69 73 74 20 3e 2f |r$' libc|.list >/| |000042a0| 64 65 76 2f 6e 75 6c 6c | 20 32 3e 26 31 20 3b 20 |dev/null| 2>&1 ; | |000042b0| 74 68 65 6e 0a 58 09 65 | 63 68 6f 20 22 59 6f 75 |then.X.e|cho "You| |000042c0| 72 20 73 79 73 74 65 6d | 20 68 61 73 20 62 6f 74 |r system| has bot| |000042d0| 68 20 69 6e 64 65 78 28 | 29 20 61 6e 64 20 73 74 |h index(|) and st| |000042e0| 72 63 68 72 28 29 2e 20 | 20 53 68 61 6c 6c 20 49 |rchr(). | Shall I| |000042f0| 20 75 73 65 22 0a 58 09 | 72 70 3d 22 69 6e 64 65 | use".X.|rp="inde| |00004300| 78 28 29 20 72 61 74 68 | 65 72 20 74 68 61 6e 20 |x() rath|er than | |00004310| 73 74 72 63 68 72 28 29 | 3f 20 5b 24 64 66 6c 74 |strchr()|? [$dflt| |00004320| 5d 22 0a 58 09 24 65 63 | 68 6f 20 24 6e 20 22 24 |]".X.$ec|ho $n "$| |00004330| 72 70 20 24 63 22 0a 58 | 09 2e 20 6d 79 72 65 61 |rp $c".X|.. myrea| |00004340| 64 0a 58 09 63 61 73 65 | 20 22 24 61 6e 73 22 20 |d.X.case| "$ans" | |00004350| 69 6e 0a 58 09 20 20 20 | 20 6e 2a 29 20 64 5f 69 |in.X. | n*) d_i| |00004360| 6e 64 65 78 3d 22 24 64 | 65 66 69 6e 65 22 20 3b |ndex="$d|efine" ;| |00004370| 3b 0a 58 09 20 20 20 20 | 2a 29 20 20 64 5f 69 6e |;.X. |*) d_in| |00004380| 64 65 78 3d 22 24 75 6e | 64 65 66 22 20 3b 3b 0a |dex="$un|def" ;;.| |00004390| 58 09 65 73 61 63 0a 58 | 20 20 20 20 65 6c 73 65 |X.esac.X| else| |000043a0| 0a 58 09 64 5f 69 6e 64 | 65 78 3d 22 24 75 6e 64 |.X.d_ind|ex="$und| |000043b0| 65 66 22 0a 58 09 65 63 | 68 6f 20 22 69 6e 64 65 |ef".X.ec|ho "inde| |000043c0| 78 28 29 20 66 6f 75 6e | 64 2e 22 0a 58 20 20 20 |x() foun|d.".X | |000043d0| 20 66 69 0a 58 65 6c 73 | 65 0a 58 20 20 20 20 69 | fi.Xels|e.X i| |000043e0| 66 20 24 63 6f 6e 74 61 | 69 6e 73 20 27 5e 73 74 |f $conta|ins '^st| |000043f0| 72 63 68 72 24 27 20 6c | 69 62 63 2e 6c 69 73 74 |rchr$' l|ibc.list| |00004400| 20 3e 2f 64 65 76 2f 6e | 75 6c 6c 20 32 3e 26 31 | >/dev/n|ull 2>&1| |00004410| 20 3b 20 74 68 65 6e 0a | 58 09 64 5f 69 6e 64 65 | ; then.|X.d_inde| |00004420| 78 3d 22 24 64 65 66 69 | 6e 65 22 0a 58 09 65 63 |x="$defi|ne".X.ec| |00004430| 68 6f 20 22 73 74 72 63 | 68 72 28 29 20 66 6f 75 |ho "strc|hr() fou| |00004440| 6e 64 2e 22 0a 58 20 20 | 20 20 65 6c 73 65 0a 58 |nd.".X | else.X| |00004450| 09 65 63 68 6f 20 22 4e | 6f 20 69 6e 64 65 78 28 |.echo "N|o index(| |00004460| 29 20 6f 72 20 73 74 72 | 63 68 72 28 29 20 66 6f |) or str|chr() fo| |00004470| 75 6e 64 21 22 0a 58 09 | 64 5f 69 6e 64 65 78 3d |und!".X.|d_index=| |00004480| 22 24 75 6e 64 65 66 22 | 0a 58 20 20 20 20 66 69 |"$undef"|.X fi| |00004490| 0a 58 66 69 0a 58 0a 58 | 3a 20 73 65 65 20 69 66 |.Xfi.X.X|: see if| |000044a0| 20 73 69 67 6e 61 6c 20 | 69 73 20 64 65 63 6c 61 | signal |is decla| |000044b0| 72 65 64 20 61 73 20 70 | 6f 69 6e 74 65 72 20 74 |red as p|ointer t| |000044c0| 6f 20 66 75 6e 63 74 69 | 6f 6e 20 72 65 74 75 72 |o functi|on retur| |000044d0| 6e 69 6e 67 20 69 6e 74 | 20 6f 72 20 76 6f 69 64 |ning int| or void| |000044e0| 0a 58 65 63 68 6f 20 22 | 20 22 0a 58 69 66 20 24 |.Xecho "| ".Xif $| |000044f0| 63 6f 6e 74 61 69 6e 73 | 20 27 76 6f 69 64 2e 2a |contains| 'void.*| |00004500| 73 69 67 6e 61 6c 27 20 | 2f 75 73 72 2f 69 6e 63 |signal' |/usr/inc| |00004510| 6c 75 64 65 2f 73 69 67 | 6e 61 6c 2e 68 20 3e 2f |lude/sig|nal.h >/| |00004520| 64 65 76 2f 6e 75 6c 6c | 20 32 3e 26 31 20 3b 20 |dev/null| 2>&1 ; | |00004530| 74 68 65 6e 0a 58 20 20 | 20 20 65 63 68 6f 20 22 |then.X | echo "| |00004540| 59 6f 75 20 68 61 76 65 | 20 76 6f 69 64 20 28 2a |You have| void (*| |00004550| 73 69 67 6e 61 6c 28 29 | 29 28 29 20 69 6e 73 74 |signal()|)() inst| |00004560| 65 61 64 20 6f 66 20 69 | 6e 74 2e 22 0a 58 20 20 |ead of i|nt.".X | |00004570| 20 20 64 5f 76 6f 69 64 | 73 69 67 3d 22 24 64 65 | d_void|sig="$de| |00004580| 66 69 6e 65 22 0a 58 65 | 6c 73 65 0a 58 20 20 20 |fine".Xe|lse.X | |00004590| 20 65 63 68 6f 20 22 59 | 6f 75 20 68 61 76 65 20 | echo "Y|ou have | |000045a0| 69 6e 74 20 28 2a 73 69 | 67 6e 61 6c 28 29 29 28 |int (*si|gnal())(| |000045b0| 29 20 69 6e 73 74 65 61 | 64 20 6f 66 20 76 6f 69 |) instea|d of voi| |000045c0| 64 2e 22 0a 58 20 20 20 | 20 64 5f 76 6f 69 64 73 |d.".X | d_voids| |000045d0| 69 67 3d 22 24 75 6e 64 | 65 66 22 0a 58 66 69 0a |ig="$und|ef".Xfi.| |000045e0| 58 0a 58 3a 20 63 68 65 | 63 6b 20 66 6f 72 20 76 |X.X: che|ck for v| |000045f0| 6f 69 64 20 74 79 70 65 | 0a 58 65 63 68 6f 20 22 |oid type|.Xecho "| |00004600| 20 22 0a 58 24 63 61 74 | 20 3c 3c 45 4f 4d 0a 58 | ".X$cat| <<EOM.X| |00004610| 43 68 65 63 6b 69 6e 67 | 20 74 6f 20 73 65 65 20 |Checking| to see | |00004620| 68 6f 77 20 77 65 6c 6c | 20 79 6f 75 72 20 43 20 |how well| your C | |00004630| 63 6f 6d 70 69 6c 65 72 | 20 67 72 6f 6b 73 20 74 |compiler| groks t| |00004640| 68 65 20 76 6f 69 64 20 | 74 79 70 65 2e 2e 2e 0a |he void |type....| |00004650| 58 0a 58 20 20 53 75 70 | 70 6f 72 74 20 66 6c 61 |X.X Sup|port fla| |00004660| 67 20 62 69 74 73 20 61 | 72 65 3a 0a 58 20 20 20 |g bits a|re:.X | |00004670| 20 31 3a 20 62 61 73 69 | 63 20 76 6f 69 64 20 64 | 1: basi|c void d| |00004680| 65 63 6c 61 72 61 74 69 | 6f 6e 73 2e 0a 58 20 20 |eclarati|ons..X | |00004690| 20 20 32 3a 20 61 72 72 | 61 79 73 20 6f 66 20 70 | 2: arr|ays of p| |000046a0| 6f 69 6e 74 65 72 73 20 | 74 6f 20 66 75 6e 63 74 |ointers |to funct| |000046b0| 69 6f 6e 73 20 72 65 74 | 75 72 6e 69 6e 67 20 76 |ions ret|urning v| |000046c0| 6f 69 64 2e 0a 58 20 20 | 20 20 34 3a 20 6f 70 65 |oid..X | 4: ope| |000046d0| 72 61 74 69 6f 6e 73 20 | 62 65 74 77 65 65 6e 20 |rations |between | |000046e0| 70 6f 69 6e 74 65 72 73 | 20 74 6f 20 61 6e 64 20 |pointers| to and | |000046f0| 61 64 64 72 65 73 73 65 | 73 20 6f 66 20 76 6f 69 |addresse|s of voi| |00004700| 64 20 66 75 6e 63 74 69 | 6f 6e 73 2e 0a 58 0a 58 |d functi|ons..X.X| |00004710| 45 4f 4d 0a 58 63 61 73 | 65 20 22 24 76 6f 69 64 |EOM.Xcas|e "$void| |00004720| 66 6c 61 67 73 22 20 69 | 6e 0a 58 27 27 29 0a 58 |flags" i|n.X'').X| |00004730| 20 20 20 20 24 63 61 74 | 20 3e 74 72 79 2e 63 20 | $cat| >try.c | |00004740| 3c 3c 27 45 4f 43 50 27 | 0a 58 23 69 66 20 54 52 |<<'EOCP'|.X#if TR| |00004750| 59 20 26 20 31 0a 58 76 | 6f 69 64 20 6d 61 69 6e |Y & 1.Xv|oid main| |00004760| 28 29 20 7b 0a 58 23 65 | 6c 73 65 0a 58 6d 61 69 |() {.X#e|lse.Xmai| |00004770| 6e 28 29 20 7b 0a 58 23 | 65 6e 64 69 66 0a 58 09 |n() {.X#|endif.X.| |00004780| 65 78 74 65 72 6e 20 76 | 6f 69 64 20 2a 6d 6f 6f |extern v|oid *moo| |00004790| 28 29 3b 0a 58 09 76 6f | 69 64 20 2a 28 2a 67 6f |();.X.vo|id *(*go| |000047a0| 6f 29 28 29 3b 0a 58 23 | 69 66 20 54 52 59 20 26 |o)();.X#|if TRY &| |000047b0| 20 32 0a 58 09 76 6f 69 | 64 20 28 2a 66 6f 6f 5b | 2.X.voi|d (*foo[| |000047c0| 31 30 5d 29 28 29 3b 0a | 58 23 65 6e 64 69 66 0a |10])();.|X#endif.| |000047d0| 58 0a 58 23 69 66 20 54 | 52 59 20 26 20 34 0a 58 |X.X#if T|RY & 4.X| |000047e0| 09 69 66 28 2a 67 6f 6f | 20 3d 3d 20 6d 6f 6f 29 |.if(*goo| == moo)| |000047f0| 20 7b 0a 58 09 09 65 78 | 69 74 28 30 29 3b 0a 58 | {.X..ex|it(0);.X| |00004800| 09 7d 0a 58 23 65 6e 64 | 69 66 0a 58 09 65 78 69 |.}.X#end|if.X.exi| |00004810| 74 28 30 29 3b 0a 58 7d | 0a 58 45 4f 43 50 0a 58 |t(0);.X}|.XEOCP.X| |00004820| 20 20 20 20 69 66 20 63 | 63 20 2d 53 20 2d 44 54 | if c|c -S -DT| |00004830| 52 59 3d 37 20 74 72 79 | 2e 63 20 3e 2e 6f 75 74 |RY=7 try|.c >.out| |00004840| 20 32 3e 26 31 20 3b 20 | 74 68 65 6e 0a 58 09 76 | 2>&1 ; |then.X.v| |00004850| 6f 69 64 66 6c 61 67 73 | 3d 37 0a 58 09 65 63 68 |oidflags|=7.X.ech| |00004860| 6f 20 22 49 74 20 61 70 | 70 65 61 72 73 20 74 6f |o "It ap|pears to| |00004870| 20 73 75 70 70 6f 72 74 | 20 76 6f 69 64 20 66 75 | support| void fu| |00004880| 6c 6c 79 2e 22 0a 58 09 | 69 66 20 24 63 6f 6e 74 |lly.".X.|if $cont| |00004890| 61 69 6e 73 20 77 61 72 | 6e 69 6e 67 20 2e 6f 75 |ains war|ning .ou| |000048a0| 74 20 3e 2f 64 65 76 2f | 6e 75 6c 6c 20 32 3e 26 |t >/dev/|null 2>&| |000048b0| 31 3b 20 74 68 65 6e 0a | 58 09 20 20 20 20 65 63 |1; then.|X. ec| |000048c0| 68 6f 20 22 48 6f 77 65 | 76 65 72 2c 20 79 6f 75 |ho "Howe|ver, you| |000048d0| 20 6d 69 67 68 74 20 67 | 65 74 20 73 6f 6d 65 20 | might g|et some | |000048e0| 77 61 72 6e 69 6e 67 73 | 20 74 68 61 74 20 6c 6f |warnings| that lo| |000048f0| 6f 6b 20 6c 69 6b 65 20 | 74 68 69 73 3a 22 0a 58 |ok like |this:".X| |00004900| 09 20 20 20 20 24 63 61 | 74 20 2e 6f 75 74 0a 58 |. $ca|t .out.X| |00004910| 09 66 69 0a 58 20 20 20 | 20 65 6c 73 65 0a 58 09 |.fi.X | else.X.| |00004920| 65 63 68 6f 20 22 48 6d | 6d 2c 20 79 6f 75 20 63 |echo "Hm|m, you c| |00004930| 6f 6d 70 69 6c 65 72 20 | 68 61 73 20 73 6f 6d 65 |ompiler |has some| |00004940| 20 64 69 66 66 69 63 75 | 6c 74 79 20 77 69 74 68 | difficu|lty with| |00004950| 20 76 6f 69 64 2e 20 20 | 43 68 65 63 6b 69 6e 67 | void. |Checking| |00004960| 20 66 75 72 74 68 65 72 | 2e 2e 2e 22 0a 58 09 69 | further|...".X.i| |00004970| 66 20 63 63 20 2d 53 20 | 2d 44 54 52 59 3d 31 20 |f cc -S |-DTRY=1 | |00004980| 74 72 79 2e 63 20 3e 2f | 64 65 76 2f 6e 75 6c 6c |try.c >/|dev/null| |00004990| 20 32 3e 26 31 20 3b 20 | 74 68 65 6e 0a 58 09 20 | 2>&1 ; |then.X. | |000049a0| 20 20 20 65 63 68 6f 20 | 22 49 74 20 73 75 70 70 | echo |"It supp| |000049b0| 6f 72 74 73 20 31 2e 2e | 2e 22 0a 58 09 20 20 20 |orts 1..|.".X. | |000049c0| 20 69 66 20 63 63 20 2d | 53 20 2d 44 54 52 59 3d | if cc -|S -DTRY=| |000049d0| 33 20 74 72 79 2e 63 20 | 3e 2f 64 65 76 2f 6e 75 |3 try.c |>/dev/nu| |000049e0| 6c 6c 20 32 3e 26 31 20 | 3b 20 74 68 65 6e 0a 58 |ll 2>&1 |; then.X| |000049f0| 09 09 76 6f 69 64 66 6c | 61 67 73 3d 33 0a 58 09 |..voidfl|ags=3.X.| |00004a00| 09 65 63 68 6f 20 22 41 | 6e 64 20 69 74 20 73 75 |.echo "A|nd it su| |00004a10| 70 70 6f 72 74 73 20 32 | 20 62 75 74 20 6e 6f 74 |pports 2| but not| |00004a20| 20 34 2e 22 0a 58 09 20 | 20 20 20 65 6c 73 65 0a | 4.".X. | else.| |00004a30| 58 09 09 65 63 68 6f 20 | 22 49 74 20 64 6f 65 73 |X..echo |"It does| |00004a40| 6e 27 74 20 73 75 70 70 | 6f 72 74 20 32 2e 2e 2e |n't supp|ort 2...| |00004a50| 22 0a 58 09 09 69 66 20 | 63 63 20 2d 53 20 2d 44 |".X..if |cc -S -D| |00004a60| 54 52 59 3d 33 20 74 72 | 79 2e 63 20 3e 2f 64 65 |TRY=3 tr|y.c >/de| |00004a70| 76 2f 6e 75 6c 6c 20 32 | 3e 26 31 20 3b 20 74 68 |v/null 2|>&1 ; th| |00004a80| 65 6e 0a 58 09 09 20 20 | 20 20 76 6f 69 64 66 6c |en.X.. | voidfl| |00004a90| 61 67 73 3d 35 0a 58 09 | 09 20 20 20 20 65 63 68 |ags=5.X.|. ech| |00004aa0| 6f 20 22 42 75 74 20 69 | 74 20 73 75 70 70 6f 72 |o "But i|t suppor| |00004ab0| 74 73 20 34 2e 22 0a 58 | 09 09 65 6c 73 65 0a 58 |ts 4.".X|..else.X| |00004ac0| 09 09 20 20 20 20 76 6f | 69 64 66 6c 61 67 73 3d |.. vo|idflags=| |00004ad0| 31 0a 58 09 09 20 20 20 | 20 65 63 68 6f 20 22 41 |1.X.. | echo "A| |00004ae0| 6e 64 20 69 74 20 64 6f | 65 73 6e 27 74 20 73 75 |nd it do|esn't su| |00004af0| 70 70 6f 72 74 20 34 2e | 22 0a 58 09 09 66 69 0a |pport 4.|".X..fi.| |00004b00| 58 09 20 20 20 20 66 69 | 0a 58 09 65 6c 73 65 0a |X. fi|.X.else.| |00004b10| 58 09 20 20 20 20 65 63 | 68 6f 20 22 54 68 65 72 |X. ec|ho "Ther| |00004b20| 65 20 69 73 20 6e 6f 20 | 73 75 70 70 6f 72 74 20 |e is no |support | |00004b30| 61 74 20 61 6c 6c 20 66 | 6f 72 20 76 6f 69 64 2e |at all f|or void.| |00004b40| 22 0a 58 09 20 20 20 20 | 76 6f 69 64 66 6c 61 67 |".X. |voidflag| |00004b50| 73 3d 30 0a 58 09 66 69 | 0a 58 20 20 20 20 66 69 |s=0.X.fi|.X fi| |00004b60| 0a 58 65 73 61 63 0a 58 | 64 66 6c 74 3d 22 24 76 |.Xesac.X|dflt="$v| |00004b70| 6f 69 64 66 6c 61 67 73 | 22 3b 0a 58 72 70 3d 22 |oidflags|";.Xrp="| |00004b80| 59 6f 75 72 20 76 6f 69 | 64 20 73 75 70 70 6f 72 |Your voi|d suppor| |00004b90| 74 20 66 6c 61 67 73 20 | 61 64 64 20 75 70 20 74 |t flags |add up t| |00004ba0| 6f 20 77 68 61 74 3f 20 | 5b 24 64 66 6c 74 5d 22 |o what? |[$dflt]"| |00004bb0| 0a 58 24 65 63 68 6f 20 | 24 6e 20 22 24 72 70 20 |.X$echo |$n "$rp | |00004bc0| 24 63 22 0a 58 2e 20 6d | 79 72 65 61 64 0a 58 76 |$c".X. m|yread.Xv| |00004bd0| 6f 69 64 66 6c 61 67 73 | 3d 22 24 61 6e 73 22 0a |oidflags|="$ans".| |00004be0| 58 24 72 6d 20 2d 66 20 | 74 72 79 2e 2a 20 2e 6f |X$rm -f |try.* .o| |00004bf0| 75 74 0a 58 0a 58 3a 20 | 73 65 65 20 68 6f 77 20 |ut.X.X: |see how | |00004c00| 77 65 20 69 6e 76 6f 6b | 65 20 74 68 65 20 43 20 |we invok|e the C | |00004c10| 70 72 65 70 72 6f 63 65 | 73 73 6f 72 0a 58 65 63 |preproce|ssor.Xec| |00004c20| 68 6f 20 22 20 22 0a 58 | 65 63 68 6f 20 22 4e 6f |ho " ".X|echo "No| |00004c30| 77 2c 20 68 6f 77 20 63 | 61 6e 20 77 65 20 66 65 |w, how c|an we fe| |00004c40| 65 64 20 73 74 61 6e 64 | 61 72 64 20 69 6e 70 75 |ed stand|ard inpu| |00004c50| 74 20 74 6f 20 79 6f 75 | 72 20 43 20 70 72 65 70 |t to you|r C prep| |00004c60| 72 6f 63 65 73 73 6f 72 | 2e 2e 2e 22 0a 58 63 61 |rocessor|...".Xca| |00004c70| 74 20 3c 3c 27 45 4f 54 | 27 20 3e 74 65 73 74 63 |t <<'EOT|' >testc| |00004c80| 70 70 2e 63 0a 58 23 64 | 65 66 69 6e 65 20 41 42 |pp.c.X#d|efine AB| |00004c90| 43 20 61 62 63 0a 58 23 | 64 65 66 69 6e 65 20 58 |C abc.X#|define X| |00004ca0| 59 5a 20 78 79 7a 0a 58 | 41 42 43 2e 58 59 5a 0a |YZ xyz.X|ABC.XYZ.| |00004cb0| 58 45 4f 54 0a 58 65 63 | 68 6f 20 27 4d 61 79 62 |XEOT.Xec|ho 'Mayb| |00004cc0| 65 20 22 27 24 63 70 70 | 27 22 20 77 69 6c 6c 20 |e "'$cpp|'" will | |00004cd0| 77 6f 72 6b 2e 2e 2e 27 | 0a 58 24 63 70 70 20 3c |work...'|.X$cpp <| |00004ce0| 74 65 73 74 63 70 70 2e | 63 20 3e 74 65 73 74 63 |testcpp.|c >testc| |00004cf0| 70 70 2e 6f 75 74 20 32 | 3e 26 31 0a 58 69 66 20 |pp.out 2|>&1.Xif | |00004d00| 24 63 6f 6e 74 61 69 6e | 73 20 27 61 62 63 2e 78 |$contain|s 'abc.x| |00004d10| 79 7a 27 20 74 65 73 74 | 63 70 70 2e 6f 75 74 20 |yz' test|cpp.out | |00004d20| 3e 2f 64 65 76 2f 6e 75 | 6c 6c 20 32 3e 26 31 20 |>/dev/nu|ll 2>&1 | |00004d30| 3b 20 74 68 65 6e 0a 58 | 20 20 20 20 65 63 68 6f |; then.X| echo| |00004d40| 20 22 59 75 70 2c 20 69 | 74 20 64 6f 65 73 2e 22 | "Yup, i|t does."| |00004d50| 0a 58 20 20 20 20 63 70 | 70 73 74 64 69 6e 3d 22 |.X cp|pstdin="| |00004d60| 24 63 70 70 22 0a 58 20 | 20 20 20 63 70 70 6d 69 |$cpp".X | cppmi| |00004d70| 6e 75 73 3d 27 27 3b 0a | 58 65 6c 73 65 0a 58 20 |nus='';.|Xelse.X | |00004d80| 20 20 20 65 63 68 6f 20 | 27 4e 6f 70 65 2c 20 6d | echo |'Nope, m| |00004d90| 61 79 62 65 20 22 27 24 | 63 70 70 27 20 2d 22 20 |aybe "'$|cpp' -" | |00004da0| 77 69 6c 6c 20 77 6f 72 | 6b 2e 2e 2e 27 0a 58 20 |will wor|k...'.X | |00004db0| 20 20 20 24 63 70 70 20 | 2d 20 3c 74 65 73 74 63 | $cpp |- <testc| |00004dc0| 70 70 2e 63 20 3e 74 65 | 73 74 63 70 70 2e 6f 75 |pp.c >te|stcpp.ou| |00004dd0| 74 20 32 3e 26 31 0a 58 | 20 20 20 20 69 66 20 24 |t 2>&1.X| if $| |00004de0| 63 6f 6e 74 61 69 6e 73 | 20 27 61 62 63 2e 78 79 |contains| 'abc.xy| |00004df0| 7a 27 20 74 65 73 74 63 | 70 70 2e 6f 75 74 20 3e |z' testc|pp.out >| |00004e00| 2f 64 65 76 2f 6e 75 6c | 6c 20 32 3e 26 31 20 3b |/dev/nul|l 2>&1 ;| |00004e10| 20 74 68 65 6e 0a 58 09 | 65 63 68 6f 20 22 59 75 | then.X.|echo "Yu| |00004e20| 70 2c 20 69 74 20 64 6f | 65 73 2e 22 0a 58 09 63 |p, it do|es.".X.c| |00004e30| 70 70 73 74 64 69 6e 3d | 22 24 63 70 70 22 0a 58 |ppstdin=|"$cpp".X| |00004e40| 09 63 70 70 6d 69 6e 75 | 73 3d 27 2d 27 3b 0a 58 |.cppminu|s='-';.X| |00004e50| 20 20 20 20 65 6c 73 65 | 0a 58 09 65 63 68 6f 20 | else|.X.echo | |00004e60| 27 4e 6f 20 73 75 63 68 | 20 6c 75 63 6b 2e 2e 2e |'No such| luck...| |00004e70| 6d 61 79 62 65 20 22 63 | 63 20 2d 45 22 20 77 69 |maybe "c|c -E" wi| |00004e80| 6c 6c 20 77 6f 72 6b 2e | 2e 2e 27 0a 58 09 63 63 |ll work.|..'.X.cc| |00004e90| 20 2d 45 20 3c 74 65 73 | 74 63 70 70 2e 63 20 3e | -E <tes|tcpp.c >| |00004ea0| 74 65 73 74 63 70 70 2e | 6f 75 74 20 32 3e 26 31 |testcpp.|out 2>&1| |00004eb0| 0a 58 09 69 66 20 24 63 | 6f 6e 74 61 69 6e 73 20 |.X.if $c|ontains | |00004ec0| 27 61 62 63 2e 78 79 7a | 27 20 74 65 73 74 63 70 |'abc.xyz|' testcp| |00004ed0| 70 2e 6f 75 74 20 3e 2f | 64 65 76 2f 6e 75 6c 6c |p.out >/|dev/null| |00004ee0| 20 32 3e 26 31 20 3b 20 | 74 68 65 6e 0a 58 09 20 | 2>&1 ; |then.X. | |00004ef0| 20 20 20 65 63 68 6f 20 | 22 49 74 20 77 6f 72 6b | echo |"It work| |00004f00| 73 21 22 0a 58 09 20 20 | 20 20 63 70 70 73 74 64 |s!".X. | cppstd| |00004f10| 69 6e 3d 27 63 63 20 2d | 45 27 0a 58 09 20 20 20 |in='cc -|E'.X. | |00004f20| 20 63 70 70 6d 69 6e 75 | 73 3d 27 27 3b 0a 58 09 | cppminu|s='';.X.| |00004f30| 65 6c 73 65 0a 58 09 20 | 20 20 20 65 63 68 6f 20 |else.X. | echo | |00004f40| 27 4e 69 78 65 64 20 61 | 67 61 69 6e 2e 2e 2e 6d |'Nixed a|gain...m| |00004f50| 61 79 62 65 20 22 63 63 | 20 2d 45 20 2d 22 20 77 |aybe "cc| -E -" w| |00004f60| 69 6c 6c 20 77 6f 72 6b | 2e 2e 2e 27 0a 58 09 20 |ill work|...'.X. | |00004f70| 20 20 20 63 63 20 2d 45 | 20 2d 20 3c 74 65 73 74 | cc -E| - <test| |00004f80| 63 70 70 2e 63 20 3e 74 | 65 73 74 63 70 70 2e 6f |cpp.c >t|estcpp.o| |00004f90| 75 74 20 32 3e 26 31 0a | 58 09 20 20 20 20 69 66 |ut 2>&1.|X. if| |00004fa0| 20 24 63 6f 6e 74 61 69 | 6e 73 20 27 61 62 63 2e | $contai|ns 'abc.| |00004fb0| 78 79 7a 27 20 74 65 73 | 74 63 70 70 2e 6f 75 74 |xyz' tes|tcpp.out| |00004fc0| 20 3e 2f 64 65 76 2f 6e | 75 6c 6c 20 32 3e 26 31 | >/dev/n|ull 2>&1| |00004fd0| 20 3b 20 74 68 65 6e 0a | 58 09 09 65 63 68 6f 20 | ; then.|X..echo | |00004fe0| 22 48 6f 6f 72 61 79 2c | 20 69 74 20 77 6f 72 6b |"Hooray,| it work| |00004ff0| 73 21 20 20 49 20 77 61 | 73 20 62 65 67 69 6e 6e |s! I wa|s beginn| |00005000| 69 6e 67 20 74 6f 20 77 | 6f 6e 64 65 72 2e 22 0a |ing to w|onder.".| |00005010| 58 09 09 63 70 70 73 74 | 64 69 6e 3d 27 63 63 20 |X..cppst|din='cc | |00005020| 2d 45 27 0a 58 09 09 63 | 70 70 6d 69 6e 75 73 3d |-E'.X..c|ppminus=| |00005030| 27 2d 27 3b 0a 58 09 20 | 20 20 20 65 6c 73 65 0a |'-';.X. | else.| |00005040| 58 09 09 65 63 68 6f 20 | 27 4e 6f 70 65 2e 2e 2e |X..echo |'Nope...| |00005050| 6d 61 79 62 65 20 22 63 | 63 20 2d 50 22 20 77 69 |maybe "c|c -P" wi| |00005060| 6c 6c 20 77 6f 72 6b 2e | 2e 2e 27 0a 58 09 09 63 |ll work.|..'.X..c| |00005070| 63 20 2d 50 20 3c 74 65 | 73 74 63 70 70 2e 63 20 |c -P <te|stcpp.c | |00005080| 3e 74 65 73 74 63 70 70 | 2e 6f 75 74 20 32 3e 26 |>testcpp|.out 2>&| |00005090| 31 0a 58 09 09 69 66 20 | 24 63 6f 6e 74 61 69 6e |1.X..if |$contain| |000050a0| 73 20 27 61 62 63 2e 78 | 79 7a 27 20 74 65 73 74 |s 'abc.x|yz' test| |000050b0| 63 70 70 2e 6f 75 74 20 | 3e 2f 64 65 76 2f 6e 75 |cpp.out |>/dev/nu| |000050c0| 6c 6c 20 32 3e 26 31 20 | 3b 20 74 68 65 6e 0a 58 |ll 2>&1 |; then.X| |000050d0| 09 09 20 20 20 20 65 63 | 68 6f 20 22 59 75 70 2c |.. ec|ho "Yup,| |000050e0| 20 74 68 61 74 20 64 6f | 65 73 2e 22 0a 58 09 09 | that do|es.".X..| |000050f0| 20 20 20 20 63 70 70 73 | 74 64 69 6e 3d 27 63 63 | cpps|tdin='cc| |00005100| 20 2d 50 27 0a 58 09 09 | 20 20 20 20 63 70 70 6d | -P'.X..| cppm| |00005110| 69 6e 75 73 3d 27 27 3b | 0a 58 09 09 65 6c 73 65 |inus='';|.X..else| |00005120| 0a 58 09 09 20 20 20 20 | 65 63 68 6f 20 27 4e 6f |.X.. |echo 'No| |00005130| 70 65 2e 2e 2e 6d 61 79 | 62 65 20 22 63 63 20 2d |pe...may|be "cc -| |00005140| 50 20 2d 22 20 77 69 6c | 6c 20 77 6f 72 6b 2e 2e |P -" wil|l work..| |00005150| 2e 27 0a 58 09 09 20 20 | 20 20 63 63 20 2d 50 20 |.'.X.. | cc -P | |00005160| 2d 20 3c 74 65 73 74 63 | 70 70 2e 63 20 3e 74 65 |- <testc|pp.c >te| |00005170| 73 74 63 70 70 2e 6f 75 | 74 20 32 3e 26 31 0a 58 |stcpp.ou|t 2>&1.X| |00005180| 09 09 20 20 20 20 69 66 | 20 24 63 6f 6e 74 61 69 |.. if| $contai| |00005190| 6e 73 20 27 61 62 63 2e | 78 79 7a 27 20 74 65 73 |ns 'abc.|xyz' tes| |000051a0| 74 63 70 70 2e 6f 75 74 | 20 3e 2f 64 65 76 2f 6e |tcpp.out| >/dev/n| |000051b0| 75 6c 6c 20 32 3e 26 31 | 20 3b 20 74 68 65 6e 0a |ull 2>&1| ; then.| |000051c0| 58 09 09 09 65 63 68 6f | 20 22 59 75 70 2c 20 74 |X...echo| "Yup, t| |000051d0| 68 61 74 20 64 6f 65 73 | 2e 22 0a 58 09 09 09 63 |hat does|.".X...c| |000051e0| 70 70 73 74 64 69 6e 3d | 27 63 63 20 2d 50 27 0a |ppstdin=|'cc -P'.| |000051f0| 58 09 09 09 63 70 70 6d | 69 6e 75 73 3d 27 2d 27 |X...cppm|inus='-'| |00005200| 3b 0a 58 09 09 20 20 20 | 20 65 6c 73 65 0a 58 09 |;.X.. | else.X.| |00005210| 09 09 65 63 68 6f 20 27 | 48 6d 6d 2e 2e 2e 70 65 |..echo '|Hmm...pe| |00005220| 72 68 61 70 73 20 79 6f | 75 20 61 6c 72 65 61 64 |rhaps yo|u alread| |00005230| 79 20 74 6f 6c 64 20 6d | 65 2e 2e 2e 27 0a 58 09 |y told m|e...'.X.| |00005240| 09 09 63 61 73 65 20 22 | 24 63 70 70 73 74 64 69 |..case "|$cppstdi| |00005250| 6e 22 20 69 6e 0a 58 09 | 09 09 27 27 29 20 3b 3b |n" in.X.|..'') ;;| |00005260| 0a 58 09 09 09 2a 29 20 | 24 63 70 70 73 74 64 69 |.X...*) |$cppstdi| |00005270| 6e 20 24 63 70 70 6d 69 | 6e 75 73 20 3c 74 65 73 |n $cppmi|nus <tes| |00005280| 74 63 70 70 2e 63 20 3e | 74 65 73 74 63 70 70 2e |tcpp.c >|testcpp.| |00005290| 6f 75 74 20 32 3e 26 31 | 3b 3b 0a 58 09 09 09 65 |out 2>&1|;;.X...e| |000052a0| 73 61 63 0a 58 09 09 09 | 69 66 20 24 63 6f 6e 74 |sac.X...|if $cont| |000052b0| 61 69 6e 73 20 27 61 62 | 63 2e 78 79 7a 27 20 74 |ains 'ab|c.xyz' t| |000052c0| 65 73 74 63 70 70 2e 6f | 75 74 20 3e 2f 64 65 76 |estcpp.o|ut >/dev| |000052d0| 2f 6e 75 6c 6c 20 32 3e | 26 31 20 3b 20 74 68 65 |/null 2>|&1 ; the| |000052e0| 6e 0a 58 09 09 09 20 20 | 20 20 65 63 68 6f 20 22 |n.X... | echo "| |000052f0| 48 6f 6f 72 61 79 2c 20 | 79 6f 75 20 64 69 64 21 |Hooray, |you did!| |00005300| 20 20 49 20 77 61 73 20 | 62 65 67 69 6e 6e 69 6e | I was |beginnin| |00005310| 67 20 74 6f 20 77 6f 6e | 64 65 72 2e 22 0a 58 09 |g to won|der.".X.| |00005320| 09 09 65 6c 73 65 0a 58 | 09 09 09 20 20 20 20 65 |..else.X|... e| |00005330| 63 68 6f 20 27 55 68 2d | 75 68 2e 20 20 54 69 6d |cho 'Uh-|uh. Tim| |00005340| 65 20 74 6f 20 67 65 74 | 20 66 61 6e 63 79 2e 2e |e to get| fancy..| |00005350| 2e 27 0a 58 09 09 09 20 | 20 20 20 65 63 68 6f 20 |.'.X... | echo | |00005360| 27 54 72 79 69 6e 67 20 | 28 63 61 74 20 3e 2f 74 |'Trying |(cat >/t| |00005370| 6d 70 2f 24 24 2e 63 3b | 20 63 63 20 2d 45 20 2f |mp/$$.c;| cc -E /| |00005380| 74 6d 70 2f 24 24 2e 63 | 3b 20 72 6d 20 2f 74 6d |tmp/$$.c|; rm /tm| |00005390| 70 2f 24 24 2e 63 29 27 | 0a 58 09 09 09 20 20 20 |p/$$.c)'|.X... | |000053a0| 20 63 70 70 73 74 64 69 | 6e 3d 27 28 63 61 74 20 | cppstdi|n='(cat | |000053b0| 3e 2f 74 6d 70 2f 24 24 | 2e 63 3b 20 63 63 20 2d |>/tmp/$$|.c; cc -| |000053c0| 45 20 2f 74 6d 70 2f 24 | 24 2e 63 3b 20 72 6d 20 |E /tmp/$|$.c; rm | |000053d0| 2f 74 6d 70 2f 24 24 2e | 63 29 27 0a 58 09 09 09 |/tmp/$$.|c)'.X...| |000053e0| 20 20 20 20 63 70 70 6d | 69 6e 75 73 3d 27 27 3b | cppm|inus='';| |000053f0| 0a 58 09 09 09 20 20 20 | 20 24 63 70 70 73 74 64 |.X... | $cppstd| |00005400| 69 6e 20 3c 74 65 73 74 | 63 70 70 2e 63 20 3e 74 |in <test|cpp.c >t| |00005410| 65 73 74 63 70 70 2e 6f | 75 74 20 32 3e 26 31 0a |estcpp.o|ut 2>&1.| |00005420| 58 09 09 09 20 20 20 20 | 69 66 20 24 63 6f 6e 74 |X... |if $cont| |00005430| 61 69 6e 73 20 27 61 62 | 63 2e 78 79 7a 27 20 74 |ains 'ab|c.xyz' t| |00005440| 65 73 74 63 70 70 2e 6f | 75 74 20 3e 2f 64 65 76 |estcpp.o|ut >/dev| |00005450| 2f 6e 75 6c 6c 20 32 3e | 26 31 20 3b 20 74 68 65 |/null 2>|&1 ; the| |00005460| 6e 0a 58 09 09 09 09 65 | 63 68 6f 20 22 45 75 72 |n.X....e|cho "Eur| |00005470| 65 6b 61 21 2e 22 0a 58 | 09 09 09 20 20 20 20 65 |eka!.".X|... e| |00005480| 6c 73 65 0a 58 09 09 09 | 09 64 66 6c 74 3d 62 6c |lse.X...|.dflt=bl| |00005490| 75 72 66 6c 0a 58 09 09 | 09 09 24 65 63 68 6f 20 |urfl.X..|..$echo | |000054a0| 24 6e 20 22 4e 6f 20 64 | 69 63 65 2e 20 20 49 20 |$n "No d|ice. I | |000054b0| 63 61 6e 27 74 20 66 69 | 6e 64 20 61 20 43 20 70 |can't fi|nd a C p| |000054c0| 72 65 70 72 6f 63 65 73 | 73 6f 72 2e 20 20 4e 61 |reproces|sor. Na| |000054d0| 6d 65 20 6f 6e 65 3a 20 | 24 63 22 0a 58 09 09 09 |me one: |$c".X...| |000054e0| 09 72 70 3d 27 4e 61 6d | 65 20 61 20 43 20 70 72 |.rp='Nam|e a C pr| |000054f0| 65 70 72 6f 63 65 73 73 | 6f 72 3a 27 0a 58 09 09 |eprocess|or:'.X..| |00005500| 09 09 2e 20 6d 79 72 65 | 61 64 0a 58 09 09 09 09 |... myre|ad.X....| |00005510| 63 70 70 73 74 64 69 6e | 3d 22 24 61 6e 73 22 0a |cppstdin|="$ans".| |00005520| 58 09 09 09 09 24 63 70 | 70 73 74 64 69 6e 20 3c |X....$cp|pstdin <| |00005530| 74 65 73 74 63 70 70 2e | 63 20 3e 74 65 73 74 63 |testcpp.|c >testc| |00005540| 70 70 2e 6f 75 74 20 32 | 3e 26 31 0a 58 09 09 09 |pp.out 2|>&1.X...| |00005550| 09 69 66 20 24 63 6f 6e | 74 61 69 6e 73 20 27 61 |.if $con|tains 'a| |00005560| 62 63 2e 78 79 7a 27 20 | 74 65 73 74 63 70 70 2e |bc.xyz' |testcpp.| |00005570| 6f 75 74 20 3e 2f 64 65 | 76 2f 6e 75 6c 6c 20 32 |out >/de|v/null 2| |00005580| 3e 26 31 20 3b 20 74 68 | 65 6e 0a 58 09 09 09 09 |>&1 ; th|en.X....| |00005590| 20 20 20 20 65 63 68 6f | 20 22 4f 4b 2c 20 74 68 | echo| "OK, th| |000055a0| 61 74 20 77 69 6c 6c 20 | 64 6f 2e 22 0a 58 09 09 |at will |do.".X..| |000055b0| 09 09 65 6c 73 65 0a 58 | 09 09 09 09 20 20 20 20 |..else.X|.... | |000055c0| 65 63 68 6f 20 22 53 6f | 72 72 79 2c 20 49 20 63 |echo "So|rry, I c| |000055d0| 61 6e 27 74 20 67 65 74 | 20 74 68 61 74 20 74 6f |an't get| that to| |000055e0| 20 77 6f 72 6b 2e 20 20 | 47 6f 20 66 69 6e 64 20 | work. |Go find | |000055f0| 6f 6e 65 2e 22 0a 58 09 | 09 09 09 20 20 20 20 65 |one.".X.|... e| |00005600| 78 69 74 20 31 0a 58 09 | 09 09 09 66 69 0a 58 09 |xit 1.X.|...fi.X.| |00005610| 09 09 20 20 20 20 66 69 | 0a 58 09 09 09 66 69 0a |.. fi|.X...fi.| |00005620| 58 09 09 20 20 20 20 66 | 69 0a 58 09 09 66 69 0a |X.. f|i.X..fi.| |00005630| 58 09 20 20 20 20 66 69 | 0a 58 09 66 69 0a 58 20 |X. fi|.X.fi.X | |00005640| 20 20 20 66 69 0a 58 66 | 69 0a 58 72 6d 20 2d 66 | fi.Xf|i.Xrm -f| |00005650| 20 74 65 73 74 63 70 70 | 2e 63 20 74 65 73 74 63 | testcpp|.c testc| |00005660| 70 70 2e 6f 75 74 0a 58 | 0a 58 3a 20 67 65 74 20 |pp.out.X|.X: get | |00005670| 43 20 70 72 65 70 72 6f | 63 65 73 73 6f 72 20 73 |C prepro|cessor s| |00005680| 79 6d 62 6f 6c 73 20 68 | 61 6e 64 79 0a 58 65 63 |ymbols h|andy.Xec| |00005690| 68 6f 20 22 20 22 0a 58 | 65 63 68 6f 20 24 61 74 |ho " ".X|echo $at| |000056a0| 74 72 6c 69 73 74 20 7c | 20 24 74 72 20 27 5b 20 |trlist || $tr '[ | |000056b0| 2d 20 5d 27 20 27 5b 5c | 30 31 32 2d 5c 30 31 32 |- ]' '[\|012-\012| |000056c0| 5d 27 20 3e 43 70 70 73 | 79 6d 2e 6b 6e 6f 77 0a |]' >Cpps|ym.know.| |000056d0| 58 24 63 61 74 20 3c 3c | 45 4f 53 53 20 3e 43 70 |X$cat <<|EOSS >Cp| |000056e0| 70 73 79 6d 0a 58 24 73 | 74 61 72 74 73 68 0a 58 |psym.X$s|tartsh.X| |000056f0| 63 61 73 65 20 22 5c 24 | 31 22 20 69 6e 0a 58 2d |case "\$|1" in.X-| |00005700| 6c 29 20 6c 69 73 74 3d | 74 72 75 65 0a 58 20 20 |l) list=|true.X | |00005710| 20 20 73 68 69 66 74 0a | 58 20 20 20 20 3b 3b 0a | shift.|X ;;.| |00005720| 58 65 73 61 63 0a 58 75 | 6e 6b 6e 6f 77 6e 3d 27 |Xesac.Xu|nknown='| |00005730| 27 0a 58 63 61 73 65 20 | 22 5c 24 6c 69 73 74 5c |'.Xcase |"\$list\| |00005740| 24 23 22 20 69 6e 0a 58 | 31 7c 32 29 0a 58 20 20 |$#" in.X|1|2).X | |00005750| 20 20 66 6f 72 20 73 79 | 6d 20 64 6f 0a 58 09 69 | for sy|m do.X.i| |00005760| 66 20 24 63 6f 6e 74 61 | 69 6e 73 20 22 5e 5c 24 |f $conta|ins "^\$| |00005770| 31 24 22 20 43 70 70 73 | 79 6d 2e 74 72 75 65 20 |1$" Cpps|ym.true | |00005780| 3e 2f 64 65 76 2f 6e 75 | 6c 6c 20 32 3e 26 31 3b |>/dev/nu|ll 2>&1;| |00005790| 20 74 68 65 6e 0a 58 09 | 20 20 20 20 65 78 69 74 | then.X.| exit| |000057a0| 20 30 0a 58 09 65 6c 69 | 66 20 24 63 6f 6e 74 61 | 0.X.eli|f $conta| |000057b0| 69 6e 73 20 22 5e 5c 24 | 31 24 22 20 43 70 70 73 |ins "^\$|1$" Cpps| |000057c0| 79 6d 2e 6b 6e 6f 77 20 | 3e 2f 64 65 76 2f 6e 75 |ym.know |>/dev/nu| |000057d0| 6c 6c 20 32 3e 26 31 3b | 20 74 68 65 6e 0a 58 09 |ll 2>&1;| then.X.| |000057e0| 09 3a 0a 58 09 65 6c 73 | 65 0a 58 09 20 20 20 20 |.:.X.els|e.X. | |000057f0| 75 6e 6b 6e 6f 77 6e 3d | 22 5c 24 75 6e 6b 6e 6f |unknown=|"\$unkno| |00005800| 77 6e 20 5c 24 73 79 6d | 22 0a 58 09 66 69 0a 58 |wn \$sym|".X.fi.X| |00005810| 20 20 20 20 64 6f 6e 65 | 0a 58 20 20 20 20 73 65 | done|.X se| |00005820| 74 20 58 20 5c 24 75 6e | 6b 6e 6f 77 6e 0a 58 20 |t X \$un|known.X | |00005830| 20 20 20 73 68 69 66 74 | 0a 58 20 20 20 20 3b 3b | shift|.X ;;| |00005840| 0a 58 65 73 61 63 0a 58 | 63 61 73 65 20 5c 24 23 |.Xesac.X|case \$#| |00005850| 20 69 6e 0a 58 30 29 20 | 65 78 69 74 20 31 3b 3b | in.X0) |exit 1;;| |00005860| 0a 58 65 73 61 63 0a 58 | 65 63 68 6f 20 5c 24 2a |.Xesac.X|echo \$*| |00005870| 20 7c 20 24 74 72 20 27 | 5b 20 2d 20 5d 27 20 27 | | $tr '|[ - ]' '| |00005880| 5b 5c 30 31 32 2d 5c 30 | 31 32 5d 27 20 7c 20 24 |[\012-\0|12]' | $| |00005890| 73 65 64 20 2d 65 20 27 | 73 2f 5c 28 2e 2a 5c 29 |sed -e '|s/\(.*\)| |000058a0| 2f 5c 5c 0a 58 23 69 66 | 64 65 66 20 5c 31 5c 5c |/\\.X#if|def \1\\| |000058b0| 0a 58 65 78 69 74 20 30 | 3b 20 5f 20 5f 20 5f 20 |.Xexit 0|; _ _ _ | |000058c0| 5f 5c 31 5c 5c 09 20 5c | 31 5c 5c 0a 58 23 65 6e |_\1\\. \|1\\.X#en| |000058d0| 64 69 66 5c 5c 0a 58 2f | 27 20 3e 2f 74 6d 70 2f |dif\\.X/|' >/tmp/| |000058e0| 43 70 70 73 79 6d 5c 24 | 5c 24 0a 58 65 63 68 6f |Cppsym\$|\$.Xecho| |000058f0| 20 65 78 69 74 20 31 20 | 3e 3e 2f 74 6d 70 2f 43 | exit 1 |>>/tmp/C| |00005900| 70 70 73 79 6d 5c 24 5c | 24 0a 58 24 63 70 70 73 |ppsym\$\|$.X$cpps| |00005910| 74 64 69 6e 20 24 63 70 | 70 6d 69 6e 75 73 20 3c |tdin $cp|pminus <| |00005920| 2f 74 6d 70 2f 43 70 70 | 73 79 6d 5c 24 5c 24 20 |/tmp/Cpp|sym\$\$ | |00005930| 3e 2f 74 6d 70 2f 43 70 | 70 73 79 6d 32 5c 24 5c |>/tmp/Cp|psym2\$\| |00005940| 24 0a 58 63 61 73 65 20 | 22 5c 24 6c 69 73 74 22 |$.Xcase |"\$list"| |00005950| 20 69 6e 0a 58 74 72 75 | 65 29 20 61 77 6b 20 27 | in.Xtru|e) awk '| |00005960| 4e 46 20 3e 20 35 20 7b | 70 72 69 6e 74 20 73 75 |NF > 5 {|print su| |00005970| 62 73 74 72 28 5c 24 36 | 2c 32 2c 31 30 30 29 7d |bstr(\$6|,2,100)}| |00005980| 27 20 3c 2f 74 6d 70 2f | 43 70 70 73 79 6d 32 5c |' </tmp/|Cppsym2\| |00005990| 24 5c 24 20 3b 3b 0a 58 | 2a 29 0a 58 20 20 20 20 |$\$ ;;.X|*).X | |000059a0| 73 68 20 2f 74 6d 70 2f | 43 70 70 73 79 6d 32 5c |sh /tmp/|Cppsym2\| |000059b0| 24 5c 24 0a 58 20 20 20 | 20 73 74 61 74 75 73 3d |$\$.X | status=| |000059c0| 5c 24 3f 0a 58 20 20 20 | 20 3b 3b 0a 58 65 73 61 |\$?.X | ;;.Xesa| |000059d0| 63 0a 58 24 72 6d 20 2d | 66 20 2f 74 6d 70 2f 43 |c.X$rm -|f /tmp/C| |000059e0| 70 70 73 79 6d 5c 24 5c | 24 20 2f 74 6d 70 2f 43 |ppsym\$\|$ /tmp/C| |000059f0| 70 70 73 79 6d 32 5c 24 | 5c 24 0a 58 65 78 69 74 |ppsym2\$|\$.Xexit| |00005a00| 20 5c 24 73 74 61 74 75 | 73 0a 58 45 4f 53 53 0a | \$statu|s.XEOSS.| |00005a10| 58 63 68 6d 6f 64 20 2b | 78 20 43 70 70 73 79 6d |Xchmod +|x Cppsym| |00005a20| 0a 58 24 65 75 6e 69 63 | 65 66 69 78 20 43 70 70 |.X$eunic|efix Cpp| |00005a30| 73 79 6d 0a 58 65 63 68 | 6f 20 22 59 6f 75 72 20 |sym.Xech|o "Your | |00005a40| 43 20 70 72 65 70 72 6f | 63 65 73 73 6f 72 20 64 |C prepro|cessor d| |00005a50| 65 66 69 6e 65 73 20 74 | 68 65 20 66 6f 6c 6c 6f |efines t|he follo| |00005a60| 77 69 6e 67 20 73 79 6d | 62 6f 6c 73 3a 22 0a 58 |wing sym|bols:".X| |00005a70| 43 70 70 73 79 6d 20 2d | 6c 20 24 61 74 74 72 6c |Cppsym -|l $attrl| |00005a80| 69 73 74 20 3e 43 70 70 | 73 79 6d 2e 74 72 75 65 |ist >Cpp|sym.true| |00005a90| 0a 58 63 61 74 20 43 70 | 70 73 79 6d 2e 74 72 75 |.Xcat Cp|psym.tru| |00005aa0| 65 0a 58 72 6d 6c 69 73 | 74 3d 22 24 72 6d 6c 69 |e.Xrmlis|t="$rmli| |00005ab0| 73 74 20 43 70 70 73 79 | 6d 20 43 70 70 73 79 6d |st Cppsy|m Cppsym| |00005ac0| 2e 6b 6e 6f 77 20 43 70 | 70 73 79 6d 2e 74 72 75 |.know Cp|psym.tru| |00005ad0| 65 22 0a 58 0a 58 3a 20 | 73 65 65 20 68 6f 77 20 |e".X.X: |see how | |00005ae0| 6d 61 6e 79 20 72 65 67 | 69 73 74 65 72 20 64 65 |many reg|ister de| |00005af0| 63 6c 61 72 61 74 69 6f | 6e 73 20 77 65 20 77 61 |claratio|ns we wa| |00005b00| 6e 74 20 74 6f 20 75 73 | 65 0a 58 63 61 73 65 20 |nt to us|e.Xcase | |00005b10| 22 24 72 65 67 69 73 74 | 65 72 73 22 20 69 6e 0a |"$regist|ers" in.| |00005b20| 58 27 27 29 0a 58 20 20 | 20 20 69 66 20 43 70 70 |X'').X | if Cpp| |00005b30| 73 79 6d 20 76 61 78 3b | 20 74 68 65 6e 0a 58 09 |sym vax;| then.X.| |00005b40| 64 66 6c 74 3d 36 0a 58 | 20 20 20 20 65 6c 69 66 |dflt=6.X| elif| |00005b50| 20 43 70 70 73 79 6d 20 | 73 75 6e 20 6d 63 36 38 | Cppsym |sun mc68| |00005b60| 30 30 30 3b 20 74 68 65 | 6e 0a 58 09 64 66 6c 74 |000; the|n.X.dflt| |00005b70| 3d 31 30 0a 58 20 20 20 | 20 65 6c 69 66 20 43 70 |=10.X | elif Cp| |00005b80| 70 73 79 6d 20 70 79 72 | 3b 20 74 68 65 6e 0a 58 |psym pyr|; then.X| |00005b90| 09 64 66 6c 74 3d 31 34 | 0a 58 20 20 20 20 65 6c |.dflt=14|.X el| |00005ba0| 69 66 20 43 70 70 73 79 | 6d 20 6e 73 33 32 30 30 |if Cppsy|m ns3200| |00005bb0| 30 20 6e 73 31 36 30 30 | 30 3b 20 74 68 65 6e 0a |0 ns1600|0; then.| |00005bc0| 58 09 64 66 6c 74 3d 35 | 0a 58 20 20 20 20 65 6c |X.dflt=5|.X el| |00005bd0| 69 66 20 43 70 70 73 79 | 6d 20 24 73 6d 61 6c 6c |if Cppsy|m $small| |00005be0| 6d 61 63 68 3b 20 74 68 | 65 6e 0a 58 09 64 66 6c |mach; th|en.X.dfl| |00005bf0| 74 3d 33 0a 58 20 20 20 | 20 65 6c 73 65 0a 58 09 |t=3.X | else.X.| |00005c00| 3a 20 69 66 20 79 6f 75 | 20 68 61 76 65 20 61 6e |: if you| have an| |00005c10| 79 20 6f 74 68 65 72 20 | 6e 75 6d 62 65 72 73 20 |y other |numbers | |00005c20| 66 6f 72 20 6d 65 2c 20 | 73 65 6e 64 20 74 68 65 |for me, |send the| |00005c30| 6d 20 69 6e 0a 58 09 64 | 66 6c 74 3d 36 0a 58 20 |m in.X.d|flt=6.X | |00005c40| 20 20 20 66 69 0a 58 20 | 20 20 20 3b 3b 0a 58 2a | fi.X | ;;.X*| |00005c50| 29 20 20 64 66 6c 74 3d | 24 72 65 67 69 73 74 65 |) dflt=|$registe| |00005c60| 72 73 20 3b 3b 0a 58 65 | 73 61 63 0a 58 63 61 74 |rs ;;.Xe|sac.Xcat| |00005c70| 20 3c 3c 45 4f 4d 0a 58 | 20 0a 58 44 69 66 66 65 | <<EOM.X| .XDiffe| |00005c80| 72 65 6e 74 20 43 20 63 | 6f 6d 70 69 6c 65 72 73 |rent C c|ompilers| |00005c90| 20 6f 6e 20 64 69 66 66 | 65 72 65 6e 74 20 6d 61 | on diff|erent ma| |00005ca0| 63 68 69 6e 65 73 20 70 | 61 79 20 61 74 74 65 6e |chines p|ay atten| |00005cb0| 74 69 6f 6e 20 74 6f 20 | 64 69 66 66 65 72 65 6e |tion to |differen| |00005cc0| 74 0a 58 6e 75 6d 62 65 | 72 73 20 6f 66 20 72 65 |t.Xnumbe|rs of re| |00005cd0| 67 69 73 74 65 72 20 64 | 65 63 6c 61 72 61 74 69 |gister d|eclarati| |00005ce0| 6f 6e 73 2e 20 20 41 62 | 6f 75 74 20 68 6f 77 20 |ons. Ab|out how | |00005cf0| 6d 61 6e 79 20 72 65 67 | 69 73 74 65 72 20 64 65 |many reg|ister de| |00005d00| 63 6c 61 72 61 74 69 6f | 6e 73 20 69 6e 0a 58 45 |claratio|ns in.XE| |00005d10| 4f 4d 0a 58 24 65 63 68 | 6f 20 24 6e 20 22 65 61 |OM.X$ech|o $n "ea| |00005d20| 63 68 20 72 6f 75 74 69 | 6e 65 20 64 6f 65 73 20 |ch routi|ne does | |00005d30| 79 6f 75 72 20 43 20 63 | 6f 6d 70 69 6c 65 72 20 |your C c|ompiler | |00005d40| 70 61 79 20 61 74 74 65 | 6e 74 69 6f 6e 20 74 6f |pay atte|ntion to| |00005d50| 3f 20 28 4f 4b 20 74 6f | 20 67 75 65 73 73 29 20 |? (OK to| guess) | |00005d60| 5b 24 64 66 6c 74 5d 20 | 24 63 22 0a 58 72 70 3d |[$dflt] |$c".Xrp=| |00005d70| 22 23 20 72 65 67 69 73 | 74 65 72 20 64 65 63 6c |"# regis|ter decl| |00005d80| 61 72 61 74 69 6f 6e 73 | 20 75 73 65 64 3f 20 5b |arations| used? [| |00005d90| 24 64 66 6c 74 5d 22 0a | 58 2e 20 6d 79 72 65 61 |$dflt]".|X. myrea| |00005da0| 64 0a 58 72 65 67 69 73 | 74 65 72 73 3d 24 61 6e |d.Xregis|ters=$an| |00005db0| 73 0a 58 72 65 67 31 3d | 27 27 0a 58 61 77 6b 20 |s.Xreg1=|''.Xawk | |00005dc0| 22 42 45 47 49 4e 20 7b | 20 66 6f 72 20 28 69 3d |"BEGIN {| for (i=| |00005dd0| 31 3b 20 69 3c 3d 31 36 | 3b 20 69 2b 2b 29 20 70 |1; i<=16|; i++) p| |00005de0| 72 69 6e 74 66 20 5c 22 | 72 65 67 25 64 3d 27 27 |rintf \"|reg%d=''| |00005df0| 5c 6e 5c 22 2c 20 69 7d | 22 20 3c 2f 64 65 76 2f |\n\", i}|" </dev/| |00005e00| 6e 75 6c 6c 20 3e 2e 66 | 6f 6f 0a 58 2e 20 2e 66 |null >.f|oo.X. .f| |00005e10| 6f 6f 0a 58 61 77 6b 20 | 22 42 45 47 49 4e 20 7b |oo.Xawk |"BEGIN {| |00005e20| 20 66 6f 72 20 28 69 3d | 31 3b 20 69 3c 3d 24 72 | for (i=|1; i<=$r| |00005e30| 65 67 69 73 74 65 72 73 | 3b 20 69 2b 2b 29 20 70 |egisters|; i++) p| |00005e40| 72 69 6e 74 66 20 5c 22 | 72 65 67 25 64 3d 72 65 |rintf \"|reg%d=re| |00005e50| 67 69 73 74 65 72 5c 6e | 5c 22 2c 20 69 7d 22 20 |gister\n|\", i}" | |00005e60| 5c 0a 58 09 3c 2f 64 65 | 76 2f 6e 75 6c 6c 20 3e |\.X.</de|v/null >| |00005e70| 2e 66 6f 6f 0a 58 2e 20 | 2e 66 6f 6f 0a 58 72 6d |.foo.X. |.foo.Xrm| |00005e80| 20 2d 66 20 2e 66 6f 6f | 0a 58 0a 58 3a 20 70 72 | -f .foo|.X.X: pr| |00005e90| 65 73 65 72 76 65 20 52 | 43 53 20 6b 65 79 77 6f |eserve R|CS keywo| |00005ea0| 72 64 73 20 69 6e 20 66 | 69 6c 65 73 20 77 69 74 |rds in f|iles wit| |00005eb0| 68 20 76 61 72 69 61 62 | 6c 65 20 73 75 62 73 74 |h variab|le subst| |00005ec0| 69 74 75 74 69 6f 6e 2c | 20 67 72 72 72 0a 58 4c |itution,| grrr.XL| |00005ed0| 6f 67 3d 27 24 4c 6f 67 | 27 0a 58 48 65 61 64 65 |og='$Log|'.XHeade| |00005ee0| 72 3d 27 24 48 65 61 64 | 65 72 27 0a 58 0a 58 3a |r='$Head|er'.X.X:| |00005ef0| 20 73 65 74 20 75 70 20 | 73 68 65 6c 6c 20 73 63 | set up |shell sc| |00005f00| 72 69 70 74 20 74 6f 20 | 64 6f 20 7e 20 65 78 70 |ript to |do ~ exp| |00005f10| 61 6e 73 69 6f 6e 0a 58 | 63 61 74 20 3e 66 69 6c |ansion.X|cat >fil| |00005f20| 65 78 70 20 3c 3c 45 4f | 53 53 0a 58 24 73 74 61 |exp <<EO|SS.X$sta| |00005f30| 72 74 73 68 0a 58 3a 20 | 65 78 70 61 6e 64 20 66 |rtsh.X: |expand f| |00005f40| 69 6c 65 6e 61 6d 65 0a | 58 63 61 73 65 20 22 5c |ilename.|Xcase "\| |00005f50| 24 31 22 20 69 6e 0a 58 | 20 7e 2f 2a 7c 7e 29 0a |$1" in.X| ~/*|~).| |00005f60| 58 20 20 20 20 65 63 68 | 6f 20 5c 24 31 20 7c 20 |X ech|o \$1 | | |00005f70| 24 73 65 64 20 22 73 7c | 7e 7c 5c 24 7b 48 4f 4d |$sed "s||~|\${HOM| |00005f80| 45 2d 5c 24 4c 4f 47 44 | 49 52 7d 7c 22 0a 58 20 |E-\$LOGD|IR}|".X | |00005f90| 20 20 20 3b 3b 0a 58 20 | 7e 2a 29 0a 58 20 20 20 | ;;.X |~*).X | |00005fa0| 20 69 66 20 24 74 65 73 | 74 20 2d 66 20 2f 62 69 | if $tes|t -f /bi| |00005fb0| 6e 2f 63 73 68 3b 20 74 | 68 65 6e 0a 58 09 2f 62 |n/csh; t|hen.X./b| |00005fc0| 69 6e 2f 63 73 68 20 2d | 66 20 2d 63 20 22 67 6c |in/csh -|f -c "gl| |00005fd0| 6f 62 20 5c 24 31 22 0a | 58 09 65 63 68 6f 20 22 |ob \$1".|X.echo "| |00005fe0| 22 0a 58 20 20 20 20 65 | 6c 73 65 0a 58 09 6e 61 |".X e|lse.X.na| |00005ff0| 6d 65 3d 5c 60 24 65 78 | 70 72 20 78 5c 24 31 20 |me=\`$ex|pr x\$1 | |00006000| 3a 20 27 2e 2e 5c 28 5b | 5e 2f 5d 2a 5c 29 27 5c |: '..\([|^/]*\)'\| |00006010| 60 0a 58 09 64 69 72 3d | 5c 60 24 73 65 64 20 2d |`.X.dir=|\`$sed -| |00006020| 6e 20 2d 65 20 22 2f 5e | 5c 24 7b 6e 61 6d 65 7d |n -e "/^|\${name}| |00006030| 3a 2f 7b 73 2f 5e 5b 5e | 3a 5d 2a 3a 5b 5e 3a 5d |:/{s/^[^|:]*:[^:]| |00006040| 2a 3a 5b 5e 3a 5d 2a 3a | 5b 5e 3a 5d 2a 3a 5b 5e |*:[^:]*:|[^:]*:[^| |00006050| 3a 5d 2a 3a 5c 28 5b 5e | 3a 5d 2a 5c 29 2e 2a 22 |:]*:\([^|:]*\).*"| |00006060| 27 5c 24 27 22 2f 5c 31 | 2f 22 20 2d 65 20 70 20 |'\$'"/\1|/" -e p | |00006070| 2d 65 20 71 20 2d 65 20 | 27 7d 27 20 3c 2f 65 74 |-e q -e |'}' </et| |00006080| 63 2f 70 61 73 73 77 64 | 5c 60 0a 58 09 69 66 20 |c/passwd|\`.X.if | |00006090| 24 74 65 73 74 20 21 20 | 2d 64 20 22 5c 24 64 69 |$test ! |-d "\$di| |000060a0| 72 22 3b 20 74 68 65 6e | 0a 58 09 20 20 20 20 6d |r"; then|.X. m| |000060b0| 65 3d 5c 60 62 61 73 65 | 6e 61 6d 65 20 5c 24 30 |e=\`base|name \$0| |000060c0| 5c 60 0a 58 09 20 20 20 | 20 65 63 68 6f 20 22 5c |\`.X. | echo "\| |000060d0| 24 6d 65 3a 20 63 61 6e | 27 74 20 6c 6f 63 61 74 |$me: can|'t locat| |000060e0| 65 20 68 6f 6d 65 20 64 | 69 72 65 63 74 6f 72 79 |e home d|irectory| |000060f0| 20 66 6f 72 3a 20 5c 24 | 6e 61 6d 65 22 20 3e 26 | for: \$|name" >&| |00006100| 32 0a 58 09 20 20 20 20 | 65 78 69 74 20 31 0a 58 |2.X. |exit 1.X| |00006110| 09 66 69 0a 58 09 63 61 | 73 65 20 22 5c 24 31 22 |.fi.X.ca|se "\$1"| |00006120| 20 69 6e 0a 58 09 2a 2f | 2a 29 0a 58 09 20 20 20 | in.X.*/|*).X. | |00006130| 20 65 63 68 6f 20 5c 24 | 64 69 72 2f 5c 60 24 65 | echo \$|dir/\`$e| |00006140| 78 70 72 20 78 5c 24 31 | 20 3a 20 27 2e 2e 5b 5e |xpr x\$1| : '..[^| |00006150| 2f 5d 2a 2f 5c 28 2e 2a | 5c 29 27 5c 60 0a 58 09 |/]*/\(.*|\)'\`.X.| |00006160| 20 20 20 20 3b 3b 0a 58 | 09 2a 29 0a 58 09 20 20 | ;;.X|.*).X. | |00006170| 20 20 65 63 68 6f 20 5c | 24 64 69 72 0a 58 09 20 | echo \|$dir.X. | |00006180| 20 20 20 3b 3b 0a 58 09 | 65 73 61 63 0a 58 20 20 | ;;.X.|esac.X | |00006190| 20 20 66 69 0a 58 20 20 | 20 20 3b 3b 0a 58 2a 29 | fi.X | ;;.X*)| |000061a0| 0a 58 20 20 20 20 65 63 | 68 6f 20 5c 24 31 0a 58 |.X ec|ho \$1.X| |000061b0| 20 20 20 20 3b 3b 0a 58 | 65 73 61 63 0a 58 45 4f | ;;.X|esac.XEO| |000061c0| 53 53 0a 58 63 68 6d 6f | 64 20 2b 78 20 66 69 6c |SS.Xchmo|d +x fil| |000061d0| 65 78 70 0a 58 24 65 75 | 6e 69 63 65 66 69 78 20 |exp.X$eu|nicefix | |000061e0| 66 69 6c 65 78 70 0a 58 | 0a 58 3a 20 64 65 74 65 |filexp.X|.X: dete| |000061f0| 72 6d 69 6e 65 20 77 68 | 65 72 65 20 70 75 62 6c |rmine wh|ere publ| |00006200| 69 63 20 65 78 65 63 75 | 74 61 62 6c 65 73 20 67 |ic execu|tables g| |00006210| 6f 0a 58 63 61 73 65 20 | 22 24 62 69 6e 22 20 69 |o.Xcase |"$bin" i| |00006220| 6e 0a 58 27 27 29 0a 58 | 20 20 20 20 64 66 6c 74 |n.X'').X| dflt| |00006230| 3d 60 6c 6f 63 20 2e 20 | 2f 62 69 6e 20 2f 75 73 |=`loc . |/bin /us| |00006240| 72 2f 6c 6f 63 61 6c 2f | 62 69 6e 20 2f 75 73 72 |r/local/|bin /usr| |00006250| 2f 6c 62 69 6e 20 2f 75 | 73 72 2f 6c 6f 63 61 6c |/lbin /u|sr/local| |00006260| 20 2f 75 73 72 2f 62 69 | 6e 60 0a 58 20 20 20 20 | /usr/bi|n`.X | |00006270| 3b 3b 0a 58 2a 29 20 20 | 64 66 6c 74 3d 22 24 62 |;;.X*) |dflt="$b| |00006280| 69 6e 22 0a 58 20 20 20 | 20 3b 3b 0a 58 65 73 61 |in".X | ;;.Xesa| |00006290| 63 0a 58 63 6f 6e 74 3d | 74 72 75 65 0a 58 77 68 |c.Xcont=|true.Xwh| |000062a0| 69 6c 65 20 24 74 65 73 | 74 20 22 24 63 6f 6e 74 |ile $tes|t "$cont| |000062b0| 22 20 3b 20 64 6f 0a 58 | 20 20 20 20 65 63 68 6f |" ; do.X| echo| |000062c0| 20 22 20 22 0a 58 20 20 | 20 20 72 70 3d 22 57 68 | " ".X | rp="Wh| |000062d0| 65 72 65 20 64 6f 20 79 | 6f 75 20 77 61 6e 74 20 |ere do y|ou want | |000062e0| 74 6f 20 70 75 74 20 74 | 68 65 20 70 75 62 6c 69 |to put t|he publi| |000062f0| 63 20 65 78 65 63 75 74 | 61 62 6c 65 73 3f 20 5b |c execut|ables? [| |00006300| 24 64 66 6c 74 5d 22 0a | 58 20 20 20 20 24 65 63 |$dflt]".|X $ec| |00006310| 68 6f 20 24 6e 20 22 24 | 72 70 20 24 63 22 0a 58 |ho $n "$|rp $c".X| |00006320| 20 20 20 20 2e 20 6d 79 | 72 65 61 64 0a 58 20 20 | . my|read.X | |00006330| 20 20 62 69 6e 3d 22 24 | 61 6e 73 22 0a 58 20 20 | bin="$|ans".X | |00006340| 20 20 62 69 6e 3d 60 66 | 69 6c 65 78 70 20 24 62 | bin=`f|ilexp $b| |00006350| 69 6e 60 0a 58 20 20 20 | 20 69 66 20 74 65 73 74 |in`.X | if test| |00006360| 20 2d 64 20 24 62 69 6e | 3b 20 74 68 65 6e 0a 58 | -d $bin|; then.X| |00006370| 09 63 6f 6e 74 3d 27 27 | 0a 58 20 20 20 20 65 6c |.cont=''|.X el| |00006380| 73 65 0a 58 09 64 66 6c | 74 3d 6e 0a 58 09 72 70 |se.X.dfl|t=n.X.rp| |00006390| 3d 22 44 69 72 65 63 74 | 6f 72 79 20 24 62 69 6e |="Direct|ory $bin| |000063a0| 20 64 6f 65 73 6e 27 74 | 20 65 78 69 73 74 2e 20 | doesn't| exist. | |000063b0| 20 55 73 65 20 74 68 61 | 74 20 6e 61 6d 65 20 61 | Use tha|t name a| |000063c0| 6e 79 77 61 79 3f 20 5b | 24 64 66 6c 74 5d 22 0a |nyway? [|$dflt]".| |000063d0| 58 09 24 65 63 68 6f 20 | 24 6e 20 22 24 72 70 20 |X.$echo |$n "$rp | |000063e0| 24 63 22 0a 58 09 2e 20 | 6d 79 72 65 61 64 0a 58 |$c".X.. |myread.X| |000063f0| 09 64 66 6c 74 3d 27 27 | 0a 58 09 63 61 73 65 20 |.dflt=''|.X.case | +--------+-------------------------+-------------------------+--------+--------+ Only 25.0 KB of data is shown above.