home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: 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:28 EDT 1988"
| default
| |
99%
| file
| C source, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| 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| 32 38 20 45 44 54 20 31 | 39 38 38 0a 41 72 74 69 |28 EDT 1|988.Arti|
|00000080| 63 6c 65 20 31 30 30 39 | 20 6f 66 20 63 6f 6d 70 |cle 1009| 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 30 0a | 53 75 6d 6d 61 72 79 3a |tch #10.|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 38 40 64 65 |age-ID: |<2168@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 34 39 3a | 35 30 20 47 4d 54 0a 4f |8 23:49:|50 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 36 |ratory.L|ines: 16|
|00000220| 32 39 0a 0a 53 79 73 74 | 65 6d 3a 20 70 61 74 63 |29..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 | 30 0a 50 72 69 6f 72 69 |tch #: 1|0.Priori|
|00000250| 74 79 3a 20 4d 45 44 49 | 55 4d 0a 53 75 62 6a 65 |ty: MEDI|UM.Subje|
|00000260| 63 74 3a 20 6e 65 77 20 | 43 6f 6e 66 69 67 75 72 |ct: new |Configur|
|00000270| 65 20 66 6f 72 20 62 65 | 74 74 65 72 20 70 6f 72 |e for be|tter por|
|00000280| 74 61 62 69 6c 69 74 79 | 0a 53 75 62 6a 65 63 74 |tability|.Subject|
|00000290| 3a 20 69 6e 73 74 61 6c | 6c 61 74 69 6f 6e 20 73 |: instal|lation s|
|000002a0| 63 72 69 70 74 20 6e 65 | 65 64 73 20 74 6f 20 72 |cript ne|eds to r|
|000002b0| 65 6d 6f 76 65 20 6f 6c | 64 20 63 61 74 20 66 69 |emove ol|d cat fi|
|000002c0| 6c 65 73 20 6f 6e 20 73 | 6f 6d 65 20 73 79 73 74 |les on s|ome syst|
|000002d0| 65 6d 73 0a 53 75 62 6a | 65 63 74 3a 20 73 79 73 |ems.Subj|ect: sys|
|000002e0| 74 65 6d 73 20 77 69 74 | 68 6f 75 74 20 66 6c 65 |tems wit|hout fle|
|000002f0| 78 66 69 6c 65 6e 61 6d | 65 73 20 6e 6f 77 20 75 |xfilenam|es now u|
|00000300| 73 65 20 7e 20 6f 72 20 | 23 20 61 73 20 65 78 74 |se ~ or |# as ext|
|00000310| 65 6e 73 69 6f 6e 0a 53 | 75 62 6a 65 63 74 3a 20 |ension.S|ubject: |
|00000320| 2d 42 20 6c 65 74 73 20 | 79 6f 75 20 73 70 65 63 |-B lets |you spec|
|00000330| 69 66 79 20 61 20 62 61 | 63 6b 75 70 20 70 72 65 |ify a ba|ckup pre|
|00000340| 66 69 78 20 69 6e 73 74 | 65 61 64 20 6f 66 20 61 |fix inst|ead of a|
|00000350| 20 73 75 66 66 69 78 0a | 53 75 62 6a 65 63 74 3a | suffix.|Subject:|
|00000360| 20 73 6f 6d 65 20 6d 61 | 63 68 69 6e 65 73 20 64 | some ma|chines d|
|00000370| 6f 6e 27 74 20 6c 69 6b | 65 20 62 61 63 6b 73 6c |on't lik|e backsl|
|00000380| 61 73 68 2d 6e 65 77 6c | 69 6e 65 20 69 6e 20 64 |ash-newl|ine in d|
|00000390| 6f 75 62 6c 65 20 71 75 | 6f 74 65 73 0a 53 75 62 |ouble qu|otes.Sub|
|000003a0| 6a 65 63 74 3a 20 61 20 | 50 72 65 72 65 71 3a 20 |ject: a |Prereq: |
|000003b0| 77 6f 75 6c 64 6e 27 74 | 20 6d 61 74 63 68 20 66 |wouldn't| match f|
|000003c0| 69 72 73 74 20 74 68 69 | 6e 67 20 6f 6e 20 61 20 |irst thi|ng on a |
|000003d0| 6c 69 6e 65 0a 53 75 62 | 6a 65 63 74 3a 20 61 6e |line.Sub|ject: an|
|000003e0| 20 6d 61 6c 6c 6f 63 28 | 29 20 69 73 20 6e 6f 77 | malloc(|) is now|
|000003f0| 20 73 75 70 70 6c 69 65 | 64 0a 53 75 62 6a 65 63 | supplie|d.Subjec|
|00000400| 74 3a 20 65 78 69 74 20 | 63 6f 64 65 20 77 61 73 |t: exit |code was|
|00000410| 6e 27 74 20 73 65 74 20 | 70 72 6f 70 65 72 6c 79 |n't set |properly|
|00000420| 0a 53 75 62 6a 65 63 74 | 3a 20 73 69 67 6e 61 6c |.Subject|: signal|
|00000430| 73 20 63 6f 75 6c 64 20 | 67 65 74 20 70 65 72 6d |s could |get perm|
|00000440| 61 6e 65 6e 74 6c 79 20 | 69 67 6e 6f 72 65 64 0a |anently |ignored.|
|00000450| 53 75 62 6a 65 63 74 3a | 20 74 68 65 20 61 72 67 |Subject:| the arg|
|00000460| 75 6d 65 6e 74 20 74 6f | 20 2d 44 20 69 73 20 6e |ument to| -D is n|
|00000470| 6f 77 20 63 68 65 63 6b | 65 64 20 66 6f 72 20 73 |ow check|ed for s|
|00000480| 61 6e 69 74 79 0a 53 75 | 62 6a 65 63 74 3a 20 66 |anity.Su|bject: f|
|00000490| 69 78 65 64 20 73 6f 6d | 65 20 74 79 70 6f 73 20 |ixed som|e typos |
|000004a0| 69 6e 20 74 68 65 20 6d | 61 6e 75 61 6c 20 70 61 |in the m|anual pa|
|000004b0| 67 65 0a 53 75 62 6a 65 | 63 74 3a 20 63 61 6e 20 |ge.Subje|ct: can |
|000004c0| 6e 6f 77 20 65 78 74 72 | 61 63 74 20 70 61 74 63 |now extr|act patc|
|000004d0| 68 65 73 20 66 72 6f 6d | 20 73 68 61 72 20 66 69 |hes from| shar fi|
|000004e0| 6c 65 73 20 77 69 74 68 | 20 6c 65 61 64 69 6e 67 |les with| leading|
|000004f0| 20 58 0a 53 75 62 6a 65 | 63 74 3a 20 68 61 6e 64 | X.Subje|ct: hand|
|00000500| 6c 65 73 20 73 6f 6d 65 | 20 67 6e 75 20 64 69 66 |les some| gnu dif|
|00000510| 66 20 69 64 65 6f 73 79 | 6e 63 72 61 63 69 65 73 |f ideosy|ncracies|
|00000520| 0a 53 75 62 6a 65 63 74 | 3a 20 64 6f 75 62 6c 65 |.Subject|: double|
|00000530| 20 73 77 61 70 20 6f 66 | 20 66 69 72 73 74 20 68 | swap of| first h|
|00000540| 75 6e 6b 20 63 6f 75 6c | 64 20 63 61 75 73 65 20 |unk coul|d cause |
|00000550| 63 6f 72 65 20 64 75 6d | 70 0a 0a 44 65 73 63 72 |core dum|p..Descr|
|00000560| 69 70 74 69 6f 6e 3a 0a | 20 20 20 20 53 75 62 6a |iption:.| Subj|
|00000570| 65 63 74 3a 20 6e 65 77 | 20 43 6f 6e 66 69 67 75 |ect: new| Configu|
|00000580| 72 65 20 66 6f 72 20 62 | 65 74 74 65 72 20 70 6f |re for b|etter po|
|00000590| 72 74 61 62 69 6c 69 74 | 79 2e 0a 0a 09 4e 6f 77 |rtabilit|y....Now|
|000005a0| 20 62 61 73 65 64 20 6f | 6e 20 74 68 65 20 6c 61 | based o|n the la|
|000005b0| 74 65 73 74 20 76 65 72 | 73 69 6f 6e 20 6f 66 20 |test ver|sion of |
|000005c0| 6d 65 74 61 63 6f 6e 66 | 69 67 2c 20 77 68 69 63 |metaconf|ig, whic|
|000005d0| 68 20 6b 6e 6f 77 73 20 | 65 76 65 72 79 74 68 69 |h knows |everythi|
|000005e0| 6e 67 0a 09 49 20 6b 6e | 6f 77 20 61 62 6f 75 74 |ng..I kn|ow about|
|000005f0| 20 55 6e 69 78 20 70 6f | 72 74 61 62 69 6c 69 74 | Unix po|rtabilit|
|00000600| 79 2e 0a 0a 20 20 20 20 | 53 75 62 6a 65 63 74 3a |y... |Subject:|
|00000610| 20 69 6e 73 74 61 6c 6c | 61 74 69 6f 6e 20 73 63 | install|ation sc|
|00000620| 72 69 70 74 20 6e 65 65 | 64 73 20 74 6f 20 72 65 |ript nee|ds to re|
|00000630| 6d 6f 76 65 20 6f 6c 64 | 20 63 61 74 20 66 69 6c |move old| cat fil|
|00000640| 65 73 20 6f 6e 20 73 6f | 6d 65 0a 09 73 79 73 74 |es on so|me..syst|
|00000650| 65 6d 73 2e 0a 0a 09 53 | 6f 6d 65 20 73 79 73 74 |ems....S|ome syst|
|00000660| 65 6d 73 20 68 61 76 65 | 20 61 20 73 74 75 70 69 |ems have| a stupi|
|00000670| 64 20 6d 61 6e 20 63 6f | 6d 6d 61 6e 64 20 74 68 |d man co|mmand th|
|00000680| 61 74 20 64 6f 65 73 6e | 27 74 20 63 6f 6d 70 61 |at doesn|'t compa|
|00000690| 72 65 20 64 61 74 65 73 | 0a 09 62 65 74 77 65 65 |re dates|..betwee|
|000006a0| 6e 20 74 68 65 20 6d 61 | 6e 20 76 65 72 73 69 6f |n the ma|n versio|
|000006b0| 6e 20 61 6e 64 20 74 68 | 65 20 63 61 74 20 76 65 |n and th|e cat ve|
|000006c0| 72 73 69 6f 6e 2c 20 73 | 6f 20 74 68 65 20 63 61 |rsion, s|o the ca|
|000006d0| 74 20 76 65 72 73 69 6f | 6e 0a 09 68 61 73 20 74 |t versio|n..has t|
|000006e0| 6f 20 62 65 20 72 65 6d | 6f 76 65 64 20 61 74 20 |o be rem|oved at |
|000006f0| 69 6e 73 74 61 6c 6c 61 | 74 69 6f 6e 20 74 69 6d |installa|tion tim|
|00000700| 65 2e 0a 0a 20 20 20 20 | 53 75 62 6a 65 63 74 3a |e... |Subject:|
|00000710| 20 73 79 73 74 65 6d 73 | 20 77 69 74 68 6f 75 74 | systems| without|
|00000720| 20 66 6c 65 78 66 69 6c | 65 6e 61 6d 65 73 20 6e | flexfil|enames n|
|00000730| 6f 77 20 75 73 65 20 7e | 20 6f 72 20 23 20 61 73 |ow use ~| or # as|
|00000740| 20 65 78 74 65 6e 73 69 | 6f 6e 2e 0a 0a 09 53 79 | extensi|on....Sy|
|00000750| 73 74 65 6d 73 20 74 68 | 61 74 20 61 72 65 20 72 |stems th|at are r|
|00000760| 65 73 74 72 69 63 74 65 | 64 20 74 6f 20 31 34 20 |estricte|d to 14 |
|00000770| 63 68 61 72 61 63 74 65 | 72 20 66 69 6c 65 6e 61 |characte|r filena|
|00000780| 6d 65 73 20 6e 6f 77 20 | 77 69 6c 6c 20 6e 6f 74 |mes now |will not|
|00000790| 0a 09 66 69 6e 64 20 66 | 69 6c 65 73 20 64 69 73 |..find f|iles dis|
|000007a0| 61 70 70 65 61 72 69 6e | 67 20 62 65 63 61 75 73 |appearin|g becaus|
|000007b0| 65 20 74 68 65 79 20 72 | 65 73 6f 6c 76 65 20 74 |e they r|esolve t|
|000007c0| 6f 20 74 68 65 20 73 61 | 6d 65 20 6e 61 6d 65 2e |o the sa|me name.|
|000007d0| 0a 0a 20 20 20 20 53 75 | 62 6a 65 63 74 3a 20 2d |.. Su|bject: -|
|000007e0| 42 20 6c 65 74 73 20 79 | 6f 75 20 73 70 65 63 69 |B lets y|ou speci|
|000007f0| 66 79 20 61 20 62 61 63 | 6b 75 70 20 70 72 65 66 |fy a bac|kup pref|
|00000800| 69 78 20 69 6e 73 74 65 | 61 64 20 6f 66 20 61 20 |ix inste|ad of a |
|00000810| 73 75 66 66 69 78 2e 0a | 0a 09 54 68 69 73 20 61 |suffix..|..This a|
|00000820| 6c 73 6f 20 68 65 6c 70 | 73 20 74 68 65 20 31 34 |lso help|s the 14|
|00000830| 20 63 68 61 72 61 63 74 | 65 72 20 66 69 6c 65 6e | charact|er filen|
|00000840| 61 6d 65 20 70 72 6f 62 | 6c 65 6d 2e 20 20 49 74 |ame prob|lem. It|
|00000850| 20 61 6c 73 6f 20 6c 65 | 74 73 0a 09 79 6f 75 20 | also le|ts..you |
|00000860| 70 75 74 20 62 61 63 6b | 75 70 20 66 69 6c 65 73 |put back|up files|
|00000870| 20 69 6e 74 6f 20 61 20 | 73 75 62 64 69 72 65 63 | into a |subdirec|
|00000880| 74 6f 72 79 2e 0a 0a 20 | 20 20 20 53 75 62 6a 65 |tory... | Subje|
|00000890| 63 74 3a 20 73 6f 6d 65 | 20 6d 61 63 68 69 6e 65 |ct: some| machine|
|000008a0| 73 20 64 6f 6e 27 74 20 | 6c 69 6b 65 20 62 61 63 |s don't |like bac|
|000008b0| 6b 73 6c 61 73 68 2d 6e | 65 77 6c 69 6e 65 20 69 |kslash-n|ewline i|
|000008c0| 6e 20 64 6f 75 62 6c 65 | 20 71 75 6f 74 65 73 2e |n double| quotes.|
|000008d0| 0a 0a 09 57 68 61 74 20 | 63 61 6e 20 49 20 73 61 |...What |can I sa|
|000008e0| 79 3f 0a 0a 20 20 20 20 | 53 75 62 6a 65 63 74 3a |y?.. |Subject:|
|000008f0| 20 61 20 50 72 65 72 65 | 71 3a 20 77 6f 75 6c 64 | a Prere|q: would|
|00000900| 6e 27 74 20 6d 61 74 63 | 68 20 66 69 72 73 74 20 |n't matc|h first |
|00000910| 74 68 69 6e 67 20 6f 6e | 20 61 20 6c 69 6e 65 2e |thing on| a line.|
|00000920| 0a 0a 09 4e 6f 77 20 69 | 74 20 64 6f 65 73 2e 0a |...Now i|t does..|
|00000930| 0a 20 20 20 20 53 75 62 | 6a 65 63 74 3a 20 61 6e |. Sub|ject: an|
|00000940| 20 6d 61 6c 6c 6f 63 28 | 29 20 69 73 20 6e 6f 77 | malloc(|) is now|
|00000950| 20 73 75 70 70 6c 69 65 | 64 2e 0a 0a 09 4e 6f 20 | supplie|d....No |
|00000960| 70 61 72 74 69 63 75 6c | 61 72 20 72 65 61 73 6f |particul|ar reaso|
|00000970| 6e 2c 20 65 78 63 65 70 | 74 20 74 68 61 74 20 74 |n, excep|t that t|
|00000980| 68 65 20 6e 65 77 20 43 | 6f 6e 66 69 67 75 72 65 |he new C|onfigure|
|00000990| 20 6d 61 64 65 20 69 74 | 20 65 61 73 79 2e 0a 0a | made it| easy...|
|000009a0| 20 20 20 20 53 75 62 6a | 65 63 74 3a 20 65 78 69 | Subj|ect: exi|
|000009b0| 74 20 63 6f 64 65 20 77 | 61 73 6e 27 74 20 73 65 |t code w|asn't se|
|000009c0| 74 20 70 72 6f 70 65 72 | 6c 79 2e 0a 0a 09 4e 6f |t proper|ly....No|
|000009d0| 77 20 79 6f 75 20 63 61 | 6e 20 75 73 65 20 70 61 |w you ca|n use pa|
|000009e0| 74 63 68 20 69 6e 20 61 | 20 73 68 65 6c 6c 20 6c |tch in a| shell l|
|000009f0| 6f 6f 70 20 61 6e 64 20 | 73 74 6f 70 20 69 66 20 |oop and |stop if |
|00000a00| 73 6f 6d 65 74 68 69 6e | 67 20 67 6f 65 73 0a 09 |somethin|g goes..|
|00000a10| 77 72 6f 6e 67 2e 0a 0a | 20 20 20 20 53 75 62 6a |wrong...| Subj|
|00000a20| 65 63 74 3a 20 73 69 67 | 6e 61 6c 73 20 63 6f 75 |ect: sig|nals cou|
|00000a30| 6c 64 20 67 65 74 20 70 | 65 72 6d 61 6e 65 6e 74 |ld get p|ermanent|
|00000a40| 6c 79 20 69 67 6e 6f 72 | 65 64 2e 0a 0a 09 49 74 |ly ignor|ed....It|
|00000a50| 20 6e 6f 77 20 72 65 6d | 65 6d 62 65 72 73 20 62 | now rem|embers b|
|00000a60| 65 74 74 65 72 20 77 68 | 61 74 20 74 68 65 20 6f |etter wh|at the o|
|00000a70| 72 69 67 69 6e 61 6c 20 | 73 69 67 6e 61 6c 73 20 |riginal |signals |
|00000a80| 68 61 6e 64 6c 65 72 73 | 20 77 65 72 65 2e 0a 0a |handlers| were...|
|00000a90| 20 20 20 20 53 75 62 6a | 65 63 74 3a 20 74 68 65 | Subj|ect: the|
|00000aa0| 20 61 72 67 75 6d 65 6e | 74 20 74 6f 20 2d 44 20 | argumen|t to -D |
|00000ab0| 69 73 20 6e 6f 77 20 63 | 68 65 63 6b 65 64 20 66 |is now c|hecked f|
|00000ac0| 6f 72 20 73 61 6e 69 74 | 79 2e 0a 0a 09 49 66 20 |or sanit|y....If |
|00000ad0| 79 6f 75 20 63 6f 6e 66 | 75 73 65 64 20 2d 64 20 |you conf|used -d |
|00000ae0| 61 6e 64 20 2d 44 2c 20 | 79 6f 75 20 63 6f 75 6c |and -D, |you coul|
|00000af0| 64 20 6d 61 6b 65 20 79 | 6f 75 72 20 70 72 6f 67 |d make y|our prog|
|00000b00| 72 61 6d 20 75 6e 70 61 | 72 73 65 61 62 6c 65 0a |ram unpa|rseable.|
|00000b10| 09 62 79 20 74 68 65 20 | 43 20 70 72 65 70 72 6f |.by the |C prepro|
|00000b20| 63 65 73 73 6f 72 2e 0a | 0a 20 20 20 20 53 75 62 |cessor..|. Sub|
|00000b30| 6a 65 63 74 3a 20 63 61 | 6e 20 6e 6f 77 20 65 78 |ject: ca|n now ex|
|00000b40| 74 72 61 63 74 20 70 61 | 74 63 68 65 73 20 66 72 |tract pa|tches fr|
|00000b50| 6f 6d 20 73 68 61 72 20 | 66 69 6c 65 73 20 77 69 |om shar |files wi|
|00000b60| 74 68 20 6c 65 61 64 69 | 6e 67 20 58 2e 0a 0a 09 |th leadi|ng X....|
|00000b70| 41 6e 20 58 20 69 73 20 | 74 72 65 61 74 65 64 20 |An X is |treated |
|00000b80| 6c 69 6b 65 20 61 20 73 | 70 61 63 65 20 6f 72 20 |like a s|pace or |
|00000b90| 74 61 62 20 6f 6e 20 74 | 68 65 20 66 72 6f 6e 74 |tab on t|he front|
|00000ba0| 20 6f 66 20 61 20 70 61 | 74 63 68 20 6e 6f 77 2e | of a pa|tch now.|
|00000bb0| 0a 09 54 68 65 72 65 20 | 6d 75 73 74 20 62 65 20 |..There |must be |
|00000bc0| 61 20 63 6f 6e 73 69 73 | 74 65 6e 74 20 6e 75 6d |a consis|tent num|
|00000bd0| 62 65 72 20 6f 66 20 74 | 68 65 6d 20 66 6f 72 20 |ber of t|hem for |
|00000be0| 74 68 65 20 64 75 72 61 | 74 69 6f 6e 20 6f 66 0a |the dura|tion of.|
|00000bf0| 09 74 68 65 20 64 69 66 | 66 2c 20 68 6f 77 65 76 |.the dif|f, howev|
|00000c00| 65 72 2e 0a 0a 20 20 20 | 20 53 75 62 6a 65 63 74 |er... | Subject|
|00000c10| 3a 20 68 61 6e 64 6c 65 | 73 20 73 6f 6d 65 20 67 |: handle|s some g|
|00000c20| 6e 75 20 64 69 66 66 20 | 69 64 65 6f 73 79 6e 63 |nu diff |ideosync|
|00000c30| 72 61 63 69 65 73 2e 0a | 0a 09 47 6e 75 20 64 69 |racies..|..Gnu di|
|00000c40| 66 66 20 73 61 79 73 20 | 30 2c 30 20 69 6e 73 74 |ff says |0,0 inst|
|00000c50| 65 61 64 20 6f 66 20 30 | 2e 0a 0a 20 20 20 20 53 |ead of 0|... S|
|00000c60| 75 62 6a 65 63 74 3a 20 | 64 6f 75 62 6c 65 20 73 |ubject: |double s|
|00000c70| 77 61 70 20 6f 66 20 66 | 69 72 73 74 20 68 75 6e |wap of f|irst hun|
|00000c80| 6b 20 63 6f 75 6c 64 20 | 63 61 75 73 65 20 63 6f |k could |cause co|
|00000c90| 72 65 20 64 75 6d 70 2e | 0a 0a 09 49 66 20 61 6e |re dump.|...If an|
|00000ca0| 20 69 6e 69 74 69 61 6c | 20 68 75 6e 6b 20 64 69 | initial| hunk di|
|00000cb0| 64 6e 27 74 20 6d 61 74 | 63 68 2c 20 77 61 73 20 |dn't mat|ch, was |
|00000cc0| 73 77 61 70 70 65 64 20 | 74 6f 20 74 72 79 20 2d |swapped |to try -|
|00000cd0| 52 2c 20 74 68 65 6e 0a | 09 73 77 61 70 70 65 64 |R, then.|.swapped|
|00000ce0| 20 62 61 63 6b 20 61 6e | 64 20 61 70 70 6c 69 65 | back an|d applie|
|00000cf0| 64 20 77 69 74 68 20 61 | 20 66 75 7a 7a 20 66 61 |d with a| fuzz fa|
|00000d00| 63 74 6f 72 2c 20 74 68 | 65 72 65 20 63 6f 75 6c |ctor, th|ere coul|
|00000d10| 64 20 62 65 0a 09 61 20 | 64 75 70 6c 69 63 61 74 |d be..a |duplicat|
|00000d20| 65 20 66 72 65 65 28 29 | 2e 0a 0a 46 69 78 3a 09 |e free()|...Fix:.|
|00000d30| 59 6f 75 20 6e 65 65 64 | 20 74 6f 20 62 6f 74 68 |You need| to both|
|00000d40| 20 74 68 69 73 20 70 61 | 74 63 68 20 61 6e 64 20 | this pa|tch and |
|00000d50| 74 68 65 20 6e 65 78 74 | 20 6f 6e 65 2e 0a 0a 09 |the next| one....|
|00000d60| 46 72 6f 6d 20 72 6e 2c | 20 73 61 79 20 22 7c 20 |From rn,| say "| |
|00000d70| 70 61 74 63 68 20 2d 70 | 20 2d 4e 20 2d 64 20 44 |patch -p| -N -d D|
|00000d80| 49 52 22 2c 20 77 68 65 | 72 65 20 44 49 52 20 69 |IR", whe|re DIR i|
|00000d90| 73 20 79 6f 75 72 20 70 | 61 74 63 68 20 73 6f 75 |s your p|atch sou|
|00000da0| 72 63 65 0a 09 64 69 72 | 65 63 74 6f 72 79 2e 20 |rce..dir|ectory. |
|00000db0| 20 4f 75 74 73 69 64 65 | 20 6f 66 20 72 6e 2c 20 | Outside| of rn, |
|00000dc0| 73 61 79 20 22 63 64 20 | 44 49 52 3b 20 70 61 74 |say "cd |DIR; pat|
|00000dd0| 63 68 20 2d 70 20 2d 4e | 20 3c 74 68 69 73 61 72 |ch -p -N| <thisar|
|00000de0| 74 69 63 6c 65 22 2e 0a | 09 49 66 20 79 6f 75 20 |ticle"..|.If you |
|00000df0| 64 6f 6e 27 74 20 68 61 | 76 65 20 74 68 65 20 70 |don't ha|ve the p|
|00000e00| 61 74 63 68 20 70 72 6f | 67 72 61 6d 2c 20 61 70 |atch pro|gram, ap|
|00000e10| 70 6c 79 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |ply the |followin|
|00000e20| 67 20 62 79 20 68 61 6e | 64 2c 0a 09 6f 72 20 67 |g by han|d,..or g|
|00000e30| 65 74 20 70 61 74 63 68 | 20 28 76 65 72 73 69 6f |et patch| (versio|
|00000e40| 6e 20 32 2e 30 2c 20 6c | 61 74 65 73 74 20 70 61 |n 2.0, l|atest pa|
|00000e50| 74 63 68 6c 65 76 65 6c | 29 2e 0a 0a 09 41 66 74 |tchlevel|)....Aft|
|00000e60| 65 72 20 61 70 70 6c 79 | 69 6e 67 3a 0a 09 09 44 |er apply|ing:...D|
|00000e70| 4f 20 4e 4f 54 20 52 45 | 43 4f 4d 50 49 4c 45 0a |O NOT RE|COMPILE.|
|00000e80| 09 09 41 70 70 6c 79 20 | 70 61 74 63 68 20 31 31 |..Apply |patch 11|
|00000e90| 2c 20 77 68 69 63 68 20 | 69 73 20 61 20 73 68 61 |, which |is a sha|
|00000ea0| 72 2c 20 6e 6f 74 20 61 | 20 6e 6f 72 6d 61 6c 20 |r, not a| normal |
|00000eb0| 70 61 74 63 68 2e 0a 0a | 09 49 66 20 70 61 74 63 |patch...|.If patc|
|00000ec0| 68 20 69 6e 64 69 63 61 | 74 65 73 20 74 68 61 74 |h indica|tes that|
|00000ed0| 20 70 61 74 63 68 6c 65 | 76 65 6c 20 69 73 20 74 | patchle|vel is t|
|00000ee0| 68 65 20 77 72 6f 6e 67 | 20 76 65 72 73 69 6f 6e |he wrong| version|
|00000ef0| 2c 20 79 6f 75 20 6d 61 | 79 20 6e 65 65 64 0a 09 |, you ma|y need..|
|00000f00| 74 6f 20 61 70 70 6c 79 | 20 6f 6e 65 20 6f 72 20 |to apply| one or |
|00000f10| 6d 6f 72 65 20 70 72 65 | 76 69 6f 75 73 20 70 61 |more pre|vious pa|
|00000f20| 74 63 68 65 73 2c 20 6f | 72 20 74 68 65 20 70 61 |tches, o|r the pa|
|00000f30| 74 63 68 20 6d 61 79 20 | 61 6c 72 65 61 64 79 0a |tch may |already.|
|00000f40| 09 68 61 76 65 20 62 65 | 65 6e 20 61 70 70 6c 69 |.have be|en appli|
|00000f50| 65 64 2e 20 20 53 65 65 | 20 74 68 65 20 70 61 74 |ed. See| the pat|
|00000f60| 63 68 6c 65 76 65 6c 2e | 68 20 66 69 6c 65 20 74 |chlevel.|h file t|
|00000f70| 6f 20 66 69 6e 64 20 6f | 75 74 20 77 68 61 74 20 |o find o|ut what |
|00000f80| 68 61 73 20 6f 72 0a 09 | 68 61 73 20 6e 6f 74 20 |has or..|has not |
|00000f90| 62 65 65 6e 20 61 70 70 | 6c 69 65 64 2e 20 20 49 |been app|lied. I|
|00000fa0| 6e 20 61 6e 79 20 65 76 | 65 6e 74 2c 20 64 6f 6e |n any ev|ent, don|
|00000fb0| 27 74 20 63 6f 6e 74 69 | 6e 75 65 20 77 69 74 68 |'t conti|nue with|
|00000fc0| 20 74 68 65 20 70 61 74 | 63 68 2e 0a 0a 09 49 66 | the pat|ch....If|
|00000fd0| 20 79 6f 75 20 61 72 65 | 20 6d 69 73 73 69 6e 67 | you are| missing|
|00000fe0| 20 70 72 65 76 69 6f 75 | 73 20 70 61 74 63 68 65 | previou|s patche|
|00000ff0| 73 20 74 68 65 79 20 63 | 61 6e 20 62 65 20 6f 62 |s they c|an be ob|
|00001000| 74 61 69 6e 65 64 20 66 | 72 6f 6d 20 6d 65 3a 0a |tained f|rom me:.|
|00001010| 0a 09 4c 61 72 72 79 20 | 57 61 6c 6c 0a 09 6c 77 |..Larry |Wall..lw|
|00001020| 61 6c 6c 40 6a 70 6c 2d | 64 65 76 76 61 78 2e 6a |all@jpl-|devvax.j|
|00001030| 70 6c 2e 6e 61 73 61 2e | 67 6f 76 0a 0a 09 49 66 |pl.nasa.|gov...If|
|00001040| 20 79 6f 75 20 73 65 6e | 64 20 61 20 6d 61 69 6c | you sen|d a mail|
|00001050| 20 6d 65 73 73 61 67 65 | 20 6f 66 20 74 68 65 20 | message| of the |
|00001060| 66 6f 6c 6c 6f 77 69 6e | 67 20 66 6f 72 6d 20 69 |followin|g form i|
|00001070| 74 20 77 69 6c 6c 20 67 | 72 65 61 74 6c 79 20 73 |t will g|reatly s|
|00001080| 70 65 65 64 0a 09 70 72 | 6f 63 65 73 73 69 6e 67 |peed..pr|ocessing|
|00001090| 3a 0a 0a 09 53 75 62 6a | 65 63 74 3a 20 43 6f 6d |:...Subj|ect: Com|
|000010a0| 6d 61 6e 64 0a 09 40 53 | 48 20 6d 61 69 6c 70 61 |mand..@S|H mailpa|
|000010b0| 74 63 68 20 50 41 54 48 | 20 70 61 74 63 68 20 32 |tch PATH| patch 2|
|000010c0| 2e 30 20 4c 49 53 54 0a | 09 09 20 20 20 5e 20 6e |.0 LIST.|.. ^ n|
|000010d0| 6f 74 65 20 74 68 65 20 | 63 0a 0a 09 77 68 65 72 |ote the |c...wher|
|000010e0| 65 20 50 41 54 48 20 69 | 73 20 61 20 72 65 74 75 |e PATH i|s a retu|
|000010f0| 72 6e 20 70 61 74 68 20 | 46 52 4f 4d 20 4d 45 20 |rn path |FROM ME |
|00001100| 54 4f 20 59 4f 55 20 69 | 6e 20 49 6e 74 65 72 6e |TO YOU i|n Intern|
|00001110| 65 74 20 6e 6f 74 61 74 | 69 6f 6e 2c 20 61 6e 64 |et notat|ion, and|
|00001120| 0a 09 4c 49 53 54 20 69 | 73 20 74 68 65 20 6e 75 |..LIST i|s the nu|
|00001130| 6d 62 65 72 20 6f 66 20 | 6f 6e 65 20 6f 72 20 6d |mber of |one or m|
|00001140| 6f 72 65 20 70 61 74 63 | 68 65 73 20 79 6f 75 20 |ore patc|hes you |
|00001150| 6e 65 65 64 2c 20 73 65 | 70 61 72 61 74 65 64 20 |need, se|parated |
|00001160| 62 79 20 73 70 61 63 65 | 73 2c 0a 09 63 6f 6d 6d |by space|s,..comm|
|00001170| 61 73 2c 20 61 6e 64 2f | 6f 72 20 68 79 70 68 65 |as, and/|or hyphe|
|00001180| 6e 73 2e 20 20 53 61 79 | 69 6e 67 20 33 35 2d 20 |ns. Say|ing 35- |
|00001190| 73 61 79 73 20 65 76 65 | 72 79 74 68 69 6e 67 20 |says eve|rything |
|000011a0| 66 72 6f 6d 20 33 35 20 | 74 6f 20 74 68 65 20 65 |from 35 |to the e|
|000011b0| 6e 64 2e 0a 0a 09 59 6f | 75 20 63 61 6e 20 61 6c |nd....Yo|u can al|
|000011c0| 73 6f 20 67 65 74 20 74 | 68 65 20 70 61 74 63 68 |so get t|he patch|
|000011d0| 65 73 20 76 69 61 20 61 | 6e 6f 6e 79 6d 6f 75 73 |es via a|nonymous|
|000011e0| 20 46 54 50 20 66 72 6f | 6d 0a 09 6a 70 6c 2d 64 | FTP fro|m..jpl-d|
|000011f0| 65 76 76 61 78 2e 6a 70 | 6c 2e 6e 61 73 61 2e 67 |evvax.jp|l.nasa.g|
|00001200| 6f 76 20 28 31 32 38 2e | 31 34 39 2e 38 2e 34 33 |ov (128.|149.8.43|
|00001210| 29 2e 0a 0a 49 6e 64 65 | 78 3a 20 70 61 74 63 68 |)...Inde|x: patch|
|00001220| 6c 65 76 65 6c 2e 68 0a | 50 72 65 72 65 71 3a 20 |level.h.|Prereq: |
|00001230| 39 0a 31 63 31 0a 3c 20 | 23 64 65 66 69 6e 65 20 |9.1c1.< |#define |
|00001240| 50 41 54 43 48 4c 45 56 | 45 4c 20 39 0a 2d 2d 2d |PATCHLEV|EL 9.---|
|00001250| 0a 3e 20 23 64 65 66 69 | 6e 65 20 50 41 54 43 48 |.> #defi|ne PATCH|
|00001260| 4c 45 56 45 4c 20 31 30 | 0a 20 0a 49 6e 64 65 78 |LEVEL 10|. .Index|
|00001270| 3a 20 4d 61 6b 65 66 69 | 6c 65 2e 53 48 0a 50 72 |: Makefi|le.SH.Pr|
|00001280| 65 72 65 71 3a 20 32 2e | 30 0a 2a 2a 2a 20 4d 61 |ereq: 2.|0.*** Ma|
|00001290| 6b 65 66 69 6c 65 2e 53 | 48 2e 6f 6c 64 09 46 72 |kefile.S|H.old.Fr|
|000012a0| 69 20 4a 75 6e 20 20 33 | 20 31 35 3a 32 36 3a 35 |i Jun 3| 15:26:5|
|000012b0| 35 20 31 39 38 38 0a 2d | 2d 2d 20 4d 61 6b 65 66 |5 1988.-|-- Makef|
|000012c0| 69 6c 65 2e 53 48 09 46 | 72 69 20 4a 75 6e 20 20 |ile.SH.F|ri Jun |
|000012d0| 33 20 31 35 3a 32 36 3a | 35 36 20 31 39 38 38 0a |3 15:26:|56 1988.|
|000012e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|000012f0| 2a 2a 2a 20 33 2c 31 31 | 20 2a 2a 2a 2a 0a 20 20 |*** 3,11| ****. |
|00001300| 65 73 61 63 0a 20 20 65 | 63 68 6f 20 22 45 78 74 |esac. e|cho "Ext|
|00001310| 72 61 63 74 69 6e 67 20 | 4d 61 6b 65 66 69 6c 65 |racting |Makefile|
|00001320| 20 28 77 69 74 68 20 76 | 61 72 69 61 62 6c 65 20 | (with v|ariable |
|00001330| 73 75 62 73 74 69 74 75 | 74 69 6f 6e 73 29 22 0a |substitu|tions)".|
|00001340| 20 20 63 61 74 20 3e 4d | 61 6b 65 66 69 6c 65 20 | cat >M|akefile |
|00001350| 3c 3c 21 47 52 4f 4b 21 | 54 48 49 53 21 0a 21 20 |<<!GROK!|THIS!.! |
|00001360| 23 20 24 48 65 61 64 65 | 72 3a 20 4d 61 6b 65 66 |# $Heade|r: Makef|
|00001370| 69 6c 65 2e 53 48 2c 76 | 20 32 2e 30 20 38 36 2f |ile.SH,v| 2.0 86/|
|00001380| 30 39 2f 31 37 20 31 35 | 3a 33 36 3a 31 35 20 6c |09/17 15|:36:15 l|
|00001390| 77 61 6c 6c 20 45 78 70 | 20 24 0a 20 20 23 0a 20 |wall Exp| $. #. |
|000013a0| 20 23 20 24 4c 6f 67 3a | 09 4d 61 6b 65 66 69 6c | # $Log:|.Makefil|
|000013b0| 65 2e 53 48 2c 76 20 24 | 0a 20 20 23 20 52 65 76 |e.SH,v $|. # Rev|
|000013c0| 69 73 69 6f 6e 20 32 2e | 30 20 20 38 36 2f 30 39 |ision 2.|0 86/09|
|000013d0| 2f 31 37 20 20 31 35 3a | 33 36 3a 31 35 20 20 6c |/17 15:|36:15 l|
|000013e0| 77 61 6c 6c 0a 20 20 23 | 20 42 61 73 65 6c 69 6e |wall. #| Baselin|
|000013f0| 65 20 66 6f 72 20 6e 65 | 74 77 69 64 65 20 72 65 |e for ne|twide re|
|00001400| 6c 65 61 73 65 2e 0a 20 | 20 23 20 0a 2d 2d 2d 20 |lease.. | # .--- |
|00001410| 33 2c 31 34 20 2d 2d 2d | 2d 0a 20 20 65 73 61 63 |3,14 ---|-. esac|
|00001420| 0a 20 20 65 63 68 6f 20 | 22 45 78 74 72 61 63 74 |. echo |"Extract|
|00001430| 69 6e 67 20 4d 61 6b 65 | 66 69 6c 65 20 28 77 69 |ing Make|file (wi|
|00001440| 74 68 20 76 61 72 69 61 | 62 6c 65 20 73 75 62 73 |th varia|ble subs|
|00001450| 74 69 74 75 74 69 6f 6e | 73 29 22 0a 20 20 63 61 |titution|s)". ca|
|00001460| 74 20 3e 4d 61 6b 65 66 | 69 6c 65 20 3c 3c 21 47 |t >Makef|ile <<!G|
|00001470| 52 4f 4b 21 54 48 49 53 | 21 0a 21 20 23 20 24 48 |ROK!THIS|!.! # $H|
|00001480| 65 61 64 65 72 3a 20 4d | 61 6b 65 66 69 6c 65 2e |eader: M|akefile.|
|00001490| 53 48 2c 76 20 32 2e 30 | 2e 31 2e 31 20 38 38 2f |SH,v 2.0|.1.1 88/|
|000014a0| 30 36 2f 30 33 20 31 35 | 3a 30 30 3a 34 38 20 6c |06/03 15|:00:48 l|
|000014b0| 77 61 6c 6c 20 4c 6f 63 | 6b 65 64 20 24 0a 20 20 |wall Loc|ked $. |
|000014c0| 23 0a 20 20 23 20 24 4c | 6f 67 3a 09 4d 61 6b 65 |#. # $L|og:.Make|
|000014d0| 66 69 6c 65 2e 53 48 2c | 76 20 24 0a 2b 20 23 20 |file.SH,|v $.+ # |
|000014e0| 52 65 76 69 73 69 6f 6e | 20 32 2e 30 2e 31 2e 31 |Revision| 2.0.1.1|
|000014f0| 20 20 38 38 2f 30 36 2f | 30 33 20 20 31 35 3a 30 | 88/06/|03 15:0|
|00001500| 30 3a 34 38 20 20 6c 77 | 61 6c 6c 0a 2b 20 23 20 |0:48 lw|all.+ # |
|00001510| 70 61 74 63 68 31 30 3a | 20 75 70 67 72 61 64 65 |patch10:| upgrade|
|00001520| 64 20 74 6f 20 6d 61 74 | 63 68 20 73 6f 6d 65 20 |d to mat|ch some |
|00001530| 6e 65 77 20 6d 65 74 61 | 63 6f 6e 66 69 67 20 73 |new meta|config s|
|00001540| 74 75 66 66 0a 2b 20 23 | 20 0a 20 20 23 20 52 65 |tuff.+ #| . # Re|
|00001550| 76 69 73 69 6f 6e 20 32 | 2e 30 20 20 38 36 2f 30 |vision 2|.0 86/0|
|00001560| 39 2f 31 37 20 20 31 35 | 3a 33 36 3a 31 35 20 20 |9/17 15|:36:15 |
|00001570| 6c 77 61 6c 6c 0a 20 20 | 23 20 42 61 73 65 6c 69 |lwall. |# Baseli|
|00001580| 6e 65 20 66 6f 72 20 6e | 65 74 77 69 64 65 20 72 |ne for n|etwide r|
|00001590| 65 6c 65 61 73 65 2e 0a | 20 20 23 20 0a 2a 2a 2a |elease..| # .***|
|000015a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 2a 2a 2a |********|****.***|
|000015b0| 20 32 30 2c 32 37 20 2a | 2a 2a 2a 0a 20 20 62 69 | 20,27 *|***. bi|
|000015c0| 6e 20 3d 20 24 62 69 6e | 0a 20 20 6d 61 6e 73 72 |n = $bin|. mansr|
|000015d0| 63 20 3d 20 24 6d 61 6e | 73 72 63 0a 20 20 6d 61 |c = $man|src. ma|
|000015e0| 6e 65 78 74 20 3d 20 24 | 6d 61 6e 65 78 74 0a 21 |next = $|manext.!|
|000015f0| 20 43 46 4c 41 47 53 20 | 3d 20 24 69 61 6e 64 64 | CFLAGS |= $iandd|
|00001600| 20 2d 4f 0a 21 20 4c 44 | 46 4c 41 47 53 20 3d 20 | -O.! LD|FLAGS = |
|00001610| 24 69 61 6e 64 64 0a 20 | 20 0a 20 20 21 47 52 4f |$iandd. | . !GRO|
|00001620| 4b 21 54 48 49 53 21 0a | 20 20 63 61 74 20 3e 3e |K!THIS!.| cat >>|
|00001630| 4d 61 6b 65 66 69 6c 65 | 20 3c 3c 27 21 4e 4f 21 |Makefile| <<'!NO!|
|00001640| 53 55 42 53 21 27 0a 2d | 2d 2d 20 32 33 2c 33 32 |SUBS!'.-|-- 23,32|
|00001650| 20 2d 2d 2d 2d 0a 20 20 | 62 69 6e 20 3d 20 24 62 | ----. |bin = $b|
|00001660| 69 6e 0a 20 20 6d 61 6e | 73 72 63 20 3d 20 24 6d |in. man|src = $m|
|00001670| 61 6e 73 72 63 0a 20 20 | 6d 61 6e 65 78 74 20 3d |ansrc. |manext =|
|00001680| 20 24 6d 61 6e 65 78 74 | 0a 21 20 43 46 4c 41 47 | $manext|.! CFLAG|
|00001690| 53 20 3d 20 24 63 63 66 | 6c 61 67 73 20 2d 4f 0a |S = $ccf|lags -O.|
|000016a0| 21 20 4c 44 46 4c 41 47 | 53 20 3d 20 24 6c 64 66 |! LDFLAG|S = $ldf|
|000016b0| 6c 61 67 73 0a 21 20 53 | 4d 41 4c 4c 20 3d 20 24 |lags.! S|MALL = $|
|000016c0| 73 6d 61 6c 6c 0a 21 20 | 4c 41 52 47 45 20 3d 20 |small.! |LARGE = |
|000016d0| 24 6c 61 72 67 65 20 24 | 73 70 6c 69 74 0a 20 20 |$large $|split. |
|000016e0| 0a 20 20 21 47 52 4f 4b | 21 54 48 49 53 21 0a 20 |. !GROK|!THIS!. |
|000016f0| 20 63 61 74 20 3e 3e 4d | 61 6b 65 66 69 6c 65 20 | cat >>M|akefile |
|00001700| 3c 3c 27 21 4e 4f 21 53 | 55 42 53 21 27 0a 2a 2a |<<'!NO!S|UBS!'.**|
|00001710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 2a 2a |********|*****.**|
|00001720| 2a 20 34 33 2c 34 39 20 | 2a 2a 2a 2a 0a 20 20 53 |* 43,49 |****. S|
|00001730| 48 45 4c 4c 20 3d 20 2f | 62 69 6e 2f 73 68 0a 20 |HELL = /|bin/sh. |
|00001740| 20 0a 20 20 2e 63 2e 6f | 3a 0a 21 20 09 24 28 43 | . .c.o|:.! .$(C|
|00001750| 43 29 20 2d 63 20 24 28 | 43 46 4c 41 47 53 29 20 |C) -c $(|CFLAGS) |
|00001760| 24 2a 2e 63 0a 20 20 0a | 20 20 61 6c 6c 3a 20 24 |$*.c. .| all: $|
|00001770| 28 70 75 62 6c 69 63 29 | 20 24 28 70 72 69 76 61 |(public)| $(priva|
|00001780| 74 65 29 20 24 28 75 74 | 69 6c 29 0a 20 20 09 74 |te) $(ut|il). .t|
|00001790| 6f 75 63 68 20 61 6c 6c | 0a 2d 2d 2d 20 34 38 2c |ouch all|.--- 48,|
|000017a0| 35 34 20 2d 2d 2d 2d 0a | 20 20 53 48 45 4c 4c 20 |54 ----.| SHELL |
|000017b0| 3d 20 2f 62 69 6e 2f 73 | 68 0a 20 20 0a 20 20 2e |= /bin/s|h. . .|
|000017c0| 63 2e 6f 3a 0a 21 20 09 | 24 28 43 43 29 20 2d 63 |c.o:.! .|$(CC) -c|
|000017d0| 20 24 28 43 46 4c 41 47 | 53 29 20 24 28 4c 41 52 | $(CFLAG|S) $(LAR|
|000017e0| 47 45 29 20 24 2a 2e 63 | 0a 20 20 0a 20 20 61 6c |GE) $*.c|. . al|
|000017f0| 6c 3a 20 24 28 70 75 62 | 6c 69 63 29 20 24 28 70 |l: $(pub|lic) $(p|
|00001800| 72 69 76 61 74 65 29 20 | 24 28 75 74 69 6c 29 0a |rivate) |$(util).|
|00001810| 20 20 09 74 6f 75 63 68 | 20 61 6c 6c 0a 2a 2a 2a | .touch| all.***|
|00001820| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 2a 2a 2a |********|****.***|
|00001830| 20 35 39 2c 36 34 20 2a | 2a 2a 2a 0a 2d 2d 2d 20 | 59,64 *|***.--- |
|00001840| 36 34 2c 37 30 20 2d 2d | 2d 2d 0a 20 20 09 63 64 |64,70 --|--. .cd|
|00001850| 20 24 28 62 69 6e 29 3b | 20 63 68 6d 6f 64 20 37 | $(bin);| chmod 7|
|00001860| 35 35 20 24 28 70 75 62 | 6c 69 63 29 0a 20 20 09 |55 $(pub|lic). .|
|00001870| 2d 20 69 66 20 74 65 73 | 74 20 60 70 77 64 60 20 |- if tes|t `pwd` |
|00001880| 21 3d 20 24 28 6d 61 6e | 73 72 63 29 3b 20 74 68 |!= $(man|src); th|
|00001890| 65 6e 20 5c 0a 20 20 66 | 6f 72 20 70 61 67 65 20 |en \. f|or page |
|000018a0| 69 6e 20 24 28 6d 61 6e | 70 61 67 65 73 29 3b 20 |in $(man|pages); |
|000018b0| 64 6f 20 5c 0a 2b 20 72 | 6d 20 2d 66 20 24 28 6d |do \.+ r|m -f $(m|
|000018c0| 61 6e 73 72 63 29 2f 2e | 2e 2f 63 61 74 24 28 6d |ansrc)/.|./cat$(m|
|000018d0| 61 6e 65 78 74 29 2f 60 | 62 61 73 65 6e 61 6d 65 |anext)/`|basename|
|000018e0| 20 24 24 70 61 67 65 20 | 2e 6d 61 6e 60 2e 24 28 | $$page |.man`.$(|
|000018f0| 6d 61 6e 65 78 74 29 3b | 20 5c 0a 20 20 63 70 20 |manext);| \. cp |
|00001900| 24 24 70 61 67 65 20 24 | 28 6d 61 6e 73 72 63 29 |$$page $|(mansrc)|
|00001910| 2f 60 62 61 73 65 6e 61 | 6d 65 20 24 24 70 61 67 |/`basena|me $$pag|
|00001920| 65 20 2e 6d 61 6e 60 2e | 24 28 6d 61 6e 65 78 74 |e .man`.|$(manext|
|00001930| 29 3b 20 5c 0a 20 20 64 | 6f 6e 65 3b 20 5c 0a 20 |); \. d|one; \. |
|00001940| 20 66 69 0a 20 0a 49 6e | 64 65 78 3a 20 63 6f 6d | fi. .In|dex: com|
|00001950| 6d 6f 6e 2e 68 0a 50 72 | 65 72 65 71 3a 20 32 2e |mon.h.Pr|ereq: 2.|
|00001960| 30 0a 2a 2a 2a 20 63 6f | 6d 6d 6f 6e 2e 68 2e 6f |0.*** co|mmon.h.o|
|00001970| 6c 64 09 46 72 69 20 4a | 75 6e 20 20 33 20 31 35 |ld.Fri J|un 3 15|
|00001980| 3a 32 37 3a 30 33 20 31 | 39 38 38 0a 2d 2d 2d 20 |:27:03 1|988.--- |
|00001990| 63 6f 6d 6d 6f 6e 2e 68 | 09 46 72 69 20 4a 75 6e |common.h|.Fri Jun|
|000019a0| 20 20 33 20 31 35 3a 32 | 37 3a 30 34 20 31 39 38 | 3 15:2|7:04 198|
|000019b0| 38 0a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |8.******|********|
|000019c0| 2a 0a 2a 2a 2a 20 31 2c | 36 20 2a 2a 2a 2a 0a 21 |*.*** 1,|6 ****.!|
|000019d0| 20 2f 2a 20 24 48 65 61 | 64 65 72 3a 20 63 6f 6d | /* $Hea|der: com|
|000019e0| 6d 6f 6e 2e 68 2c 76 20 | 32 2e 30 20 38 36 2f 30 |mon.h,v |2.0 86/0|
|000019f0| 39 2f 31 37 20 31 35 3a | 33 36 3a 33 39 20 6c 77 |9/17 15:|36:39 lw|
|00001a00| 61 6c 6c 20 45 78 70 20 | 24 0a 20 20 20 2a 0a 20 |all Exp |$. *. |
|00001a10| 20 20 2a 20 24 4c 6f 67 | 3a 09 63 6f 6d 6d 6f 6e | * $Log|:.common|
|00001a20| 2e 68 2c 76 20 24 0a 20 | 20 20 2a 20 52 65 76 69 |.h,v $. | * Revi|
|00001a30| 73 69 6f 6e 20 32 2e 30 | 20 20 38 36 2f 30 39 2f |sion 2.0| 86/09/|
|00001a40| 31 37 20 20 31 35 3a 33 | 36 3a 33 39 20 20 6c 77 |17 15:3|6:39 lw|
|00001a50| 61 6c 6c 0a 20 20 20 2a | 20 42 61 73 65 6c 69 6e |all. *| Baselin|
|00001a60| 65 20 66 6f 72 20 6e 65 | 74 77 69 64 65 20 72 65 |e for ne|twide re|
|00001a70| 6c 65 61 73 65 2e 0a 20 | 20 20 2a 20 0a 2d 2d 2d |lease.. | * .---|
|00001a80| 20 31 2c 39 20 2d 2d 2d | 2d 0a 21 20 2f 2a 20 24 | 1,9 ---|-.! /* $|
|00001a90| 48 65 61 64 65 72 3a 20 | 63 6f 6d 6d 6f 6e 2e 68 |Header: |common.h|
|00001aa0| 2c 76 20 32 2e 30 2e 31 | 2e 31 20 38 38 2f 30 36 |,v 2.0.1|.1 88/06|
|00001ab0| 2f 30 33 20 31 35 3a 30 | 31 3a 35 36 20 6c 77 61 |/03 15:0|1:56 lwa|
|00001ac0| 6c 6c 20 4c 6f 63 6b 65 | 64 20 24 0a 20 20 20 2a |ll Locke|d $. *|
|00001ad0| 0a 20 20 20 2a 20 24 4c | 6f 67 3a 09 63 6f 6d 6d |. * $L|og:.comm|
|00001ae0| 6f 6e 2e 68 2c 76 20 24 | 0a 2b 20 20 2a 20 52 65 |on.h,v $|.+ * Re|
|00001af0| 76 69 73 69 6f 6e 20 32 | 2e 30 2e 31 2e 31 20 20 |vision 2|.0.1.1 |
|00001b00| 38 38 2f 30 36 2f 30 33 | 20 20 31 35 3a 30 31 3a |88/06/03| 15:01:|
|00001b10| 35 36 20 20 6c 77 61 6c | 6c 0a 2b 20 20 2a 20 70 |56 lwal|l.+ * p|
|00001b20| 61 74 63 68 31 30 3a 20 | 73 75 70 70 6f 72 74 20 |atch10: |support |
|00001b30| 66 6f 72 20 73 68 6f 72 | 74 65 72 20 65 78 74 65 |for shor|ter exte|
|00001b40| 6e 73 69 6f 6e 73 2e 0a | 2b 20 20 2a 20 0a 20 20 |nsions..|+ * . |
|00001b50| 20 2a 20 52 65 76 69 73 | 69 6f 6e 20 32 2e 30 20 | * Revis|ion 2.0 |
|00001b60| 20 38 36 2f 30 39 2f 31 | 37 20 20 31 35 3a 33 36 | 86/09/1|7 15:36|
|00001b70| 3a 33 39 20 20 6c 77 61 | 6c 6c 0a 20 20 20 2a 20 |:39 lwa|ll. * |
|00001b80| 42 61 73 65 6c 69 6e 65 | 20 66 6f 72 20 6e 65 74 |Baseline| for net|
|00001b90| 77 69 64 65 20 72 65 6c | 65 61 73 65 2e 0a 20 20 |wide rel|ease.. |
|00001ba0| 20 2a 20 0a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | * .****|********|
|00001bb0| 2a 2a 2a 0a 2a 2a 2a 20 | 34 32 2c 35 33 20 2a 2a |***.*** |42,53 **|
|00001bc0| 2a 2a 0a 20 20 23 64 65 | 66 69 6e 65 20 49 4e 49 |**. #de|fine INI|
|00001bd0| 54 48 55 4e 4b 4d 41 58 | 20 31 32 35 09 09 09 2f |THUNKMAX| 125.../|
|00001be0| 2a 20 69 6e 69 74 69 61 | 6c 20 64 79 6e 61 6d 69 |* initia|l dynami|
|00001bf0| 63 20 61 6c 6c 6f 63 61 | 74 69 6f 6e 20 73 69 7a |c alloca|tion siz|
|00001c00| 65 20 2a 2f 0a 20 20 23 | 64 65 66 69 6e 65 20 4d |e */. #|define M|
|00001c10| 41 58 4c 49 4e 45 4c 45 | 4e 20 31 30 32 34 0a 20 |AXLINELE|N 1024. |
|00001c20| 20 23 64 65 66 69 6e 65 | 20 42 55 46 46 45 52 53 | #define| BUFFERS|
|00001c30| 49 5a 45 20 31 30 32 34 | 0a 2d 20 23 64 65 66 69 |IZE 1024|.- #defi|
|00001c40| 6e 65 20 4f 52 49 47 45 | 58 54 20 22 2e 6f 72 69 |ne ORIGE|XT ".ori|
|00001c50| 67 22 0a 20 20 23 64 65 | 66 69 6e 65 20 53 43 43 |g". #de|fine SCC|
|00001c60| 53 50 52 45 46 49 58 20 | 22 73 2e 22 0a 20 20 23 |SPREFIX |"s.". #|
|00001c70| 64 65 66 69 6e 65 20 47 | 45 54 20 22 67 65 74 20 |define G|ET "get |
|00001c80| 2d 65 20 25 73 22 0a 20 | 20 23 64 65 66 69 6e 65 |-e %s". | #define|
|00001c90| 20 52 43 53 53 55 46 46 | 49 58 20 22 2c 76 22 0a | RCSSUFF|IX ",v".|
|00001ca0| 20 20 23 64 65 66 69 6e | 65 20 43 48 45 43 4b 4f | #defin|e CHECKO|
|00001cb0| 55 54 20 22 63 6f 20 2d | 6c 20 25 73 22 0a 20 20 |UT "co -|l %s". |
|00001cc0| 0a 20 20 2f 2a 20 68 61 | 6e 64 79 20 64 65 66 69 |. /* ha|ndy defi|
|00001cd0| 6e 69 74 69 6f 6e 73 20 | 2a 2f 0a 20 20 0a 20 20 |nitions |*/. . |
|00001ce0| 23 64 65 66 69 6e 65 20 | 4e 75 6c 6c 28 74 29 20 |#define |Null(t) |
|00001cf0| 28 28 74 29 30 29 0a 2d | 2d 2d 20 34 35 2c 36 33 |((t)0).-|-- 45,63|
|00001d00| 20 2d 2d 2d 2d 0a 20 20 | 23 64 65 66 69 6e 65 20 | ----. |#define |
|00001d10| 49 4e 49 54 48 55 4e 4b | 4d 41 58 20 31 32 35 09 |INITHUNK|MAX 125.|
|00001d20| 09 09 2f 2a 20 69 6e 69 | 74 69 61 6c 20 64 79 6e |../* ini|tial dyn|
|00001d30| 61 6d 69 63 20 61 6c 6c | 6f 63 61 74 69 6f 6e 20 |amic all|ocation |
|00001d40| 73 69 7a 65 20 2a 2f 0a | 20 20 23 64 65 66 69 6e |size */.| #defin|
|00001d50| 65 20 4d 41 58 4c 49 4e | 45 4c 45 4e 20 31 30 32 |e MAXLIN|ELEN 102|
|00001d60| 34 0a 20 20 23 64 65 66 | 69 6e 65 20 42 55 46 46 |4. #def|ine BUFF|
|00001d70| 45 52 53 49 5a 45 20 31 | 30 32 34 0a 20 20 23 64 |ERSIZE 1|024. #d|
|00001d80| 65 66 69 6e 65 20 53 43 | 43 53 50 52 45 46 49 58 |efine SC|CSPREFIX|
|00001d90| 20 22 73 2e 22 0a 20 20 | 23 64 65 66 69 6e 65 20 | "s.". |#define |
|00001da0| 47 45 54 20 22 67 65 74 | 20 2d 65 20 25 73 22 0a |GET "get| -e %s".|
|00001db0| 20 20 23 64 65 66 69 6e | 65 20 52 43 53 53 55 46 | #defin|e RCSSUF|
|00001dc0| 46 49 58 20 22 2c 76 22 | 0a 20 20 23 64 65 66 69 |FIX ",v"|. #defi|
|00001dd0| 6e 65 20 43 48 45 43 4b | 4f 55 54 20 22 63 6f 20 |ne CHECK|OUT "co |
|00001de0| 2d 6c 20 25 73 22 0a 20 | 20 0a 2b 20 23 69 66 64 |-l %s". | .+ #ifd|
|00001df0| 65 66 20 46 4c 45 58 46 | 49 4c 45 4e 41 4d 45 53 |ef FLEXF|ILENAMES|
|00001e00| 0a 2b 20 23 64 65 66 69 | 6e 65 20 4f 52 49 47 45 |.+ #defi|ne ORIGE|
|00001e10| 58 54 20 22 2e 6f 72 69 | 67 22 0a 2b 20 23 64 65 |XT ".ori|g".+ #de|
|00001e20| 66 69 6e 65 20 52 45 4a | 45 58 54 20 22 2e 72 65 |fine REJ|EXT ".re|
|00001e30| 6a 22 0a 2b 20 23 65 6c | 73 65 0a 2b 20 23 64 65 |j".+ #el|se.+ #de|
|00001e40| 66 69 6e 65 20 4f 52 49 | 47 45 58 54 20 22 7e 22 |fine ORI|GEXT "~"|
|00001e50| 0a 2b 20 23 64 65 66 69 | 6e 65 20 52 45 4a 45 58 |.+ #defi|ne REJEX|
|00001e60| 54 20 22 23 22 0a 2b 20 | 23 65 6e 64 69 66 0a 2b |T "#".+ |#endif.+|
|00001e70| 20 0a 20 20 2f 2a 20 68 | 61 6e 64 79 20 64 65 66 | . /* h|andy def|
|00001e80| 69 6e 69 74 69 6f 6e 73 | 20 2a 2f 0a 20 20 0a 20 |initions| */. . |
|00001e90| 20 23 64 65 66 69 6e 65 | 20 4e 75 6c 6c 28 74 29 | #define| Null(t)|
|00001ea0| 20 28 28 74 29 30 29 0a | 2a 2a 2a 2a 2a 2a 2a 2a | ((t)0).|********|
|00001eb0| 2a 2a 2a 2a 2a 2a 2a 0a | 2a 2a 2a 20 39 35 2c 31 |*******.|*** 95,1|
|00001ec0| 30 30 20 2a 2a 2a 2a 0a | 2d 2d 2d 20 31 30 35 2c |00 ****.|--- 105,|
|00001ed0| 31 31 31 20 2d 2d 2d 2d | 0a 20 20 45 58 54 20 63 |111 ----|. EXT c|
|00001ee0| 68 61 72 20 72 65 6a 6e | 61 6d 65 5b 31 32 38 5d |har rejn|ame[128]|
|00001ef0| 3b 0a 20 20 0a 20 20 45 | 58 54 20 63 68 61 72 20 |;. . E|XT char |
|00001f00| 2a 6f 72 69 67 65 78 74 | 20 49 4e 49 54 28 4e 75 |*origext| INIT(Nu|
|00001f10| 6c 6c 63 68 29 3b 0a 2b | 20 45 58 54 20 63 68 61 |llch);.+| EXT cha|
|00001f20| 72 20 2a 6f 72 69 67 70 | 72 61 65 20 49 4e 49 54 |r *origp|rae INIT|
|00001f30| 28 4e 75 6c 6c 63 68 29 | 3b 0a 20 20 0a 20 20 45 |(Nullch)|;. . E|
|00001f40| 58 54 20 63 68 61 72 20 | 54 4d 50 4f 55 54 4e 41 |XT char |TMPOUTNA|
|00001f50| 4d 45 5b 5d 20 49 4e 49 | 54 28 22 2f 74 6d 70 2f |ME[] INI|T("/tmp/|
|00001f60| 70 61 74 63 68 6f 58 58 | 58 58 58 58 22 29 3b 0a |patchoXX|XXXX");.|
|00001f70| 20 20 45 58 54 20 63 68 | 61 72 20 54 4d 50 49 4e | EXT ch|ar TMPIN|
|00001f80| 4e 41 4d 45 5b 5d 20 49 | 4e 49 54 28 22 2f 74 6d |NAME[] I|NIT("/tm|
|00001f90| 70 2f 70 61 74 63 68 69 | 58 58 58 58 58 58 22 29 |p/patchi|XXXXXX")|
|00001fa0| 3b 09 2f 2a 20 6d 69 67 | 68 74 20 77 61 6e 74 20 |;./* mig|ht want |
|00001fb0| 2f 75 73 72 2f 74 6d 70 | 20 68 65 72 65 20 2a 2f |/usr/tmp| here */|
|00001fc0| 0a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.*******|********|
|00001fd0| 0a 2a 2a 2a 20 31 33 34 | 2c 31 34 30 20 2a 2a 2a |.*** 134|,140 ***|
|00001fe0| 2a 0a 20 20 63 68 61 72 | 20 2a 72 65 61 6c 6c 6f |*. char| *reallo|
|00001ff0| 63 28 29 3b 0a 20 20 63 | 68 61 72 20 2a 73 74 72 |c();. c|har *str|
|00002000| 63 70 79 28 29 3b 0a 20 | 20 63 68 61 72 20 2a 73 |cpy();. | char *s|
|00002010| 74 72 63 61 74 28 29 3b | 0a 2d 20 63 68 61 72 20 |trcat();|.- char |
|00002020| 2a 73 70 72 69 6e 74 66 | 28 29 3b 09 09 2f 2a 20 |*sprintf|();../* |
|00002030| 75 73 75 61 6c 6c 79 20 | 2a 2f 0a 20 20 6c 6f 6e |usually |*/. lon|
|00002040| 67 20 61 74 6f 6c 28 29 | 3b 0a 20 20 6c 6f 6e 67 |g atol()|;. long|
|00002050| 20 6c 73 65 65 6b 28 29 | 3b 0a 20 20 63 68 61 72 | lseek()|;. char|
|00002060| 20 2a 6d 6b 74 65 6d 70 | 28 29 3b 0a 2d 2d 2d 20 | *mktemp|();.--- |
|00002070| 31 34 35 2c 31 35 35 20 | 2d 2d 2d 2d 0a 20 20 63 |145,155 |----. c|
|00002080| 68 61 72 20 2a 72 65 61 | 6c 6c 6f 63 28 29 3b 0a |har *rea|lloc();.|
|00002090| 20 20 63 68 61 72 20 2a | 73 74 72 63 70 79 28 29 | char *|strcpy()|
|000020a0| 3b 0a 20 20 63 68 61 72 | 20 2a 73 74 72 63 61 74 |;. char| *strcat|
|000020b0| 28 29 3b 0a 20 20 6c 6f | 6e 67 20 61 74 6f 6c 28 |();. lo|ng atol(|
|000020c0| 29 3b 0a 20 20 6c 6f 6e | 67 20 6c 73 65 65 6b 28 |);. lon|g lseek(|
|000020d0| 29 3b 0a 20 20 63 68 61 | 72 20 2a 6d 6b 74 65 6d |);. cha|r *mktem|
|000020e0| 70 28 29 3b 0a 2b 20 23 | 69 66 64 65 66 20 43 48 |p();.+ #|ifdef CH|
|000020f0| 41 52 53 50 52 49 4e 54 | 46 0a 2b 20 63 68 61 72 |ARSPRINT|F.+ char|
|00002100| 20 2a 73 70 72 69 6e 74 | 66 28 29 3b 0a 2b 20 23 | *sprint|f();.+ #|
|00002110| 65 6c 73 65 0a 2b 20 69 | 6e 74 20 2a 73 70 72 69 |else.+ i|nt *spri|
|00002120| 6e 74 66 28 29 3b 0a 2b | 20 23 65 6e 64 69 66 0a |ntf();.+| #endif.|
|00002130| 20 0a 49 6e 64 65 78 3a | 20 63 6f 6e 66 69 67 2e | .Index:| config.|
|00002140| 68 2e 53 48 0a 2a 2a 2a | 20 63 6f 6e 66 69 67 2e |h.SH.***| config.|
|00002150| 68 2e 53 48 2e 6f 6c 64 | 09 46 72 69 20 4a 75 6e |h.SH.old|.Fri Jun|
|00002160| 20 20 33 20 31 35 3a 32 | 37 3a 31 32 20 31 39 38 | 3 15:2|7:12 198|
|00002170| 38 0a 2d 2d 2d 20 63 6f | 6e 66 69 67 2e 68 2e 53 |8.--- co|nfig.h.S|
|00002180| 48 09 46 72 69 20 4a 75 | 6e 20 20 33 20 31 35 3a |H.Fri Ju|n 3 15:|
|00002190| 32 37 3a 31 34 20 31 39 | 38 38 0a 2a 2a 2a 2a 2a |27:14 19|88.*****|
|000021a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 2a 2a 2a 20 30 |********|**.*** 0|
|000021b0| 20 2a 2a 2a 2a 0a 2d 2d | 2d 20 31 2c 31 33 36 20 | ****.--|- 1,136 |
|000021c0| 2d 2d 2d 2d 0a 2b 20 63 | 61 73 65 20 24 43 4f 4e |----.+ c|ase $CON|
|000021d0| 46 49 47 20 69 6e 0a 2b | 20 27 27 29 0a 2b 20 20 |FIG in.+| '').+ |
|000021e0| 20 20 20 69 66 20 74 65 | 73 74 20 21 20 2d 66 20 | if te|st ! -f |
|000021f0| 63 6f 6e 66 69 67 2e 73 | 68 3b 20 74 68 65 6e 0a |config.s|h; then.|
|00002200| 2b 20 09 6c 6e 20 2e 2e | 2f 63 6f 6e 66 69 67 2e |+ .ln ..|/config.|
|00002210| 73 68 20 2e 20 7c 7c 20 | 5c 0a 2b 20 09 6c 6e 20 |sh . || |\.+ .ln |
|00002220| 2e 2e 2f 2e 2e 2f 63 6f | 6e 66 69 67 2e 73 68 20 |../../co|nfig.sh |
|00002230| 2e 20 7c 7c 20 5c 0a 2b | 20 09 6c 6e 20 2e 2e 2f |. || \.+| .ln ../|
|00002240| 2e 2e 2f 2e 2e 2f 63 6f | 6e 66 69 67 2e 73 68 20 |../../co|nfig.sh |
|00002250| 2e 20 7c 7c 20 5c 0a 2b | 20 09 28 65 63 68 6f 20 |. || \.+| .(echo |
|00002260| 22 43 61 6e 27 74 20 66 | 69 6e 64 20 63 6f 6e 66 |"Can't f|ind conf|
|00002270| 69 67 2e 73 68 2e 22 3b | 20 65 78 69 74 20 31 29 |ig.sh.";| exit 1)|
|00002280| 0a 2b 20 09 65 63 68 6f | 20 22 55 73 69 6e 67 20 |.+ .echo| "Using |
|00002290| 63 6f 6e 66 69 67 2e 73 | 68 20 66 72 6f 6d 20 61 |config.s|h from a|
|000022a0| 62 6f 76 65 2e 2e 2e 22 | 0a 2b 20 20 20 20 20 66 |bove..."|.+ f|
|000022b0| 69 0a 2b 20 20 20 20 20 | 2e 20 2e 2f 63 6f 6e 66 |i.+ |. ./conf|
|000022c0| 69 67 2e 73 68 0a 2b 20 | 20 20 20 20 3b 3b 0a 2b |ig.sh.+ | ;;.+|
|000022d0| 20 65 73 61 63 0a 2b 20 | 65 63 68 6f 20 22 45 78 | esac.+ |echo "Ex|
|000022e0| 74 72 61 63 74 69 6e 67 | 20 63 6f 6e 66 69 67 2e |tracting| config.|
|000022f0| 68 20 28 77 69 74 68 20 | 76 61 72 69 61 62 6c 65 |h (with |variable|
|00002300| 20 73 75 62 73 74 69 74 | 75 74 69 6f 6e 73 29 22 | substit|utions)"|
|00002310| 0a 2b 20 63 61 74 20 3c | 3c 21 47 52 4f 4b 21 54 |.+ cat <|<!GROK!T|
|00002320| 48 49 53 21 20 3e 63 6f | 6e 66 69 67 2e 68 0a 2b |HIS! >co|nfig.h.+|
|00002330| 20 2f 2a 20 63 6f 6e 66 | 69 67 2e 68 0a 2b 20 20 | /* conf|ig.h.+ |
|00002340| 2a 20 54 68 69 73 20 66 | 69 6c 65 20 77 61 73 20 |* This f|ile was |
|00002350| 70 72 6f 64 75 63 65 64 | 20 62 79 20 72 75 6e 6e |produced| by runn|
|00002360| 69 6e 67 20 74 68 65 20 | 63 6f 6e 66 69 67 2e 68 |ing the |config.h|
|00002370| 2e 53 48 20 73 63 72 69 | 70 74 2c 20 77 68 69 63 |.SH scri|pt, whic|
|00002380| 68 0a 2b 20 20 2a 20 67 | 65 74 73 20 69 74 73 20 |h.+ * g|ets its |
|00002390| 76 61 6c 75 65 73 20 66 | 72 6f 6d 20 63 6f 6e 66 |values f|rom conf|
|000023a0| 69 67 2e 73 68 2c 20 77 | 68 69 63 68 20 69 73 20 |ig.sh, w|hich is |
|000023b0| 67 65 6e 65 72 61 6c 6c | 79 20 70 72 6f 64 75 63 |generall|y produc|
|000023c0| 65 64 20 62 79 0a 2b 20 | 20 2a 20 72 75 6e 6e 69 |ed by.+ | * runni|
|000023d0| 6e 67 20 43 6f 6e 66 69 | 67 75 72 65 2e 0a 2b 20 |ng Confi|gure..+ |
|000023e0| 20 2a 0a 2b 20 20 2a 20 | 46 65 65 6c 20 66 72 65 | *.+ * |Feel fre|
|000023f0| 65 20 74 6f 20 6d 6f 64 | 69 66 79 20 61 6e 79 20 |e to mod|ify any |
|00002400| 6f 66 20 74 68 69 73 20 | 61 73 20 74 68 65 20 6e |of this |as the n|
|00002410| 65 65 64 20 61 72 69 73 | 65 73 2e 20 20 4e 6f 74 |eed aris|es. Not|
|00002420| 65 2c 20 68 6f 77 65 76 | 65 72 2c 0a 2b 20 20 2a |e, howev|er,.+ *|
|00002430| 20 74 68 61 74 20 72 75 | 6e 6e 69 6e 67 20 63 6f | that ru|nning co|
|00002440| 6e 66 69 67 2e 68 2e 53 | 48 20 61 67 61 69 6e 20 |nfig.h.S|H again |
|00002450| 77 69 6c 6c 20 77 69 70 | 65 20 6f 75 74 20 61 6e |will wip|e out an|
|00002460| 79 20 63 68 61 6e 67 65 | 73 20 79 6f 75 27 76 65 |y change|s you've|
|00002470| 20 6d 61 64 65 2e 0a 2b | 20 20 2a 20 46 6f 72 20 | made..+| * For |
|00002480| 61 20 6d 6f 72 65 20 70 | 65 72 6d 61 6e 65 6e 74 |a more p|ermanent|
|00002490| 20 63 68 61 6e 67 65 20 | 65 64 69 74 20 63 6f 6e | change |edit con|
|000024a0| 66 69 67 2e 73 68 20 61 | 6e 64 20 72 65 72 75 6e |fig.sh a|nd rerun|
|000024b0| 20 63 6f 6e 66 69 67 2e | 68 2e 53 48 2e 0a 2b 20 | config.|h.SH..+ |
|000024c0| 20 2a 2f 0a 2b 20 0a 2b | 20 0a 2b 20 2f 2a 20 45 | */.+ .+| .+ /* E|
|000024d0| 55 4e 49 43 45 3a 0a 2b | 20 20 2a 09 54 68 69 73 |UNICE:.+| *.This|
|000024e0| 20 73 79 6d 62 6f 6c 2c | 20 69 66 20 64 65 66 69 | symbol,| if defi|
|000024f0| 6e 65 64 2c 20 69 6e 64 | 69 63 61 74 65 73 20 74 |ned, ind|icates t|
|00002500| 68 61 74 20 74 68 65 20 | 70 72 6f 67 72 61 6d 20 |hat the |program |
|00002510| 69 73 20 62 65 69 6e 67 | 20 63 6f 6d 70 69 6c 65 |is being| compile|
|00002520| 64 0a 2b 20 20 2a 09 75 | 6e 64 65 72 20 74 68 65 |d.+ *.u|nder the|
|00002530| 20 45 55 4e 49 43 45 20 | 70 61 63 6b 61 67 65 20 | EUNICE |package |
|00002540| 75 6e 64 65 72 20 56 4d | 53 2e 20 20 54 68 65 20 |under VM|S. The |
|00002550| 70 72 6f 67 72 61 6d 20 | 77 69 6c 6c 20 6e 65 65 |program |will nee|
|00002560| 64 20 74 6f 20 68 61 6e | 64 6c 65 0a 2b 20 20 2a |d to han|dle.+ *|
|00002570| 09 74 68 69 6e 67 73 20 | 6c 69 6b 65 20 66 69 6c |.things |like fil|
|00002580| 65 73 20 74 68 61 74 20 | 64 6f 6e 27 74 20 67 6f |es that |don't go|
|00002590| 20 61 77 61 79 20 74 68 | 65 20 66 69 72 73 74 20 | away th|e first |
|000025a0| 74 69 6d 65 20 79 6f 75 | 20 75 6e 6c 69 6e 6b 20 |time you| unlink |
|000025b0| 74 68 65 6d 2c 0a 2b 20 | 20 2a 09 64 75 65 20 74 |them,.+ | *.due t|
|000025c0| 6f 20 76 65 72 73 69 6f | 6e 20 6e 75 6d 62 65 72 |o versio|n number|
|000025d0| 69 6e 67 2e 20 20 49 74 | 20 77 69 6c 6c 20 61 6c |ing. It| will al|
|000025e0| 73 6f 20 6e 65 65 64 20 | 74 6f 20 63 6f 6d 70 65 |so need |to compe|
|000025f0| 6e 73 61 74 65 20 66 6f | 72 20 6c 61 63 6b 0a 2b |nsate fo|r lack.+|
|00002600| 20 20 2a 09 6f 66 20 61 | 20 72 65 73 70 65 63 74 | *.of a| respect|
|00002610| 61 62 6c 65 20 6c 69 6e | 6b 28 29 20 63 6f 6d 6d |able lin|k() comm|
|00002620| 61 6e 64 2e 0a 2b 20 20 | 2a 2f 0a 2b 20 2f 2a 20 |and..+ |*/.+ /* |
|00002630| 56 4d 53 3a 0a 2b 20 20 | 2a 09 54 68 69 73 20 73 |VMS:.+ |*.This s|
|00002640| 79 6d 62 6f 6c 2c 20 69 | 66 20 64 65 66 69 6e 65 |ymbol, i|f define|
|00002650| 64 2c 20 69 6e 64 69 63 | 61 74 65 73 20 74 68 61 |d, indic|ates tha|
|00002660| 74 20 74 68 65 20 70 72 | 6f 67 72 61 6d 20 69 73 |t the pr|ogram is|
|00002670| 20 72 75 6e 6e 69 6e 67 | 20 75 6e 64 65 72 0a 2b | running| under.+|
|00002680| 20 20 2a 09 56 4d 53 2e | 20 20 49 74 20 69 73 20 | *.VMS.| It is |
|00002690| 63 75 72 72 65 6e 74 6c | 79 20 6f 6e 6c 79 20 73 |currentl|y only s|
|000026a0| 65 74 20 69 6e 20 63 6f | 6e 6a 75 6e 63 74 69 6f |et in co|njunctio|
|000026b0| 6e 20 77 69 74 68 20 74 | 68 65 20 45 55 4e 49 43 |n with t|he EUNIC|
|000026c0| 45 20 73 79 6d 62 6f 6c | 2e 0a 2b 20 20 2a 2f 0a |E symbol|..+ */.|
|000026d0| 2b 20 23 24 64 5f 65 75 | 6e 69 63 65 09 45 55 4e |+ #$d_eu|nice.EUN|
|000026e0| 49 43 45 09 09 2f 2a 2a | 2f 0a 2b 20 23 24 64 5f |ICE../**|/.+ #$d_|
|000026f0| 65 75 6e 69 63 65 09 56 | 4d 53 09 09 2f 2a 2a 2f |eunice.V|MS../**/|
|00002700| 0a 2b 20 0a 2b 20 2f 2a | 20 43 50 50 53 54 44 49 |.+ .+ /*| CPPSTDI|
|00002710| 4e 3a 0a 2b 20 20 2a 09 | 54 68 69 73 20 73 79 6d |N:.+ *.|This sym|
|00002720| 62 6f 6c 20 63 6f 6e 74 | 61 69 6e 73 20 74 68 65 |bol cont|ains the|
|00002730| 20 66 69 72 73 74 20 70 | 61 72 74 20 6f 66 20 74 | first p|art of t|
|00002740| 68 65 20 73 74 72 69 6e | 67 20 77 68 69 63 68 20 |he strin|g which |
|00002750| 77 69 6c 6c 20 69 6e 76 | 6f 6b 65 0a 2b 20 20 2a |will inv|oke.+ *|
|00002760| 09 74 68 65 20 43 20 70 | 72 65 70 72 6f 63 65 73 |.the C p|reproces|
|00002770| 73 6f 72 20 6f 6e 20 74 | 68 65 20 73 74 61 6e 64 |sor on t|he stand|
|00002780| 61 72 64 20 69 6e 70 75 | 74 20 61 6e 64 20 70 72 |ard inpu|t and pr|
|00002790| 6f 64 75 63 65 20 74 6f | 20 73 74 61 6e 64 61 72 |oduce to| standar|
|000027a0| 64 0a 2b 20 20 2a 09 6f | 75 74 70 75 74 2e 09 20 |d.+ *.o|utput.. |
|000027b0| 54 79 70 69 63 61 6c 20 | 76 61 6c 75 65 20 6f 66 |Typical |value of|
|000027c0| 20 22 63 63 20 2d 45 22 | 20 6f 72 20 22 2f 6c 69 | "cc -E"| or "/li|
|000027d0| 62 2f 63 70 70 22 2e 0a | 2b 20 20 2a 2f 0a 2b 20 |b/cpp"..|+ */.+ |
|000027e0| 2f 2a 20 43 50 50 4d 49 | 4e 55 53 3a 0a 2b 20 20 |/* CPPMI|NUS:.+ |
|000027f0| 2a 09 54 68 69 73 20 73 | 79 6d 62 6f 6c 20 63 6f |*.This s|ymbol co|
|00002800| 6e 74 61 69 6e 73 20 74 | 68 65 20 73 65 63 6f 6e |ntains t|he secon|
|00002810| 64 20 70 61 72 74 20 6f | 66 20 74 68 65 20 73 74 |d part o|f the st|
|00002820| 72 69 6e 67 20 77 68 69 | 63 68 20 77 69 6c 6c 20 |ring whi|ch will |
|00002830| 69 6e 76 6f 6b 65 0a 2b | 20 20 2a 09 74 68 65 20 |invoke.+| *.the |
|00002840| 43 20 70 72 65 70 72 6f | 63 65 73 73 6f 72 20 6f |C prepro|cessor o|
|00002850| 6e 20 74 68 65 20 73 74 | 61 6e 64 61 72 64 20 69 |n the st|andard i|
|00002860| 6e 70 75 74 20 61 6e 64 | 20 70 72 6f 64 75 63 65 |nput and| produce|
|00002870| 20 74 6f 20 73 74 61 6e | 64 61 72 64 0a 2b 20 20 | to stan|dard.+ |
|00002880| 2a 09 6f 75 74 70 75 74 | 2e 20 20 54 68 69 73 20 |*.output|. This |
|00002890| 73 79 6d 62 6f 6c 20 77 | 69 6c 6c 20 68 61 76 65 |symbol w|ill have|
|000028a0| 20 74 68 65 20 76 61 6c | 75 65 20 22 2d 22 20 69 | the val|ue "-" i|
|000028b0| 66 20 43 50 50 53 54 44 | 49 4e 20 6e 65 65 64 73 |f CPPSTD|IN needs|
|000028c0| 20 61 20 6d 69 6e 75 73 | 0a 2b 20 20 2a 09 74 6f | a minus|.+ *.to|
|000028d0| 20 73 70 65 63 69 66 79 | 20 73 74 61 6e 64 61 72 | specify| standar|
|000028e0| 64 20 69 6e 70 75 74 2c | 20 6f 74 68 65 72 77 69 |d input,| otherwi|
|000028f0| 73 65 20 74 68 65 20 76 | 61 6c 75 65 20 69 73 20 |se the v|alue is |
|00002900| 22 22 2e 0a 2b 20 20 2a | 2f 0a 2b 20 23 64 65 66 |""..+ *|/.+ #def|
|00002910| 69 6e 65 20 43 50 50 53 | 54 44 49 4e 20 22 24 63 |ine CPPS|TDIN "$c|
|00002920| 70 70 73 74 64 69 6e 22 | 0a 2b 20 23 64 65 66 69 |ppstdin"|.+ #defi|
|00002930| 6e 65 20 43 50 50 4d 49 | 4e 55 53 20 22 24 63 70 |ne CPPMI|NUS "$cp|
|00002940| 70 6d 69 6e 75 73 22 0a | 2b 20 0a 2b 20 2f 2a 20 |pminus".|+ .+ /* |
|00002950| 43 48 41 52 53 50 52 49 | 4e 54 46 3a 0a 2b 20 20 |CHARSPRI|NTF:.+ |
|00002960| 2a 09 54 68 69 73 20 73 | 79 6d 62 6f 6c 20 69 73 |*.This s|ymbol is|
|00002970| 20 64 65 66 69 6e 65 64 | 20 69 66 20 74 68 69 73 | defined| if this|
|00002980| 20 73 79 73 74 65 6d 20 | 64 65 63 6c 61 72 65 73 | system |declares|
|00002990| 20 22 63 68 61 72 20 2a | 73 70 72 69 6e 74 66 28 | "char *|sprintf(|
|000029a0| 29 22 20 69 6e 0a 2b 20 | 20 2a 09 73 74 64 69 6f |)" in.+ | *.stdio|
|000029b0| 2e 68 2e 20 20 54 68 65 | 20 74 72 65 6e 64 20 73 |.h. The| trend s|
|000029c0| 65 65 6d 73 20 74 6f 20 | 62 65 20 74 6f 20 64 65 |eems to |be to de|
|000029d0| 63 6c 61 72 65 20 69 74 | 20 61 73 20 22 69 6e 74 |clare it| as "int|
|000029e0| 20 73 70 72 69 6e 74 66 | 28 29 22 2e 20 20 49 74 | sprintf|()". It|
|000029f0| 0a 2b 20 20 2a 09 69 73 | 20 75 70 20 74 6f 20 74 |.+ *.is| up to t|
|00002a00| 68 65 20 70 61 63 6b 61 | 67 65 20 61 75 74 68 6f |he packa|ge autho|
|00002a10| 72 20 74 6f 20 64 65 63 | 6c 61 72 65 20 73 70 72 |r to dec|lare spr|
|00002a20| 69 6e 74 66 20 63 6f 72 | 72 65 63 74 6c 79 20 62 |intf cor|rectly b|
|00002a30| 61 73 65 64 20 6f 6e 20 | 74 68 65 0a 2b 20 20 2a |ased on |the.+ *|
|00002a40| 09 73 79 6d 62 6f 6c 2e | 0a 2b 20 20 2a 2f 0a 2b |.symbol.|.+ */.+|
|00002a50| 20 23 24 64 5f 63 68 61 | 72 73 70 72 66 09 43 48 | #$d_cha|rsprf.CH|
|00002a60| 41 52 53 50 52 49 4e 54 | 46 20 09 2f 2a 2a 2f 0a |ARSPRINT|F ./**/.|
|00002a70| 2b 20 0a 2b 20 2f 2a 20 | 46 4c 45 58 46 49 4c 45 |+ .+ /* |FLEXFILE|
|00002a80| 4e 41 4d 45 53 3a 0a 2b | 20 20 2a 09 54 68 69 73 |NAMES:.+| *.This|
|00002a90| 20 73 79 6d 62 6f 6c 2c | 20 69 66 20 64 65 66 69 | symbol,| if defi|
|00002aa0| 6e 65 64 2c 20 69 6e 64 | 69 63 61 74 65 73 20 74 |ned, ind|icates t|
|00002ab0| 68 61 74 20 74 68 65 20 | 73 79 73 74 65 6d 20 73 |hat the |system s|
|00002ac0| 75 70 70 6f 72 74 73 20 | 66 69 6c 65 6e 61 6d 65 |upports |filename|
|00002ad0| 73 0a 2b 20 20 2a 09 6c | 6f 6e 67 65 72 20 74 68 |s.+ *.l|onger th|
|00002ae0| 61 6e 20 31 34 20 63 68 | 61 72 61 63 74 65 72 73 |an 14 ch|aracters|
|00002af0| 2e 0a 2b 20 20 2a 2f 0a | 2b 20 23 24 64 5f 66 6c |..+ */.|+ #$d_fl|
|00002b00| 65 78 66 6e 61 6d 09 46 | 4c 45 58 46 49 4c 45 4e |exfnam.F|LEXFILEN|
|00002b10| 41 4d 45 53 09 09 2f 2a | 2a 2f 0a 2b 20 0a 2b 20 |AMES../*|*/.+ .+ |
|00002b20| 2f 2a 20 69 6e 64 65 78 | 3a 0a 2b 20 20 2a 09 54 |/* index|:.+ *.T|
|00002b30| 68 69 73 20 70 72 65 70 | 72 6f 63 65 73 73 6f 72 |his prep|rocessor|
|00002b40| 20 73 79 6d 62 6f 6c 20 | 69 73 20 64 65 66 69 6e | symbol |is defin|
|00002b50| 65 64 2c 20 61 6c 6f 6e | 67 20 77 69 74 68 20 72 |ed, alon|g with r|
|00002b60| 69 6e 64 65 78 2c 20 69 | 66 20 74 68 65 20 73 79 |index, i|f the sy|
|00002b70| 73 74 65 6d 0a 2b 20 20 | 2a 09 75 73 65 73 20 74 |stem.+ |*.uses t|
|00002b80| 68 65 20 73 74 72 63 68 | 72 20 61 6e 64 20 73 74 |he strch|r and st|
|00002b90| 72 72 63 68 72 20 72 6f | 75 74 69 6e 65 73 20 69 |rrchr ro|utines i|
|00002ba0| 6e 73 74 65 61 64 2e 0a | 2b 20 20 2a 2f 0a 2b 20 |nstead..|+ */.+ |
|00002bb0| 2f 2a 20 72 69 6e 64 65 | 78 3a 0a 2b 20 20 2a 09 |/* rinde|x:.+ *.|
|00002bc0| 54 68 69 73 20 70 72 65 | 70 72 6f 63 65 73 73 6f |This pre|processo|
|00002bd0| 72 20 73 79 6d 62 6f 6c | 20 69 73 20 64 65 66 69 |r symbol| is defi|
|00002be0| 6e 65 64 2c 20 61 6c 6f | 6e 67 20 77 69 74 68 20 |ned, alo|ng with |
|00002bf0| 69 6e 64 65 78 2c 20 69 | 66 20 74 68 65 20 73 79 |index, i|f the sy|
|00002c00| 73 74 65 6d 0a 2b 20 20 | 2a 09 75 73 65 73 20 74 |stem.+ |*.uses t|
|00002c10| 68 65 20 73 74 72 63 68 | 72 20 61 6e 64 20 73 74 |he strch|r and st|
|00002c20| 72 72 63 68 72 20 72 6f | 75 74 69 6e 65 73 20 69 |rrchr ro|utines i|
|00002c30| 6e 73 74 65 61 64 2e 0a | 2b 20 20 2a 2f 0a 2b 20 |nstead..|+ */.+ |
|00002c40| 23 24 64 5f 69 6e 64 65 | 78 09 69 6e 64 65 78 20 |#$d_inde|x.index |
|00002c50| 73 74 72 63 68 72 09 2f | 2a 20 63 75 6c 74 75 72 |strchr./|* cultur|
|00002c60| 61 6c 20 2a 2f 0a 2b 20 | 23 24 64 5f 69 6e 64 65 |al */.+ |#$d_inde|
|00002c70| 78 09 72 69 6e 64 65 78 | 20 73 74 72 72 63 68 72 |x.rindex| strrchr|
|00002c80| 09 2f 2a 20 20 64 69 66 | 66 65 72 65 6e 63 65 73 |./* dif|ferences|
|00002c90| 3f 20 2a 2f 0a 2b 20 0a | 2b 20 2f 2a 20 56 4f 49 |? */.+ .|+ /* VOI|
|00002ca0| 44 53 49 47 3a 0a 2b 20 | 20 2a 09 54 68 69 73 20 |DSIG:.+ | *.This |
|00002cb0| 73 79 6d 62 6f 6c 20 69 | 73 20 64 65 66 69 6e 65 |symbol i|s define|
|00002cc0| 64 20 69 66 20 74 68 69 | 73 20 73 79 73 74 65 6d |d if thi|s system|
|00002cd0| 20 64 65 63 6c 61 72 65 | 73 20 22 76 6f 69 64 20 | declare|s "void |
|00002ce0| 28 2a 73 69 67 6e 61 6c | 28 29 29 28 29 22 20 69 |(*signal|())()" i|
|00002cf0| 6e 0a 2b 20 20 2a 09 73 | 69 67 6e 61 6c 2e 68 2e |n.+ *.s|ignal.h.|
|00002d00| 20 20 54 68 65 20 6f 6c | 64 20 77 61 79 20 77 61 | The ol|d way wa|
|00002d10| 73 20 74 6f 20 64 65 63 | 6c 61 72 65 20 69 74 20 |s to dec|lare it |
|00002d20| 61 73 20 22 69 6e 74 20 | 28 2a 73 69 67 6e 61 6c |as "int |(*signal|
|00002d30| 28 29 29 28 29 22 2e 20 | 20 49 74 0a 2b 20 20 2a |())()". | It.+ *|
|00002d40| 09 69 73 20 75 70 20 74 | 6f 20 74 68 65 20 70 61 |.is up t|o the pa|
|00002d50| 63 6b 61 67 65 20 61 75 | 74 68 6f 72 20 74 6f 20 |ckage au|thor to |
|00002d60| 64 65 63 6c 61 72 65 20 | 74 68 69 6e 67 73 20 63 |declare |things c|
|00002d70| 6f 72 72 65 63 74 6c 79 | 20 62 61 73 65 64 20 6f |orrectly| based o|
|00002d80| 6e 20 74 68 65 0a 2b 20 | 20 2a 09 73 79 6d 62 6f |n the.+ | *.symbo|
|00002d90| 6c 2e 0a 2b 20 20 2a 2f | 0a 2b 20 23 24 64 5f 76 |l..+ */|.+ #$d_v|
|00002da0| 6f 69 64 73 69 67 09 56 | 4f 49 44 53 49 47 20 09 |oidsig.V|OIDSIG .|
|00002db0| 2f 2a 2a 2f 0a 2b 20 0a | 2b 20 2f 2a 20 52 65 67 |/**/.+ .|+ /* Reg|
|00002dc0| 31 3a 0a 2b 20 20 2a 09 | 54 68 69 73 20 73 79 6d |1:.+ *.|This sym|
|00002dd0| 62 6f 6c 2c 20 61 6c 6f | 6e 67 20 77 69 74 68 20 |bol, alo|ng with |
|00002de0| 52 65 67 32 2c 20 52 65 | 67 33 2c 20 65 74 63 2e |Reg2, Re|g3, etc.|
|00002df0| 20 69 73 20 65 69 74 68 | 65 72 20 74 68 65 20 77 | is eith|er the w|
|00002e00| 6f 72 64 20 22 72 65 67 | 69 73 74 65 72 22 0a 2b |ord "reg|ister".+|
|00002e10| 20 20 2a 09 6f 72 20 6e | 75 6c 6c 2c 20 64 65 70 | *.or n|ull, dep|
|00002e20| 65 6e 64 69 6e 67 20 6f | 6e 20 77 68 65 74 68 65 |ending o|n whethe|
|00002e30| 72 20 74 68 65 20 43 20 | 63 6f 6d 70 69 6c 65 72 |r the C |compiler|
|00002e40| 20 70 61 79 73 20 61 74 | 74 65 6e 74 69 6f 6e 20 | pays at|tention |
|00002e50| 74 6f 20 74 68 69 73 0a | 2b 20 20 2a 09 6d 61 6e |to this.|+ *.man|
|00002e60| 79 20 72 65 67 69 73 74 | 65 72 20 64 65 63 6c 61 |y regist|er decla|
|00002e70| 72 61 74 69 6f 6e 73 2e | 20 20 54 68 65 20 69 6e |rations.| The in|
|00002e80| 74 65 6e 74 20 69 73 20 | 74 68 61 74 20 79 6f 75 |tent is |that you|
|00002e90| 20 64 6f 6e 27 74 20 68 | 61 76 65 20 74 6f 0a 2b | don't h|ave to.+|
|00002ea0| 20 20 2a 09 6f 72 64 65 | 72 20 79 6f 75 72 20 72 | *.orde|r your r|
|00002eb0| 65 67 69 73 74 65 72 20 | 64 65 63 6c 61 72 61 74 |egister |declarat|
|00002ec0| 69 6f 6e 73 20 69 6e 20 | 74 68 65 20 6f 72 64 65 |ions in |the orde|
|00002ed0| 72 20 6f 66 20 69 6d 70 | 6f 72 74 61 6e 63 65 2c |r of imp|ortance,|
|00002ee0| 20 73 6f 20 79 6f 75 0a | 2b 20 20 2a 09 63 61 6e | so you.|+ *.can|
|00002ef0| 20 66 72 65 65 6c 79 20 | 64 65 63 6c 61 72 65 20 | freely |declare |
|00002f00| 72 65 67 69 73 74 65 72 | 20 76 61 72 69 61 62 6c |register| variabl|
|00002f10| 65 73 20 69 6e 20 73 75 | 62 2d 62 6c 6f 63 6b 73 |es in su|b-blocks|
|00002f20| 20 6f 66 20 63 6f 64 65 | 20 61 6e 64 20 61 73 0a | of code| and as.|
|00002f30| 2b 20 20 2a 09 66 75 6e | 63 74 69 6f 6e 20 70 61 |+ *.fun|ction pa|
|00002f40| 72 61 6d 65 74 65 72 73 | 2e 20 20 44 6f 20 6e 6f |rameters|. Do no|
|00002f50| 74 20 75 73 65 20 52 65 | 67 3c 6e 3e 20 6d 6f 72 |t use Re|g<n> mor|
|00002f60| 65 20 74 68 61 6e 20 6f | 6e 63 65 20 70 65 72 20 |e than o|nce per |
|00002f70| 72 6f 75 74 69 6e 65 2e | 0a 2b 20 20 2a 2f 0a 2b |routine.|.+ */.+|
|00002f80| 20 0a 2b 20 23 64 65 66 | 69 6e 65 20 52 65 67 31 | .+ #def|ine Reg1|
|00002f90| 20 24 72 65 67 31 09 09 | 2f 2a 2a 2f 0a 2b 20 23 | $reg1..|/**/.+ #|
|00002fa0| 64 65 66 69 6e 65 20 52 | 65 67 32 20 24 72 65 67 |define R|eg2 $reg|
|00002fb0| 32 09 09 2f 2a 2a 2f 0a | 2b 20 23 64 65 66 69 6e |2../**/.|+ #defin|
|00002fc0| 65 20 52 65 67 33 20 24 | 72 65 67 33 09 09 2f 2a |e Reg3 $|reg3../*|
|00002fd0| 2a 2f 0a 2b 20 23 64 65 | 66 69 6e 65 20 52 65 67 |*/.+ #de|fine Reg|
|00002fe0| 34 20 24 72 65 67 34 09 | 09 2f 2a 2a 2f 0a 2b 20 |4 $reg4.|./**/.+ |
|00002ff0| 23 64 65 66 69 6e 65 20 | 52 65 67 35 20 24 72 65 |#define |Reg5 $re|
|00003000| 67 35 09 09 2f 2a 2a 2f | 0a 2b 20 23 64 65 66 69 |g5../**/|.+ #defi|
|00003010| 6e 65 20 52 65 67 36 20 | 24 72 65 67 36 09 09 2f |ne Reg6 |$reg6../|
|00003020| 2a 2a 2f 0a 2b 20 23 64 | 65 66 69 6e 65 20 52 65 |**/.+ #d|efine Re|
|00003030| 67 37 20 24 72 65 67 37 | 09 09 2f 2a 2a 2f 0a 2b |g7 $reg7|../**/.+|
|00003040| 20 23 64 65 66 69 6e 65 | 20 52 65 67 38 20 24 72 | #define| Reg8 $r|
|00003050| 65 67 38 09 09 2f 2a 2a | 2f 0a 2b 20 23 64 65 66 |eg8../**|/.+ #def|
|00003060| 69 6e 65 20 52 65 67 39 | 20 24 72 65 67 39 09 09 |ine Reg9| $reg9..|
|00003070| 2f 2a 2a 2f 0a 2b 20 23 | 64 65 66 69 6e 65 20 52 |/**/.+ #|define R|
|00003080| 65 67 31 30 20 24 72 65 | 67 31 30 09 09 2f 2a 2a |eg10 $re|g10../**|
|00003090| 2f 0a 2b 20 23 64 65 66 | 69 6e 65 20 52 65 67 31 |/.+ #def|ine Reg1|
|000030a0| 31 20 24 72 65 67 31 31 | 09 09 2f 2a 2a 2f 0a 2b |1 $reg11|../**/.+|
|000030b0| 20 23 64 65 66 69 6e 65 | 20 52 65 67 31 32 20 24 | #define| Reg12 $|
|000030c0| 72 65 67 31 32 09 09 2f | 2a 2a 2f 0a 2b 20 23 64 |reg12../|**/.+ #d|
|000030d0| 65 66 69 6e 65 20 52 65 | 67 31 33 20 24 72 65 67 |efine Re|g13 $reg|
|000030e0| 31 33 09 09 2f 2a 2a 2f | 0a 2b 20 23 64 65 66 69 |13../**/|.+ #defi|
|000030f0| 6e 65 20 52 65 67 31 34 | 20 24 72 65 67 31 34 09 |ne Reg14| $reg14.|
|00003100| 09 2f 2a 2a 2f 0a 2b 20 | 23 64 65 66 69 6e 65 20 |./**/.+ |#define |
|00003110| 52 65 67 31 35 20 24 72 | 65 67 31 35 09 09 2f 2a |Reg15 $r|eg15../*|
|00003120| 2a 2f 0a 2b 20 23 64 65 | 66 69 6e 65 20 52 65 67 |*/.+ #de|fine Reg|
|00003130| 31 36 20 24 72 65 67 31 | 36 09 09 2f 2a 2a 2f 0a |16 $reg1|6../**/.|
|00003140| 2b 20 0a 2b 20 2f 2a 20 | 56 4f 49 44 46 4c 41 47 |+ .+ /* |VOIDFLAG|
|00003150| 53 3a 0a 2b 20 20 2a 09 | 54 68 69 73 20 73 79 6d |S:.+ *.|This sym|
|00003160| 62 6f 6c 20 69 6e 64 69 | 63 61 74 65 73 20 68 6f |bol indi|cates ho|
|00003170| 77 20 6d 75 63 68 20 73 | 75 70 70 6f 72 74 20 6f |w much s|upport o|
|00003180| 66 20 74 68 65 20 76 6f | 69 64 20 74 79 70 65 20 |f the vo|id type |
|00003190| 69 73 20 67 69 76 65 6e | 20 62 79 20 74 68 69 73 |is given| by this|
|000031a0| 0a 2b 20 20 2a 09 63 6f | 6d 70 69 6c 65 72 2e 20 |.+ *.co|mpiler. |
|000031b0| 20 57 68 61 74 20 76 61 | 72 69 6f 75 73 20 62 69 | What va|rious bi|
|000031c0| 74 73 20 6d 65 61 6e 3a | 0a 2b 20 20 2a 0a 2b 20 |ts mean:|.+ *.+ |
|000031d0| 20 2a 09 20 20 20 20 31 | 20 3d 20 73 75 70 70 6f | *. 1| = suppo|
|000031e0| 72 74 73 20 64 65 63 6c | 61 72 61 74 69 6f 6e 20 |rts decl|aration |
|000031f0| 6f 66 20 76 6f 69 64 0a | 2b 20 20 2a 09 20 20 20 |of void.|+ *. |
|00003200| 20 32 20 3d 20 73 75 70 | 70 6f 72 74 73 20 61 72 | 2 = sup|ports ar|
|00003210| 72 61 79 73 20 6f 66 20 | 70 6f 69 6e 74 65 72 73 |rays of |pointers|
|00003220| 20 74 6f 20 66 75 6e 63 | 74 69 6f 6e 73 20 72 65 | to func|tions re|
|00003230| 74 75 72 6e 69 6e 67 20 | 76 6f 69 64 0a 2b 20 20 |turning |void.+ |
|00003240| 2a 09 20 20 20 20 34 20 | 3d 20 73 75 70 70 6f 72 |*. 4 |= suppor|
|00003250| 74 73 20 63 6f 6d 70 61 | 72 69 73 6f 6e 73 20 62 |ts compa|risons b|
|00003260| 65 74 77 65 65 6e 20 70 | 6f 69 6e 74 65 72 73 20 |etween p|ointers |
|00003270| 74 6f 20 76 6f 69 64 20 | 66 75 6e 63 74 69 6f 6e |to void |function|
|00003280| 73 20 61 6e 64 0a 2b 20 | 20 2a 09 09 20 20 20 20 |s and.+ | *.. |
|00003290| 61 64 64 72 65 73 73 65 | 73 20 6f 66 20 76 6f 69 |addresse|s of voi|
|000032a0| 64 20 66 75 6e 63 74 69 | 6f 6e 73 0a 2b 20 20 2a |d functi|ons.+ *|
|000032b0| 0a 2b 20 20 2a 09 54 68 | 65 20 70 61 63 6b 61 67 |.+ *.Th|e packag|
|000032c0| 65 20 64 65 73 69 67 6e | 65 72 20 73 68 6f 75 6c |e design|er shoul|
|000032d0| 64 20 64 65 66 69 6e 65 | 20 56 4f 49 44 55 53 45 |d define| VOIDUSE|
|000032e0| 44 20 74 6f 20 69 6e 64 | 69 63 61 74 65 20 74 68 |D to ind|icate th|
|000032f0| 65 20 72 65 71 75 69 72 | 65 6d 65 6e 74 73 0a 2b |e requir|ements.+|
|00003300| 20 20 2a 09 6f 66 20 74 | 68 65 20 70 61 63 6b 61 | *.of t|he packa|
|00003310| 67 65 2e 20 20 54 68 69 | 73 20 63 61 6e 20 62 65 |ge. Thi|s can be|
|00003320| 20 64 6f 6e 65 20 65 69 | 74 68 65 72 20 62 79 20 | done ei|ther by |
|00003330| 23 64 65 66 69 6e 69 6e | 67 20 56 4f 49 44 55 53 |#definin|g VOIDUS|
|00003340| 45 44 20 62 65 66 6f 72 | 65 0a 2b 20 20 2a 09 69 |ED befor|e.+ *.i|
|00003350| 6e 63 6c 75 64 69 6e 67 | 20 63 6f 6e 66 69 67 2e |ncluding| config.|
|00003360| 68 2c 20 6f 72 20 62 79 | 20 64 65 66 69 6e 69 6e |h, or by| definin|
|00003370| 67 20 64 65 66 76 6f 69 | 64 75 73 65 64 20 69 6e |g defvoi|dused in|
|00003380| 20 4d 79 69 6e 69 74 2e | 55 2e 20 20 49 66 20 74 | Myinit.|U. If t|
|00003390| 68 65 0a 2b 20 20 2a 09 | 6c 65 76 65 6c 20 6f 66 |he.+ *.|level of|
|000033a0| 20 76 6f 69 64 20 73 75 | 70 70 6f 72 74 20 6e 65 | void su|pport ne|
|000033b0| 63 65 73 73 61 72 79 20 | 69 73 20 6e 6f 74 20 70 |cessary |is not p|
|000033c0| 72 65 73 65 6e 74 2c 20 | 64 65 66 69 6e 65 73 20 |resent, |defines |
|000033d0| 76 6f 69 64 20 74 6f 20 | 69 6e 74 2e 0a 2b 20 20 |void to |int..+ |
|000033e0| 2a 2f 0a 2b 20 23 69 66 | 6e 64 65 66 20 56 4f 49 |*/.+ #if|ndef VOI|
|000033f0| 44 55 53 45 44 0a 2b 20 | 23 64 65 66 69 6e 65 20 |DUSED.+ |#define |
|00003400| 56 4f 49 44 55 53 45 44 | 20 24 64 65 66 76 6f 69 |VOIDUSED| $defvoi|
|00003410| 64 75 73 65 64 0a 2b 20 | 23 65 6e 64 69 66 0a 2b |dused.+ |#endif.+|
|00003420| 20 23 64 65 66 69 6e 65 | 20 56 4f 49 44 46 4c 41 | #define| VOIDFLA|
|00003430| 47 53 20 24 76 6f 69 64 | 66 6c 61 67 73 0a 2b 20 |GS $void|flags.+ |
|00003440| 23 69 66 20 28 56 4f 49 | 44 46 4c 41 47 53 20 26 |#if (VOI|DFLAGS &|
|00003450| 20 56 4f 49 44 55 53 45 | 44 29 20 21 3d 20 56 4f | VOIDUSE|D) != VO|
|00003460| 49 44 55 53 45 44 0a 2b | 20 23 24 64 65 66 69 6e |IDUSED.+| #$defin|
|00003470| 65 20 76 6f 69 64 20 69 | 6e 74 09 09 2f 2a 20 69 |e void i|nt../* i|
|00003480| 73 20 76 6f 69 64 20 74 | 6f 20 62 65 20 61 76 6f |s void t|o be avo|
|00003490| 69 64 65 64 3f 20 2a 2f | 0a 2b 20 23 24 64 65 66 |ided? */|.+ #$def|
|000034a0| 69 6e 65 20 4d 5f 56 4f | 49 44 09 09 2f 2a 20 58 |ine M_VO|ID../* X|
|000034b0| 65 6e 69 78 20 73 74 72 | 69 6b 65 73 20 61 67 61 |enix str|ikes aga|
|000034c0| 69 6e 20 2a 2f 0a 2b 20 | 23 65 6e 64 69 66 0a 2b |in */.+ |#endif.+|
|000034d0| 20 0a 2b 20 21 47 52 4f | 4b 21 54 48 49 53 21 0a | .+ !GRO|K!THIS!.|
|000034e0| 20 0a 49 6e 64 65 78 3a | 20 69 6e 70 2e 63 0a 50 | .Index:| inp.c.P|
|000034f0| 72 65 72 65 71 3a 20 32 | 2e 30 0a 2a 2a 2a 20 69 |rereq: 2|.0.*** i|
|00003500| 6e 70 2e 63 2e 6f 6c 64 | 09 46 72 69 20 4a 75 6e |np.c.old|.Fri Jun|
|00003510| 20 20 33 20 31 35 3a 32 | 37 3a 32 30 20 31 39 38 | 3 15:2|7:20 198|
|00003520| 38 0a 2d 2d 2d 20 69 6e | 70 2e 63 09 46 72 69 20 |8.--- in|p.c.Fri |
|00003530| 4a 75 6e 20 20 33 20 31 | 35 3a 32 37 3a 32 31 20 |Jun 3 1|5:27:21 |
|00003540| 31 39 38 38 0a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |1988.***|********|
|00003550| 2a 2a 2a 2a 0a 2a 2a 2a | 20 31 2c 36 20 2a 2a 2a |****.***| 1,6 ***|
|00003560| 2a 0a 21 20 2f 2a 20 24 | 48 65 61 64 65 72 3a 20 |*.! /* $|Header: |
|00003570| 69 6e 70 2e 63 2c 76 20 | 32 2e 30 20 38 36 2f 30 |inp.c,v |2.0 86/0|
|00003580| 39 2f 31 37 20 31 35 3a | 33 37 3a 30 32 20 6c 77 |9/17 15:|37:02 lw|
|00003590| 61 6c 6c 20 45 78 70 20 | 24 0a 20 20 20 2a 0a 20 |all Exp |$. *. |
|000035a0| 20 20 2a 20 24 4c 6f 67 | 3a 09 69 6e 70 2e 63 2c | * $Log|:.inp.c,|
|000035b0| 76 20 24 0a 20 20 20 2a | 20 52 65 76 69 73 69 6f |v $. *| Revisio|
|000035c0| 6e 20 32 2e 30 20 20 38 | 36 2f 30 39 2f 31 37 20 |n 2.0 8|6/09/17 |
|000035d0| 20 31 35 3a 33 37 3a 30 | 32 20 20 6c 77 61 6c 6c | 15:37:0|2 lwall|
|000035e0| 0a 20 20 20 2a 20 42 61 | 73 65 6c 69 6e 65 20 66 |. * Ba|seline f|
|000035f0| 6f 72 20 6e 65 74 77 69 | 64 65 20 72 65 6c 65 61 |or netwi|de relea|
|00003600| 73 65 2e 0a 20 20 20 2a | 20 0a 2d 2d 2d 20 31 2c |se.. *| .--- 1,|
|00003610| 39 20 2d 2d 2d 2d 0a 21 | 20 2f 2a 20 24 48 65 61 |9 ----.!| /* $Hea|
|00003620| 64 65 72 3a 20 69 6e 70 | 2e 63 2c 76 20 32 2e 30 |der: inp|.c,v 2.0|
|00003630| 2e 31 2e 31 20 38 38 2f | 30 36 2f 30 33 20 31 35 |.1.1 88/|06/03 15|
|00003640| 3a 30 36 3a 31 33 20 6c | 77 61 6c 6c 20 4c 6f 63 |:06:13 l|wall Loc|
|00003650| 6b 65 64 20 24 0a 20 20 | 20 2a 0a 20 20 20 2a 20 |ked $. | *. * |
|00003660| 24 4c 6f 67 3a 09 69 6e | 70 2e 63 2c 76 20 24 0a |$Log:.in|p.c,v $.|
|00003670| 2b 20 20 2a 20 52 65 76 | 69 73 69 6f 6e 20 32 2e |+ * Rev|ision 2.|
|00003680| 30 2e 31 2e 31 20 20 38 | 38 2f 30 36 2f 30 33 20 |0.1.1 8|8/06/03 |
|00003690| 20 31 35 3a 30 36 3a 31 | 33 20 20 6c 77 61 6c 6c | 15:06:1|3 lwall|
|000036a0| 0a 2b 20 20 2a 20 70 61 | 74 63 68 31 30 3a 20 6d |.+ * pa|tch10: m|
|000036b0| 61 64 65 20 61 20 6c 69 | 74 74 6c 65 20 73 6d 61 |ade a li|ttle sma|
|000036c0| 72 74 65 72 20 61 62 6f | 75 74 20 73 63 63 73 20 |rter abo|ut sccs |
|000036d0| 66 69 6c 65 73 0a 2b 20 | 20 2a 20 0a 20 20 20 2a |files.+ | * . *|
|000036e0| 20 52 65 76 69 73 69 6f | 6e 20 32 2e 30 20 20 38 | Revisio|n 2.0 8|
|000036f0| 36 2f 30 39 2f 31 37 20 | 20 31 35 3a 33 37 3a 30 |6/09/17 | 15:37:0|
|00003700| 32 20 20 6c 77 61 6c 6c | 0a 20 20 20 2a 20 42 61 |2 lwall|. * Ba|
|00003710| 73 65 6c 69 6e 65 20 66 | 6f 72 20 6e 65 74 77 69 |seline f|or netwi|
|00003720| 64 65 20 72 65 6c 65 61 | 73 65 2e 0a 20 20 20 2a |de relea|se.. *|
|00003730| 20 0a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | .******|********|
|00003740| 2a 0a 2a 2a 2a 20 39 34 | 2c 31 30 32 20 2a 2a 2a |*.*** 94|,102 ***|
|00003750| 2a 0a 20 20 09 09 66 61 | 74 61 6c 32 28 22 43 61 |*. ..fa|tal2("Ca|
|00003760| 6e 27 74 20 63 68 65 63 | 6b 20 6f 75 74 20 25 73 |n't chec|k out %s|
|00003770| 2e 5c 6e 22 2c 20 66 69 | 6c 65 6e 61 6d 65 29 3b |.\n", fi|lename);|
|00003780| 0a 20 20 09 7d 0a 20 20 | 09 65 6c 73 65 20 7b 0a |. .}. |.else {.|
|00003790| 21 20 09 20 20 20 20 53 | 70 72 69 6e 74 66 28 62 |! . S|printf(b|
|000037a0| 75 66 2c 20 22 53 43 43 | 53 2f 25 73 25 73 22 2c |uf, "SCC|S/%s%s",|
|000037b0| 20 53 43 43 53 50 52 45 | 46 49 58 2c 20 66 69 6c | SCCSPRE|FIX, fil|
|000037c0| 65 6e 61 6d 65 29 3b 0a | 21 20 09 20 20 20 20 69 |ename);.|! . i|
|000037d0| 66 20 28 73 74 61 74 28 | 62 75 66 2c 20 26 66 69 |f (stat(|buf, &fi|
|000037e0| 6c 65 73 74 61 74 29 20 | 3e 3d 20 30 20 7c 7c 20 |lestat) |>= 0 || |
|000037f0| 73 74 61 74 28 62 75 66 | 2b 35 2c 20 26 66 69 6c |stat(buf|+5, &fil|
|00003800| 65 73 74 61 74 29 20 3e | 3d 20 30 29 20 7b 0a 21 |estat) >|= 0) {.!|
|00003810| 20 09 09 53 70 72 69 6e | 74 66 28 62 75 66 2c 20 | ..Sprin|tf(buf, |
|00003820| 47 45 54 2c 20 66 69 6c | 65 6e 61 6d 65 29 3b 0a |GET, fil|ename);.|
|00003830| 20 20 09 09 69 66 20 28 | 76 65 72 62 6f 73 65 29 | ..if (|verbose)|
|00003840| 0a 20 20 09 09 20 20 20 | 20 73 61 79 32 28 22 43 |. .. | say2("C|
|00003850| 61 6e 27 74 20 66 69 6e | 64 20 25 73 2d 2d 61 74 |an't fin|d %s--at|
|00003860| 74 65 6d 70 74 69 6e 67 | 20 74 6f 20 67 65 74 20 |tempting| to get |
|00003870| 69 74 20 66 72 6f 6d 20 | 53 43 43 53 2e 5c 6e 22 |it from |SCCS.\n"|
|00003880| 2c 0a 20 20 09 09 09 66 | 69 6c 65 6e 61 6d 65 29 |,. ...f|ilename)|
|00003890| 3b 0a 2d 2d 2d 20 39 37 | 2c 31 30 36 20 2d 2d 2d |;.--- 97|,106 ---|
|000038a0| 2d 0a 20 20 09 09 66 61 | 74 61 6c 32 28 22 43 61 |-. ..fa|tal2("Ca|
|000038b0| 6e 27 74 20 63 68 65 63 | 6b 20 6f 75 74 20 25 73 |n't chec|k out %s|
|000038c0| 2e 5c 6e 22 2c 20 66 69 | 6c 65 6e 61 6d 65 29 3b |.\n", fi|lename);|
|000038d0| 0a 20 20 09 7d 0a 20 20 | 09 65 6c 73 65 20 7b 0a |. .}. |.else {.|
|000038e0| 21 20 09 20 20 20 20 53 | 70 72 69 6e 74 66 28 62 |! . S|printf(b|
|000038f0| 75 66 2b 32 30 2c 20 22 | 53 43 43 53 2f 25 73 25 |uf+20, "|SCCS/%s%|
|00003900| 73 22 2c 20 53 43 43 53 | 50 52 45 46 49 58 2c 20 |s", SCCS|PREFIX, |
|00003910| 66 69 6c 65 6e 61 6d 65 | 29 3b 0a 21 20 09 20 20 |filename|);.! . |
|00003920| 20 20 69 66 20 28 73 74 | 61 74 28 73 3d 62 75 66 | if (st|at(s=buf|
|00003930| 2b 32 30 2c 20 26 66 69 | 6c 65 73 74 61 74 29 20 |+20, &fi|lestat) |
|00003940| 3e 3d 20 30 20 7c 7c 0a | 21 20 09 20 20 20 20 20 |>= 0 ||.|! . |
|00003950| 20 73 74 61 74 28 73 3d | 62 75 66 2b 32 35 2c 20 | stat(s=|buf+25, |
|00003960| 26 66 69 6c 65 73 74 61 | 74 29 20 3e 3d 20 30 29 |&filesta|t) >= 0)|
|00003970| 20 7b 0a 21 20 09 09 53 | 70 72 69 6e 74 66 28 62 | {.! ..S|printf(b|
|00003980| 75 66 2c 20 47 45 54 2c | 20 73 29 3b 0a 20 20 09 |uf, GET,| s);. .|
|00003990| 09 69 66 20 28 76 65 72 | 62 6f 73 65 29 0a 20 20 |.if (ver|bose). |
|000039a0| 09 09 20 20 20 20 73 61 | 79 32 28 22 43 61 6e 27 |.. sa|y2("Can'|
|000039b0| 74 20 66 69 6e 64 20 25 | 73 2d 2d 61 74 74 65 6d |t find %|s--attem|
|000039c0| 70 74 69 6e 67 20 74 6f | 20 67 65 74 20 69 74 20 |pting to| get it |
|000039d0| 66 72 6f 6d 20 53 43 43 | 53 2e 5c 6e 22 2c 0a 20 |from SCC|S.\n",. |
|000039e0| 20 09 09 09 66 69 6c 65 | 6e 61 6d 65 29 3b 0a 2a | ...file|name);.*|
|000039f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 2a |********|******.*|
|00003a00| 2a 2a 20 31 37 31 2c 31 | 38 33 20 2a 2a 2a 2a 0a |** 171,1|83 ****.|
|00003a10| 20 20 09 69 66 20 28 21 | 72 65 76 5f 69 6e 5f 73 | .if (!|rev_in_s|
|00003a20| 74 72 69 6e 67 28 69 5f | 77 6f 6d 70 29 29 20 7b |tring(i_|womp)) {|
|00003a30| 0a 20 20 09 20 20 20 20 | 69 66 20 28 66 6f 72 63 |. . |if (forc|
|00003a40| 65 29 20 7b 0a 20 20 09 | 09 69 66 20 28 76 65 72 |e) {. .|.if (ver|
|00003a50| 62 6f 73 65 29 0a 21 20 | 09 09 20 20 20 20 73 61 |bose).! |.. sa|
|00003a60| 79 32 28 22 5c 0a 21 20 | 57 61 72 6e 69 6e 67 3a |y2("\.! |Warning:|
|00003a70| 20 74 68 69 73 20 66 69 | 6c 65 20 64 6f 65 73 6e | this fi|le doesn|
|00003a80| 27 74 20 61 70 70 65 61 | 72 20 74 6f 20 62 65 20 |'t appea|r to be |
|00003a90| 74 68 65 20 25 73 20 76 | 65 72 73 69 6f 6e 2d 2d |the %s v|ersion--|
|00003aa0| 70 61 74 63 68 69 6e 67 | 20 61 6e 79 77 61 79 2e |patching| anyway.|
|00003ab0| 5c 6e 22 2c 0a 20 20 09 | 09 09 72 65 76 69 73 69 |\n",. .|..revisi|
|00003ac0| 6f 6e 29 3b 0a 20 20 09 | 20 20 20 20 7d 0a 20 20 |on);. .| }. |
|00003ad0| 09 20 20 20 20 65 6c 73 | 65 20 7b 0a 21 20 09 09 |. els|e {.! ..|
|00003ae0| 61 73 6b 32 28 22 5c 0a | 21 20 54 68 69 73 20 66 |ask2("\.|! This f|
|00003af0| 69 6c 65 20 64 6f 65 73 | 6e 27 74 20 61 70 70 65 |ile does|n't appe|
|00003b00| 61 72 20 74 6f 20 62 65 | 20 74 68 65 20 25 73 20 |ar to be| the %s |
|00003b10| 76 65 72 73 69 6f 6e 2d | 2d 70 61 74 63 68 20 61 |version-|-patch a|
|00003b20| 6e 79 77 61 79 3f 20 5b | 6e 5d 20 22 2c 0a 20 20 |nyway? [|n] ",. |
|00003b30| 09 09 20 20 20 20 72 65 | 76 69 73 69 6f 6e 29 3b |.. re|vision);|
|00003b40| 0a 20 20 09 20 20 20 20 | 69 66 20 28 2a 62 75 66 |. . |if (*buf|
|00003b50| 20 21 3d 20 27 79 27 29 | 0a 20 20 09 09 66 61 74 | != 'y')|. ..fat|
|00003b60| 61 6c 31 28 22 41 62 6f | 72 74 65 64 2e 5c 6e 22 |al1("Abo|rted.\n"|
|00003b70| 29 3b 0a 2d 2d 2d 20 31 | 37 35 2c 31 38 37 20 2d |);.--- 1|75,187 -|
|00003b80| 2d 2d 2d 0a 20 20 09 69 | 66 20 28 21 72 65 76 5f |---. .i|f (!rev_|
|00003b90| 69 6e 5f 73 74 72 69 6e | 67 28 69 5f 77 6f 6d 70 |in_strin|g(i_womp|
|00003ba0| 29 29 20 7b 0a 20 20 09 | 20 20 20 20 69 66 20 28 |)) {. .| if (|
|00003bb0| 66 6f 72 63 65 29 20 7b | 0a 20 20 09 09 69 66 20 |force) {|. ..if |
|00003bc0| 28 76 65 72 62 6f 73 65 | 29 0a 21 20 09 09 20 20 |(verbose|).! .. |
|00003bd0| 20 20 73 61 79 32 28 0a | 21 20 22 57 61 72 6e 69 | say2(.|! "Warni|
|00003be0| 6e 67 3a 20 74 68 69 73 | 20 66 69 6c 65 20 64 6f |ng: this| file do|
|00003bf0| 65 73 6e 27 74 20 61 70 | 70 65 61 72 20 74 6f 20 |esn't ap|pear to |
|00003c00| 62 65 20 74 68 65 20 25 | 73 20 76 65 72 73 69 6f |be the %|s versio|
|00003c10| 6e 2d 2d 70 61 74 63 68 | 69 6e 67 20 61 6e 79 77 |n--patch|ing anyw|
|00003c20| 61 79 2e 5c 6e 22 2c 0a | 20 20 09 09 09 72 65 76 |ay.\n",.| ...rev|
|00003c30| 69 73 69 6f 6e 29 3b 0a | 20 20 09 20 20 20 20 7d |ision);.| . }|
|00003c40| 0a 20 20 09 20 20 20 20 | 65 6c 73 65 20 7b 0a 21 |. . |else {.!|
|00003c50| 20 09 09 61 73 6b 32 28 | 0a 21 20 22 54 68 69 73 | ..ask2(|.! "This|
|00003c60| 20 66 69 6c 65 20 64 6f | 65 73 6e 27 74 20 61 70 | file do|esn't ap|
|00003c70| 70 65 61 72 20 74 6f 20 | 62 65 20 74 68 65 20 25 |pear to |be the %|
|00003c80| 73 20 76 65 72 73 69 6f | 6e 2d 2d 70 61 74 63 68 |s versio|n--patch|
|00003c90| 20 61 6e 79 77 61 79 3f | 20 5b 6e 5d 20 22 2c 0a | anyway?| [n] ",.|
|00003ca0| 20 20 09 09 20 20 20 20 | 72 65 76 69 73 69 6f 6e | .. |revision|
|00003cb0| 29 3b 0a 20 20 09 20 20 | 20 20 69 66 20 28 2a 62 |);. . | if (*b|
|00003cc0| 75 66 20 21 3d 20 27 79 | 27 29 0a 20 20 09 09 66 |uf != 'y|'). ..f|
|00003cd0| 61 74 61 6c 31 28 22 41 | 62 6f 72 74 65 64 2e 5c |atal1("A|borted.\|
|00003ce0| 6e 22 29 3b 0a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |n");.***|********|
|00003cf0| 2a 2a 2a 2a 0a 2a 2a 2a | 20 32 31 36 2c 32 32 38 |****.***| 216,228|
|00003d00| 20 2a 2a 2a 2a 0a 20 20 | 09 69 66 20 28 21 66 6f | ****. |.if (!fo|
|00003d10| 75 6e 64 5f 72 65 76 69 | 73 69 6f 6e 29 20 7b 0a |und_revi|sion) {.|
|00003d20| 20 20 09 20 20 20 20 69 | 66 20 28 66 6f 72 63 65 | . i|f (force|
|00003d30| 29 20 7b 0a 20 20 09 09 | 69 66 20 28 76 65 72 62 |) {. ..|if (verb|
|00003d40| 6f 73 65 29 0a 21 20 09 | 09 20 20 20 20 73 61 79 |ose).! .|. say|
|00003d50| 32 28 22 5c 0a 21 20 57 | 61 72 6e 69 6e 67 3a 20 |2("\.! W|arning: |
|00003d60| 74 68 69 73 20 66 69 6c | 65 20 64 6f 65 73 6e 27 |this fil|e doesn'|
|00003d70| 74 20 61 70 70 65 61 72 | 20 74 6f 20 62 65 20 74 |t appear| to be t|
|00003d80| 68 65 20 25 73 20 76 65 | 72 73 69 6f 6e 2d 2d 70 |he %s ve|rsion--p|
|00003d90| 61 74 63 68 69 6e 67 20 | 61 6e 79 77 61 79 2e 5c |atching |anyway.\|
|00003da0| 6e 22 2c 0a 20 20 09 09 | 09 72 65 76 69 73 69 6f |n",. ..|.revisio|
|00003db0| 6e 29 3b 0a 20 20 09 20 | 20 20 20 7d 0a 20 20 09 |n);. . | }. .|
|00003dc0| 20 20 20 20 65 6c 73 65 | 20 7b 0a 21 20 09 09 61 | else| {.! ..a|
|00003dd0| 73 6b 32 28 22 5c 0a 21 | 20 54 68 69 73 20 66 69 |sk2("\.!| This fi|
|00003de0| 6c 65 20 64 6f 65 73 6e | 27 74 20 61 70 70 65 61 |le doesn|'t appea|
|00003df0| 72 20 74 6f 20 62 65 20 | 74 68 65 20 25 73 20 76 |r to be |the %s v|
|00003e00| 65 72 73 69 6f 6e 2d 2d | 70 61 74 63 68 20 61 6e |ersion--|patch an|
|00003e10| 79 77 61 79 3f 20 5b 6e | 5d 20 22 2c 0a 20 20 09 |yway? [n|] ",. .|
|00003e20| 09 20 20 20 20 72 65 76 | 69 73 69 6f 6e 29 3b 0a |. rev|ision);.|
|00003e30| 20 20 09 09 69 66 20 28 | 2a 62 75 66 20 21 3d 20 | ..if (|*buf != |
|00003e40| 27 79 27 29 0a 20 20 09 | 09 20 20 20 20 66 61 74 |'y'). .|. fat|
|00003e50| 61 6c 31 28 22 41 62 6f | 72 74 65 64 2e 5c 6e 22 |al1("Abo|rted.\n"|
|00003e60| 29 3b 0a 2d 2d 2d 20 32 | 32 30 2c 32 33 32 20 2d |);.--- 2|20,232 -|
|00003e70| 2d 2d 2d 0a 20 20 09 69 | 66 20 28 21 66 6f 75 6e |---. .i|f (!foun|
|00003e80| 64 5f 72 65 76 69 73 69 | 6f 6e 29 20 7b 0a 20 20 |d_revisi|on) {. |
|00003e90| 09 20 20 20 20 69 66 20 | 28 66 6f 72 63 65 29 20 |. if |(force) |
|00003ea0| 7b 0a 20 20 09 09 69 66 | 20 28 76 65 72 62 6f 73 |{. ..if| (verbos|
|00003eb0| 65 29 0a 21 20 09 09 20 | 20 20 20 73 61 79 32 28 |e).! .. | say2(|
|00003ec0| 0a 21 20 22 57 61 72 6e | 69 6e 67 3a 20 74 68 69 |.! "Warn|ing: thi|
|00003ed0| 73 20 66 69 6c 65 20 64 | 6f 65 73 6e 27 74 20 61 |s file d|oesn't a|
|00003ee0| 70 70 65 61 72 20 74 6f | 20 62 65 20 74 68 65 20 |ppear to| be the |
|00003ef0| 25 73 20 76 65 72 73 69 | 6f 6e 2d 2d 70 61 74 63 |%s versi|on--patc|
|00003f00| 68 69 6e 67 20 61 6e 79 | 77 61 79 2e 5c 6e 22 2c |hing any|way.\n",|
|00003f10| 0a 20 20 09 09 09 72 65 | 76 69 73 69 6f 6e 29 3b |. ...re|vision);|
|00003f20| 0a 20 20 09 20 20 20 20 | 7d 0a 20 20 09 20 20 20 |. . |}. . |
|00003f30| 20 65 6c 73 65 20 7b 0a | 21 20 09 09 61 73 6b 32 | else {.|! ..ask2|
|00003f40| 28 0a 21 20 22 54 68 69 | 73 20 66 69 6c 65 20 64 |(.! "Thi|s file d|
|00003f50| 6f 65 73 6e 27 74 20 61 | 70 70 65 61 72 20 74 6f |oesn't a|ppear to|
|00003f60| 20 62 65 20 74 68 65 20 | 25 73 20 76 65 72 73 69 | be the |%s versi|
|00003f70| 6f 6e 2d 2d 70 61 74 63 | 68 20 61 6e 79 77 61 79 |on--patc|h anyway|
|00003f80| 3f 20 5b 6e 5d 20 22 2c | 0a 20 20 09 09 20 20 20 |? [n] ",|. .. |
|00003f90| 20 72 65 76 69 73 69 6f | 6e 29 3b 0a 20 20 09 09 | revisio|n);. ..|
|00003fa0| 69 66 20 28 2a 62 75 66 | 20 21 3d 20 27 79 27 29 |if (*buf| != 'y')|
|00003fb0| 0a 20 20 09 09 20 20 20 | 20 66 61 74 61 6c 31 28 |. .. | fatal1(|
|00003fc0| 22 41 62 6f 72 74 65 64 | 2e 5c 6e 22 29 3b 0a 2a |"Aborted|.\n");.*|
|00003fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 2a |********|******.*|
|00003fe0| 2a 2a 20 33 30 32 2c 33 | 30 37 20 2a 2a 2a 2a 0a |** 302,3|07 ****.|
|00003ff0| 2d 2d 2d 20 33 30 36 2c | 33 31 33 20 2d 2d 2d 2d |--- 306,|313 ----|
|00004000| 0a 20 20 20 20 20 20 69 | 66 20 28 72 65 76 69 73 |. i|f (revis|
|00004010| 69 6f 6e 20 3d 3d 20 4e | 75 6c 6c 63 68 29 0a 20 |ion == N|ullch). |
|00004020| 20 09 72 65 74 75 72 6e | 20 54 52 55 45 3b 0a 20 | .return| TRUE;. |
|00004030| 20 20 20 20 20 70 61 74 | 6c 65 6e 20 3d 20 73 74 | pat|len = st|
|00004040| 72 6c 65 6e 28 72 65 76 | 69 73 69 6f 6e 29 3b 0a |rlen(rev|ision);.|
|00004050| 2b 20 20 20 20 20 69 66 | 20 28 73 74 72 6e 45 51 |+ if| (strnEQ|
|00004060| 28 73 74 72 69 6e 67 2c | 72 65 76 69 73 69 6f 6e |(string,|revision|
|00004070| 2c 70 61 74 6c 65 6e 29 | 20 26 26 20 69 73 73 70 |,patlen)| && issp|
|00004080| 61 63 65 28 73 5b 70 61 | 74 6c 65 6e 5d 29 29 0a |ace(s[pa|tlen])).|
|00004090| 2b 20 09 72 65 74 75 72 | 6e 20 54 52 55 45 3b 0a |+ .retur|n TRUE;.|
|000040a0| 20 20 20 20 20 20 66 6f | 72 20 28 73 20 3d 20 73 | fo|r (s = s|
|000040b0| 74 72 69 6e 67 3b 20 2a | 73 3b 20 73 2b 2b 29 20 |tring; *|s; s++) |
|000040c0| 7b 0a 20 20 09 69 66 20 | 28 69 73 73 70 61 63 65 |{. .if |(isspace|
|000040d0| 28 2a 73 29 20 26 26 20 | 73 74 72 6e 45 51 28 73 |(*s) && |strnEQ(s|
|000040e0| 2b 31 2c 20 72 65 76 69 | 73 69 6f 6e 2c 20 70 61 |+1, revi|sion, pa|
|000040f0| 74 6c 65 6e 29 20 26 26 | 20 0a 20 20 09 09 69 73 |tlen) &&| . ..is|
|00004100| 73 70 61 63 65 28 73 5b | 70 61 74 6c 65 6e 2b 31 |space(s[|patlen+1|
|00004110| 5d 20 29 29 20 7b 0a 20 | 0a 49 6e 64 65 78 3a 20 |] )) {. |.Index: |
|00004120| 6d 61 6c 6c 6f 63 2e 63 | 0a 2a 2a 2a 20 6d 61 6c |malloc.c|.*** mal|
|00004130| 6c 6f 63 2e 63 2e 6f 6c | 64 09 46 72 69 20 4a 75 |loc.c.ol|d.Fri Ju|
|00004140| 6e 20 20 33 20 31 35 3a | 32 37 3a 32 38 20 31 39 |n 3 15:|27:28 19|
|00004150| 38 38 0a 2d 2d 2d 20 6d | 61 6c 6c 6f 63 2e 63 09 |88.--- m|alloc.c.|
|00004160| 46 72 69 20 4a 75 6e 20 | 20 33 20 31 35 3a 32 37 |Fri Jun | 3 15:27|
|00004170| 3a 33 30 20 31 39 38 38 | 0a 2a 2a 2a 2a 2a 2a 2a |:30 1988|.*******|
|00004180| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 2a 2a 2a 20 30 20 2a |********|.*** 0 *|
|00004190| 2a 2a 2a 0a 2d 2d 2d 20 | 31 2c 34 36 37 20 2d 2d |***.--- |1,467 --|
|000041a0| 2d 2d 0a 2b 20 2f 2a 0a | 2b 20 20 2a 20 40 28 23 |--.+ /*.|+ * @(#|
|000041b0| 29 6e 6d 61 6c 6c 6f 63 | 2e 63 20 31 20 28 43 61 |)nmalloc|.c 1 (Ca|
|000041c0| 6c 74 65 63 68 29 20 32 | 2f 32 31 2f 38 32 0a 2b |ltech) 2|/21/82.+|
|000041d0| 20 20 2a 0a 2b 20 20 2a | 09 55 20 6f 66 20 4d 20 | *.+ *|.U of M |
|000041e0| 4d 6f 64 69 66 69 65 64 | 3a 20 32 30 20 4a 75 6e |Modified|: 20 Jun|
|000041f0| 20 31 39 38 33 20 41 43 | 54 3a 20 73 74 72 61 6e | 1983 AC|T: stran|
|00004200| 67 65 20 68 61 63 6b 73 | 20 66 6f 72 20 45 6d 61 |ge hacks| for Ema|
|00004210| 63 73 0a 2b 20 20 2a 0a | 2b 20 20 2a 09 4e 6f 76 |cs.+ *.|+ *.Nov|
|00004220| 20 31 39 38 33 2c 20 4d | 69 6b 65 40 42 52 4c 2c | 1983, M|ike@BRL,|
|00004230| 20 41 64 64 65 64 20 73 | 75 70 70 6f 72 74 20 66 | Added s|upport f|
|00004240| 6f 72 20 34 2e 31 43 2f | 34 2e 32 20 42 53 44 2e |or 4.1C/|4.2 BSD.|
|00004250| 0a 2b 20 20 2a 0a 2b 20 | 20 2a 20 54 68 69 73 20 |.+ *.+ | * This |
|00004260| 69 73 20 61 20 76 65 72 | 79 20 66 61 73 74 20 73 |is a ver|y fast s|
|00004270| 74 6f 72 61 67 65 20 61 | 6c 6c 6f 63 61 74 6f 72 |torage a|llocator|
|00004280| 2e 20 20 49 74 20 61 6c | 6c 6f 63 61 74 65 73 20 |. It al|locates |
|00004290| 62 6c 6f 63 6b 73 20 6f | 66 20 61 20 73 6d 61 6c |blocks o|f a smal|
|000042a0| 6c 20 0a 2b 20 20 2a 20 | 6e 75 6d 62 65 72 20 6f |l .+ * |number o|
|000042b0| 66 20 64 69 66 66 65 72 | 65 6e 74 20 73 69 7a 65 |f differ|ent size|
|000042c0| 73 2c 20 61 6e 64 20 6b | 65 65 70 73 20 66 72 65 |s, and k|eeps fre|
|000042d0| 65 20 6c 69 73 74 73 20 | 6f 66 20 65 61 63 68 20 |e lists |of each |
|000042e0| 73 69 7a 65 2e 20 20 42 | 6c 6f 63 6b 73 0a 2b 20 |size. B|locks.+ |
|000042f0| 20 2a 20 74 68 61 74 20 | 64 6f 6e 27 74 20 65 78 | * that |don't ex|
|00004300| 61 63 74 6c 79 20 66 69 | 74 20 61 72 65 20 70 61 |actly fi|t are pa|
|00004310| 73 73 65 64 20 75 70 20 | 74 6f 20 74 68 65 20 6e |ssed up |to the n|
|00004320| 65 78 74 20 6c 61 72 67 | 65 72 20 73 69 7a 65 2e |ext larg|er size.|
|00004330| 20 20 49 6e 20 74 68 69 | 73 20 0a 2b 20 20 2a 20 | In thi|s .+ * |
|00004340| 69 6d 70 6c 65 6d 65 6e | 74 61 74 69 6f 6e 2c 20 |implemen|tation, |
|00004350| 74 68 65 20 61 76 61 69 | 6c 61 62 6c 65 20 73 69 |the avai|lable si|
|00004360| 7a 65 73 20 61 72 65 20 | 28 32 5e 6e 29 2d 34 20 |zes are |(2^n)-4 |
|00004370| 28 6f 72 20 2d 31 36 29 | 20 62 79 74 65 73 20 6c |(or -16)| bytes l|
|00004380| 6f 6e 67 2e 0a 2b 20 20 | 2a 20 54 68 69 73 20 69 |ong..+ |* This i|
|00004390| 73 20 64 65 73 69 67 6e | 65 64 20 66 6f 72 20 75 |s design|ed for u|
|000043a0| 73 65 20 69 6e 20 61 20 | 70 72 6f 67 72 61 6d 20 |se in a |program |
|000043b0| 74 68 61 74 20 75 73 65 | 73 20 76 61 73 74 20 71 |that use|s vast q|
|000043c0| 75 61 6e 74 69 74 69 65 | 73 20 6f 66 0a 2b 20 20 |uantitie|s of.+ |
|000043d0| 2a 20 6d 65 6d 6f 72 79 | 2c 20 62 75 74 20 62 6f |* memory|, but bo|
|000043e0| 6d 62 73 20 77 68 65 6e | 20 69 74 20 72 75 6e 73 |mbs when| it runs|
|000043f0| 20 6f 75 74 2e 20 20 54 | 6f 20 6d 61 6b 65 20 69 | out. T|o make i|
|00004400| 74 20 61 20 6c 69 74 74 | 6c 65 20 62 65 74 74 65 |t a litt|le bette|
|00004410| 72 2c 20 69 74 0a 2b 20 | 20 2a 20 77 61 72 6e 73 |r, it.+ | * warns|
|00004420| 20 74 68 65 20 75 73 65 | 72 20 77 68 65 6e 20 68 | the use|r when h|
|00004430| 65 20 73 74 61 72 74 73 | 20 74 6f 20 67 65 74 20 |e starts| to get |
|00004440| 6e 65 61 72 20 74 68 65 | 20 65 6e 64 2e 0a 2b 20 |near the| end..+ |
|00004450| 20 2a 0a 2b 20 20 2a 20 | 4a 75 6e 65 20 38 34 2c | *.+ * |June 84,|
|00004460| 20 41 43 54 3a 20 6d 6f | 64 69 66 69 65 64 20 72 | ACT: mo|dified r|
|00004470| 63 68 65 63 6b 20 63 6f | 64 65 20 74 6f 20 63 68 |check co|de to ch|
|00004480| 65 63 6b 20 74 68 65 20 | 72 61 6e 67 65 20 67 69 |eck the |range gi|
|00004490| 76 65 6e 20 74 6f 20 6d | 61 6c 6c 6f 63 2c 0a 2b |ven to m|alloc,.+|
|000044a0| 20 20 2a 20 72 61 74 68 | 65 72 20 74 68 61 6e 20 | * rath|er than |
|000044b0| 74 68 65 20 72 61 6e 67 | 65 20 64 65 74 65 72 6d |the rang|e determ|
|000044c0| 69 6e 65 64 20 62 79 20 | 74 68 65 20 32 2d 70 6f |ined by |the 2-po|
|000044d0| 77 65 72 20 75 73 65 64 | 2e 0a 2b 20 20 2a 0a 2b |wer used|..+ *.+|
|000044e0| 20 20 2a 20 4a 61 6e 20 | 38 35 2c 20 52 4d 53 3a | * Jan |85, RMS:|
|000044f0| 20 63 61 6c 6c 73 20 6d | 61 6c 6c 6f 63 5f 77 61 | calls m|alloc_wa|
|00004500| 72 6e 69 6e 67 20 74 6f | 20 69 73 73 75 65 20 77 |rning to| issue w|
|00004510| 61 72 6e 69 6e 67 20 6f | 6e 20 6e 65 61 72 6c 79 |arning o|n nearly|
|00004520| 20 66 75 6c 6c 2e 0a 2b | 20 20 2a 20 4e 6f 20 6c | full..+| * No l|
|00004530| 6f 6e 67 65 72 20 45 6d | 61 63 73 2d 73 70 65 63 |onger Em|acs-spec|
|00004540| 69 66 69 63 3b 20 63 61 | 6e 20 73 65 72 76 65 20 |ific; ca|n serve |
|00004550| 61 73 20 61 6c 6c 2d 70 | 75 72 70 6f 73 65 20 6d |as all-p|urpose m|
|00004560| 61 6c 6c 6f 63 20 66 6f | 72 20 47 4e 55 2e 0a 2b |alloc fo|r GNU..+|
|00004570| 20 20 2a 20 59 6f 75 20 | 73 68 6f 75 6c 64 20 63 | * You |should c|
|00004580| 61 6c 6c 20 6d 61 6c 6c | 6f 63 5f 69 6e 69 74 20 |all mall|oc_init |
|00004590| 74 6f 20 72 65 69 6e 69 | 74 69 61 6c 69 7a 65 20 |to reini|tialize |
|000045a0| 61 66 74 65 72 20 6c 6f | 61 64 69 6e 67 20 64 75 |after lo|ading du|
|000045b0| 6d 70 65 64 20 45 6d 61 | 63 73 2e 0a 2b 20 20 2a |mped Ema|cs..+ *|
|000045c0| 20 43 61 6c 6c 20 6d 61 | 6c 6c 6f 63 5f 73 74 61 | Call ma|lloc_sta|
|000045d0| 74 73 20 74 6f 20 67 65 | 74 20 69 6e 66 6f 20 6f |ts to ge|t info o|
|000045e0| 6e 20 6d 65 6d 6f 72 79 | 20 73 74 61 74 73 20 69 |n memory| stats i|
|000045f0| 66 20 4d 53 54 41 54 53 | 20 74 75 72 6e 65 64 20 |f MSTATS| turned |
|00004600| 6f 6e 2e 0a 2b 20 20 2a | 20 72 65 61 6c 6c 6f 63 |on..+ *| realloc|
|00004610| 20 6b 6e 6f 77 73 20 68 | 6f 77 20 74 6f 20 72 65 | knows h|ow to re|
|00004620| 74 75 72 6e 20 73 61 6d | 65 20 62 6c 6f 63 6b 20 |turn sam|e block |
|00004630| 67 69 76 65 6e 2c 20 6a | 75 73 74 20 63 68 61 6e |given, j|ust chan|
|00004640| 67 69 6e 67 20 69 74 73 | 20 73 69 7a 65 2c 0a 2b |ging its| size,.+|
|00004650| 20 20 2a 20 69 66 20 74 | 68 65 20 70 6f 77 65 72 | * if t|he power|
|00004660| 20 6f 66 20 32 20 69 73 | 20 63 6f 72 72 65 63 74 | of 2 is| correct|
|00004670| 2e 0a 2b 20 20 2a 2f 0a | 2b 20 0a 2b 20 2f 2a 0a |..+ */.|+ .+ /*.|
|00004680| 2b 20 20 2a 20 6e 65 78 | 74 66 5b 69 5d 20 69 73 |+ * nex|tf[i] is|
|00004690| 20 74 68 65 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 | the poi|nter to |
|000046a0| 74 68 65 20 6e 65 78 74 | 20 66 72 65 65 20 62 6c |the next| free bl|
|000046b0| 6f 63 6b 20 6f 66 20 73 | 69 7a 65 20 32 5e 28 69 |ock of s|ize 2^(i|
|000046c0| 2b 33 29 2e 20 20 54 68 | 65 0a 2b 20 20 2a 20 73 |+3). Th|e.+ * s|
|000046d0| 6d 61 6c 6c 65 73 74 20 | 61 6c 6c 6f 63 61 74 61 |mallest |allocata|
|000046e0| 62 6c 65 20 62 6c 6f 63 | 6b 20 69 73 20 38 20 62 |ble bloc|k is 8 b|
|000046f0| 79 74 65 73 2e 20 20 54 | 68 65 20 6f 76 65 72 68 |ytes. T|he overh|
|00004700| 65 61 64 20 69 6e 66 6f | 72 6d 61 74 69 6f 6e 20 |ead info|rmation |
|00004710| 77 69 6c 6c 0a 2b 20 20 | 2a 20 67 6f 20 69 6e 20 |will.+ |* go in |
|00004720| 74 68 65 20 66 69 72 73 | 74 20 69 6e 74 20 6f 66 |the firs|t int of|
|00004730| 20 74 68 65 20 62 6c 6f | 63 6b 2c 20 61 6e 64 20 | the blo|ck, and |
|00004740| 74 68 65 20 72 65 74 75 | 72 6e 65 64 20 70 6f 69 |the retu|rned poi|
|00004750| 6e 74 65 72 20 77 69 6c | 6c 20 70 6f 69 6e 74 0a |nter wil|l point.|
|00004760| 2b 20 20 2a 20 74 6f 20 | 74 68 65 20 73 65 63 6f |+ * to |the seco|
|00004770| 6e 64 2e 0a 2b 20 20 2a | 0a 2b 20 23 69 66 64 65 |nd..+ *|.+ #ifde|
|00004780| 66 20 4d 53 54 41 54 53 | 0a 2b 20 20 2a 20 6e 6d |f MSTATS|.+ * nm|
|00004790| 61 6c 6c 6f 63 5b 69 5d | 20 69 73 20 74 68 65 20 |alloc[i]| is the |
|000047a0| 64 69 66 66 65 72 65 6e | 63 65 20 62 65 74 77 65 |differen|ce betwe|
|000047b0| 65 6e 20 74 68 65 20 6e | 75 6d 62 65 72 20 6f 66 |en the n|umber of|
|000047c0| 20 6d 61 6c 6c 6f 63 73 | 20 61 6e 64 20 66 72 65 | mallocs| and fre|
|000047d0| 65 73 0a 2b 20 20 2a 20 | 66 6f 72 20 61 20 67 69 |es.+ * |for a gi|
|000047e0| 76 65 6e 20 62 6c 6f 63 | 6b 20 73 69 7a 65 2e 0a |ven bloc|k size..|
|000047f0| 2b 20 23 65 6e 64 69 66 | 20 2f 2a 20 4d 53 54 41 |+ #endif| /* MSTA|
|00004800| 54 53 20 2a 2f 0a 2b 20 | 20 2a 2f 0a 2b 20 0a 2b |TS */.+ | */.+ .+|
|00004810| 20 23 64 65 66 69 6e 65 | 20 49 53 41 4c 4c 4f 43 | #define| ISALLOC|
|00004820| 20 28 28 63 68 61 72 29 | 20 30 78 66 37 29 09 2f | ((char)| 0xf7)./|
|00004830| 2a 20 6d 61 67 69 63 20 | 62 79 74 65 20 74 68 61 |* magic |byte tha|
|00004840| 74 20 69 6d 70 6c 69 65 | 73 20 61 6c 6c 6f 63 61 |t implie|s alloca|
|00004850| 74 69 6f 6e 20 2a 2f 0a | 2b 20 23 64 65 66 69 6e |tion */.|+ #defin|
|00004860| 65 20 49 53 46 52 45 45 | 20 28 28 63 68 61 72 29 |e ISFREE| ((char)|
|00004870| 20 30 78 35 34 29 09 2f | 2a 20 6d 61 67 69 63 20 | 0x54)./|* magic |
|00004880| 62 79 74 65 20 74 68 61 | 74 20 69 6d 70 6c 69 65 |byte tha|t implie|
|00004890| 73 20 66 72 65 65 20 62 | 6c 6f 63 6b 20 2a 2f 0a |s free b|lock */.|
|000048a0| 2b 20 09 09 09 09 2f 2a | 20 74 68 69 73 20 69 73 |+ ..../*| this is|
|000048b0| 20 66 6f 72 20 65 72 72 | 6f 72 20 63 68 65 63 6b | for err|or check|
|000048c0| 69 6e 67 20 6f 6e 6c 79 | 20 2a 2f 0a 2b 20 0a 2b |ing only| */.+ .+|
|000048d0| 20 65 78 74 65 72 6e 20 | 63 68 61 72 20 65 74 65 | extern |char ete|
|000048e0| 78 74 3b 0a 2b 20 0a 2b | 20 2f 2a 20 65 6e 64 20 |xt;.+ .+| /* end |
|000048f0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 3b 20 |of the p|rogram; |
|00004900| 63 61 6e 20 62 65 20 63 | 68 61 6e 67 65 64 20 62 |can be c|hanged b|
|00004910| 79 20 63 61 6c 6c 69 6e | 67 20 69 6e 69 74 5f 6d |y callin|g init_m|
|00004920| 61 6c 6c 6f 63 20 2a 2f | 0a 2b 20 73 74 61 74 69 |alloc */|.+ stati|
|00004930| 63 20 63 68 61 72 20 2a | 65 6e 64 6f 66 70 75 72 |c char *|endofpur|
|00004940| 65 20 3d 20 26 65 74 65 | 78 74 3b 0a 2b 20 0a 2b |e = &ete|xt;.+ .+|
|00004950| 20 23 69 66 64 65 66 20 | 4d 53 54 41 54 53 0a 2b | #ifdef |MSTATS.+|
|00004960| 20 73 74 61 74 69 63 20 | 69 6e 74 20 6e 6d 61 6c | static |int nmal|
|00004970| 6c 6f 63 5b 33 30 5d 3b | 0a 2b 20 73 74 61 74 69 |loc[30];|.+ stati|
|00004980| 63 20 69 6e 74 20 6e 6d | 61 6c 2c 20 6e 66 72 65 |c int nm|al, nfre|
|00004990| 3b 0a 2b 20 23 65 6e 64 | 69 66 20 2f 2a 20 4d 53 |;.+ #end|if /* MS|
|000049a0| 54 41 54 53 20 2a 2f 0a | 2b 20 0a 2b 20 2f 2a 20 |TATS */.|+ .+ /* |
|000049b0| 49 66 20 72 61 6e 67 65 | 20 63 68 65 63 6b 69 6e |If range| checkin|
|000049c0| 67 20 69 73 20 6e 6f 74 | 20 74 75 72 6e 65 64 20 |g is not| turned |
|000049d0| 6f 6e 2c 20 61 6c 6c 20 | 77 65 20 68 61 76 65 20 |on, all |we have |
|000049e0| 69 73 20 61 20 66 6c 61 | 67 20 69 6e 64 69 63 61 |is a fla|g indica|
|000049f0| 74 69 6e 67 0a 2b 20 20 | 20 20 77 68 65 74 68 65 |ting.+ | whethe|
|00004a00| 72 20 6d 65 6d 6f 72 79 | 20 69 73 20 61 6c 6c 6f |r memory| is allo|
|00004a10| 63 61 74 65 64 2c 20 61 | 6e 20 69 6e 64 65 78 20 |cated, a|n index |
|00004a20| 69 6e 20 6e 65 78 74 66 | 5b 5d 2c 20 61 6e 64 20 |in nextf|[], and |
|00004a30| 61 20 73 69 7a 65 20 66 | 69 65 6c 64 3b 20 74 6f |a size f|ield; to|
|00004a40| 0a 2b 20 20 20 20 72 65 | 61 6c 6c 6f 63 28 29 20 |.+ re|alloc() |
|00004a50| 6d 65 6d 6f 72 79 20 77 | 65 20 63 6f 70 79 20 65 |memory w|e copy e|
|00004a60| 69 74 68 65 72 20 73 69 | 7a 65 20 62 79 74 65 73 |ither si|ze bytes|
|00004a70| 20 6f 72 20 31 3c 3c 28 | 69 6e 64 65 78 2b 33 29 | or 1<<(|index+3)|
|00004a80| 20 62 79 74 65 73 20 64 | 65 70 65 6e 64 69 6e 67 | bytes d|epending|
|00004a90| 0a 2b 20 20 20 20 6f 6e | 20 77 68 65 74 68 65 72 |.+ on| whether|
|00004aa0| 20 74 68 65 20 66 6f 72 | 6d 65 72 20 63 61 6e 20 | the for|mer can |
|00004ab0| 68 6f 6c 64 20 74 68 65 | 20 65 78 61 63 74 20 73 |hold the| exact s|
|00004ac0| 69 7a 65 20 28 67 69 76 | 65 6e 20 74 68 65 20 76 |ize (giv|en the v|
|00004ad0| 61 6c 75 65 20 6f 66 0a | 2b 20 20 20 20 27 69 6e |alue of.|+ 'in|
|00004ae0| 64 65 78 27 29 2e 20 20 | 49 66 20 72 61 6e 67 65 |dex'). |If range|
|00004af0| 20 63 68 65 63 6b 69 6e | 67 20 69 73 20 6f 6e 2c | checkin|g is on,|
|00004b00| 20 77 65 20 61 6c 77 61 | 79 73 20 6e 65 65 64 20 | we alwa|ys need |
|00004b10| 74 6f 20 6b 6e 6f 77 20 | 68 6f 77 20 6d 75 63 68 |to know |how much|
|00004b20| 20 73 70 61 63 65 0a 2b | 20 20 20 20 69 73 20 61 | space.+| is a|
|00004b30| 6c 6c 6f 63 61 74 65 64 | 2c 20 73 6f 20 74 68 65 |llocated|, so the|
|00004b40| 20 27 73 69 7a 65 27 20 | 66 69 65 6c 64 20 69 73 | 'size' |field is|
|00004b50| 20 6e 65 76 65 72 20 75 | 73 65 64 2e 20 2a 2f 0a | never u|sed. */.|
|00004b60| 2b 20 0a 2b 20 73 74 72 | 75 63 74 20 6d 68 65 61 |+ .+ str|uct mhea|
|00004b70| 64 20 7b 0a 2b 20 09 63 | 68 61 72 20 20 20 20 20 |d {.+ .c|har |
|00004b80| 6d 68 5f 61 6c 6c 6f 63 | 3b 09 2f 2a 20 49 53 41 |mh_alloc|;./* ISA|
|00004b90| 4c 4c 4f 43 20 6f 72 20 | 49 53 46 52 45 45 20 2a |LLOC or |ISFREE *|
|00004ba0| 2f 0a 2b 20 09 63 68 61 | 72 20 20 20 20 20 6d 68 |/.+ .cha|r mh|
|00004bb0| 5f 69 6e 64 65 78 3b 09 | 2f 2a 20 69 6e 64 65 78 |_index;.|/* index|
|00004bc0| 20 69 6e 20 6e 65 78 74 | 66 5b 5d 20 2a 2f 0a 2b | in next|f[] */.+|
|00004bd0| 20 2f 2a 20 52 65 6d 61 | 69 6e 64 65 72 20 61 72 | /* Rema|inder ar|
|00004be0| 65 20 76 61 6c 69 64 20 | 6f 6e 6c 79 20 77 68 65 |e valid |only whe|
|00004bf0| 6e 20 62 6c 6f 63 6b 20 | 69 73 20 61 6c 6c 6f 63 |n block |is alloc|
|00004c00| 61 74 65 64 20 2a 2f 0a | 2b 20 09 75 6e 73 69 67 |ated */.|+ .unsig|
|00004c10| 6e 65 64 20 73 68 6f 72 | 74 20 6d 68 5f 73 69 7a |ned shor|t mh_siz|
|00004c20| 65 3b 09 2f 2a 20 73 69 | 7a 65 2c 20 69 66 20 3c |e;./* si|ze, if <|
|00004c30| 20 30 78 31 30 30 30 30 | 20 2a 2f 0a 2b 20 23 69 | 0x10000| */.+ #i|
|00004c40| 66 64 65 66 20 72 63 68 | 65 63 6b 0a 2b 20 09 75 |fdef rch|eck.+ .u|
|00004c50| 6e 73 69 67 6e 65 64 20 | 6d 68 5f 6e 62 79 74 65 |nsigned |mh_nbyte|
|00004c60| 73 3b 09 2f 2a 20 6e 75 | 6d 62 65 72 20 6f 66 20 |s;./* nu|mber of |
|00004c70| 62 79 74 65 73 20 61 6c | 6c 6f 63 61 74 65 64 20 |bytes al|located |
|00004c80| 2a 2f 0a 2b 20 09 69 6e | 74 20 20 20 20 20 20 6d |*/.+ .in|t m|
|00004c90| 68 5f 6d 61 67 69 63 34 | 3b 09 2f 2a 20 73 68 6f |h_magic4|;./* sho|
|00004ca0| 75 6c 64 20 62 65 20 3d | 3d 20 4d 41 47 49 43 34 |uld be =|= MAGIC4|
|00004cb0| 20 2a 2f 0a 2b 20 23 65 | 6e 64 69 66 20 2f 2a 20 | */.+ #e|ndif /* |
|00004cc0| 72 63 68 65 63 6b 20 2a | 2f 0a 2b 20 09 7d 3b 0a |rcheck *|/.+ .};.|
|00004cd0| 2b 20 0a 2b 20 2f 2a 20 | 41 63 63 65 73 73 20 66 |+ .+ /* |Access f|
|00004ce0| 72 65 65 2d 6c 69 73 74 | 20 70 6f 69 6e 74 65 72 |ree-list| pointer|
|00004cf0| 20 6f 66 20 61 20 62 6c | 6f 63 6b 2e 0a 2b 20 20 | of a bl|ock..+ |
|00004d00| 20 49 74 20 69 73 20 73 | 74 6f 72 65 64 20 61 74 | It is s|tored at|
|00004d10| 20 62 6c 6f 63 6b 20 2b | 20 34 2e 0a 2b 20 20 20 | block +| 4..+ |
|00004d20| 54 68 69 73 20 69 73 20 | 6e 6f 74 20 61 20 66 69 |This is |not a fi|
|00004d30| 65 6c 64 20 69 6e 20 74 | 68 65 20 6d 68 65 61 64 |eld in t|he mhead|
|00004d40| 20 73 74 72 75 63 74 75 | 72 65 0a 2b 20 20 20 62 | structu|re.+ b|
|00004d50| 65 63 61 75 73 65 20 77 | 65 20 77 61 6e 74 20 73 |ecause w|e want s|
|00004d60| 69 7a 65 6f 66 20 28 73 | 74 72 75 63 74 20 6d 68 |izeof (s|truct mh|
|00004d70| 65 61 64 29 0a 2b 20 20 | 20 74 6f 20 64 65 73 63 |ead).+ | to desc|
|00004d80| 72 69 62 65 20 74 68 65 | 20 6f 76 65 72 68 65 61 |ribe the| overhea|
|00004d90| 64 20 66 6f 72 20 77 68 | 65 6e 20 74 68 65 20 62 |d for wh|en the b|
|00004da0| 6c 6f 63 6b 20 69 73 20 | 69 6e 20 75 73 65 2c 0a |lock is |in use,.|
|00004db0| 2b 20 20 20 61 6e 64 20 | 77 65 20 64 6f 20 6e 6f |+ and |we do no|
|00004dc0| 74 20 77 61 6e 74 20 74 | 68 65 20 66 72 65 65 2d |t want t|he free-|
|00004dd0| 6c 69 73 74 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |list poi|nter to |
|00004de0| 63 6f 75 6e 74 20 69 6e | 20 74 68 61 74 2e 20 20 |count in| that. |
|00004df0| 2a 2f 0a 2b 20 0a 2b 20 | 23 64 65 66 69 6e 65 20 |*/.+ .+ |#define |
|00004e00| 43 48 41 49 4e 28 61 29 | 20 5c 0a 2b 20 20 20 28 |CHAIN(a)| \.+ (|
|00004e10| 2a 28 73 74 72 75 63 74 | 20 6d 68 65 61 64 20 2a |*(struct| mhead *|
|00004e20| 2a 29 20 28 73 69 7a 65 | 6f 66 20 28 63 68 61 72 |*) (size|of (char|
|00004e30| 20 2a 29 20 2b 20 28 63 | 68 61 72 20 2a 29 20 28 | *) + (c|har *) (|
|00004e40| 61 29 29 29 0a 2b 20 0a | 2b 20 23 69 66 64 65 66 |a))).+ .|+ #ifdef|
|00004e50| 20 72 63 68 65 63 6b 0a | 2b 20 0a 2b 20 2f 2a 20 | rcheck.|+ .+ /* |
|00004e60| 54 6f 20 69 6d 70 6c 65 | 6d 65 6e 74 20 72 61 6e |To imple|ment ran|
|00004e70| 67 65 20 63 68 65 63 6b | 69 6e 67 2c 20 77 65 20 |ge check|ing, we |
|00004e80| 77 72 69 74 65 20 6d 61 | 67 69 63 20 76 61 6c 75 |write ma|gic valu|
|00004e90| 65 73 20 69 6e 20 61 74 | 20 74 68 65 20 62 65 67 |es in at| the beg|
|00004ea0| 69 6e 6e 69 6e 67 20 61 | 6e 64 0a 2b 20 20 20 20 |inning a|nd.+ |
|00004eb0| 65 6e 64 20 6f 66 20 65 | 61 63 68 20 61 6c 6c 6f |end of e|ach allo|
|00004ec0| 63 61 74 65 64 20 62 6c | 6f 63 6b 2c 20 61 6e 64 |cated bl|ock, and|
|00004ed0| 20 6d 61 6b 65 20 73 75 | 72 65 20 74 68 65 79 20 | make su|re they |
|00004ee0| 61 72 65 20 75 6e 64 69 | 73 74 75 72 62 65 64 20 |are undi|sturbed |
|00004ef0| 77 68 65 6e 65 76 65 72 | 20 61 0a 2b 20 20 20 20 |whenever| a.+ |
|00004f00| 66 72 65 65 20 6f 72 20 | 61 20 72 65 61 6c 6c 6f |free or |a reallo|
|00004f10| 63 20 6f 63 63 75 72 73 | 2e 20 2a 2f 0a 2b 20 2f |c occurs|. */.+ /|
|00004f20| 2a 20 57 72 69 74 74 65 | 6e 20 69 6e 20 65 61 63 |* Writte|n in eac|
|00004f30| 68 20 6f 66 20 74 68 65 | 20 34 20 62 79 74 65 73 |h of the| 4 bytes|
|00004f40| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 74 68 65 20 62 | followi|ng the b|
|00004f50| 6c 6f 63 6b 27 73 20 72 | 65 61 6c 20 73 70 61 63 |lock's r|eal spac|
|00004f60| 65 20 2a 2f 0a 2b 20 23 | 64 65 66 69 6e 65 20 4d |e */.+ #|define M|
|00004f70| 41 47 49 43 31 20 30 78 | 35 35 0a 2b 20 2f 2a 20 |AGIC1 0x|55.+ /* |
|00004f80| 57 72 69 74 74 65 6e 20 | 69 6e 20 74 68 65 20 34 |Written |in the 4|
|00004f90| 20 62 79 74 65 73 20 62 | 65 66 6f 72 65 20 74 68 | bytes b|efore th|
|00004fa0| 65 20 62 6c 6f 63 6b 27 | 73 20 72 65 61 6c 20 73 |e block'|s real s|
|00004fb0| 70 61 63 65 20 2a 2f 0a | 2b 20 23 64 65 66 69 6e |pace */.|+ #defin|
|00004fc0| 65 20 4d 41 47 49 43 34 | 20 30 78 35 35 35 35 35 |e MAGIC4| 0x55555|
|00004fd0| 35 35 35 0a 2b 20 23 64 | 65 66 69 6e 65 20 41 53 |555.+ #d|efine AS|
|00004fe0| 53 45 52 54 28 70 29 20 | 69 66 20 28 21 28 70 29 |SERT(p) |if (!(p)|
|00004ff0| 29 20 62 6f 74 63 68 28 | 22 70 22 29 3b 20 65 6c |) botch(|"p"); el|
|00005000| 73 65 0a 2b 20 73 74 61 | 74 69 63 0a 2b 20 62 6f |se.+ sta|tic.+ bo|
|00005010| 74 63 68 28 73 29 0a 2b | 20 09 63 68 61 72 20 2a |tch(s).+| .char *|
|00005020| 73 3b 0a 2b 20 7b 0a 2b | 20 0a 2b 20 09 70 72 69 |s;.+ {.+| .+ .pri|
|00005030| 6e 74 66 28 22 61 73 73 | 65 72 74 69 6f 6e 20 62 |ntf("ass|ertion b|
|00005040| 6f 74 63 68 65 64 3a 20 | 25 73 5c 6e 22 2c 20 73 |otched: |%s\n", s|
|00005050| 29 3b 0a 2b 20 09 61 62 | 6f 72 74 28 29 3b 0a 2b |);.+ .ab|ort();.+|
|00005060| 20 7d 0a 2b 20 23 64 65 | 66 69 6e 65 20 45 58 54 | }.+ #de|fine EXT|
|00005070| 52 41 20 20 34 09 09 2f | 2a 20 34 20 62 79 74 65 |RA 4../|* 4 byte|
|00005080| 73 20 65 78 74 72 61 20 | 66 6f 72 20 4d 41 47 49 |s extra |for MAGI|
|00005090| 43 31 73 20 2a 2f 0a 2b | 20 23 65 6c 73 65 0a 2b |C1s */.+| #else.+|
|000050a0| 20 23 64 65 66 69 6e 65 | 20 41 53 53 45 52 54 28 | #define| ASSERT(|
|000050b0| 70 29 0a 2b 20 23 64 65 | 66 69 6e 65 20 45 58 54 |p).+ #de|fine EXT|
|000050c0| 52 41 20 20 30 0a 2b 20 | 23 65 6e 64 69 66 20 2f |RA 0.+ |#endif /|
|000050d0| 2a 20 72 63 68 65 63 6b | 20 2a 2f 0a 2b 20 0a 2b |* rcheck| */.+ .+|
|000050e0| 20 2f 2a 20 6e 65 78 74 | 66 5b 69 5d 20 69 73 20 | /* next|f[i] is |
|000050f0| 66 72 65 65 20 6c 69 73 | 74 20 6f 66 20 62 6c 6f |free lis|t of blo|
|00005100| 63 6b 73 20 6f 66 20 73 | 69 7a 65 20 32 2a 2a 28 |cks of s|ize 2**(|
|00005110| 69 20 2b 20 33 29 20 20 | 2a 2f 0a 2b 20 0a 2b 20 |i + 3) |*/.+ .+ |
|00005120| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 6d 68 |static s|truct mh|
|00005130| 65 61 64 20 2a 6e 65 78 | 74 66 5b 33 30 5d 3b 0a |ead *nex|tf[30];.|
|00005140| 2b 20 0a 2b 20 23 69 66 | 64 65 66 09 4d 5f 57 41 |+ .+ #if|def.M_WA|
|00005150| 52 4e 0a 2b 20 2f 2a 20 | 4e 75 6d 62 65 72 20 6f |RN.+ /* |Number o|
|00005160| 66 20 62 79 74 65 73 20 | 6f 66 20 77 72 69 74 61 |f bytes |of writa|
|00005170| 62 6c 65 20 6d 65 6d 6f | 72 79 20 77 65 20 63 61 |ble memo|ry we ca|
|00005180| 6e 20 65 78 70 65 63 74 | 20 74 6f 20 62 65 20 61 |n expect| to be a|
|00005190| 62 6c 65 20 74 6f 20 67 | 65 74 20 2a 2f 0a 2b 20 |ble to g|et */.+ |
|000051a0| 73 74 61 74 69 63 20 69 | 6e 74 20 20 6c 69 6d 5f |static i|nt lim_|
|000051b0| 64 61 74 61 3b 0a 2b 20 | 2f 2a 20 4c 65 76 65 6c |data;.+ |/* Level|
|000051c0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 77 61 72 6e 69 | number |of warni|
|000051d0| 6e 67 73 20 61 6c 72 65 | 61 64 79 20 69 73 73 75 |ngs alre|ady issu|
|000051e0| 65 64 2e 0a 2b 20 20 20 | 30 20 2d 2d 20 6e 6f 20 |ed..+ |0 -- no |
|000051f0| 77 61 72 6e 69 6e 67 73 | 20 69 73 73 75 65 64 2e |warnings| issued.|
|00005200| 0a 2b 20 20 20 31 20 2d | 2d 20 37 35 25 20 77 61 |.+ 1 -|- 75% wa|
|00005210| 72 6e 69 6e 67 20 61 6c | 72 65 61 64 79 20 69 73 |rning al|ready is|
|00005220| 73 75 65 64 2e 0a 2b 20 | 20 20 32 20 2d 2d 20 38 |sued..+ | 2 -- 8|
|00005230| 35 25 20 77 61 72 6e 69 | 6e 67 20 61 6c 72 65 61 |5% warni|ng alrea|
|00005240| 64 79 20 69 73 73 75 65 | 64 2e 0a 2b 20 2a 2f 0a |dy issue|d..+ */.|
|00005250| 2b 20 73 74 61 74 69 63 | 20 69 6e 74 20 20 77 61 |+ static| int wa|
|00005260| 72 6e 6c 65 76 65 6c 3b | 0a 2b 20 23 65 6e 64 69 |rnlevel;|.+ #endi|
|00005270| 66 20 2f 2a 20 4d 5f 57 | 41 52 4e 20 2a 2f 0a 2b |f /* M_W|ARN */.+|
|00005280| 20 0a 2b 20 2f 2a 20 6e | 6f 6e 7a 65 72 6f 20 6f | .+ /* n|onzero o|
|00005290| 6e 63 65 20 69 6e 69 74 | 69 61 6c 20 62 75 6e 63 |nce init|ial bunc|
|000052a0| 68 20 6f 66 20 66 72 65 | 65 20 62 6c 6f 63 6b 73 |h of fre|e blocks|
|000052b0| 20 6d 61 64 65 20 2a 2f | 0a 2b 20 73 74 61 74 69 | made */|.+ stati|
|000052c0| 63 20 69 6e 74 20 67 6f | 74 70 6f 6f 6c 3b 0a 2b |c int go|tpool;.+|
|000052d0| 20 0a 2b 20 2f 2a 20 43 | 61 75 73 65 20 72 65 69 | .+ /* C|ause rei|
|000052e0| 6e 69 74 69 61 6c 69 7a | 61 74 69 6f 6e 20 62 61 |nitializ|ation ba|
|000052f0| 73 65 64 20 6f 6e 20 6a | 6f 62 20 70 61 72 61 6d |sed on j|ob param|
|00005300| 65 74 65 72 73 3b 0a 2b | 20 20 20 61 6c 73 6f 20 |eters;.+| also |
|00005310| 64 65 63 6c 61 72 65 20 | 77 68 65 72 65 20 74 68 |declare |where th|
|00005320| 65 20 65 6e 64 20 6f 66 | 20 70 75 72 65 20 73 74 |e end of| pure st|
|00005330| 6f 72 61 67 65 20 69 73 | 2e 20 2a 2f 0a 2b 20 6d |orage is|. */.+ m|
|00005340| 61 6c 6c 6f 63 5f 69 6e | 69 74 20 28 65 6e 64 29 |alloc_in|it (end)|
|00005350| 0a 2b 20 20 20 20 20 63 | 68 61 72 20 2a 65 6e 64 |.+ c|har *end|
|00005360| 3b 20 7b 0a 2b 20 09 65 | 6e 64 6f 66 70 75 72 65 |; {.+ .e|ndofpure|
|00005370| 20 3d 20 65 6e 64 3b 0a | 2b 20 23 69 66 64 65 66 | = end;.|+ #ifdef|
|00005380| 09 4d 5f 57 41 52 4e 0a | 2b 20 09 6c 69 6d 5f 64 |.M_WARN.|+ .lim_d|
|00005390| 61 74 61 20 3d 20 30 3b | 0a 2b 20 09 77 61 72 6e |ata = 0;|.+ .warn|
|000053a0| 6c 65 76 65 6c 20 3d 20 | 30 3b 0a 2b 20 23 65 6e |level = |0;.+ #en|
|000053b0| 64 69 66 20 2f 2a 20 4d | 5f 57 41 52 4e 20 2a 2f |dif /* M|_WARN */|
|000053c0| 0a 2b 20 09 7d 0a 2b 20 | 0c 0a 2b 20 73 74 61 74 |.+ .}.+ |..+ stat|
|000053d0| 69 63 0a 2b 20 6d 6f 72 | 65 63 6f 72 65 20 28 6e |ic.+ mor|ecore (n|
|000053e0| 75 29 09 09 09 2f 2a 20 | 61 73 6b 20 73 79 73 74 |u).../* |ask syst|
|000053f0| 65 6d 20 66 6f 72 20 6d | 6f 72 65 20 6d 65 6d 6f |em for m|ore memo|
|00005400| 72 79 20 2a 2f 0a 2b 20 | 20 20 20 20 72 65 67 69 |ry */.+ | regi|
|00005410| 73 74 65 72 20 69 6e 74 | 20 6e 75 3b 20 7b 09 09 |ster int| nu; {..|
|00005420| 2f 2a 20 73 69 7a 65 20 | 69 6e 64 65 78 20 74 6f |/* size |index to|
|00005430| 20 67 65 74 20 6d 6f 72 | 65 20 6f 66 20 20 2a 2f | get mor|e of */|
|00005440| 0a 2b 20 09 63 68 61 72 | 20 20 20 2a 73 62 72 6b |.+ .char| *sbrk|
|00005450| 20 28 29 3b 0a 2b 20 09 | 72 65 67 69 73 74 65 72 | ();.+ .|register|
|00005460| 20 63 68 61 72 20 20 2a | 63 70 3b 0a 2b 20 09 72 | char *|cp;.+ .r|
|00005470| 65 67 69 73 74 65 72 20 | 69 6e 74 20 20 20 20 6e |egister |int n|
|00005480| 62 6c 6b 73 3b 0a 2b 20 | 09 72 65 67 69 73 74 65 |blks;.+ |.registe|
|00005490| 72 20 69 6e 74 20 20 20 | 20 73 69 7a 3b 0a 2b 20 |r int | siz;.+ |
|000054a0| 0a 2b 20 23 69 66 64 65 | 66 09 4d 5f 57 41 52 4e |.+ #ifde|f.M_WARN|
|000054b0| 0a 2b 20 23 69 66 6e 64 | 65 66 20 42 53 44 34 32 |.+ #ifnd|ef BSD42|
|000054c0| 0a 2b 20 23 69 66 64 65 | 66 20 55 53 47 0a 2b 20 |.+ #ifde|f USG.+ |
|000054d0| 09 65 78 74 65 72 6e 20 | 6c 6f 6e 67 20 75 6c 69 |.extern |long uli|
|000054e0| 6d 69 74 20 28 29 3b 0a | 2b 20 09 69 66 20 28 6c |mit ();.|+ .if (l|
|000054f0| 69 6d 5f 64 61 74 61 20 | 3d 3d 20 30 29 09 09 2f |im_data |== 0)../|
|00005500| 2a 20 66 69 6e 64 20 6f | 75 74 20 68 6f 77 20 6d |* find o|ut how m|
|00005510| 75 63 68 20 77 65 20 63 | 61 6e 20 67 65 74 20 2a |uch we c|an get *|
|00005520| 2f 0a 2b 20 09 20 20 20 | 20 6c 69 6d 5f 64 61 74 |/.+ . | lim_dat|
|00005530| 61 20 3d 20 75 6c 69 6d | 69 74 20 28 33 2c 20 30 |a = ulim|it (3, 0|
|00005540| 29 20 2d 20 54 45 58 54 | 5f 53 54 41 52 54 3b 0a |) - TEXT|_START;.|
|00005550| 2b 20 23 65 6c 73 65 09 | 2f 2a 48 4d 53 3a 20 77 |+ #else.|/*HMS: w|
|00005560| 61 73 20 65 6e 64 69 66 | 20 2a 2f 0a 2b 20 09 69 |as endif| */.+ .i|
|00005570| 66 20 28 6c 69 6d 5f 64 | 61 74 61 20 3d 3d 20 30 |f (lim_d|ata == 0|
|00005580| 29 09 09 2f 2a 20 66 69 | 6e 64 20 6f 75 74 20 68 |)../* fi|nd out h|
|00005590| 6f 77 20 6d 75 63 68 20 | 77 65 20 63 61 6e 20 67 |ow much |we can g|
|000055a0| 65 74 20 2a 2f 0a 2b 20 | 09 20 20 20 20 6c 69 6d |et */.+ |. lim|
|000055b0| 5f 64 61 74 61 20 3d 20 | 76 6c 69 6d 69 74 20 28 |_data = |vlimit (|
|000055c0| 4c 49 4d 5f 44 41 54 41 | 2c 20 2d 31 29 3b 0a 2b |LIM_DATA|, -1);.+|
|000055d0| 20 23 65 6e 64 69 66 20 | 2f 2a 20 55 53 47 20 2a | #endif |/* USG *|
|000055e0| 2f 09 2f 48 4d 53 3a 2a | 20 77 61 73 20 6e 6f 74 |/./HMS:*| was not|
|000055f0| 20 68 65 72 65 20 2a 2f | 0a 2b 20 23 65 6c 73 65 | here */|.+ #else|
|00005600| 0a 2b 20 09 69 66 20 28 | 6c 69 6d 5f 64 61 74 61 |.+ .if (|lim_data|
|00005610| 20 3d 3d 20 30 29 20 7b | 0a 2b 20 09 09 73 74 72 | == 0) {|.+ ..str|
|00005620| 75 63 74 20 72 6c 69 6d | 69 74 20 20 20 58 58 72 |uct rlim|it XXr|
|00005630| 6c 69 6d 69 74 3b 0a 2b | 20 0a 2b 20 09 09 67 65 |limit;.+| .+ ..ge|
|00005640| 74 72 6c 69 6d 69 74 20 | 28 52 4c 49 4d 49 54 5f |trlimit |(RLIMIT_|
|00005650| 44 41 54 41 2c 20 26 58 | 58 72 6c 69 6d 69 74 29 |DATA, &X|Xrlimit)|
|00005660| 3b 0a 2b 20 09 09 6c 69 | 6d 5f 64 61 74 61 20 3d |;.+ ..li|m_data =|
|00005670| 20 58 58 72 6c 69 6d 69 | 74 2e 72 6c 69 6d 5f 63 | XXrlimi|t.rlim_c|
|00005680| 75 72 3b 7d 09 2f 2a 20 | 73 6f 66 74 20 6c 69 6d |ur;}./* |soft lim|
|00005690| 69 74 20 2a 2f 0a 2b 20 | 23 65 6e 64 69 66 20 2f |it */.+ |#endif /|
|000056a0| 2a 20 42 53 44 34 32 20 | 2a 2f 0a 2b 20 23 65 6e |* BSD42 |*/.+ #en|
|000056b0| 64 69 66 20 2f 2a 20 4d | 5f 57 41 52 4e 20 2a 2f |dif /* M|_WARN */|
|000056c0| 0a 2b 20 0a 2b 20 09 2f | 2a 20 4f 6e 20 69 6e 69 |.+ .+ ./|* On ini|
|000056d0| 74 69 61 6c 20 73 74 61 | 72 74 75 70 2c 20 67 65 |tial sta|rtup, ge|
|000056e0| 74 20 74 77 6f 20 62 6c | 6f 63 6b 73 20 6f 66 20 |t two bl|ocks of |
|000056f0| 65 61 63 68 20 73 69 7a | 65 20 75 70 20 74 6f 20 |each siz|e up to |
|00005700| 31 6b 20 62 79 74 65 73 | 20 2a 2f 0a 2b 20 09 69 |1k bytes| */.+ .i|
|00005710| 66 20 28 21 67 6f 74 70 | 6f 6f 6c 29 0a 2b 20 09 |f (!gotp|ool).+ .|
|00005720| 20 20 20 20 67 65 74 70 | 6f 6f 6c 20 28 29 2c 20 | getp|ool (), |
|00005730| 67 65 74 70 6f 6f 6c 20 | 28 29 2c 20 67 6f 74 70 |getpool |(), gotp|
|00005740| 6f 6f 6c 20 3d 20 31 3b | 0a 2b 20 0a 2b 20 09 2f |ool = 1;|.+ .+ ./|
|00005750| 2a 20 46 69 6e 64 20 63 | 75 72 72 65 6e 74 20 65 |* Find c|urrent e|
|00005760| 6e 64 20 6f 66 20 6d 65 | 6d 6f 72 79 20 61 6e 64 |nd of me|mory and|
|00005770| 20 69 73 73 75 65 20 77 | 61 72 6e 69 6e 67 20 69 | issue w|arning i|
|00005780| 66 20 67 65 74 74 69 6e | 67 20 6e 65 61 72 20 6d |f gettin|g near m|
|00005790| 61 78 20 2a 2f 0a 2b 20 | 0a 2b 20 09 63 70 20 3d |ax */.+ |.+ .cp =|
|000057a0| 20 73 62 72 6b 20 28 30 | 29 3b 0a 2b 20 09 73 69 | sbrk (0|);.+ .si|
|000057b0| 7a 20 3d 20 63 70 20 2d | 20 65 6e 64 6f 66 70 75 |z = cp -| endofpu|
|000057c0| 72 65 3b 0a 2b 20 23 69 | 66 64 65 66 09 4d 5f 57 |re;.+ #i|fdef.M_W|
|000057d0| 41 52 4e 0a 2b 20 09 73 | 77 69 74 63 68 20 28 77 |ARN.+ .s|witch (w|
|000057e0| 61 72 6e 6c 65 76 65 6c | 29 20 7b 0a 2b 20 09 20 |arnlevel|) {.+ . |
|000057f0| 20 20 20 63 61 73 65 20 | 30 3a 20 0a 2b 20 09 09 | case |0: .+ ..|
|00005800| 69 66 20 28 73 69 7a 20 | 3e 20 28 6c 69 6d 5f 64 |if (siz |> (lim_d|
|00005810| 61 74 61 20 2f 20 34 29 | 20 2a 20 33 29 20 7b 0a |ata / 4)| * 3) {.|
|00005820| 2b 20 09 09 09 77 61 72 | 6e 6c 65 76 65 6c 2b 2b |+ ...war|nlevel++|
|00005830| 3b 0a 2b 20 09 09 09 6d | 61 6c 6c 6f 63 5f 77 61 |;.+ ...m|alloc_wa|
|00005840| 72 6e 69 6e 67 20 28 22 | 57 61 72 6e 69 6e 67 3a |rning ("|Warning:|
|00005850| 20 70 61 73 74 20 37 35 | 25 20 6f 66 20 6d 65 6d | past 75|% of mem|
|00005860| 6f 72 79 20 6c 69 6d 69 | 74 22 29 3b 7d 0a 2b 20 |ory limi|t");}.+ |
|00005870| 09 09 62 72 65 61 6b 3b | 0a 2b 20 09 20 20 20 20 |..break;|.+ . |
|00005880| 63 61 73 65 20 31 3a 20 | 0a 2b 20 09 09 69 66 20 |case 1: |.+ ..if |
|00005890| 28 73 69 7a 20 3e 20 28 | 6c 69 6d 5f 64 61 74 61 |(siz > (|lim_data|
|000058a0| 20 2f 20 32 30 29 20 2a | 20 31 37 29 20 7b 0a 2b | / 20) *| 17) {.+|
|000058b0| 20 09 09 09 77 61 72 6e | 6c 65 76 65 6c 2b 2b 3b | ...warn|level++;|
|000058c0| 0a 2b 20 09 09 09 6d 61 | 6c 6c 6f 63 5f 77 61 72 |.+ ...ma|lloc_war|
|000058d0| 6e 69 6e 67 20 28 22 57 | 61 72 6e 69 6e 67 3a 20 |ning ("W|arning: |
|000058e0| 70 61 73 74 20 38 35 25 | 20 6f 66 20 6d 65 6d 6f |past 85%| of memo|
|000058f0| 72 79 20 6c 69 6d 69 74 | 22 29 3b 7d 0a 2b 20 09 |ry limit|");}.+ .|
|00005900| 09 62 72 65 61 6b 3b 0a | 2b 20 09 20 20 20 20 63 |.break;.|+ . c|
|00005910| 61 73 65 20 32 3a 20 0a | 2b 20 09 09 69 66 20 28 |ase 2: .|+ ..if (|
|00005920| 73 69 7a 20 3e 20 28 6c | 69 6d 5f 64 61 74 61 20 |siz > (l|im_data |
|00005930| 2f 20 32 30 29 20 2a 20 | 31 39 29 20 7b 0a 2b 20 |/ 20) * |19) {.+ |
|00005940| 09 09 09 77 61 72 6e 6c | 65 76 65 6c 2b 2b 3b 0a |...warnl|evel++;.|
|00005950| 2b 20 09 09 09 6d 61 6c | 6c 6f 63 5f 77 61 72 6e |+ ...mal|loc_warn|
|00005960| 69 6e 67 20 28 22 57 61 | 72 6e 69 6e 67 3a 20 70 |ing ("Wa|rning: p|
|00005970| 61 73 74 20 39 35 25 20 | 6f 66 20 6d 65 6d 6f 72 |ast 95% |of memor|
|00005980| 79 20 6c 69 6d 69 74 22 | 29 3b 7d 0a 2b 20 09 09 |y limit"|);}.+ ..|
|00005990| 62 72 65 61 6b 3b 7d 0a | 2b 20 23 65 6e 64 69 66 |break;}.|+ #endif|
|000059a0| 20 2f 2a 20 4d 5f 57 41 | 52 4e 20 2a 2f 0a 2b 20 | /* M_WA|RN */.+ |
|000059b0| 0a 2b 20 09 69 66 20 28 | 28 69 6e 74 29 20 63 70 |.+ .if (|(int) cp|
|000059c0| 20 26 20 30 78 33 66 66 | 29 09 2f 2a 20 6c 61 6e | & 0x3ff|)./* lan|
|000059d0| 64 20 6f 6e 20 31 4b 20 | 62 6f 75 6e 64 61 72 69 |d on 1K |boundari|
|000059e0| 65 73 20 2a 2f 0a 2b 20 | 09 20 20 20 20 73 62 72 |es */.+ |. sbr|
|000059f0| 6b 20 28 31 30 32 34 20 | 2d 20 28 28 69 6e 74 29 |k (1024 |- ((int)|
|00005a00| 20 63 70 20 26 20 30 78 | 33 66 66 29 29 3b 0a 2b | cp & 0x|3ff));.+|
|00005a10| 20 0a 2b 20 09 2f 2a 20 | 54 61 6b 65 20 61 74 20 | .+ ./* |Take at |
|00005a20| 6c 65 61 73 74 20 32 6b | 2c 20 61 6e 64 20 66 69 |least 2k|, and fi|
|00005a30| 67 75 72 65 20 6f 75 74 | 20 68 6f 77 20 6d 61 6e |gure out| how man|
|00005a40| 79 20 62 6c 6f 63 6b 73 | 20 6f 66 20 74 68 65 20 |y blocks| of the |
|00005a50| 64 65 73 69 72 65 64 20 | 73 69 7a 65 20 77 65 27 |desired |size we'|
|00005a60| 72 65 20 61 62 6f 75 74 | 20 74 6f 20 67 65 74 20 |re about| to get |
|00005a70| 2a 2f 0a 2b 20 09 6e 62 | 6c 6b 73 20 3d 20 31 3b |*/.+ .nb|lks = 1;|
|00005a80| 0a 2b 20 09 69 66 20 28 | 28 73 69 7a 20 3d 20 6e |.+ .if (|(siz = n|
|00005a90| 75 29 20 3c 20 38 29 0a | 2b 20 09 20 20 20 20 6e |u) < 8).|+ . n|
|00005aa0| 62 6c 6b 73 20 3d 20 31 | 20 3c 3c 20 28 28 73 69 |blks = 1| << ((si|
|00005ab0| 7a 20 3d 20 38 29 20 2d | 20 6e 75 29 3b 0a 2b 20 |z = 8) -| nu);.+ |
|00005ac0| 0a 2b 20 09 69 66 20 28 | 28 63 70 20 3d 20 73 62 |.+ .if (|(cp = sb|
|00005ad0| 72 6b 20 28 31 20 3c 3c | 20 28 73 69 7a 20 2b 20 |rk (1 <<| (siz + |
|00005ae0| 33 29 29 29 20 3d 3d 20 | 28 63 68 61 72 20 2a 29 |3))) == |(char *)|
|00005af0| 20 2d 31 29 0a 2b 20 09 | 20 20 20 20 72 65 74 75 | -1).+ .| retu|
|00005b00| 72 6e 3b 09 09 09 2f 2a | 20 6e 6f 20 6d 6f 72 65 |rn;.../*| no more|
|00005b10| 20 72 6f 6f 6d 21 20 2a | 2f 0a 2b 20 09 69 66 20 | room! *|/.+ .if |
|00005b20| 28 28 69 6e 74 29 20 63 | 70 20 26 20 37 29 20 7b |((int) c|p & 7) {|
|00005b30| 09 09 2f 2a 20 73 68 6f | 75 6c 64 6e 27 74 20 68 |../* sho|uldn't h|
|00005b40| 61 70 70 65 6e 2c 20 62 | 75 74 20 6a 75 73 74 20 |appen, b|ut just |
|00005b50| 69 6e 20 63 61 73 65 20 | 2a 2f 0a 2b 20 09 09 63 |in case |*/.+ ..c|
|00005b60| 70 20 3d 20 28 63 68 61 | 72 20 2a 29 20 28 28 28 |p = (cha|r *) (((|
|00005b70| 69 6e 74 29 20 63 70 20 | 2b 20 38 29 20 26 20 7e |int) cp |+ 8) & ~|
|00005b80| 37 29 3b 0a 2b 20 09 09 | 6e 62 6c 6b 73 2d 2d 3b |7);.+ ..|nblks--;|
|00005b90| 7d 0a 2b 20 0a 2b 20 09 | 2f 2a 20 73 61 76 65 20 |}.+ .+ .|/* save |
|00005ba0| 6e 65 77 20 68 65 61 64 | 65 72 20 61 6e 64 20 6c |new head|er and l|
|00005bb0| 69 6e 6b 20 74 68 65 20 | 6e 62 6c 6b 73 20 62 6c |ink the |nblks bl|
|00005bc0| 6f 63 6b 73 20 74 6f 67 | 65 74 68 65 72 20 2a 2f |ocks tog|ether */|
|00005bd0| 0a 2b 20 09 6e 65 78 74 | 66 5b 6e 75 5d 20 3d 20 |.+ .next|f[nu] = |
|00005be0| 28 73 74 72 75 63 74 20 | 6d 68 65 61 64 20 2a 29 |(struct |mhead *)|
|00005bf0| 20 63 70 3b 0a 2b 20 09 | 73 69 7a 20 3d 20 31 20 | cp;.+ .|siz = 1 |
|00005c00| 3c 3c 20 28 6e 75 20 2b | 20 33 29 3b 0a 2b 20 09 |<< (nu +| 3);.+ .|
|00005c10| 77 68 69 6c 65 20 28 31 | 29 20 7b 0a 2b 20 09 09 |while (1|) {.+ ..|
|00005c20| 28 28 73 74 72 75 63 74 | 20 6d 68 65 61 64 20 2a |((struct| mhead *|
|00005c30| 29 20 63 70 29 20 2d 3e | 20 6d 68 5f 61 6c 6c 6f |) cp) ->| mh_allo|
|00005c40| 63 20 3d 20 49 53 46 52 | 45 45 3b 0a 2b 20 09 09 |c = ISFR|EE;.+ ..|
|00005c50| 28 28 73 74 72 75 63 74 | 20 6d 68 65 61 64 20 2a |((struct| mhead *|
|00005c60| 29 20 63 70 29 20 2d 3e | 20 6d 68 5f 69 6e 64 65 |) cp) ->| mh_inde|
|00005c70| 78 20 3d 20 6e 75 3b 0a | 2b 20 09 09 69 66 20 28 |x = nu;.|+ ..if (|
|00005c80| 2d 2d 6e 62 6c 6b 73 20 | 3c 3d 20 30 29 20 62 72 |--nblks |<= 0) br|
|00005c90| 65 61 6b 3b 0a 2b 20 09 | 09 43 48 41 49 4e 20 28 |eak;.+ .|.CHAIN (|
|00005ca0| 28 73 74 72 75 63 74 20 | 6d 68 65 61 64 20 2a 29 |(struct |mhead *)|
|00005cb0| 20 63 70 29 20 3d 20 28 | 73 74 72 75 63 74 20 6d | cp) = (|struct m|
|00005cc0| 68 65 61 64 20 2a 29 20 | 28 63 70 20 2b 20 73 69 |head *) |(cp + si|
|00005cd0| 7a 29 3b 0a 2b 20 09 09 | 63 70 20 2b 3d 20 73 69 |z);.+ ..|cp += si|
|00005ce0| 7a 3b 7d 0a 2b 20 2f 2a | 09 43 48 41 49 4e 20 28 |z;}.+ /*|.CHAIN (|
|00005cf0| 28 73 74 72 75 63 74 20 | 6d 68 65 61 64 20 2a 29 |(struct |mhead *)|
|00005d00| 20 63 70 29 20 3d 20 30 | 3b 09 2f 2a 20 73 69 6e | cp) = 0|;./* sin|
|00005d10| 63 65 20 73 62 72 6b 28 | 29 20 72 65 74 75 72 6e |ce sbrk(|) return|
|00005d20| 73 20 63 6c 65 61 72 65 | 64 20 63 6f 72 65 2c 20 |s cleare|d core, |
|00005d30| 74 68 69 73 20 69 73 20 | 61 6c 72 65 61 64 79 20 |this is |already |
|00005d40| 73 65 74 20 2a 2f 0a 2b | 20 09 7d 0a 2b 20 0a 2b |set */.+| .}.+ .+|
|00005d50| 20 73 74 61 74 69 63 0a | 2b 20 67 65 74 70 6f 6f | static.|+ getpoo|
|00005d60| 6c 20 28 29 20 7b 0a 2b | 20 09 72 65 67 69 73 74 |l () {.+| .regist|
|00005d70| 65 72 20 69 6e 74 20 6e | 75 3b 0a 2b 20 09 72 65 |er int n|u;.+ .re|
|00005d80| 67 69 73 74 65 72 20 63 | 68 61 72 20 2a 63 70 20 |gister c|har *cp |
|00005d90| 3d 20 73 62 72 6b 20 28 | 30 29 3b 0a 2b 20 0a 2b |= sbrk (|0);.+ .+|
|00005da0| 20 09 69 66 20 28 28 69 | 6e 74 29 20 63 70 20 26 | .if ((i|nt) cp &|
|00005db0| 20 30 78 33 66 66 29 09 | 2f 2a 20 6c 61 6e 64 20 | 0x3ff).|/* land |
|00005dc0| 6f 6e 20 31 4b 20 62 6f | 75 6e 64 61 72 69 65 73 |on 1K bo|undaries|
|00005dd0| 20 2a 2f 0a 2b 20 09 20 | 20 20 20 73 62 72 6b 20 | */.+ . | sbrk |
|00005de0| 28 31 30 32 34 20 2d 20 | 28 28 69 6e 74 29 20 63 |(1024 - |((int) c|
|00005df0| 70 20 26 20 30 78 33 66 | 66 29 29 3b 0a 2b 20 0a |p & 0x3f|f));.+ .|
|00005e00| 2b 20 09 2f 2a 20 47 65 | 74 20 32 6b 20 6f 66 20 |+ ./* Ge|t 2k of |
|00005e10| 73 74 6f 72 61 67 65 20 | 2a 2f 0a 2b 20 0a 2b 20 |storage |*/.+ .+ |
|00005e20| 09 63 70 20 3d 20 73 62 | 72 6b 20 28 30 34 30 30 |.cp = sb|rk (0400|
|00005e30| 30 29 3b 0a 2b 20 09 69 | 66 20 28 63 70 20 3d 3d |0);.+ .i|f (cp ==|
|00005e40| 20 28 63 68 61 72 20 2a | 29 20 2d 31 29 0a 2b 20 | (char *|) -1).+ |
|00005e50| 09 20 20 20 20 72 65 74 | 75 72 6e 3b 0a 2b 20 0a |. ret|urn;.+ .|
|00005e60| 2b 20 09 2f 2a 20 44 69 | 76 69 64 65 20 69 74 20 |+ ./* Di|vide it |
|00005e70| 69 6e 74 6f 20 61 6e 20 | 69 6e 69 74 69 61 6c 20 |into an |initial |
|00005e80| 38 2d 77 6f 72 64 20 62 | 6c 6f 63 6b 0a 2b 20 09 |8-word b|lock.+ .|
|00005e90| 70 6c 75 73 20 6f 6e 65 | 20 62 6c 6f 63 6b 20 6f |plus one| block o|
|00005ea0| 66 20 73 69 7a 65 20 32 | 2a 2a 6e 75 20 66 6f 72 |f size 2|**nu for|
|00005eb0| 20 6e 75 20 3d 20 33 20 | 2e 2e 2e 20 31 30 2e 20 | nu = 3 |... 10. |
|00005ec0| 20 2a 2f 0a 2b 20 0a 2b | 20 09 43 48 41 49 4e 20 | */.+ .+| .CHAIN |
|00005ed0| 28 63 70 29 20 3d 20 6e | 65 78 74 66 5b 30 5d 3b |(cp) = n|extf[0];|
|00005ee0| 0a 2b 20 09 6e 65 78 74 | 66 5b 30 5d 20 3d 20 28 |.+ .next|f[0] = (|
|00005ef0| 73 74 72 75 63 74 20 6d | 68 65 61 64 20 2a 29 20 |struct m|head *) |
|00005f00| 63 70 3b 0a 2b 20 09 28 | 28 73 74 72 75 63 74 20 |cp;.+ .(|(struct |
|00005f10| 6d 68 65 61 64 20 2a 29 | 20 63 70 29 20 2d 3e 20 |mhead *)| cp) -> |
|00005f20| 6d 68 5f 61 6c 6c 6f 63 | 20 3d 20 49 53 46 52 45 |mh_alloc| = ISFRE|
|00005f30| 45 3b 0a 2b 20 09 28 28 | 73 74 72 75 63 74 20 6d |E;.+ .((|struct m|
|00005f40| 68 65 61 64 20 2a 29 20 | 63 70 29 20 2d 3e 20 6d |head *) |cp) -> m|
|00005f50| 68 5f 69 6e 64 65 78 20 | 3d 20 30 3b 0a 2b 20 09 |h_index |= 0;.+ .|
|00005f60| 63 70 20 2b 3d 20 38 3b | 0a 2b 20 0a 2b 20 09 66 |cp += 8;|.+ .+ .f|
|00005f70| 6f 72 20 28 6e 75 20 3d | 20 30 3b 20 6e 75 20 3c |or (nu =| 0; nu <|
|00005f80| 20 37 3b 20 6e 75 2b 2b | 29 20 7b 0a 2b 20 09 09 | 7; nu++|) {.+ ..|
|00005f90| 43 48 41 49 4e 20 28 63 | 70 29 20 3d 20 6e 65 78 |CHAIN (c|p) = nex|
|00005fa0| 74 66 5b 6e 75 5d 3b 0a | 2b 20 09 09 6e 65 78 74 |tf[nu];.|+ ..next|
|00005fb0| 66 5b 6e 75 5d 20 3d 20 | 28 73 74 72 75 63 74 20 |f[nu] = |(struct |
|00005fc0| 6d 68 65 61 64 20 2a 29 | 20 63 70 3b 0a 2b 20 09 |mhead *)| cp;.+ .|
|00005fd0| 09 28 28 73 74 72 75 63 | 74 20 6d 68 65 61 64 20 |.((struc|t mhead |
|00005fe0| 2a 29 20 63 70 29 20 2d | 3e 20 6d 68 5f 61 6c 6c |*) cp) -|> mh_all|
|00005ff0| 6f 63 20 3d 20 49 53 46 | 52 45 45 3b 0a 2b 20 09 |oc = ISF|REE;.+ .|
|00006000| 09 28 28 73 74 72 75 63 | 74 20 6d 68 65 61 64 20 |.((struc|t mhead |
|00006010| 2a 29 20 63 70 29 20 2d | 3e 20 6d 68 5f 69 6e 64 |*) cp) -|> mh_ind|
|00006020| 65 78 20 3d 20 6e 75 3b | 0a 2b 20 09 09 63 70 20 |ex = nu;|.+ ..cp |
|00006030| 2b 3d 20 38 20 3c 3c 20 | 6e 75 3b 7d 7d 0a 2b 20 |+= 8 << |nu;}}.+ |
|00006040| 0c 0a 2b 20 63 68 61 72 | 20 2a 0a 2b 20 6d 61 6c |..+ char| *.+ mal|
|00006050| 6c 6f 63 20 28 6e 29 09 | 09 2f 2a 20 67 65 74 20 |loc (n).|./* get |
|00006060| 61 20 62 6c 6f 63 6b 20 | 2a 2f 0a 2b 20 20 20 20 |a block |*/.+ |
|00006070| 20 75 6e 73 69 67 6e 65 | 64 20 6e 3b 20 7b 0a 2b | unsigne|d n; {.+|
|00006080| 20 09 72 65 67 69 73 74 | 65 72 20 73 74 72 75 63 | .regist|er struc|
|00006090| 74 20 20 6d 68 65 61 64 | 20 2a 70 3b 0a 2b 20 09 |t mhead| *p;.+ .|
|000060a0| 72 65 67 69 73 74 65 72 | 20 75 6e 73 69 67 6e 65 |register| unsigne|
|000060b0| 64 20 69 6e 74 20 20 6e | 62 79 74 65 73 3b 0a 2b |d int n|bytes;.+|
|000060c0| 20 09 72 65 67 69 73 74 | 65 72 20 69 6e 74 20 20 | .regist|er int |
|000060d0| 20 20 6e 75 6e 69 74 73 | 20 3d 20 30 3b 0a 2b 20 | nunits| = 0;.+ |
|000060e0| 0a 2b 20 09 2f 2a 20 46 | 69 67 75 72 65 20 6f 75 |.+ ./* F|igure ou|
|000060f0| 74 20 68 6f 77 20 6d 61 | 6e 79 20 62 79 74 65 73 |t how ma|ny bytes|
|00006100| 20 61 72 65 20 72 65 71 | 75 69 72 65 64 2c 20 72 | are req|uired, r|
|00006110| 6f 75 6e 64 69 6e 67 20 | 75 70 20 74 6f 20 74 68 |ounding |up to th|
|00006120| 65 20 6e 65 61 72 65 73 | 74 0a 2b 20 09 6d 75 6c |e neares|t.+ .mul|
|00006130| 74 69 70 6c 65 20 6f 66 | 20 34 2c 20 74 68 65 6e |tiple of| 4, then|
|00006140| 20 66 69 67 75 72 65 20 | 6f 75 74 20 77 68 69 63 | figure |out whic|
|00006150| 68 20 6e 65 78 74 66 5b | 5d 20 61 72 65 61 20 74 |h nextf[|] area t|
|00006160| 6f 20 75 73 65 20 2a 2f | 0a 2b 20 09 6e 62 79 74 |o use */|.+ .nbyt|
|00006170| 65 73 20 3d 20 28 6e 20 | 2b 20 73 69 7a 65 6f 66 |es = (n |+ sizeof|
|00006180| 20 2a 70 20 2b 20 45 58 | 54 52 41 20 2b 20 33 29 | *p + EX|TRA + 3)|
|00006190| 20 26 20 7e 33 3b 0a 2b | 20 09 09 7b 0a 2b 20 09 | & ~3;.+| ..{.+ .|
|000061a0| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign|
|000061b0| 65 64 20 69 6e 74 20 20 | 20 73 68 69 66 74 72 20 |ed int | shiftr |
|000061c0| 3d 20 28 6e 62 79 74 65 | 73 20 2d 20 31 29 20 3e |= (nbyte|s - 1) >|
|000061d0| 3e 20 32 3b 0a 2b 20 0a | 2b 20 09 09 77 68 69 6c |> 2;.+ .|+ ..whil|
|000061e0| 65 20 28 73 68 69 66 74 | 72 20 3e 3e 3d 20 31 29 |e (shift|r >>= 1)|
|000061f0| 0a 2b 20 09 09 20 20 20 | 20 6e 75 6e 69 74 73 2b |.+ .. | nunits+|
|00006200| 2b 3b 0a 2b 20 09 09 7d | 0a 2b 20 0a 2b 20 09 2f |+;.+ ..}|.+ .+ ./|
|00006210| 2a 20 49 66 20 74 68 65 | 72 65 20 61 72 65 20 6e |* If the|re are n|
|00006220| 6f 20 62 6c 6f 63 6b 73 | 20 6f 66 20 74 68 65 20 |o blocks| of the |
|00006230| 61 70 70 72 6f 70 72 69 | 61 74 65 20 73 69 7a 65 |appropri|ate size|
|00006240| 2c 20 67 6f 20 67 65 74 | 20 73 6f 6d 65 20 2a 2f |, go get| some */|
|00006250| 0a 2b 20 09 2f 2a 20 43 | 4f 55 4c 44 20 53 50 4c |.+ ./* C|OULD SPL|
|00006260| 49 54 20 55 50 20 41 20 | 4c 41 52 47 45 52 20 42 |IT UP A |LARGER B|
|00006270| 4c 4f 43 4b 20 48 45 52 | 45 20 2e 2e 2e 20 41 43 |LOCK HER|E ... AC|
|00006280| 54 20 2a 2f 0a 2b 20 09 | 69 66 20 28 6e 65 78 74 |T */.+ .|if (next|
|00006290| 66 5b 6e 75 6e 69 74 73 | 5d 20 3d 3d 20 30 29 0a |f[nunits|] == 0).|
|000062a0| 2b 20 09 20 20 20 20 6d | 6f 72 65 63 6f 72 65 20 |+ . m|orecore |
|000062b0| 28 6e 75 6e 69 74 73 29 | 3b 0a 2b 20 0a 2b 20 09 |(nunits)|;.+ .+ .|
|000062c0| 2f 2a 20 47 65 74 20 6f | 6e 65 20 62 6c 6f 63 6b |/* Get o|ne block|
|000062d0| 20 6f 66 66 20 74 68 65 | 20 6c 69 73 74 2c 20 61 | off the| list, a|
|000062e0| 6e 64 20 73 65 74 20 74 | 68 65 20 6e 65 77 20 6c |nd set t|he new l|
|000062f0| 69 73 74 20 68 65 61 64 | 20 2a 2f 0a 2b 20 09 69 |ist head| */.+ .i|
|00006300| 66 20 28 28 70 20 3d 20 | 6e 65 78 74 66 5b 6e 75 |f ((p = |nextf[nu|
|00006310| 6e 69 74 73 5d 29 20 3d | 3d 20 30 29 0a 2b 20 09 |nits]) =|= 0).+ .|
|00006320| 20 20 20 20 72 65 74 75 | 72 6e 20 30 3b 0a 2b 20 | retu|rn 0;.+ |
|00006330| 09 6e 65 78 74 66 5b 6e | 75 6e 69 74 73 5d 20 3d |.nextf[n|units] =|
|00006340| 20 43 48 41 49 4e 20 28 | 70 29 3b 0a 2b 20 0a 2b | CHAIN (|p);.+ .+|
|00006350| 20 09 2f 2a 20 43 68 65 | 63 6b 20 66 6f 72 20 66 | ./* Che|ck for f|
|00006360| 72 65 65 20 62 6c 6f 63 | 6b 20 63 6c 6f 62 62 65 |ree bloc|k clobbe|
|00006370| 72 65 64 20 2a 2f 0a 2b | 20 09 2f 2a 20 49 66 20 |red */.+| ./* If |
|00006380| 6e 6f 74 20 66 6f 72 20 | 74 68 69 73 20 63 68 65 |not for |this che|
|00006390| 63 6b 2c 20 77 65 20 77 | 6f 75 6c 64 20 67 6f 62 |ck, we w|ould gob|
|000063a0| 62 6c 65 20 61 20 63 6c | 6f 62 62 65 72 65 64 20 |ble a cl|obbered |
|000063b0| 66 72 65 65 20 63 68 61 | 69 6e 20 70 74 72 20 2a |free cha|in ptr *|
|000063c0| 2f 0a 2b 20 09 2f 2a 20 | 61 6e 64 20 62 6f 6d 62 |/.+ ./* |and bomb|
|000063d0| 20 6f 75 74 20 6f 6e 20 | 74 68 65 20 4e 45 58 54 | out on |the NEXT|
|000063e0| 20 61 6c 6c 6f 63 61 74 | 65 20 6f 66 20 74 68 69 | allocat|e of thi|
|000063f0| 73 20 73 69 7a 65 20 62 | 6c 6f 63 6b 20 2a 2f 0a |s size b|lock */.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.