home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: vmail.2of3
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 28 4d 65 73 73 61 67 65 | 20 6d 68 3a 37 29 0a 52 |(Message| mh:7).R|
|00000010| 65 73 65 6e 74 3a 20 4d | 6f 6e 2c 20 32 35 20 4d |esent: M|on, 25 M|
|00000020| 61 72 20 39 31 20 31 30 | 3a 31 39 3a 30 33 20 50 |ar 91 10|:19:03 P|
|00000030| 53 54 0a 52 65 73 65 6e | 74 3a 20 71 71 31 31 40 |ST.Resen|t: qq11@|
|00000040| 75 78 62 2e 6c 69 76 2e | 61 63 2e 75 6b 20 28 41 |uxb.liv.|ac.uk (A|
|00000050| 6c 61 6e 20 54 68 65 77 | 29 0a 52 65 73 65 6e 74 |lan Thew|).Resent|
|00000060| 3a 20 4d 6f 6e 2c 20 31 | 38 20 4d 61 72 20 39 31 |: Mon, 1|8 Mar 91|
|00000070| 20 31 32 3a 32 32 3a 31 | 30 20 50 53 54 0a 52 65 | 12:22:1|0 PST.Re|
|00000080| 73 65 6e 74 3a 20 6a 63 | 6f 68 6e 40 6e 73 66 2e |sent: jc|ohn@nsf.|
|00000090| 67 6f 76 20 28 4a 6f 68 | 6e 61 74 68 61 6e 20 43 |gov (Joh|nathan C|
|000000a0| 68 61 72 6c 65 73 20 43 | 6f 68 6e 29 0a 52 65 73 |harles C|ohn).Res|
|000000b0| 65 6e 74 3a 20 72 6a 67 | 40 73 71 2e 63 6f 6d 20 |ent: rjg|@sq.com |
|000000c0| 28 42 6f 62 20 47 69 62 | 73 6f 6e 29 0a 52 65 73 |(Bob Gib|son).Res|
|000000d0| 65 6e 74 3a 20 64 61 6b | 40 73 71 2e 63 6f 6d 20 |ent: dak|@sq.com |
|000000e0| 28 44 61 76 69 64 20 4b | 65 6c 64 73 6f 6e 29 0a |(David K|eldson).|
|000000f0| 52 65 73 65 6e 74 3a 20 | 73 6f 77 40 63 61 64 2e |Resent: |sow@cad.|
|00000100| 6c 75 74 68 2e 73 65 20 | 28 53 76 65 6e 2d 4f 76 |luth.se |(Sven-Ov|
|00000110| 65 20 57 65 73 74 62 65 | 72 67 29 0a 52 65 73 65 |e Westbe|rg).Rese|
|00000120| 6e 74 3a 20 63 65 6e 6b | 6c 40 6c 69 6e 75 73 2e |nt: cenk|l@linus.|
|00000130| 6d 69 74 72 65 2e 6f 72 | 67 20 28 4d 69 6b 65 20 |mitre.or|g (Mike |
|00000140| 43 65 6e 6b 6c 29 0a 52 | 65 73 65 6e 74 3a 20 64 |Cenkl).R|esent: d|
|00000150| 61 76 69 64 40 73 63 6f | 63 61 6e 2e 73 63 6f 2e |avid@sco|can.sco.|
|00000160| 63 6f 6d 20 28 44 61 76 | 69 64 20 4a 20 46 69 61 |com (Dav|id J Fia|
|00000170| 6e 64 65 72 29 0a 52 65 | 74 75 72 6e 2d 50 61 74 |nder).Re|turn-Pat|
|00000180| 68 3a 20 6a 61 6d 65 73 | 70 40 6d 65 74 6f 6c 69 |h: james|p@metoli|
|00000190| 75 73 2e 57 52 0a 54 6f | 3a 20 6c 75 6a 40 65 63 |us.WR.To|: luj@ec|
|000001a0| 6e 2e 70 75 72 64 75 65 | 2e 65 64 75 20 28 4a 75 |n.purdue|.edu (Ju|
|000001b0| 6e 20 4c 75 29 2c 20 6a | 6b 6d 40 63 74 74 2e 62 |n Lu), j|km@ctt.b|
|000001c0| 65 6c 6c 63 6f 72 65 2e | 43 4f 4d 20 28 4a 61 6d |ellcore.|COM (Jam|
|000001d0| 65 73 20 4d 63 67 6c 61 | 73 68 61 6e 29 2c 0a 20 |es Mcgla|shan),. |
|000001e0| 20 20 20 20 20 20 20 6a | 6d 76 6f 67 74 6c 65 40 | j|mvogtle@|
|000001f0| 67 61 6d 65 72 61 2e 63 | 6e 73 2e 73 79 72 2e 65 |gamera.c|ns.syr.e|
|00000200| 64 75 20 28 4a 6f 68 6e | 20 4d 20 56 6f 67 74 6c |du (John| M Vogtl|
|00000210| 65 29 2c 0a 20 20 20 20 | 20 20 20 20 63 6b 73 40 |e),. | cks@|
|00000220| 68 61 77 6b 77 69 6e 64 | 2e 75 74 63 73 2e 74 6f |hawkwind|.utcs.to|
|00000230| 72 6f 6e 74 6f 2e 65 64 | 75 20 28 43 68 72 69 73 |ronto.ed|u (Chris|
|00000240| 20 53 69 65 62 65 6e 6d | 61 6e 6e 29 2c 0a 20 20 | Siebenm|ann),. |
|00000250| 20 20 20 20 20 20 63 63 | 77 40 64 65 61 6b 69 6e | cc|w@deakin|
|00000260| 2e 4f 5a 2e 41 55 20 28 | 43 72 61 69 67 20 57 61 |.OZ.AU (|Craig Wa|
|00000270| 72 72 65 6e 29 2c 20 72 | 72 40 6d 69 70 73 2e 43 |rren), r|r@mips.C|
|00000280| 4f 4d 20 28 52 6f 62 65 | 72 74 20 22 42 6f 62 22 |OM (Robe|rt "Bob"|
|00000290| 20 52 6f 64 72 69 67 75 | 65 7a 29 2c 0a 20 20 20 | Rodrigu|ez),. |
|000002a0| 20 20 20 20 20 6d 75 6e | 63 6b 40 53 74 61 72 73 | mun|ck@Stars|
|000002b0| 2e 52 65 73 74 6f 6e 2e | 55 6e 69 73 79 73 2e 43 |.Reston.|Unisys.C|
|000002c0| 4f 4d 20 28 42 6f 62 20 | 4d 75 6e 63 6b 29 0a 43 |OM (Bob |Munck).C|
|000002d0| 63 3a 20 6a 61 6d 65 73 | 70 40 6d 65 74 6f 6c 69 |c: james|p@metoli|
|000002e0| 75 73 2e 57 52 2e 54 45 | 4b 2e 43 4f 4d 20 28 4a |us.WR.TE|K.COM (J|
|000002f0| 61 6d 65 73 20 50 65 72 | 6b 69 6e 73 29 0a 53 75 |ames Per|kins).Su|
|00000300| 62 6a 65 63 74 3a 20 56 | 6d 61 69 6c 20 2d 20 76 |bject: V|mail - v|
|00000310| 65 72 73 69 6f 6e 20 31 | 30 2f 38 37 44 41 53 20 |ersion 1|0/87DAS |
|00000320| 2d 20 70 61 72 74 20 32 | 2f 33 0a 52 65 70 6c 79 |- part 2|/3.Reply|
|00000330| 2d 54 6f 3a 20 6a 61 6d | 65 73 70 40 6d 65 74 6f |-To: jam|esp@meto|
|00000340| 6c 69 75 73 2e 57 52 2e | 54 45 4b 2e 43 4f 4d 20 |lius.WR.|TEK.COM |
|00000350| 28 4a 61 6d 65 73 20 54 | 2e 20 50 65 72 6b 69 6e |(James T|. Perkin|
|00000360| 73 29 0a 52 65 70 6c 79 | 2d 54 6f 3a 20 74 72 61 |s).Reply|-To: tra|
|00000370| 76 65 6c 6c 65 72 2d 72 | 65 71 75 65 73 74 40 6d |veller-r|equest@m|
|00000380| 65 74 6f 6c 69 75 73 2e | 57 52 2e 54 45 4b 2e 43 |etolius.|WR.TEK.C|
|00000390| 4f 4d 20 28 54 4d 4c 20 | 41 64 6d 69 6e 69 73 74 |OM (TML |Administ|
|000003a0| 72 61 74 6f 72 29 0a 58 | 2d 4d 61 69 6c 65 72 3a |rator).X|-Mailer:|
|000003b0| 20 52 61 6e 64 20 4d 48 | 20 36 2e 36 20 2d 20 56 | Rand MH| 6.6 - V|
|000003c0| 6d 61 69 6c 20 31 30 2f | 38 37 44 41 53 20 2d 20 |mail 10/|87DAS - |
|000003d0| 56 6d 61 69 6c 74 6f 6f | 6c 20 56 31 2e 31 34 20 |Vmailtoo|l V1.14 |
|000003e0| 39 31 2f 30 32 2f 32 37 | 0a 44 61 74 65 3a 20 4d |91/02/27|.Date: M|
|000003f0| 6f 6e 2c 20 31 31 20 4d | 61 72 20 39 31 20 31 31 |on, 11 M|ar 91 11|
|00000400| 3a 34 33 3a 34 38 20 50 | 53 54 0a 46 72 6f 6d 3a |:43:48 P|ST.From:|
|00000410| 20 4a 61 6d 65 73 20 54 | 20 50 65 72 6b 69 6e 73 | James T| Perkins|
|00000420| 20 3c 6a 61 6d 65 73 70 | 40 6d 65 74 6f 6c 69 75 | <jamesp|@metoliu|
|00000430| 73 2e 57 52 3e 0a 2d 2d | 2d 2d 2d 2d 2d 2d 0a 0a |s.WR>.--|------..|
|00000440| 0a 23 21 20 2f 62 69 6e | 2f 73 68 0a 23 20 54 68 |.#! /bin|/sh.# Th|
|00000450| 69 73 20 69 73 20 61 20 | 73 68 65 6c 6c 20 61 72 |is is a |shell ar|
|00000460| 63 68 69 76 65 2e 20 20 | 52 65 6d 6f 76 65 20 61 |chive. |Remove a|
|00000470| 6e 79 74 68 69 6e 67 20 | 62 65 66 6f 72 65 20 74 |nything |before t|
|00000480| 68 69 73 20 6c 69 6e 65 | 2c 20 74 68 65 6e 20 75 |his line|, then u|
|00000490| 6e 70 61 63 6b 0a 23 20 | 69 74 20 62 79 20 73 61 |npack.# |it by sa|
|000004a0| 76 69 6e 67 20 69 74 20 | 69 6e 74 6f 20 61 20 66 |ving it |into a f|
|000004b0| 69 6c 65 20 61 6e 64 20 | 74 79 70 69 6e 67 20 22 |ile and |typing "|
|000004c0| 73 68 20 66 69 6c 65 22 | 2e 20 20 54 6f 20 6f 76 |sh file"|. To ov|
|000004d0| 65 72 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |erwrite |existing|
|000004e0| 0a 23 20 66 69 6c 65 73 | 2c 20 74 79 70 65 20 22 |.# files|, type "|
|000004f0| 73 68 20 66 69 6c 65 20 | 2d 63 22 2e 20 20 59 6f |sh file |-c". Yo|
|00000500| 75 20 63 61 6e 20 61 6c | 73 6f 20 66 65 65 64 20 |u can al|so feed |
|00000510| 74 68 69 73 20 61 73 20 | 73 74 61 6e 64 61 72 64 |this as |standard|
|00000520| 20 69 6e 70 75 74 20 76 | 69 61 0a 23 20 75 6e 73 | input v|ia.# uns|
|00000530| 68 61 72 2c 20 6f 72 20 | 62 79 20 74 79 70 69 6e |har, or |by typin|
|00000540| 67 20 22 73 68 20 3c 66 | 69 6c 65 22 2c 20 65 2e |g "sh <f|ile", e.|
|00000550| 67 2e 2e 20 20 49 66 20 | 74 68 69 73 20 61 72 63 |g.. If |this arc|
|00000560| 68 69 76 65 20 69 73 20 | 63 6f 6d 70 6c 65 74 65 |hive is |complete|
|00000570| 2c 20 79 6f 75 0a 23 20 | 77 69 6c 6c 20 73 65 65 |, you.# |will see|
|00000580| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 6d | the fol|lowing m|
|00000590| 65 73 73 61 67 65 20 61 | 74 20 74 68 65 20 65 6e |essage a|t the en|
|000005a0| 64 3a 0a 23 09 09 22 45 | 6e 64 20 6f 66 20 61 72 |d:.#.."E|nd of ar|
|000005b0| 63 68 69 76 65 20 32 20 | 28 6f 66 20 33 29 2e 22 |chive 2 |(of 3)."|
|000005c0| 0a 23 20 43 6f 6e 74 65 | 6e 74 73 3a 20 20 63 61 |.# Conte|nts: ca|
|000005d0| 6c 6c 2e 63 20 69 6e 69 | 74 2e 63 20 6d 61 69 6e |ll.c ini|t.c main|
|000005e0| 2e 63 20 6d 6f 76 65 2e | 63 20 76 6d 61 69 6c 2e |.c move.|c vmail.|
|000005f0| 31 0a 23 20 57 72 61 70 | 70 65 64 20 62 79 20 6a |1.# Wrap|ped by j|
|00000600| 61 6d 65 73 70 40 6d 65 | 74 6f 6c 69 75 73 20 6f |amesp@me|tolius o|
|00000610| 6e 20 4d 6f 6e 20 4d 61 | 72 20 31 31 20 31 31 3a |n Mon Ma|r 11 11:|
|00000620| 32 30 3a 30 34 20 31 39 | 39 31 0a 50 41 54 48 3d |20:04 19|91.PATH=|
|00000630| 2f 62 69 6e 3a 2f 75 73 | 72 2f 62 69 6e 3a 2f 75 |/bin:/us|r/bin:/u|
|00000640| 73 72 2f 75 63 62 20 3b | 20 65 78 70 6f 72 74 20 |sr/ucb ;| export |
|00000650| 50 41 54 48 0a 69 66 20 | 74 65 73 74 20 2d 66 20 |PATH.if |test -f |
|00000660| 63 61 6c 6c 2e 63 20 2d | 61 20 22 24 7b 31 7d 22 |call.c -|a "${1}"|
|00000670| 20 21 3d 20 22 2d 63 22 | 20 3b 20 74 68 65 6e 20 | != "-c"| ; then |
|00000680| 0a 20 20 65 63 68 6f 20 | 73 68 61 72 3a 20 57 69 |. echo |shar: Wi|
|00000690| 6c 6c 20 6e 6f 74 20 6f | 76 65 72 2d 77 72 69 74 |ll not o|ver-writ|
|000006a0| 65 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |e existi|ng file |
|000006b0| 5c 22 63 61 6c 6c 2e 63 | 5c 22 0a 65 6c 73 65 0a |\"call.c|\".else.|
|000006c0| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|000006d0| 63 74 69 6e 67 20 5c 22 | 63 61 6c 6c 2e 63 5c 22 |cting \"|call.c\"|
|000006e0| 20 5c 28 31 30 39 39 35 | 20 63 68 61 72 61 63 74 | \(10995| charact|
|000006f0| 65 72 73 5c 29 0a 73 65 | 64 20 22 73 2f 5e 58 2f |ers\).se|d "s/^X/|
|00000700| 2f 22 20 3e 63 61 6c 6c | 2e 63 20 3c 3c 27 45 4e |/" >call|.c <<'EN|
|00000710| 44 5f 4f 46 5f 63 61 6c | 6c 2e 63 27 0a 58 23 69 |D_OF_cal|l.c'.X#i|
|00000720| 66 6e 64 65 66 20 6c 69 | 6e 74 0a 58 73 74 61 74 |fndef li|nt.Xstat|
|00000730| 69 63 20 63 68 61 72 20 | 2a 52 43 53 5f 63 61 6c |ic char |*RCS_cal|
|00000740| 6c 5f 63 20 3d 20 22 24 | 49 64 3a 20 63 61 6c 6c |l_c = "$|Id: call|
|00000750| 2e 63 2c 76 20 31 2e 35 | 20 39 30 2f 30 39 2f 31 |.c,v 1.5| 90/09/1|
|00000760| 39 20 31 33 3a 35 33 3a | 33 33 20 72 6f 67 65 72 |9 13:53:|33 roger|
|00000770| 73 20 45 78 70 20 24 22 | 3b 0a 58 23 65 6e 64 69 |s Exp $"|;.X#endi|
|00000780| 66 0a 58 0a 58 2f 2a 20 | 2d 2d 2d 2d 2d 2d 2d 2d |f.X.X/* |--------|
|00000790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0a 58 09 76 |--------|----.X.v|
|000007a0| 6d 61 69 6c 20 2d 2d 20 | 63 61 6c 6c 2e 63 0a 58 |mail -- |call.c.X|
|000007b0| 0a 58 09 52 6f 75 74 69 | 6e 65 73 20 74 68 61 74 |.X.Routi|nes that|
|000007c0| 20 63 61 6c 6c 20 4d 48 | 20 65 71 75 69 76 61 6c | call MH| equival|
|000007d0| 65 6e 74 73 2c 20 65 64 | 69 74 6f 72 2c 20 73 68 |ents, ed|itor, sh|
|000007e0| 65 6c 6c 2e 0a 58 0a 58 | 09 43 6f 70 79 72 69 67 |ell..X.X|.Copyrig|
|000007f0| 68 74 20 28 43 29 20 4a | 2e 20 5a 6f 62 65 6c 2c |ht (C) J|. Zobel,|
|00000800| 20 55 6e 69 76 65 72 73 | 69 74 79 20 6f 66 20 4d | Univers|ity of M|
|00000810| 65 6c 62 6f 75 72 6e 65 | 2c 20 4f 63 74 6f 62 65 |elbourne|, Octobe|
|00000820| 72 20 31 39 38 37 2e 0a | 58 2d 2d 2d 2d 2d 2d 2d |r 1987..|X-------|
|00000830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 2a 2f |--------|----- */|
|00000840| 0a 58 0a 58 23 69 6e 63 | 6c 75 64 65 20 22 64 65 |.X.X#inc|lude "de|
|00000850| 66 73 2e 68 22 0a 58 23 | 69 6e 63 6c 75 64 65 20 |fs.h".X#|include |
|00000860| 3c 73 69 67 6e 61 6c 2e | 68 3e 0a 58 0a 58 23 64 |<signal.|h>.X.X#d|
|00000870| 65 66 69 6e 65 20 57 41 | 52 4e 49 4e 47 09 22 57 |efine WA|RNING."W|
|00000880| 61 72 6e 69 6e 67 20 2d | 2d 20 6d 61 69 6c 20 68 |arning -|- mail h|
|00000890| 65 61 64 65 72 73 20 6d | 61 79 20 62 65 20 6f 75 |eaders m|ay be ou|
|000008a0| 74 20 6f 66 20 64 61 74 | 65 22 0a 58 0a 58 75 6e |t of dat|e".X.Xun|
|000008b0| 69 6f 6e 20 77 61 69 74 | 20 73 74 61 74 75 73 3b |ion wait| status;|
|000008c0| 0a 58 0a 58 2f 2a 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X.X/* -|--------|
|000008d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0a 58 09 46 6f |--------|---.X.Fo|
|000008e0| 72 6b 20 61 20 63 61 6c | 6c 20 74 6f 20 60 63 6f |rk a cal|l to `co|
|000008f0| 6d 70 27 2e 0a 58 09 54 | 65 72 6d 69 6e 61 6c 20 |mp'..X.T|erminal |
|00000900| 74 79 70 65 20 6d 75 73 | 74 20 62 65 20 72 65 73 |type mus|t be res|
|00000910| 65 74 20 62 65 66 6f 72 | 65 20 63 61 6c 6c 2e 0a |et befor|e call..|
|00000920| 58 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |X-------|--------|
|00000930| 2d 2d 2d 2d 2d 20 2a 2f | 0a 58 76 6f 69 64 0a 58 |----- */|.Xvoid.X|
|00000940| 63 6f 6d 70 28 29 0a 58 | 7b 0a 58 09 63 68 61 72 |comp().X|{.X.char|
|00000950| 09 2a 74 6d 70 2c 20 2a | 61 72 67 76 5b 32 30 5d |.*tmp, *|argv[20]|
|00000960| 2c 20 73 74 72 5b 4c 45 | 4e 5d 2c 20 73 31 5b 4c |, str[LE|N], s1[L|
|00000970| 45 4e 5d 2c 20 2a 6e 65 | 78 74 5f 74 6f 6b 65 6e |EN], *ne|xt_token|
|00000980| 28 29 3b 0a 58 09 69 6e | 74 09 09 69 3b 0a 58 09 |();.X.in|t..i;.X.|
|00000990| 73 69 67 5f 74 79 70 65 | 09 28 2a 6f 6c 64 69 6e |sig_type|.(*oldin|
|000009a0| 74 29 28 29 2c 20 28 2a | 6f 6c 64 71 75 69 74 29 |t)(), (*|oldquit)|
|000009b0| 28 29 2c 20 28 2a 73 69 | 67 6e 61 6c 28 29 29 28 |(), (*si|gnal())(|
|000009c0| 29 3b 0a 58 0a 58 09 2a | 73 31 20 3d 20 27 5c 30 |);.X.X.*|s1 = '\0|
|000009d0| 27 3b 0a 58 09 69 66 28 | 63 6f 6d 70 5f 61 72 67 |';.X.if(|comp_arg|
|000009e0| 73 29 20 7b 0a 58 09 09 | 28 76 6f 69 64 29 73 70 |s) {.X..|(void)sp|
|000009f0| 72 69 6e 74 66 28 73 74 | 72 2c 20 22 28 67 69 76 |rintf(st|r, "(giv|
|00000a00| 65 20 6f 70 74 69 6f 6e | 73 20 74 6f 29 20 20 20 |e option|s to) |
|00000a10| 63 6f 6d 70 20 22 29 3b | 0a 58 09 09 67 65 74 5f |comp ");|.X..get_|
|00000a20| 73 74 72 69 6e 67 28 73 | 74 72 2c 20 73 31 29 3b |string(s|tr, s1);|
|00000a30| 0a 58 09 7d 0a 58 09 63 | 6c 65 61 72 28 29 3b 0a |.X.}.X.c|lear();.|
|00000a40| 58 09 61 64 64 73 74 61 | 74 75 73 28 22 63 6f 6d |X.addsta|tus("com|
|00000a50| 70 6f 73 69 6e 67 20 6d | 61 69 6c 20 2e 2e 2e 22 |posing m|ail ..."|
|00000a60| 2c 20 66 61 6c 73 65 29 | 3b 0a 58 09 6d 6f 76 65 |, false)|;.X.move|
|00000a70| 28 53 54 41 54 55 53 2b | 31 2c 20 30 29 3b 0a 58 |(STATUS+|1, 0);.X|
|00000a80| 09 72 65 66 72 65 73 68 | 28 29 3b 0a 58 09 74 6f |.refresh|();.X.to|
|00000a90| 70 5f 6c 65 76 65 6c 20 | 3d 20 66 61 6c 73 65 3b |p_level |= false;|
|00000aa0| 09 09 09 2f 2a 20 75 73 | 65 64 20 62 79 20 74 73 |.../* us|ed by ts|
|00000ab0| 74 70 28 29 20 73 6f 20 | 74 68 61 74 20 72 69 67 |tp() so |that rig|
|00000ac0| 68 74 20 74 68 69 6e 67 | 20 69 73 20 64 6f 6e 65 |ht thing| is done|
|00000ad0| 0a 58 09 09 09 09 09 09 | 09 09 20 20 20 77 68 65 |.X......|.. whe|
|00000ae0| 6e 20 70 72 6f 63 65 73 | 73 20 69 73 20 72 65 73 |n proces|s is res|
|00000af0| 74 61 72 74 65 64 20 2a | 2f 0a 58 09 69 66 28 21 |tarted *|/.X.if(!|
|00000b00| 20 76 66 6f 72 6b 28 29 | 29 20 7b 0a 58 09 09 61 | vfork()|) {.X..a|
|00000b10| 72 67 76 5b 30 5d 20 3d | 20 43 4f 4d 50 3b 0a 58 |rgv[0] =| COMP;.X|
|00000b20| 09 09 66 6f 72 28 69 3d | 31 2c 20 74 6d 70 3d 73 |..for(i=|1, tmp=s|
|00000b30| 31 20 3b 20 2a 74 6d 70 | 20 21 3d 20 27 5c 30 27 |1 ; *tmp| != '\0'|
|00000b40| 20 3b 20 69 2b 2b 29 20 | 7b 0a 58 09 09 09 61 72 | ; i++) |{.X...ar|
|00000b50| 67 76 5b 69 5d 20 3d 20 | 74 6d 70 3b 0a 58 09 09 |gv[i] = |tmp;.X..|
|00000b60| 09 74 6d 70 20 3d 20 6e | 65 78 74 5f 74 6f 6b 65 |.tmp = n|ext_toke|
|00000b70| 6e 28 74 6d 70 29 3b 0a | 58 09 09 7d 0a 58 09 09 |n(tmp);.|X..}.X..|
|00000b80| 61 72 67 76 5b 69 5d 20 | 3d 20 30 3b 0a 58 09 09 |argv[i] |= 0;.X..|
|00000b90| 6e 6f 5f 63 6f 6e 74 72 | 6f 6c 28 29 3b 0a 58 09 |no_contr|ol();.X.|
|00000ba0| 09 65 78 65 63 76 70 28 | 43 4f 4d 50 2c 20 61 72 |.execvp(|COMP, ar|
|00000bb0| 67 76 29 3b 0a 58 09 09 | 28 76 6f 69 64 29 70 72 |gv);.X..|(void)pr|
|00000bc0| 69 6e 74 66 28 22 57 61 | 72 6e 69 6e 67 3a 20 63 |intf("Wa|rning: c|
|00000bd0| 61 6e 27 74 20 65 78 65 | 63 75 74 65 20 25 73 5c |an't exe|cute %s\|
|00000be0| 6e 22 2c 20 43 4f 4d 50 | 29 3b 0a 58 09 09 65 78 |n", COMP|);.X..ex|
|00000bf0| 69 74 28 30 29 3b 0a 58 | 09 7d 0a 58 09 6f 6c 64 |it(0);.X|.}.X.old|
|00000c00| 69 6e 74 20 3d 20 73 69 | 67 6e 61 6c 28 53 49 47 |int = si|gnal(SIG|
|00000c10| 49 4e 54 2c 20 53 49 47 | 5f 49 47 4e 29 3b 0a 58 |INT, SIG|_IGN);.X|
|00000c20| 09 6f 6c 64 71 75 69 74 | 20 3d 20 73 69 67 6e 61 |.oldquit| = signa|
|00000c30| 6c 28 53 49 47 51 55 49 | 54 2c 20 53 49 47 5f 49 |l(SIGQUI|T, SIG_I|
|00000c40| 47 4e 29 3b 0a 58 09 28 | 76 6f 69 64 29 77 61 69 |GN);.X.(|void)wai|
|00000c50| 74 28 26 73 74 61 74 75 | 73 29 3b 0a 58 09 28 76 |t(&statu|s);.X.(v|
|00000c60| 6f 69 64 29 73 69 67 6e | 61 6c 28 53 49 47 49 4e |oid)sign|al(SIGIN|
|00000c70| 54 2c 20 6f 6c 64 69 6e | 74 29 3b 0a 58 09 28 76 |T, oldin|t);.X.(v|
|00000c80| 6f 69 64 29 73 69 67 6e | 61 6c 28 53 49 47 51 55 |oid)sign|al(SIGQU|
|00000c90| 49 54 2c 20 6f 6c 64 71 | 75 69 74 29 3b 0a 58 09 |IT, oldq|uit);.X.|
|00000ca0| 74 6f 70 5f 6c 65 76 65 | 6c 20 3d 20 74 72 75 65 |top_leve|l = true|
|00000cb0| 3b 0a 58 09 74 6f 5f 63 | 6f 6e 74 72 6f 6c 28 29 |;.X.to_c|ontrol()|
|00000cc0| 3b 0a 58 09 68 6f 6c 64 | 5f 65 6e 64 28 29 3b 09 |;.X.hold|_end();.|
|00000cd0| 09 09 09 09 2f 2a 20 77 | 61 69 74 20 66 6f 72 20 |..../* w|ait for |
|00000ce0| 75 73 65 72 20 74 6f 20 | 77 61 6e 74 20 74 6f 20 |user to |want to |
|00000cf0| 63 6f 6e 74 69 6e 75 65 | 20 2d 20 6d 61 79 20 77 |continue| - may w|
|00000d00| 69 73 68 0a 58 09 09 09 | 09 09 09 09 09 20 20 20 |ish.X...|..... |
|00000d10| 74 6f 20 72 65 61 64 20 | 65 72 72 6f 72 20 6d 65 |to read |error me|
|00000d20| 73 73 61 67 65 73 20 2a | 2f 0a 58 09 64 69 73 70 |ssages *|/.X.disp|
|00000d30| 6c 61 79 5f 70 61 67 65 | 28 29 3b 0a 58 09 61 64 |lay_page|();.X.ad|
|00000d40| 64 73 74 61 74 75 73 28 | 57 41 52 4e 49 4e 47 2c |dstatus(|WARNING,|
|00000d50| 20 74 72 75 65 29 3b 09 | 2f 2a 20 76 6d 61 69 6c | true);.|/* vmail|
|00000d60| 27 73 20 64 61 74 61 20 | 73 74 72 75 63 74 75 72 |'s data |structur|
|00000d70| 65 73 20 6e 6f 74 20 75 | 70 64 61 74 65 64 20 2a |es not u|pdated *|
|00000d80| 2f 0a 58 7d 0a 58 0a 58 | 0a 58 2f 2a 20 2d 2d 2d |/.X}.X.X|.X/* ---|
|00000d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000da0| 2d 0a 58 09 46 6f 72 6b | 20 61 20 63 61 6c 6c 20 |-.X.Fork| a call |
|00000db0| 74 6f 20 60 66 6f 72 77 | 27 2e 0a 58 09 54 65 72 |to `forw|'..X.Ter|
|00000dc0| 6d 69 6e 61 6c 20 74 79 | 70 65 20 6d 75 73 74 20 |minal ty|pe must |
|00000dd0| 62 65 20 72 65 73 65 74 | 20 62 65 66 6f 72 65 20 |be reset| before |
|00000de0| 63 61 6c 6c 2e 0a 58 2d | 2d 2d 2d 2d 2d 2d 2d 2d |call..X-|--------|
|00000df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 20 2a 2f 0a 58 |--------|--- */.X|
|00000e00| 76 6f 69 64 0a 58 66 6f | 72 77 28 29 0a 58 7b 0a |void.Xfo|rw().X{.|
|00000e10| 58 09 63 68 61 72 09 2a | 74 6d 70 2c 20 2a 61 72 |X.char.*|tmp, *ar|
|00000e20| 67 76 5b 32 30 5d 2c 20 | 73 74 72 5b 4c 45 4e 5d |gv[20], |str[LEN]|
|00000e30| 2c 20 73 31 5b 4c 45 4e | 5d 2c 20 73 32 5b 31 30 |, s1[LEN|], s2[10|
|00000e40| 5d 2c 20 2a 6e 65 78 74 | 5f 74 6f 6b 65 6e 28 29 |], *next|_token()|
|00000e50| 3b 0a 58 09 69 6e 74 09 | 09 69 3b 0a 58 09 73 69 |;.X.int.|.i;.X.si|
|00000e60| 67 5f 74 79 70 65 09 28 | 2a 6f 6c 64 69 6e 74 29 |g_type.(|*oldint)|
|00000e70| 28 29 2c 20 28 2a 6f 6c | 64 71 75 69 74 29 28 29 |(), (*ol|dquit)()|
|00000e80| 2c 20 28 2a 73 69 67 6e | 61 6c 28 29 29 28 29 3b |, (*sign|al())();|
|00000e90| 0a 58 0a 58 09 28 76 6f | 69 64 29 73 70 72 69 6e |.X.X.(vo|id)sprin|
|00000ea0| 74 66 28 73 32 2c 20 22 | 25 64 22 2c 20 63 75 72 |tf(s2, "|%d", cur|
|00000eb0| 6d 61 69 6c 2d 3e 6e 75 | 6d 62 65 72 29 3b 0a 58 |mail->nu|mber);.X|
|00000ec0| 09 2a 73 31 20 3d 20 27 | 5c 30 27 3b 0a 58 09 69 |.*s1 = '|\0';.X.i|
|00000ed0| 66 28 66 6f 72 77 5f 61 | 72 67 73 29 20 7b 0a 58 |f(forw_a|rgs) {.X|
|00000ee0| 09 09 28 76 6f 69 64 29 | 73 70 72 69 6e 74 66 28 |..(void)|sprintf(|
|00000ef0| 73 74 72 2c 20 22 28 67 | 69 76 65 20 6f 70 74 69 |str, "(g|ive opti|
|00000f00| 6f 6e 73 20 74 6f 29 20 | 20 20 66 6f 72 77 20 2b |ons to) | forw +|
|00000f10| 25 73 20 25 73 20 22 2c | 20 63 75 72 66 6c 72 2d |%s %s ",| curflr-|
|00000f20| 3e 6e 61 6d 65 2c 20 73 | 32 29 3b 0a 58 09 09 67 |>name, s|2);.X..g|
|00000f30| 65 74 5f 73 74 72 69 6e | 67 28 73 74 72 2c 20 73 |et_strin|g(str, s|
|00000f40| 31 29 3b 0a 58 09 7d 0a | 58 09 63 6c 65 61 72 28 |1);.X.}.|X.clear(|
|00000f50| 29 3b 0a 58 09 61 64 64 | 73 74 61 74 75 73 28 22 |);.X.add|status("|
|00000f60| 66 6f 72 77 61 72 64 69 | 6e 67 20 6d 61 69 6c 20 |forwardi|ng mail |
|00000f70| 2e 2e 2e 22 2c 20 66 61 | 6c 73 65 29 3b 0a 58 09 |...", fa|lse);.X.|
|00000f80| 6d 6f 76 65 28 53 54 41 | 54 55 53 2b 31 2c 20 30 |move(STA|TUS+1, 0|
|00000f90| 29 3b 0a 58 09 72 65 66 | 72 65 73 68 28 29 3b 0a |);.X.ref|resh();.|
|00000fa0| 58 09 74 6f 70 5f 6c 65 | 76 65 6c 20 3d 20 66 61 |X.top_le|vel = fa|
|00000fb0| 6c 73 65 3b 09 09 09 2f | 2a 20 75 73 65 64 20 62 |lse;.../|* used b|
|00000fc0| 79 20 74 73 74 70 28 29 | 20 73 6f 20 74 68 61 74 |y tstp()| so that|
|00000fd0| 20 72 69 67 68 74 20 74 | 68 69 6e 67 20 69 73 20 | right t|hing is |
|00000fe0| 64 6f 6e 65 0a 58 09 09 | 09 09 09 09 09 09 20 20 |done.X..|...... |
|00000ff0| 20 77 68 65 6e 20 70 72 | 6f 63 65 73 73 20 69 73 | when pr|ocess is|
|00001000| 20 72 65 73 74 61 72 74 | 65 64 20 2a 2f 0a 58 09 | restart|ed */.X.|
|00001010| 69 66 28 21 20 76 66 6f | 72 6b 28 29 29 20 7b 0a |if(! vfo|rk()) {.|
|00001020| 58 09 09 28 76 6f 69 64 | 29 73 70 72 69 6e 74 66 |X..(void|)sprintf|
|00001030| 28 73 74 72 2c 20 22 2b | 25 73 22 2c 20 63 75 72 |(str, "+|%s", cur|
|00001040| 66 6c 72 2d 3e 6e 61 6d | 65 29 3b 0a 58 09 09 61 |flr->nam|e);.X..a|
|00001050| 72 67 76 5b 30 5d 20 3d | 20 46 4f 52 57 3b 20 61 |rgv[0] =| FORW; a|
|00001060| 72 67 76 5b 31 5d 20 3d | 20 73 74 72 3b 20 61 72 |rgv[1] =| str; ar|
|00001070| 67 76 5b 32 5d 20 3d 20 | 73 32 3b 0a 58 09 09 66 |gv[2] = |s2;.X..f|
|00001080| 6f 72 28 69 3d 33 2c 20 | 74 6d 70 3d 73 31 20 3b |or(i=3, |tmp=s1 ;|
|00001090| 20 2a 74 6d 70 20 21 3d | 20 27 5c 30 27 20 3b 20 | *tmp !=| '\0' ; |
|000010a0| 69 2b 2b 29 20 7b 0a 58 | 09 09 09 61 72 67 76 5b |i++) {.X|...argv[|
|000010b0| 69 5d 20 3d 20 74 6d 70 | 3b 0a 58 09 09 09 74 6d |i] = tmp|;.X...tm|
|000010c0| 70 20 3d 20 6e 65 78 74 | 5f 74 6f 6b 65 6e 28 74 |p = next|_token(t|
|000010d0| 6d 70 29 3b 0a 58 09 09 | 7d 0a 58 09 09 61 72 67 |mp);.X..|}.X..arg|
|000010e0| 76 5b 69 5d 20 3d 20 30 | 3b 0a 58 09 09 6e 6f 5f |v[i] = 0|;.X..no_|
|000010f0| 63 6f 6e 74 72 6f 6c 28 | 29 3b 0a 58 09 09 65 78 |control(|);.X..ex|
|00001100| 65 63 76 70 28 46 4f 52 | 57 2c 20 61 72 67 76 29 |ecvp(FOR|W, argv)|
|00001110| 3b 0a 58 09 09 28 76 6f | 69 64 29 70 72 69 6e 74 |;.X..(vo|id)print|
|00001120| 66 28 22 57 61 72 6e 69 | 6e 67 3a 20 63 61 6e 27 |f("Warni|ng: can'|
|00001130| 74 20 65 78 65 63 75 74 | 65 20 25 73 5c 6e 22 2c |t execut|e %s\n",|
|00001140| 20 46 4f 52 57 29 3b 0a | 58 09 09 65 78 69 74 28 | FORW);.|X..exit(|
|00001150| 30 29 3b 0a 58 09 7d 0a | 58 09 6f 6c 64 69 6e 74 |0);.X.}.|X.oldint|
|00001160| 20 3d 20 73 69 67 6e 61 | 6c 28 53 49 47 49 4e 54 | = signa|l(SIGINT|
|00001170| 2c 20 53 49 47 5f 49 47 | 4e 29 3b 0a 58 09 6f 6c |, SIG_IG|N);.X.ol|
|00001180| 64 71 75 69 74 20 3d 20 | 73 69 67 6e 61 6c 28 53 |dquit = |signal(S|
|00001190| 49 47 51 55 49 54 2c 20 | 53 49 47 5f 49 47 4e 29 |IGQUIT, |SIG_IGN)|
|000011a0| 3b 0a 58 09 28 76 6f 69 | 64 29 77 61 69 74 28 26 |;.X.(voi|d)wait(&|
|000011b0| 73 74 61 74 75 73 29 3b | 0a 58 09 28 76 6f 69 64 |status);|.X.(void|
|000011c0| 29 73 69 67 6e 61 6c 28 | 53 49 47 49 4e 54 2c 20 |)signal(|SIGINT, |
|000011d0| 6f 6c 64 69 6e 74 29 3b | 0a 58 09 28 76 6f 69 64 |oldint);|.X.(void|
|000011e0| 29 73 69 67 6e 61 6c 28 | 53 49 47 51 55 49 54 2c |)signal(|SIGQUIT,|
|000011f0| 20 6f 6c 64 71 75 69 74 | 29 3b 0a 58 09 74 6f 70 | oldquit|);.X.top|
|00001200| 5f 6c 65 76 65 6c 20 3d | 20 74 72 75 65 3b 0a 58 |_level =| true;.X|
|00001210| 09 74 6f 5f 63 6f 6e 74 | 72 6f 6c 28 29 3b 0a 58 |.to_cont|rol();.X|
|00001220| 09 68 6f 6c 64 5f 65 6e | 64 28 29 3b 09 09 09 09 |.hold_en|d();....|
|00001230| 09 2f 2a 20 77 61 69 74 | 20 66 6f 72 20 75 73 65 |./* wait| for use|
|00001240| 72 20 74 6f 20 77 61 6e | 74 20 74 6f 20 63 6f 6e |r to wan|t to con|
|00001250| 74 69 6e 75 65 20 2d 20 | 6d 61 79 20 77 69 73 68 |tinue - |may wish|
|00001260| 0a 58 09 09 09 09 09 09 | 09 09 20 20 20 74 6f 20 |.X......|.. to |
|00001270| 72 65 61 64 20 65 72 72 | 6f 72 20 6d 65 73 73 61 |read err|or messa|
|00001280| 67 65 73 20 2a 2f 0a 58 | 09 64 69 73 70 6c 61 79 |ges */.X|.display|
|00001290| 5f 70 61 67 65 28 29 3b | 0a 58 09 61 64 64 73 74 |_page();|.X.addst|
|000012a0| 61 74 75 73 28 57 41 52 | 4e 49 4e 47 2c 20 74 72 |atus(WAR|NING, tr|
|000012b0| 75 65 29 3b 09 2f 2a 20 | 76 6d 61 69 6c 27 73 20 |ue);./* |vmail's |
|000012c0| 64 61 74 61 20 73 74 72 | 75 63 74 75 72 65 73 20 |data str|uctures |
|000012d0| 6e 6f 74 20 75 70 64 61 | 74 65 64 20 2a 2f 0a 58 |not upda|ted */.X|
|000012e0| 7d 0a 58 0a 58 0a 58 2f | 2a 20 2d 2d 2d 2d 2d 2d |}.X.X.X/|* ------|
|000012f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0a 58 |--------|------.X|
|00001300| 09 46 6f 72 6b 20 61 20 | 63 61 6c 6c 20 74 6f 20 |.Fork a |call to |
|00001310| 60 72 65 70 6c 27 2e 0a | 58 09 54 65 72 6d 69 6e |`repl'..|X.Termin|
|00001320| 61 6c 20 74 79 70 65 20 | 6d 75 73 74 20 62 65 20 |al type |must be |
|00001330| 72 65 73 65 74 20 62 65 | 66 6f 72 65 20 63 61 6c |reset be|fore cal|
|00001340| 6c 2e 0a 58 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |l..X----|--------|
|00001350| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0a 58 76 6f 69 |--------| */.Xvoi|
|00001360| 64 0a 58 72 65 70 6c 28 | 29 0a 58 7b 0a 58 09 63 |d.Xrepl(|).X{.X.c|
|00001370| 68 61 72 09 2a 74 6d 70 | 2c 20 2a 61 72 67 76 5b |har.*tmp|, *argv[|
|00001380| 32 30 5d 2c 20 73 74 72 | 5b 4c 45 4e 5d 2c 20 73 |20], str|[LEN], s|
|00001390| 31 5b 4c 45 4e 5d 2c 20 | 73 32 5b 31 30 5d 2c 20 |1[LEN], |s2[10], |
|000013a0| 2a 6e 65 78 74 5f 74 6f | 6b 65 6e 28 29 3b 0a 58 |*next_to|ken();.X|
|000013b0| 09 69 6e 74 09 09 69 3b | 0a 58 09 73 69 67 5f 74 |.int..i;|.X.sig_t|
|000013c0| 79 70 65 09 28 2a 6f 6c | 64 69 6e 74 29 28 29 2c |ype.(*ol|dint)(),|
|000013d0| 20 28 2a 6f 6c 64 71 75 | 69 74 29 28 29 2c 20 28 | (*oldqu|it)(), (|
|000013e0| 2a 73 69 67 6e 61 6c 28 | 29 29 28 29 3b 0a 58 0a |*signal(|))();.X.|
|000013f0| 58 09 28 76 6f 69 64 29 | 73 70 72 69 6e 74 66 28 |X.(void)|sprintf(|
|00001400| 73 32 2c 20 22 25 64 22 | 2c 20 63 75 72 6d 61 69 |s2, "%d"|, curmai|
|00001410| 6c 2d 3e 6e 75 6d 62 65 | 72 29 3b 0a 58 09 2a 73 |l->numbe|r);.X.*s|
|00001420| 31 20 3d 20 27 5c 30 27 | 3b 0a 58 09 69 66 28 72 |1 = '\0'|;.X.if(r|
|00001430| 65 70 6c 5f 61 72 67 73 | 29 20 7b 0a 58 09 09 28 |epl_args|) {.X..(|
|00001440| 76 6f 69 64 29 73 70 72 | 69 6e 74 66 28 73 74 72 |void)spr|intf(str|
|00001450| 2c 20 22 28 67 69 76 65 | 20 6f 70 74 69 6f 6e 73 |, "(give| options|
|00001460| 20 74 6f 29 20 20 20 72 | 65 70 6c 20 2b 25 73 20 | to) r|epl +%s |
|00001470| 25 73 20 22 2c 20 63 75 | 72 66 6c 72 2d 3e 6e 61 |%s ", cu|rflr->na|
|00001480| 6d 65 2c 20 73 32 29 3b | 0a 58 09 09 67 65 74 5f |me, s2);|.X..get_|
|00001490| 73 74 72 69 6e 67 28 73 | 74 72 2c 20 73 31 29 3b |string(s|tr, s1);|
|000014a0| 0a 58 09 7d 0a 58 09 63 | 6c 65 61 72 28 29 3b 0a |.X.}.X.c|lear();.|
|000014b0| 58 09 61 64 64 73 74 61 | 74 75 73 28 22 61 6e 73 |X.addsta|tus("ans|
|000014c0| 77 65 72 69 6e 67 20 6d | 61 69 6c 20 2e 2e 2e 22 |wering m|ail ..."|
|000014d0| 2c 20 66 61 6c 73 65 29 | 3b 0a 58 09 6d 6f 76 65 |, false)|;.X.move|
|000014e0| 28 53 54 41 54 55 53 2b | 31 2c 20 30 29 3b 0a 58 |(STATUS+|1, 0);.X|
|000014f0| 09 72 65 66 72 65 73 68 | 28 29 3b 0a 58 09 74 6f |.refresh|();.X.to|
|00001500| 70 5f 6c 65 76 65 6c 20 | 3d 20 66 61 6c 73 65 3b |p_level |= false;|
|00001510| 09 09 09 2f 2a 20 75 73 | 65 64 20 62 79 20 74 73 |.../* us|ed by ts|
|00001520| 74 70 28 29 20 73 6f 20 | 74 68 61 74 20 72 69 67 |tp() so |that rig|
|00001530| 68 74 20 74 68 69 6e 67 | 20 69 73 20 64 6f 6e 65 |ht thing| is done|
|00001540| 0a 58 09 09 09 09 09 09 | 09 09 20 20 20 77 68 65 |.X......|.. whe|
|00001550| 6e 20 70 72 6f 63 65 73 | 73 20 69 73 20 72 65 73 |n proces|s is res|
|00001560| 74 61 72 74 65 64 20 2a | 2f 0a 58 09 69 66 28 21 |tarted *|/.X.if(!|
|00001570| 20 76 66 6f 72 6b 28 29 | 29 20 7b 0a 58 09 09 28 | vfork()|) {.X..(|
|00001580| 76 6f 69 64 29 73 70 72 | 69 6e 74 66 28 73 74 72 |void)spr|intf(str|
|00001590| 2c 20 22 2b 25 73 22 2c | 20 63 75 72 66 6c 72 2d |, "+%s",| curflr-|
|000015a0| 3e 6e 61 6d 65 29 3b 0a | 58 09 09 61 72 67 76 5b |>name);.|X..argv[|
|000015b0| 30 5d 20 3d 20 52 45 50 | 4c 3b 20 61 72 67 76 5b |0] = REP|L; argv[|
|000015c0| 31 5d 20 3d 20 73 74 72 | 3b 20 61 72 67 76 5b 32 |1] = str|; argv[2|
|000015d0| 5d 20 3d 20 73 32 3b 0a | 58 09 09 66 6f 72 28 69 |] = s2;.|X..for(i|
|000015e0| 3d 33 2c 20 74 6d 70 3d | 73 31 20 3b 20 2a 74 6d |=3, tmp=|s1 ; *tm|
|000015f0| 70 20 21 3d 20 27 5c 30 | 27 20 3b 20 69 2b 2b 29 |p != '\0|' ; i++)|
|00001600| 20 7b 0a 58 09 09 09 61 | 72 67 76 5b 69 5d 20 3d | {.X...a|rgv[i] =|
|00001610| 20 74 6d 70 3b 0a 58 09 | 09 09 74 6d 70 20 3d 20 | tmp;.X.|..tmp = |
|00001620| 6e 65 78 74 5f 74 6f 6b | 65 6e 28 74 6d 70 29 3b |next_tok|en(tmp);|
|00001630| 0a 58 09 09 7d 0a 58 09 | 09 61 72 67 76 5b 69 5d |.X..}.X.|.argv[i]|
|00001640| 20 3d 20 30 3b 0a 58 09 | 09 6e 6f 5f 63 6f 6e 74 | = 0;.X.|.no_cont|
|00001650| 72 6f 6c 28 29 3b 0a 58 | 09 09 65 78 65 63 76 70 |rol();.X|..execvp|
|00001660| 28 52 45 50 4c 2c 20 61 | 72 67 76 29 3b 0a 58 09 |(REPL, a|rgv);.X.|
|00001670| 09 28 76 6f 69 64 29 70 | 72 69 6e 74 66 28 22 57 |.(void)p|rintf("W|
|00001680| 61 72 6e 69 6e 67 3a 20 | 63 61 6e 27 74 20 65 78 |arning: |can't ex|
|00001690| 65 63 75 74 65 20 25 73 | 5c 6e 22 2c 20 52 45 50 |ecute %s|\n", REP|
|000016a0| 4c 29 3b 0a 58 09 09 65 | 78 69 74 28 30 29 3b 0a |L);.X..e|xit(0);.|
|000016b0| 58 09 7d 0a 58 09 6f 6c | 64 69 6e 74 20 3d 20 73 |X.}.X.ol|dint = s|
|000016c0| 69 67 6e 61 6c 28 53 49 | 47 49 4e 54 2c 20 53 49 |ignal(SI|GINT, SI|
|000016d0| 47 5f 49 47 4e 29 3b 0a | 58 09 6f 6c 64 71 75 69 |G_IGN);.|X.oldqui|
|000016e0| 74 20 3d 20 73 69 67 6e | 61 6c 28 53 49 47 51 55 |t = sign|al(SIGQU|
|000016f0| 49 54 2c 20 53 49 47 5f | 49 47 4e 29 3b 0a 58 09 |IT, SIG_|IGN);.X.|
|00001700| 28 76 6f 69 64 29 77 61 | 69 74 28 26 73 74 61 74 |(void)wa|it(&stat|
|00001710| 75 73 29 3b 0a 58 09 28 | 76 6f 69 64 29 73 69 67 |us);.X.(|void)sig|
|00001720| 6e 61 6c 28 53 49 47 49 | 4e 54 2c 20 6f 6c 64 69 |nal(SIGI|NT, oldi|
|00001730| 6e 74 29 3b 0a 58 09 28 | 76 6f 69 64 29 73 69 67 |nt);.X.(|void)sig|
|00001740| 6e 61 6c 28 53 49 47 51 | 55 49 54 2c 20 6f 6c 64 |nal(SIGQ|UIT, old|
|00001750| 71 75 69 74 29 3b 0a 58 | 09 74 6f 70 5f 6c 65 76 |quit);.X|.top_lev|
|00001760| 65 6c 20 3d 20 74 72 75 | 65 3b 0a 58 09 74 6f 5f |el = tru|e;.X.to_|
|00001770| 63 6f 6e 74 72 6f 6c 28 | 29 3b 0a 58 09 68 6f 6c |control(|);.X.hol|
|00001780| 64 5f 65 6e 64 28 29 3b | 09 09 09 09 09 2f 2a 20 |d_end();|...../* |
|00001790| 77 61 69 74 20 66 6f 72 | 20 75 73 65 72 20 74 6f |wait for| user to|
|000017a0| 20 77 61 6e 74 20 74 6f | 20 63 6f 6e 74 69 6e 75 | want to| continu|
|000017b0| 65 20 2d 20 6d 61 79 20 | 77 69 73 68 0a 58 09 09 |e - may |wish.X..|
|000017c0| 09 09 09 09 09 09 20 20 | 20 74 6f 20 72 65 61 64 |...... | to read|
|000017d0| 20 65 72 72 6f 72 20 6d | 65 73 73 61 67 65 73 20 | error m|essages |
|000017e0| 2a 2f 0a 58 09 64 69 73 | 70 6c 61 79 5f 70 61 67 |*/.X.dis|play_pag|
|000017f0| 65 28 29 3b 0a 58 09 61 | 64 64 73 74 61 74 75 73 |e();.X.a|ddstatus|
|00001800| 28 57 41 52 4e 49 4e 47 | 2c 20 74 72 75 65 29 3b |(WARNING|, true);|
|00001810| 09 2f 2a 20 76 6d 61 69 | 6c 27 73 20 64 61 74 61 |./* vmai|l's data|
|00001820| 20 73 74 72 75 63 74 75 | 72 65 73 20 6e 6f 74 20 | structu|res not |
|00001830| 75 70 64 61 74 65 64 20 | 2a 2f 0a 58 7d 0a 58 0a |updated |*/.X}.X.|
|00001840| 58 0a 58 2f 2a 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |X.X/* --|--------|
|00001850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0a 58 09 46 6f 72 |--------|--.X.For|
|00001860| 6b 20 61 20 63 61 6c 6c | 20 74 6f 20 65 64 69 74 |k a call| to edit|
|00001870| 6f 72 2e 0a 58 09 54 65 | 72 6d 69 6e 61 6c 20 74 |or..X.Te|rminal t|
|00001880| 79 70 65 20 6d 75 73 74 | 20 62 65 20 72 65 73 65 |ype must| be rese|
|00001890| 74 20 62 65 66 6f 72 65 | 20 63 61 6c 6c 2e 0a 58 |t before| call..X|
|000018a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018b0| 2d 2d 2d 2d 20 2a 2f 0a | 58 76 6f 69 64 0a 58 65 |---- */.|Xvoid.Xe|
|000018c0| 64 69 74 28 29 0a 58 7b | 0a 58 09 63 68 61 72 09 |dit().X{|.X.char.|
|000018d0| 73 74 72 5b 4c 45 4e 5d | 3b 0a 58 09 73 69 67 5f |str[LEN]|;.X.sig_|
|000018e0| 74 79 70 65 09 28 2a 6f | 6c 64 69 6e 74 29 28 29 |type.(*o|ldint)()|
|000018f0| 2c 20 28 2a 6f 6c 64 71 | 75 69 74 29 28 29 2c 20 |, (*oldq|uit)(), |
|00001900| 28 2a 73 69 67 6e 61 6c | 28 29 29 28 29 3b 0a 58 |(*signal|())();.X|
|00001910| 0a 58 09 63 6c 65 61 72 | 28 29 3b 0a 58 09 6d 76 |.X.clear|();.X.mv|
|00001920| 61 64 64 73 74 72 28 54 | 49 54 4c 45 2c 20 30 2c |addstr(T|ITLE, 0,|
|00001930| 20 22 65 64 69 74 69 6e | 67 20 6d 61 69 6c 20 2e | "editin|g mail .|
|00001940| 2e 2e 22 29 3b 0a 58 09 | 6d 6f 76 65 28 53 54 41 |..");.X.|move(STA|
|00001950| 54 55 53 2c 20 30 29 3b | 0a 58 09 72 65 66 72 65 |TUS, 0);|.X.refre|
|00001960| 73 68 28 29 3b 0a 58 09 | 74 6f 70 5f 6c 65 76 65 |sh();.X.|top_leve|
|00001970| 6c 20 3d 20 66 61 6c 73 | 65 3b 09 09 09 2f 2a 20 |l = fals|e;.../* |
|00001980| 75 73 65 64 20 62 79 20 | 74 73 74 70 28 29 20 73 |used by |tstp() s|
|00001990| 6f 20 74 68 61 74 20 72 | 69 67 68 74 20 74 68 69 |o that r|ight thi|
|000019a0| 6e 67 20 69 73 20 64 6f | 6e 65 0a 58 09 09 09 09 |ng is do|ne.X....|
|000019b0| 09 09 09 09 20 20 20 77 | 68 65 6e 20 70 72 6f 63 |.... w|hen proc|
|000019c0| 65 73 73 20 69 73 20 72 | 65 73 74 61 72 74 65 64 |ess is r|estarted|
|000019d0| 20 2a 2f 0a 58 09 69 66 | 28 21 20 76 66 6f 72 6b | */.X.if|(! vfork|
|000019e0| 28 29 29 20 7b 0a 58 09 | 09 6e 6f 5f 63 6f 6e 74 |()) {.X.|.no_cont|
|000019f0| 72 6f 6c 28 29 3b 0a 58 | 09 09 28 76 6f 69 64 29 |rol();.X|..(void)|
|00001a00| 73 70 72 69 6e 74 66 28 | 73 74 72 2c 20 22 25 73 |sprintf(|str, "%s|
|00001a10| 2f 25 73 2f 25 64 22 2c | 20 6d 61 69 6c 5f 64 69 |/%s/%d",| mail_di|
|00001a20| 72 2c 20 63 75 72 66 6c | 72 2d 3e 6e 61 6d 65 2c |r, curfl|r->name,|
|00001a30| 20 63 75 72 6d 61 69 6c | 2d 3e 6e 75 6d 62 65 72 | curmail|->number|
|00001a40| 29 3b 0a 58 09 09 65 78 | 65 63 6c 70 28 65 64 69 |);.X..ex|eclp(edi|
|00001a50| 74 6f 72 2c 20 65 64 69 | 74 6f 72 2c 20 73 74 72 |tor, edi|tor, str|
|00001a60| 2c 20 30 29 3b 0a 58 09 | 09 28 76 6f 69 64 29 70 |, 0);.X.|.(void)p|
|00001a70| 72 69 6e 74 66 28 22 57 | 61 72 6e 69 6e 67 3a 20 |rintf("W|arning: |
|00001a80| 63 61 6e 27 74 20 65 78 | 65 63 75 74 65 20 25 73 |can't ex|ecute %s|
|00001a90| 5c 6e 22 2c 20 65 64 69 | 74 6f 72 29 3b 0a 58 09 |\n", edi|tor);.X.|
|00001aa0| 09 65 78 69 74 28 30 29 | 3b 0a 58 09 7d 0a 58 09 |.exit(0)|;.X.}.X.|
|00001ab0| 6f 6c 64 69 6e 74 20 3d | 20 73 69 67 6e 61 6c 28 |oldint =| signal(|
|00001ac0| 53 49 47 49 4e 54 2c 20 | 53 49 47 5f 49 47 4e 29 |SIGINT, |SIG_IGN)|
|00001ad0| 3b 0a 58 09 6f 6c 64 71 | 75 69 74 20 3d 20 73 69 |;.X.oldq|uit = si|
|00001ae0| 67 6e 61 6c 28 53 49 47 | 51 55 49 54 2c 20 53 49 |gnal(SIG|QUIT, SI|
|00001af0| 47 5f 49 47 4e 29 3b 0a | 58 09 28 76 6f 69 64 29 |G_IGN);.|X.(void)|
|00001b00| 77 61 69 74 28 26 73 74 | 61 74 75 73 29 3b 0a 58 |wait(&st|atus);.X|
|00001b10| 09 28 76 6f 69 64 29 73 | 69 67 6e 61 6c 28 53 49 |.(void)s|ignal(SI|
|00001b20| 47 49 4e 54 2c 20 6f 6c | 64 69 6e 74 29 3b 0a 58 |GINT, ol|dint);.X|
|00001b30| 09 28 76 6f 69 64 29 73 | 69 67 6e 61 6c 28 53 49 |.(void)s|ignal(SI|
|00001b40| 47 51 55 49 54 2c 20 6f | 6c 64 71 75 69 74 29 3b |GQUIT, o|ldquit);|
|00001b50| 0a 58 09 74 6f 70 5f 6c | 65 76 65 6c 20 3d 20 74 |.X.top_l|evel = t|
|00001b60| 72 75 65 3b 0a 58 09 74 | 6f 5f 63 6f 6e 74 72 6f |rue;.X.t|o_contro|
|00001b70| 6c 28 29 3b 0a 58 09 68 | 6f 6c 64 5f 65 6e 64 28 |l();.X.h|old_end(|
|00001b80| 29 3b 09 09 09 09 09 2f | 2a 20 77 61 69 74 20 66 |);...../|* wait f|
|00001b90| 6f 72 20 75 73 65 72 20 | 74 6f 20 77 61 6e 74 20 |or user |to want |
|00001ba0| 74 6f 20 63 6f 6e 74 69 | 6e 75 65 20 2d 20 6d 61 |to conti|nue - ma|
|00001bb0| 79 20 77 69 73 68 0a 58 | 09 09 09 09 09 09 09 09 |y wish.X|........|
|00001bc0| 20 20 20 74 6f 20 72 65 | 61 64 20 65 72 72 6f 72 | to re|ad error|
|00001bd0| 20 6d 65 73 73 61 67 65 | 73 20 2a 2f 0a 58 09 64 | message|s */.X.d|
|00001be0| 69 73 70 6c 61 79 5f 70 | 61 67 65 28 29 3b 0a 58 |isplay_p|age();.X|
|00001bf0| 09 61 64 64 73 74 61 74 | 75 73 28 57 41 52 4e 49 |.addstat|us(WARNI|
|00001c00| 4e 47 2c 20 74 72 75 65 | 29 3b 09 2f 2a 20 76 6d |NG, true|);./* vm|
|00001c10| 61 69 6c 27 73 20 64 61 | 74 61 20 73 74 72 75 63 |ail's da|ta struc|
|00001c20| 74 75 72 65 73 20 6e 6f | 74 20 75 70 64 61 74 65 |tures no|t update|
|00001c30| 64 20 2a 2f 0a 58 7d 0a | 58 0a 58 0a 58 2f 2a 20 |d */.X}.|X.X.X/* |
|00001c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c50| 2d 2d 2d 2d 0a 58 09 46 | 6f 72 6b 20 61 20 63 61 |----.X.F|ork a ca|
|00001c60| 6c 6c 20 74 6f 20 73 68 | 65 6c 6c 2e 0a 58 09 54 |ll to sh|ell..X.T|
|00001c70| 65 72 6d 69 6e 61 6c 20 | 74 79 70 65 20 6d 75 73 |erminal |type mus|
|00001c80| 74 20 62 65 20 72 65 73 | 65 74 20 62 65 66 6f 72 |t be res|et befor|
|00001c90| 65 20 63 61 6c 6c 2e 0a | 58 0a 58 09 54 68 69 73 |e call..|X.X.This|
|00001ca0| 20 73 68 6f 75 6c 64 20 | 70 65 72 68 61 70 73 20 | should |perhaps |
|00001cb0| 62 65 20 6d 6f 64 69 66 | 69 65 64 20 73 6f 20 74 |be modif|ied so t|
|00001cc0| 68 61 74 20 6f 6e 6c 79 | 20 61 20 73 69 6e 67 6c |hat only| a singl|
|00001cd0| 65 20 63 6f 6d 6d 61 6e | 64 20 63 61 6e 20 62 65 |e comman|d can be|
|00001ce0| 0a 58 09 69 73 73 75 65 | 64 2c 20 61 73 20 69 6e |.X.issue|d, as in|
|00001cf0| 20 76 69 20 2e 2e 2e 20 | 62 75 74 20 74 68 69 73 | vi ... |but this|
|00001d00| 20 77 61 73 20 73 69 6d | 70 6c 65 72 20 74 6f 20 | was sim|pler to |
|00001d10| 64 6f 2e 0a 58 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |do..X---|--------|
|00001d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 2a 2f 0a 58 76 6f |--------|- */.Xvo|
|00001d30| 69 64 0a 58 63 61 6c 6c | 5f 73 68 65 6c 6c 28 29 |id.Xcall|_shell()|
|00001d40| 0a 58 7b 0a 58 09 73 69 | 67 5f 74 79 70 65 09 28 |.X{.X.si|g_type.(|
|00001d50| 2a 6f 6c 64 69 6e 74 29 | 28 29 2c 20 28 2a 6f 6c |*oldint)|(), (*ol|
|00001d60| 64 71 75 69 74 29 28 29 | 2c 20 28 2a 73 69 67 6e |dquit)()|, (*sign|
|00001d70| 61 6c 28 29 29 28 29 3b | 0a 58 0a 58 09 63 6c 65 |al())();|.X.X.cle|
|00001d80| 61 72 28 29 3b 0a 58 09 | 6d 76 61 64 64 73 74 72 |ar();.X.|mvaddstr|
|00001d90| 28 54 49 54 4c 45 2c 20 | 30 2c 20 22 63 61 6c 6c |(TITLE, |0, "call|
|00001da0| 69 6e 67 20 73 68 65 6c | 6c 20 2e 2e 2e 22 29 3b |ing shel|l ...");|
|00001db0| 0a 58 09 6d 6f 76 65 28 | 53 54 41 54 55 53 2c 20 |.X.move(|STATUS, |
|00001dc0| 30 29 3b 0a 58 09 72 65 | 66 72 65 73 68 28 29 3b |0);.X.re|fresh();|
|00001dd0| 0a 58 09 74 6f 70 5f 6c | 65 76 65 6c 20 3d 20 66 |.X.top_l|evel = f|
|00001de0| 61 6c 73 65 3b 09 09 09 | 2f 2a 20 75 73 65 64 20 |alse;...|/* used |
|00001df0| 62 79 20 74 73 74 70 28 | 29 20 73 6f 20 74 68 61 |by tstp(|) so tha|
|00001e00| 74 20 72 69 67 68 74 20 | 74 68 69 6e 67 20 69 73 |t right |thing is|
|00001e10| 20 64 6f 6e 65 0a 58 09 | 09 09 09 09 09 09 09 20 | done.X.|....... |
|00001e20| 20 20 77 68 65 6e 20 70 | 72 6f 63 65 73 73 20 69 | when p|rocess i|
|00001e30| 73 20 72 65 73 74 61 72 | 74 65 64 20 2a 2f 0a 58 |s restar|ted */.X|
|00001e40| 09 69 66 28 21 20 76 66 | 6f 72 6b 28 29 29 20 7b |.if(! vf|ork()) {|
|00001e50| 0a 58 09 09 6e 6f 5f 63 | 6f 6e 74 72 6f 6c 28 29 |.X..no_c|ontrol()|
|00001e60| 3b 0a 58 09 09 66 69 78 | 5f 6d 68 28 29 3b 0a 58 |;.X..fix|_mh();.X|
|00001e70| 09 09 65 78 65 63 6c 70 | 28 73 68 65 6c 6c 2c 20 |..execlp|(shell, |
|00001e80| 73 68 65 6c 6c 2c 20 22 | 2d 69 22 2c 20 30 29 3b |shell, "|-i", 0);|
|00001e90| 0a 58 09 09 28 76 6f 69 | 64 29 70 72 69 6e 74 66 |.X..(voi|d)printf|
|00001ea0| 28 22 57 61 72 6e 69 6e | 67 3a 20 63 61 6e 27 74 |("Warnin|g: can't|
|00001eb0| 20 65 78 65 63 75 74 65 | 20 25 73 5c 6e 22 2c 20 | execute| %s\n", |
|00001ec0| 73 68 65 6c 6c 29 3b 0a | 58 09 09 65 78 69 74 28 |shell);.|X..exit(|
|00001ed0| 30 29 3b 0a 58 09 7d 0a | 58 09 6f 6c 64 69 6e 74 |0);.X.}.|X.oldint|
|00001ee0| 20 3d 20 73 69 67 6e 61 | 6c 28 53 49 47 49 4e 54 | = signa|l(SIGINT|
|00001ef0| 2c 20 53 49 47 5f 49 47 | 4e 29 3b 0a 58 09 6f 6c |, SIG_IG|N);.X.ol|
|00001f00| 64 71 75 69 74 20 3d 20 | 73 69 67 6e 61 6c 28 53 |dquit = |signal(S|
|00001f10| 49 47 51 55 49 54 2c 20 | 53 49 47 5f 49 47 4e 29 |IGQUIT, |SIG_IGN)|
|00001f20| 3b 0a 58 09 28 76 6f 69 | 64 29 77 61 69 74 28 26 |;.X.(voi|d)wait(&|
|00001f30| 73 74 61 74 75 73 29 3b | 0a 58 09 28 76 6f 69 64 |status);|.X.(void|
|00001f40| 29 73 69 67 6e 61 6c 28 | 53 49 47 49 4e 54 2c 20 |)signal(|SIGINT, |
|00001f50| 6f 6c 64 69 6e 74 29 3b | 0a 58 09 28 76 6f 69 64 |oldint);|.X.(void|
|00001f60| 29 73 69 67 6e 61 6c 28 | 53 49 47 51 55 49 54 2c |)signal(|SIGQUIT,|
|00001f70| 20 6f 6c 64 71 75 69 74 | 29 3b 0a 58 09 74 6f 70 | oldquit|);.X.top|
|00001f80| 5f 6c 65 76 65 6c 20 3d | 20 74 72 75 65 3b 0a 58 |_level =| true;.X|
|00001f90| 09 74 6f 5f 63 6f 6e 74 | 72 6f 6c 28 29 3b 0a 58 |.to_cont|rol();.X|
|00001fa0| 09 68 6f 6c 64 5f 65 6e | 64 28 29 3b 09 09 09 09 |.hold_en|d();....|
|00001fb0| 09 2f 2a 20 77 61 69 74 | 20 66 6f 72 20 75 73 65 |./* wait| for use|
|00001fc0| 72 20 74 6f 20 77 61 6e | 74 20 74 6f 20 63 6f 6e |r to wan|t to con|
|00001fd0| 74 69 6e 75 65 20 2d 20 | 6d 61 79 20 77 69 73 68 |tinue - |may wish|
|00001fe0| 0a 58 09 09 09 09 09 09 | 09 09 20 20 20 74 6f 20 |.X......|.. to |
|00001ff0| 72 65 61 64 20 65 72 72 | 6f 72 20 6d 65 73 73 61 |read err|or messa|
|00002000| 67 65 73 20 2a 2f 0a 58 | 09 64 69 73 70 6c 61 79 |ges */.X|.display|
|00002010| 5f 70 61 67 65 28 29 3b | 0a 58 7d 0a 58 0a 58 0a |_page();|.X}.X.X.|
|00002020| 58 2f 2a 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |X/* ----|--------|
|00002030| 2d 2d 2d 2d 2d 2d 2d 2d | 0a 58 09 50 69 70 65 20 |--------|.X.Pipe |
|00002040| 63 75 72 72 65 6e 74 20 | 6d 61 69 6c 20 69 74 65 |current |mail ite|
|00002050| 6d 20 69 6e 74 6f 20 67 | 69 76 65 6e 20 63 6f 6d |m into g|iven com|
|00002060| 6d 61 6e 64 2e 0a 58 2d | 2d 2d 2d 2d 2d 2d 2d 2d |mand..X-|--------|
|00002070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 20 2a 2f 0a 58 |--------|--- */.X|
|00002080| 76 6f 69 64 0a 58 64 6f | 5f 70 69 70 65 28 29 0a |void.Xdo|_pipe().|
|00002090| 58 7b 0a 58 09 63 68 61 | 72 09 73 74 72 5b 4c 45 |X{.X.cha|r.str[LE|
|000020a0| 4e 5d 2c 20 73 31 5b 4c | 45 4e 5d 3b 0a 58 09 73 |N], s1[L|EN];.X.s|
|000020b0| 69 67 5f 74 79 70 65 09 | 28 2a 6f 6c 64 69 6e 74 |ig_type.|(*oldint|
|000020c0| 29 28 29 2c 20 28 2a 6f | 6c 64 71 75 69 74 29 28 |)(), (*o|ldquit)(|
|000020d0| 29 2c 20 28 2a 73 69 67 | 6e 61 6c 28 29 29 28 29 |), (*sig|nal())()|
|000020e0| 3b 0a 58 0a 58 09 2a 73 | 31 20 3d 20 27 5c 30 27 |;.X.X.*s|1 = '\0'|
|000020f0| 3b 0a 58 09 28 76 6f 69 | 64 29 73 70 72 69 6e 74 |;.X.(voi|d)sprint|
|00002100| 66 28 73 74 72 2c 20 22 | 28 67 69 76 65 20 63 6f |f(str, "|(give co|
|00002110| 6d 6d 61 6e 64 20 74 6f | 29 20 20 20 73 68 6f 77 |mmand to|) show|
|00002120| 20 2b 25 73 20 25 64 20 | 7c 20 22 2c 20 63 75 72 | +%s %d || ", cur|
|00002130| 66 6c 72 2d 3e 6e 61 6d | 65 2c 0a 58 09 09 09 09 |flr->nam|e,.X....|
|00002140| 09 09 09 09 09 09 09 09 | 09 09 63 75 72 6d 61 69 |........|..curmai|
|00002150| 6c 2d 3e 6e 75 6d 62 65 | 72 29 3b 0a 58 09 67 65 |l->numbe|r);.X.ge|
|00002160| 74 5f 73 74 72 69 6e 67 | 28 73 74 72 2c 20 73 31 |t_string|(str, s1|
|00002170| 29 3b 0a 58 09 63 6c 65 | 61 72 28 29 3b 0a 58 09 |);.X.cle|ar();.X.|
|00002180| 61 64 64 73 74 61 74 75 | 73 28 22 70 69 70 69 6e |addstatu|s("pipin|
|00002190| 67 20 6d 61 69 6c 20 2e | 2e 2e 22 2c 20 66 61 6c |g mail .|..", fal|
|000021a0| 73 65 29 3b 0a 58 09 6d | 6f 76 65 28 53 54 41 54 |se);.X.m|ove(STAT|
|000021b0| 55 53 2b 31 2c 20 30 29 | 3b 0a 58 09 72 65 66 72 |US+1, 0)|;.X.refr|
|000021c0| 65 73 68 28 29 3b 0a 58 | 09 28 76 6f 69 64 29 73 |esh();.X|.(void)s|
|000021d0| 70 72 69 6e 74 66 28 73 | 74 72 2c 20 22 25 73 20 |printf(s|tr, "%s |
|000021e0| 25 73 2f 25 73 2f 25 64 | 20 7c 20 25 73 22 2c 20 |%s/%s/%d| | %s", |
|000021f0| 43 41 54 2c 20 6d 61 69 | 6c 5f 64 69 72 2c 20 63 |CAT, mai|l_dir, c|
|00002200| 75 72 66 6c 72 2d 3e 6e | 61 6d 65 2c 0a 58 09 09 |urflr->n|ame,.X..|
|00002210| 09 09 09 09 09 09 09 09 | 09 09 09 09 63 75 72 6d |........|....curm|
|00002220| 61 69 6c 2d 3e 6e 75 6d | 62 65 72 2c 20 73 31 29 |ail->num|ber, s1)|
|00002230| 3b 0a 58 09 74 6f 70 5f | 6c 65 76 65 6c 20 3d 20 |;.X.top_|level = |
|00002240| 66 61 6c 73 65 3b 09 09 | 09 2f 2a 20 75 73 65 64 |false;..|./* used|
|00002250| 20 62 79 20 74 73 74 70 | 28 29 20 73 6f 20 74 68 | by tstp|() so th|
|00002260| 61 74 20 72 69 67 68 74 | 20 74 68 69 6e 67 20 69 |at right| thing i|
|00002270| 73 20 64 6f 6e 65 0a 58 | 09 09 09 09 09 09 09 09 |s done.X|........|
|00002280| 20 20 20 77 68 65 6e 20 | 70 72 6f 63 65 73 73 20 | when |process |
|00002290| 69 73 20 72 65 73 74 61 | 72 74 65 64 20 2a 2f 0a |is resta|rted */.|
|000022a0| 58 09 6e 6f 5f 63 6f 6e | 74 72 6f 6c 28 29 3b 0a |X.no_con|trol();.|
|000022b0| 58 09 6f 6c 64 69 6e 74 | 20 3d 20 73 69 67 6e 61 |X.oldint| = signa|
|000022c0| 6c 28 53 49 47 49 4e 54 | 2c 20 53 49 47 5f 49 47 |l(SIGINT|, SIG_IG|
|000022d0| 4e 29 3b 0a 58 09 6f 6c | 64 71 75 69 74 20 3d 20 |N);.X.ol|dquit = |
|000022e0| 73 69 67 6e 61 6c 28 53 | 49 47 51 55 49 54 2c 20 |signal(S|IGQUIT, |
|000022f0| 53 49 47 5f 49 47 4e 29 | 3b 0a 58 09 28 76 6f 69 |SIG_IGN)|;.X.(voi|
|00002300| 64 29 73 79 73 74 65 6d | 28 73 74 72 29 3b 09 09 |d)system|(str);..|
|00002310| 09 2f 2a 20 65 78 65 63 | 20 6e 65 65 64 73 20 66 |./* exec| needs f|
|00002320| 75 6c 6c 20 70 61 74 68 | 20 6f 66 20 63 6f 6d 6d |ull path| of comm|
|00002330| 61 6e 64 20 3d 3e 20 75 | 73 65 20 73 79 73 74 65 |and => u|se syste|
|00002340| 6d 20 2a 2f 0a 58 09 28 | 76 6f 69 64 29 73 69 67 |m */.X.(|void)sig|
|00002350| 6e 61 6c 28 53 49 47 49 | 4e 54 2c 20 6f 6c 64 69 |nal(SIGI|NT, oldi|
|00002360| 6e 74 29 3b 0a 58 09 28 | 76 6f 69 64 29 73 69 67 |nt);.X.(|void)sig|
|00002370| 6e 61 6c 28 53 49 47 51 | 55 49 54 2c 20 6f 6c 64 |nal(SIGQ|UIT, old|
|00002380| 71 75 69 74 29 3b 0a 58 | 09 74 6f 70 5f 6c 65 76 |quit);.X|.top_lev|
|00002390| 65 6c 20 3d 20 74 72 75 | 65 3b 0a 58 09 74 6f 5f |el = tru|e;.X.to_|
|000023a0| 63 6f 6e 74 72 6f 6c 28 | 29 3b 0a 58 09 68 6f 6c |control(|);.X.hol|
|000023b0| 64 5f 65 6e 64 28 29 3b | 09 09 09 09 09 2f 2a 20 |d_end();|...../* |
|000023c0| 77 61 69 74 20 66 6f 72 | 20 75 73 65 72 20 74 6f |wait for| user to|
|000023d0| 20 77 61 6e 74 20 74 6f | 20 63 6f 6e 74 69 6e 75 | want to| continu|
|000023e0| 65 20 2d 20 6d 61 79 20 | 77 69 73 68 0a 58 09 09 |e - may |wish.X..|
|000023f0| 09 09 09 09 09 09 20 20 | 20 74 6f 20 72 65 61 64 |...... | to read|
|00002400| 20 65 72 72 6f 72 20 6d | 65 73 73 61 67 65 73 20 | error m|essages |
|00002410| 2a 2f 0a 58 09 64 69 73 | 70 6c 61 79 5f 70 61 67 |*/.X.dis|play_pag|
|00002420| 65 28 29 3b 0a 58 7d 0a | 58 0a 58 2f 2a 20 2d 2d |e();.X}.|X.X/* --|
|00002430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002440| 2d 2d 0a 58 09 46 6f 72 | 6b 20 61 20 63 61 6c 6c |--.X.For|k a call|
|00002450| 20 74 6f 20 60 62 75 72 | 73 74 27 2e 0a 58 09 54 | to `bur|st'..X.T|
|00002460| 65 72 6d 69 6e 61 6c 20 | 74 79 70 65 20 6d 75 73 |erminal |type mus|
|00002470| 74 20 62 65 20 72 65 73 | 65 74 20 62 65 66 6f 72 |t be res|et befor|
|00002480| 65 20 63 61 6c 6c 2e 0a | 58 2d 2d 2d 2d 2d 2d 2d |e call..|X-------|
|00002490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 2a 2f |--------|----- */|
|000024a0| 0a 58 76 6f 69 64 0a 58 | 62 75 72 73 74 5f 69 74 |.Xvoid.X|burst_it|
|000024b0| 65 6d 28 29 0a 58 7b 0a | 58 09 63 68 61 72 09 2a |em().X{.|X.char.*|
|000024c0| 74 6d 70 2c 20 2a 61 72 | 67 76 5b 32 30 5d 2c 20 |tmp, *ar|gv[20], |
|000024d0| 73 74 72 5b 4c 45 4e 5d | 2c 20 73 31 5b 4c 45 4e |str[LEN]|, s1[LEN|
|000024e0| 5d 2c 20 73 32 5b 31 30 | 5d 2c 20 2a 6e 65 78 74 |], s2[10|], *next|
|000024f0| 5f 74 6f 6b 65 6e 28 29 | 3b 0a 58 09 69 6e 74 09 |_token()|;.X.int.|
|00002500| 09 69 3b 0a 58 09 73 69 | 67 5f 74 79 70 65 09 28 |.i;.X.si|g_type.(|
|00002510| 2a 6f 6c 64 69 6e 74 29 | 28 29 2c 20 28 2a 6f 6c |*oldint)|(), (*ol|
|00002520| 64 71 75 69 74 29 28 29 | 2c 20 28 2a 73 69 67 6e |dquit)()|, (*sign|
|00002530| 61 6c 28 29 29 28 29 3b | 0a 58 0a 58 09 28 76 6f |al())();|.X.X.(vo|
|00002540| 69 64 29 73 70 72 69 6e | 74 66 28 73 32 2c 20 22 |id)sprin|tf(s2, "|
|00002550| 25 64 22 2c 20 63 75 72 | 6d 61 69 6c 2d 3e 6e 75 |%d", cur|mail->nu|
|00002560| 6d 62 65 72 29 3b 0a 58 | 09 2a 73 31 20 3d 20 27 |mber);.X|.*s1 = '|
|00002570| 5c 30 27 3b 0a 58 09 69 | 66 28 62 75 72 73 74 5f |\0';.X.i|f(burst_|
|00002580| 61 72 67 73 29 20 7b 0a | 58 09 09 28 76 6f 69 64 |args) {.|X..(void|
|00002590| 29 73 70 72 69 6e 74 66 | 28 73 74 72 2c 20 22 28 |)sprintf|(str, "(|
|000025a0| 67 69 76 65 20 6f 70 74 | 69 6f 6e 73 20 74 6f 29 |give opt|ions to)|
|000025b0| 20 20 62 75 72 73 74 20 | 2b 25 73 20 25 73 20 22 | burst |+%s %s "|
|000025c0| 2c 20 63 75 72 66 6c 72 | 2d 3e 6e 61 6d 65 2c 20 |, curflr|->name, |
|000025d0| 73 32 29 3b 0a 58 09 09 | 67 65 74 5f 73 74 72 69 |s2);.X..|get_stri|
|000025e0| 6e 67 28 73 74 72 2c 20 | 73 31 29 3b 0a 58 09 7d |ng(str, |s1);.X.}|
|000025f0| 0a 58 09 63 6c 65 61 72 | 28 29 3b 0a 58 09 61 64 |.X.clear|();.X.ad|
|00002600| 64 73 74 61 74 75 73 28 | 22 62 75 72 73 74 69 6e |dstatus(|"burstin|
|00002610| 67 20 6d 61 69 6c 20 2e | 2e 2e 22 2c 20 66 61 6c |g mail .|..", fal|
|00002620| 73 65 29 3b 0a 58 09 6d | 6f 76 65 28 53 54 41 54 |se);.X.m|ove(STAT|
|00002630| 55 53 2b 31 2c 20 30 29 | 3b 0a 58 09 72 65 66 72 |US+1, 0)|;.X.refr|
|00002640| 65 73 68 28 29 3b 0a 58 | 09 74 6f 70 5f 6c 65 76 |esh();.X|.top_lev|
|00002650| 65 6c 20 3d 20 66 61 6c | 73 65 3b 09 09 09 2f 2a |el = fal|se;.../*|
|00002660| 20 75 73 65 64 20 62 79 | 20 74 73 74 70 28 29 20 | used by| tstp() |
|00002670| 73 6f 20 74 68 61 74 20 | 72 69 67 68 74 20 74 68 |so that |right th|
|00002680| 69 6e 67 20 69 73 20 64 | 6f 6e 65 0a 58 09 09 09 |ing is d|one.X...|
|00002690| 09 09 09 09 09 20 20 20 | 77 68 65 6e 20 70 72 6f |..... |when pro|
|000026a0| 63 65 73 73 20 69 73 20 | 72 65 73 74 61 72 74 65 |cess is |restarte|
|000026b0| 64 20 2a 2f 0a 58 09 69 | 66 28 21 20 76 66 6f 72 |d */.X.i|f(! vfor|
|000026c0| 6b 28 29 29 20 7b 0a 58 | 09 09 28 76 6f 69 64 29 |k()) {.X|..(void)|
|000026d0| 73 70 72 69 6e 74 66 28 | 73 74 72 2c 20 22 2b 25 |sprintf(|str, "+%|
|000026e0| 73 22 2c 20 63 75 72 66 | 6c 72 2d 3e 6e 61 6d 65 |s", curf|lr->name|
|000026f0| 29 3b 0a 58 09 09 61 72 | 67 76 5b 30 5d 20 3d 20 |);.X..ar|gv[0] = |
|00002700| 42 55 52 53 54 3b 20 61 | 72 67 76 5b 31 5d 20 3d |BURST; a|rgv[1] =|
|00002710| 20 73 74 72 3b 20 61 72 | 67 76 5b 32 5d 20 3d 20 | str; ar|gv[2] = |
|00002720| 73 32 3b 0a 58 09 09 66 | 6f 72 28 69 3d 33 2c 20 |s2;.X..f|or(i=3, |
|00002730| 74 6d 70 3d 73 31 20 3b | 20 2a 74 6d 70 20 21 3d |tmp=s1 ;| *tmp !=|
|00002740| 20 27 5c 30 27 20 3b 20 | 69 2b 2b 29 20 7b 0a 58 | '\0' ; |i++) {.X|
|00002750| 09 09 09 61 72 67 76 5b | 69 5d 20 3d 20 74 6d 70 |...argv[|i] = tmp|
|00002760| 3b 0a 58 09 09 09 74 6d | 70 20 3d 20 6e 65 78 74 |;.X...tm|p = next|
|00002770| 5f 74 6f 6b 65 6e 28 74 | 6d 70 29 3b 0a 58 09 09 |_token(t|mp);.X..|
|00002780| 7d 0a 58 09 09 61 72 67 | 76 5b 69 5d 20 3d 20 30 |}.X..arg|v[i] = 0|
|00002790| 3b 0a 58 09 09 6e 6f 5f | 63 6f 6e 74 72 6f 6c 28 |;.X..no_|control(|
|000027a0| 29 3b 0a 58 09 09 65 78 | 65 63 76 70 28 42 55 52 |);.X..ex|ecvp(BUR|
|000027b0| 53 54 2c 20 61 72 67 76 | 29 3b 0a 58 09 09 28 76 |ST, argv|);.X..(v|
|000027c0| 6f 69 64 29 70 72 69 6e | 74 66 28 22 57 61 72 6e |oid)prin|tf("Warn|
|000027d0| 69 6e 67 3a 20 63 61 6e | 27 74 20 65 78 65 63 75 |ing: can|'t execu|
|000027e0| 74 65 20 25 73 5c 6e 22 | 2c 20 42 55 52 53 54 29 |te %s\n"|, BURST)|
|000027f0| 3b 0a 58 09 09 65 78 69 | 74 28 30 29 3b 0a 58 09 |;.X..exi|t(0);.X.|
|00002800| 7d 0a 58 09 6f 6c 64 69 | 6e 74 20 3d 20 73 69 67 |}.X.oldi|nt = sig|
|00002810| 6e 61 6c 28 53 49 47 49 | 4e 54 2c 20 53 49 47 5f |nal(SIGI|NT, SIG_|
|00002820| 49 47 4e 29 3b 0a 58 09 | 6f 6c 64 71 75 69 74 20 |IGN);.X.|oldquit |
|00002830| 3d 20 73 69 67 6e 61 6c | 28 53 49 47 51 55 49 54 |= signal|(SIGQUIT|
|00002840| 2c 20 53 49 47 5f 49 47 | 4e 29 3b 0a 58 09 28 76 |, SIG_IG|N);.X.(v|
|00002850| 6f 69 64 29 77 61 69 74 | 28 26 73 74 61 74 75 73 |oid)wait|(&status|
|00002860| 29 3b 0a 58 09 28 76 6f | 69 64 29 73 69 67 6e 61 |);.X.(vo|id)signa|
|00002870| 6c 28 53 49 47 49 4e 54 | 2c 20 6f 6c 64 69 6e 74 |l(SIGINT|, oldint|
|00002880| 29 3b 0a 58 09 28 76 6f | 69 64 29 73 69 67 6e 61 |);.X.(vo|id)signa|
|00002890| 6c 28 53 49 47 51 55 49 | 54 2c 20 6f 6c 64 71 75 |l(SIGQUI|T, oldqu|
|000028a0| 69 74 29 3b 0a 58 09 74 | 6f 70 5f 6c 65 76 65 6c |it);.X.t|op_level|
|000028b0| 20 3d 20 74 72 75 65 3b | 0a 58 09 74 6f 5f 63 6f | = true;|.X.to_co|
|000028c0| 6e 74 72 6f 6c 28 29 3b | 0a 58 09 68 6f 6c 64 5f |ntrol();|.X.hold_|
|000028d0| 65 6e 64 28 29 3b 09 09 | 09 09 09 2f 2a 20 77 61 |end();..|.../* wa|
|000028e0| 69 74 20 66 6f 72 20 75 | 73 65 72 20 74 6f 20 77 |it for u|ser to w|
|000028f0| 61 6e 74 20 74 6f 20 63 | 6f 6e 74 69 6e 75 65 20 |ant to c|ontinue |
|00002900| 2d 20 6d 61 79 20 77 69 | 73 68 0a 58 09 09 09 09 |- may wi|sh.X....|
|00002910| 09 09 09 09 20 20 20 74 | 6f 20 72 65 61 64 20 65 |.... t|o read e|
|00002920| 72 72 6f 72 20 6d 65 73 | 73 61 67 65 73 20 2a 2f |rror mes|sages */|
|00002930| 0a 58 09 63 6c 65 61 72 | 28 29 3b 0a 58 09 6d 6f |.X.clear|();.X.mo|
|00002940| 76 65 28 53 54 41 54 55 | 53 2c 20 30 29 3b 0a 58 |ve(STATU|S, 0);.X|
|00002950| 09 72 65 66 72 65 73 68 | 5f 66 6f 6c 64 65 72 28 |.refresh|_folder(|
|00002960| 29 3b 0a 58 7d 0a 58 0a | 58 2f 2a 20 2d 2d 2d 2d |);.X}.X.|X/* ----|
|00002970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002980| 0a 58 09 46 6f 72 6b 20 | 61 20 63 61 6c 6c 20 74 |.X.Fork |a call t|
|00002990| 6f 20 60 64 69 73 74 27 | 2e 0a 58 09 54 65 72 6d |o `dist'|..X.Term|
|000029a0| 69 6e 61 6c 20 74 79 70 | 65 20 6d 75 73 74 20 62 |inal typ|e must b|
|000029b0| 65 20 72 65 73 65 74 20 | 62 65 66 6f 72 65 20 63 |e reset |before c|
|000029c0| 61 6c 6c 2e 0a 58 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |all..X--|--------|
|000029d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 2a 2f 0a 58 76 |--------|-- */.Xv|
|000029e0| 6f 69 64 0a 58 64 69 73 | 74 5f 69 74 65 6d 28 29 |oid.Xdis|t_item()|
|000029f0| 0a 58 7b 0a 58 09 63 68 | 61 72 09 2a 74 6d 70 2c |.X{.X.ch|ar.*tmp,|
|00002a00| 20 2a 61 72 67 76 5b 32 | 30 5d 2c 20 73 74 72 5b | *argv[2|0], str[|
|00002a10| 4c 45 4e 5d 2c 20 73 31 | 5b 4c 45 4e 5d 2c 20 73 |LEN], s1|[LEN], s|
|00002a20| 32 5b 31 30 5d 2c 20 2a | 6e 65 78 74 5f 74 6f 6b |2[10], *|next_tok|
|00002a30| 65 6e 28 29 3b 0a 58 09 | 69 6e 74 09 09 69 3b 0a |en();.X.|int..i;.|
|00002a40| 58 09 73 69 67 5f 74 79 | 70 65 09 28 2a 6f 6c 64 |X.sig_ty|pe.(*old|
|00002a50| 69 6e 74 29 28 29 2c 20 | 28 2a 6f 6c 64 71 75 69 |int)(), |(*oldqui|
|00002a60| 74 29 28 29 2c 20 28 2a | 73 69 67 6e 61 6c 28 29 |t)(), (*|signal()|
|00002a70| 29 28 29 3b 0a 58 0a 58 | 09 28 76 6f 69 64 29 73 |)();.X.X|.(void)s|
|00002a80| 70 72 69 6e 74 66 28 73 | 32 2c 20 22 25 64 22 2c |printf(s|2, "%d",|
|00002a90| 20 63 75 72 6d 61 69 6c | 2d 3e 6e 75 6d 62 65 72 | curmail|->number|
|00002aa0| 29 3b 0a 58 09 2a 73 31 | 20 3d 20 27 5c 30 27 3b |);.X.*s1| = '\0';|
|00002ab0| 0a 58 09 69 66 28 64 69 | 73 74 5f 61 72 67 73 29 |.X.if(di|st_args)|
|00002ac0| 20 7b 0a 58 09 09 28 76 | 6f 69 64 29 73 70 72 69 | {.X..(v|oid)spri|
|00002ad0| 6e 74 66 28 73 74 72 2c | 20 22 28 67 69 76 65 20 |ntf(str,| "(give |
|00002ae0| 6f 70 74 69 6f 6e 73 20 | 74 6f 29 20 20 20 64 69 |options |to) di|
|00002af0| 73 74 20 2b 25 73 20 25 | 73 20 22 2c 20 63 75 72 |st +%s %|s ", cur|
|00002b00| 66 6c 72 2d 3e 6e 61 6d | 65 2c 20 73 32 29 3b 0a |flr->nam|e, s2);.|
|00002b10| 58 09 09 67 65 74 5f 73 | 74 72 69 6e 67 28 73 74 |X..get_s|tring(st|
|00002b20| 72 2c 20 73 31 29 3b 0a | 58 09 7d 0a 58 09 63 6c |r, s1);.|X.}.X.cl|
|00002b30| 65 61 72 28 29 3b 0a 58 | 09 61 64 64 73 74 61 74 |ear();.X|.addstat|
|00002b40| 75 73 28 22 64 69 73 74 | 69 6e 67 20 6d 61 69 6c |us("dist|ing mail|
|00002b50| 20 2e 2e 2e 22 2c 20 66 | 61 6c 73 65 29 3b 0a 58 | ...", f|alse);.X|
|00002b60| 09 6d 6f 76 65 28 53 54 | 41 54 55 53 2b 31 2c 20 |.move(ST|ATUS+1, |
|00002b70| 30 29 3b 0a 58 09 72 65 | 66 72 65 73 68 28 29 3b |0);.X.re|fresh();|
|00002b80| 0a 58 09 74 6f 70 5f 6c | 65 76 65 6c 20 3d 20 66 |.X.top_l|evel = f|
|00002b90| 61 6c 73 65 3b 09 09 09 | 2f 2a 20 75 73 65 64 20 |alse;...|/* used |
|00002ba0| 62 79 20 74 73 74 70 28 | 29 20 73 6f 20 74 68 61 |by tstp(|) so tha|
|00002bb0| 74 20 72 69 67 68 74 20 | 74 68 69 6e 67 20 69 73 |t right |thing is|
|00002bc0| 20 64 6f 6e 65 0a 58 09 | 09 09 09 09 09 09 09 20 | done.X.|....... |
|00002bd0| 20 20 77 68 65 6e 20 70 | 72 6f 63 65 73 73 20 69 | when p|rocess i|
|00002be0| 73 20 72 65 73 74 61 72 | 74 65 64 20 2a 2f 0a 58 |s restar|ted */.X|
|00002bf0| 09 69 66 28 21 20 76 66 | 6f 72 6b 28 29 29 20 7b |.if(! vf|ork()) {|
|00002c00| 0a 58 09 09 28 76 6f 69 | 64 29 73 70 72 69 6e 74 |.X..(voi|d)sprint|
|00002c10| 66 28 73 74 72 2c 20 22 | 2b 25 73 22 2c 20 63 75 |f(str, "|+%s", cu|
|00002c20| 72 66 6c 72 2d 3e 6e 61 | 6d 65 29 3b 0a 58 09 09 |rflr->na|me);.X..|
|00002c30| 61 72 67 76 5b 30 5d 20 | 3d 20 44 49 53 54 3b 20 |argv[0] |= DIST; |
|00002c40| 61 72 67 76 5b 31 5d 20 | 3d 20 73 74 72 3b 20 61 |argv[1] |= str; a|
|00002c50| 72 67 76 5b 32 5d 20 3d | 20 73 32 3b 0a 58 09 09 |rgv[2] =| s2;.X..|
|00002c60| 66 6f 72 28 69 3d 33 2c | 20 74 6d 70 3d 73 31 20 |for(i=3,| tmp=s1 |
|00002c70| 3b 20 2a 74 6d 70 20 21 | 3d 20 27 5c 30 27 20 3b |; *tmp !|= '\0' ;|
|00002c80| 20 69 2b 2b 29 20 7b 0a | 58 09 09 09 61 72 67 76 | i++) {.|X...argv|
|00002c90| 5b 69 5d 20 3d 20 74 6d | 70 3b 0a 58 09 09 09 74 |[i] = tm|p;.X...t|
|00002ca0| 6d 70 20 3d 20 6e 65 78 | 74 5f 74 6f 6b 65 6e 28 |mp = nex|t_token(|
|00002cb0| 74 6d 70 29 3b 0a 58 09 | 09 7d 0a 58 09 09 61 72 |tmp);.X.|.}.X..ar|
|00002cc0| 67 76 5b 69 5d 20 3d 20 | 30 3b 0a 58 09 09 6e 6f |gv[i] = |0;.X..no|
|00002cd0| 5f 63 6f 6e 74 72 6f 6c | 28 29 3b 0a 58 09 09 65 |_control|();.X..e|
|00002ce0| 78 65 63 76 70 28 44 49 | 53 54 2c 20 61 72 67 76 |xecvp(DI|ST, argv|
|00002cf0| 29 3b 0a 58 09 09 28 76 | 6f 69 64 29 70 72 69 6e |);.X..(v|oid)prin|
|00002d00| 74 66 28 22 57 61 72 6e | 69 6e 67 3a 20 63 61 6e |tf("Warn|ing: can|
|00002d10| 27 74 20 65 78 65 63 75 | 74 65 20 25 73 5c 6e 22 |'t execu|te %s\n"|
|00002d20| 2c 20 44 49 53 54 29 3b | 0a 58 09 09 65 78 69 74 |, DIST);|.X..exit|
|00002d30| 28 30 29 3b 0a 58 09 7d | 0a 58 09 6f 6c 64 69 6e |(0);.X.}|.X.oldin|
|00002d40| 74 20 3d 20 73 69 67 6e | 61 6c 28 53 49 47 49 4e |t = sign|al(SIGIN|
|00002d50| 54 2c 20 53 49 47 5f 49 | 47 4e 29 3b 0a 58 09 6f |T, SIG_I|GN);.X.o|
|00002d60| 6c 64 71 75 69 74 20 3d | 20 73 69 67 6e 61 6c 28 |ldquit =| signal(|
|00002d70| 53 49 47 51 55 49 54 2c | 20 53 49 47 5f 49 47 4e |SIGQUIT,| SIG_IGN|
|00002d80| 29 3b 0a 58 09 28 76 6f | 69 64 29 77 61 69 74 28 |);.X.(vo|id)wait(|
|00002d90| 26 73 74 61 74 75 73 29 | 3b 0a 58 09 28 76 6f 69 |&status)|;.X.(voi|
|00002da0| 64 29 73 69 67 6e 61 6c | 28 53 49 47 49 4e 54 2c |d)signal|(SIGINT,|
|00002db0| 20 6f 6c 64 69 6e 74 29 | 3b 0a 58 09 28 76 6f 69 | oldint)|;.X.(voi|
|00002dc0| 64 29 73 69 67 6e 61 6c | 28 53 49 47 51 55 49 54 |d)signal|(SIGQUIT|
|00002dd0| 2c 20 6f 6c 64 71 75 69 | 74 29 3b 0a 58 09 74 6f |, oldqui|t);.X.to|
|00002de0| 70 5f 6c 65 76 65 6c 20 | 3d 20 74 72 75 65 3b 0a |p_level |= true;.|
|00002df0| 58 09 74 6f 5f 63 6f 6e | 74 72 6f 6c 28 29 3b 0a |X.to_con|trol();.|
|00002e00| 58 09 68 6f 6c 64 5f 65 | 6e 64 28 29 3b 09 09 09 |X.hold_e|nd();...|
|00002e10| 09 09 2f 2a 20 77 61 69 | 74 20 66 6f 72 20 75 73 |../* wai|t for us|
|00002e20| 65 72 20 74 6f 20 77 61 | 6e 74 20 74 6f 20 63 6f |er to wa|nt to co|
|00002e30| 6e 74 69 6e 75 65 20 2d | 20 6d 61 79 20 77 69 73 |ntinue -| may wis|
|00002e40| 68 0a 58 09 09 09 09 09 | 09 09 09 20 20 20 74 6f |h.X.....|... to|
|00002e50| 20 72 65 61 64 20 65 72 | 72 6f 72 20 6d 65 73 73 | read er|ror mess|
|00002e60| 61 67 65 73 20 2a 2f 0a | 58 09 64 69 73 70 6c 61 |ages */.|X.displa|
|00002e70| 79 5f 70 61 67 65 28 29 | 3b 0a 58 09 61 64 64 73 |y_page()|;.X.adds|
|00002e80| 74 61 74 75 73 28 57 41 | 52 4e 49 4e 47 2c 20 74 |tatus(WA|RNING, t|
|00002e90| 72 75 65 29 3b 09 2f 2a | 20 76 6d 61 69 6c 27 73 |rue);./*| vmail's|
|00002ea0| 20 64 61 74 61 20 73 74 | 72 75 63 74 75 72 65 73 | data st|ructures|
|00002eb0| 20 6e 6f 74 20 75 70 64 | 61 74 65 64 20 2a 2f 0a | not upd|ated */.|
|00002ec0| 58 7d 0a 58 0a 58 2f 2a | 20 2d 2d 2d 2d 2d 2d 2d |X}.X.X/*| -------|
|00002ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0a 58 09 |--------|-----.X.|
|00002ee0| 46 6f 72 6b 20 61 20 63 | 61 6c 6c 20 74 6f 20 60 |Fork a c|all to `|
|00002ef0| 73 6f 72 74 6d 27 2e 0a | 58 09 54 65 72 6d 69 6e |sortm'..|X.Termin|
|00002f00| 61 6c 20 74 79 70 65 20 | 6d 75 73 74 20 62 65 20 |al type |must be |
|00002f10| 72 65 73 65 74 20 62 65 | 66 6f 72 65 20 63 61 6c |reset be|fore cal|
|00002f20| 6c 2e 0a 58 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |l..X----|--------|
|00002f30| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0a 58 76 6f 69 |--------| */.Xvoi|
|00002f40| 64 0a 58 73 6f 72 74 5f | 66 6f 6c 64 65 72 28 29 |d.Xsort_|folder()|
|00002f50| 0a 58 7b 0a 58 09 63 68 | 61 72 09 2a 74 6d 70 2c |.X{.X.ch|ar.*tmp,|
|00002f60| 20 2a 61 72 67 76 5b 32 | 30 5d 2c 20 73 74 72 5b | *argv[2|0], str[|
|00002f70| 4c 45 4e 5d 2c 20 73 31 | 5b 4c 45 4e 5d 2c 20 2a |LEN], s1|[LEN], *|
|00002f80| 6e 65 78 74 5f 74 6f 6b | 65 6e 28 29 3b 0a 58 09 |next_tok|en();.X.|
|00002f90| 69 6e 74 09 09 69 3b 0a | 58 09 73 69 67 5f 74 79 |int..i;.|X.sig_ty|
|00002fa0| 70 65 09 28 2a 6f 6c 64 | 69 6e 74 29 28 29 2c 20 |pe.(*old|int)(), |
|00002fb0| 28 2a 6f 6c 64 71 75 69 | 74 29 28 29 2c 20 28 2a |(*oldqui|t)(), (*|
|00002fc0| 73 69 67 6e 61 6c 28 29 | 29 28 29 3b 0a 58 0a 58 |signal()|)();.X.X|
|00002fd0| 09 2a 73 31 20 3d 20 27 | 5c 30 27 3b 0a 58 09 69 |.*s1 = '|\0';.X.i|
|00002fe0| 66 28 73 6f 72 74 5f 61 | 72 67 73 29 20 7b 0a 58 |f(sort_a|rgs) {.X|
|00002ff0| 09 09 28 76 6f 69 64 29 | 73 70 72 69 6e 74 66 28 |..(void)|sprintf(|
|00003000| 73 74 72 2c 20 22 28 67 | 69 76 65 20 6f 70 74 69 |str, "(g|ive opti|
|00003010| 6f 6e 73 20 74 6f 29 20 | 20 73 6f 72 74 6d 20 2b |ons to) | sortm +|
|00003020| 25 73 20 22 2c 20 63 75 | 72 66 6c 72 2d 3e 6e 61 |%s ", cu|rflr->na|
|00003030| 6d 65 29 3b 0a 58 09 09 | 67 65 74 5f 73 74 72 69 |me);.X..|get_stri|
|00003040| 6e 67 28 73 74 72 2c 20 | 73 31 29 3b 0a 58 09 7d |ng(str, |s1);.X.}|
|00003050| 0a 58 09 63 6c 65 61 72 | 28 29 3b 0a 58 09 61 64 |.X.clear|();.X.ad|
|00003060| 64 73 74 61 74 75 73 28 | 22 73 6f 72 74 69 6e 67 |dstatus(|"sorting|
|00003070| 20 6d 61 69 6c 20 2e 2e | 2e 22 2c 20 66 61 6c 73 | mail ..|.", fals|
|00003080| 65 29 3b 0a 58 09 6d 6f | 76 65 28 53 54 41 54 55 |e);.X.mo|ve(STATU|
|00003090| 53 2b 31 2c 20 30 29 3b | 0a 58 09 72 65 66 72 65 |S+1, 0);|.X.refre|
|000030a0| 73 68 28 29 3b 0a 58 09 | 74 6f 70 5f 6c 65 76 65 |sh();.X.|top_leve|
|000030b0| 6c 20 3d 20 66 61 6c 73 | 65 3b 09 09 09 2f 2a 20 |l = fals|e;.../* |
|000030c0| 75 73 65 64 20 62 79 20 | 74 73 74 70 28 29 20 73 |used by |tstp() s|
|000030d0| 6f 20 74 68 61 74 20 72 | 69 67 68 74 20 74 68 69 |o that r|ight thi|
|000030e0| 6e 67 20 69 73 20 64 6f | 6e 65 0a 58 09 09 09 09 |ng is do|ne.X....|
|000030f0| 09 09 09 09 20 20 20 77 | 68 65 6e 20 70 72 6f 63 |.... w|hen proc|
|00003100| 65 73 73 20 69 73 20 72 | 65 73 74 61 72 74 65 64 |ess is r|estarted|
|00003110| 20 2a 2f 0a 58 09 69 66 | 28 21 20 76 66 6f 72 6b | */.X.if|(! vfork|
|00003120| 28 29 29 20 7b 0a 58 09 | 09 28 76 6f 69 64 29 73 |()) {.X.|.(void)s|
|00003130| 70 72 69 6e 74 66 28 73 | 74 72 2c 20 22 2b 25 73 |printf(s|tr, "+%s|
|00003140| 22 2c 20 63 75 72 66 6c | 72 2d 3e 6e 61 6d 65 29 |", curfl|r->name)|
|00003150| 3b 0a 58 09 09 61 72 67 | 76 5b 30 5d 20 3d 20 53 |;.X..arg|v[0] = S|
|00003160| 4f 52 54 4d 3b 20 61 72 | 67 76 5b 31 5d 20 3d 20 |ORTM; ar|gv[1] = |
|00003170| 73 74 72 3b 0a 58 09 09 | 66 6f 72 28 69 3d 32 2c |str;.X..|for(i=2,|
|00003180| 20 74 6d 70 3d 73 31 20 | 3b 20 2a 74 6d 70 20 21 | tmp=s1 |; *tmp !|
|00003190| 3d 20 27 5c 30 27 20 3b | 20 69 2b 2b 29 20 7b 0a |= '\0' ;| i++) {.|
|000031a0| 58 09 09 09 61 72 67 76 | 5b 69 5d 20 3d 20 74 6d |X...argv|[i] = tm|
|000031b0| 70 3b 0a 58 09 09 09 74 | 6d 70 20 3d 20 6e 65 78 |p;.X...t|mp = nex|
|000031c0| 74 5f 74 6f 6b 65 6e 28 | 74 6d 70 29 3b 0a 58 09 |t_token(|tmp);.X.|
|000031d0| 09 7d 0a 58 09 09 61 72 | 67 76 5b 69 5d 20 3d 20 |.}.X..ar|gv[i] = |
|000031e0| 30 3b 0a 58 09 09 6e 6f | 5f 63 6f 6e 74 72 6f 6c |0;.X..no|_control|
|000031f0| 28 29 3b 0a 58 09 09 65 | 78 65 63 76 70 28 53 4f |();.X..e|xecvp(SO|
|00003200| 52 54 4d 2c 20 61 72 67 | 76 29 3b 0a 58 09 09 28 |RTM, arg|v);.X..(|
|00003210| 76 6f 69 64 29 70 72 69 | 6e 74 66 28 22 57 61 72 |void)pri|ntf("War|
|00003220| 6e 69 6e 67 3a 20 63 61 | 6e 27 74 20 65 78 65 63 |ning: ca|n't exec|
|00003230| 75 74 65 20 25 73 5c 6e | 22 2c 20 53 4f 52 54 4d |ute %s\n|", SORTM|
|00003240| 29 3b 0a 58 09 09 65 78 | 69 74 28 30 29 3b 0a 58 |);.X..ex|it(0);.X|
|00003250| 09 7d 0a 58 09 6f 6c 64 | 69 6e 74 20 3d 20 73 69 |.}.X.old|int = si|
|00003260| 67 6e 61 6c 28 53 49 47 | 49 4e 54 2c 20 53 49 47 |gnal(SIG|INT, SIG|
|00003270| 5f 49 47 4e 29 3b 0a 58 | 09 6f 6c 64 71 75 69 74 |_IGN);.X|.oldquit|
|00003280| 20 3d 20 73 69 67 6e 61 | 6c 28 53 49 47 51 55 49 | = signa|l(SIGQUI|
|00003290| 54 2c 20 53 49 47 5f 49 | 47 4e 29 3b 0a 58 09 28 |T, SIG_I|GN);.X.(|
|000032a0| 76 6f 69 64 29 77 61 69 | 74 28 26 73 74 61 74 75 |void)wai|t(&statu|
|000032b0| 73 29 3b 0a 58 09 28 76 | 6f 69 64 29 73 69 67 6e |s);.X.(v|oid)sign|
|000032c0| 61 6c 28 53 49 47 49 4e | 54 2c 20 6f 6c 64 69 6e |al(SIGIN|T, oldin|
|000032d0| 74 29 3b 0a 58 09 28 76 | 6f 69 64 29 73 69 67 6e |t);.X.(v|oid)sign|
|000032e0| 61 6c 28 53 49 47 51 55 | 49 54 2c 20 6f 6c 64 71 |al(SIGQU|IT, oldq|
|000032f0| 75 69 74 29 3b 0a 58 09 | 74 6f 70 5f 6c 65 76 65 |uit);.X.|top_leve|
|00003300| 6c 20 3d 20 74 72 75 65 | 3b 0a 58 09 74 6f 5f 63 |l = true|;.X.to_c|
|00003310| 6f 6e 74 72 6f 6c 28 29 | 3b 0a 58 09 68 6f 6c 64 |ontrol()|;.X.hold|
|00003320| 5f 65 6e 64 28 29 3b 09 | 09 09 09 09 2f 2a 20 77 |_end();.|..../* w|
|00003330| 61 69 74 20 66 6f 72 20 | 75 73 65 72 20 74 6f 20 |ait for |user to |
|00003340| 77 61 6e 74 20 74 6f 20 | 63 6f 6e 74 69 6e 75 65 |want to |continue|
|00003350| 20 2d 20 6d 61 79 20 77 | 69 73 68 0a 58 09 09 09 | - may w|ish.X...|
|00003360| 09 09 09 09 09 20 20 20 | 74 6f 20 72 65 61 64 20 |..... |to read |
|00003370| 65 72 72 6f 72 20 6d 65 | 73 73 61 67 65 73 20 2a |error me|ssages *|
|00003380| 2f 0a 58 09 63 6c 65 61 | 72 28 29 3b 0a 58 09 6d |/.X.clea|r();.X.m|
|00003390| 6f 76 65 28 53 54 41 54 | 55 53 2c 20 30 29 3b 0a |ove(STAT|US, 0);.|
|000033a0| 58 09 72 65 66 72 65 73 | 68 5f 66 6f 6c 64 65 72 |X.refres|h_folder|
|000033b0| 28 29 3b 0a 58 7d 0a 45 | 4e 44 5f 4f 46 5f 63 61 |();.X}.E|ND_OF_ca|
|000033c0| 6c 6c 2e 63 0a 69 66 20 | 74 65 73 74 20 31 30 39 |ll.c.if |test 109|
|000033d0| 39 35 20 2d 6e 65 20 60 | 77 63 20 2d 63 20 3c 63 |95 -ne `|wc -c <c|
|000033e0| 61 6c 6c 2e 63 60 3b 20 | 74 68 65 6e 0a 20 20 20 |all.c`; |then. |
|000033f0| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 5c 22 63 61 | echo sh|ar: \"ca|
|00003400| 6c 6c 2e 63 5c 22 20 75 | 6e 70 61 63 6b 65 64 20 |ll.c\" u|npacked |
|00003410| 77 69 74 68 20 77 72 6f | 6e 67 20 73 69 7a 65 21 |with wro|ng size!|
|00003420| 0a 66 69 0a 23 20 65 6e | 64 20 6f 66 20 6f 76 65 |.fi.# en|d of ove|
|00003430| 72 77 72 69 74 69 6e 67 | 20 63 68 65 63 6b 0a 66 |rwriting| check.f|
|00003440| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 69 6e 69 |i.if tes|t -f ini|
|00003450| 74 2e 63 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |t.c -a "|${1}" !=|
|00003460| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00003470| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00003480| 6e 6f 74 20 6f 76 65 72 | 2d 77 72 69 74 65 20 65 |not over|-write e|
|00003490| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 5c 22 69 |xisting |file \"i|
|000034a0| 6e 69 74 2e 63 5c 22 0a | 65 6c 73 65 0a 65 63 68 |nit.c\".|else.ech|
|000034b0| 6f 20 73 68 61 72 3a 20 | 45 78 74 72 61 63 74 69 |o shar: |Extracti|
|000034c0| 6e 67 20 5c 22 69 6e 69 | 74 2e 63 5c 22 20 5c 28 |ng \"ini|t.c\" \(|
|000034d0| 31 31 31 30 34 20 63 68 | 61 72 61 63 74 65 72 73 |11104 ch|aracters|
|000034e0| 5c 29 0a 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |\).sed "|s/^X//" |
|000034f0| 3e 69 6e 69 74 2e 63 20 | 3c 3c 27 45 4e 44 5f 4f |>init.c |<<'END_O|
|00003500| 46 5f 69 6e 69 74 2e 63 | 27 0a 58 23 69 66 6e 64 |F_init.c|'.X#ifnd|
|00003510| 65 66 20 6c 69 6e 74 0a | 58 73 74 61 74 69 63 20 |ef lint.|Xstatic |
|00003520| 63 68 61 72 20 2a 52 43 | 53 5f 69 6e 69 74 5f 63 |char *RC|S_init_c|
|00003530| 20 3d 20 22 24 49 64 3a | 20 69 6e 69 74 2e 63 2c | = "$Id:| init.c,|
|00003540| 76 20 31 2e 33 20 39 30 | 2f 30 34 2f 32 33 20 31 |v 1.3 90|/04/23 1|
|00003550| 34 3a 34 31 3a 31 31 20 | 72 6f 67 65 72 73 20 45 |4:41:11 |rogers E|
|00003560| 78 70 20 24 22 3b 0a 58 | 23 65 6e 64 69 66 0a 58 |xp $";.X|#endif.X|
|00003570| 0a 58 2f 2a 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X/* ---|--------|
|00003580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0a 58 09 76 6d 61 69 |--------|-.X.vmai|
|00003590| 6c 20 2d 2d 20 69 6e 69 | 74 2e 63 0a 58 0a 58 09 |l -- ini|t.c.X.X.|
|000035a0| 49 6e 69 74 69 61 6c 69 | 73 61 74 69 6f 6e 20 72 |Initiali|sation r|
|000035b0| 6f 75 74 69 6e 65 73 20 | 2d 20 73 65 74 74 69 6e |outines |- settin|
|000035c0| 67 20 74 74 79 73 74 61 | 74 65 2c 20 66 69 6e 64 |g ttysta|te, find|
|000035d0| 69 6e 67 20 76 61 6c 69 | 64 20 66 6f 6c 64 65 72 |ing vali|d folder|
|000035e0| 73 2c 0a 58 09 74 72 61 | 70 70 69 6e 67 20 73 69 |s,.X.tra|pping si|
|000035f0| 67 6e 61 6c 73 2e 0a 58 | 0a 58 09 54 74 79 73 74 |gnals..X|.X.Ttyst|
|00003600| 61 74 65 20 69 73 20 63 | 6f 6e 74 72 6f 6c 6c 65 |ate is c|ontrolle|
|00003610| 64 20 62 79 20 61 20 6d | 69 78 20 6f 66 20 63 75 |d by a m|ix of cu|
|00003620| 72 73 65 73 20 61 6e 64 | 20 69 6f 63 74 6c 2e 20 |rses and| ioctl. |
|00003630| 20 46 6f 72 20 73 69 6d | 70 6c 69 63 69 74 79 2c | For sim|plicity,|
|00003640| 0a 58 09 69 6e 69 74 69 | 61 6c 20 73 65 74 75 70 |.X.initi|al setup|
|00003650| 73 20 61 72 65 20 64 6f | 6e 65 20 77 69 74 68 20 |s are do|ne with |
|00003660| 63 75 72 73 65 73 2e 20 | 20 43 75 72 73 65 73 20 |curses. | Curses |
|00003670| 69 73 20 61 6c 73 6f 20 | 75 73 65 64 20 66 6f 72 |is also |used for|
|00003680| 20 62 61 73 69 63 0a 58 | 09 73 63 72 65 65 6e 20 | basic.X|.screen |
|00003690| 6d 61 6e 69 70 75 6c 61 | 74 69 6f 6e 2e 20 20 48 |manipula|tion. H|
|000036a0| 6f 77 65 76 65 72 2c 20 | 66 6f 72 20 73 70 65 65 |owever, |for spee|
|000036b0| 64 20 69 6f 63 74 6c 20 | 69 73 20 75 73 65 64 20 |d ioctl |is used |
|000036c0| 69 6e 20 73 77 69 74 63 | 68 69 6e 67 0a 58 09 69 |in switc|hing.X.i|
|000036d0| 6e 20 61 6e 64 20 6f 75 | 74 20 6f 66 20 6e 6f 72 |n and ou|t of nor|
|000036e0| 6d 61 6c 20 74 65 72 6d | 69 6e 61 6c 20 73 74 61 |mal term|inal sta|
|000036f0| 74 65 2e 0a 58 0a 58 09 | 43 6f 70 79 72 69 67 68 |te..X.X.|Copyrigh|
|00003700| 74 20 28 43 29 20 4a 2e | 20 5a 6f 62 65 6c 2c 20 |t (C) J.| Zobel, |
|00003710| 55 6e 69 76 65 72 73 69 | 74 79 20 6f 66 20 4d 65 |Universi|ty of Me|
|00003720| 6c 62 6f 75 72 6e 65 2c | 20 4f 63 74 6f 62 65 72 |lbourne,| October|
|00003730| 20 31 39 38 37 2e 0a 58 | 2d 2d 2d 2d 2d 2d 2d 2d | 1987..X|--------|
|00003740| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 20 2a 2f 0a |--------|---- */.|
|00003750| 58 0a 58 23 69 6e 63 6c | 75 64 65 20 22 64 65 66 |X.X#incl|ude "def|
|00003760| 73 2e 68 22 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |s.h".X#i|nclude <|
|00003770| 73 69 67 6e 61 6c 2e 68 | 3e 0a 58 0a 58 73 74 61 |signal.h|>.X.Xsta|
|00003780| 74 69 63 20 73 74 72 75 | 63 74 20 73 67 74 74 79 |tic stru|ct sgtty|
|00003790| 62 20 74 74 79 2c 20 74 | 5f 74 74 79 3b 09 09 2f |b tty, t|_tty;../|
|000037a0| 2a 20 66 6f 72 20 68 6f | 6c 64 69 6e 67 20 74 74 |* for ho|lding tt|
|000037b0| 79 20 73 74 61 74 65 20 | 2a 2f 0a 58 73 74 61 74 |y state |*/.Xstat|
|000037c0| 69 63 20 73 74 72 75 63 | 74 20 74 63 68 61 72 73 |ic struc|t tchars|
|000037d0| 20 63 68 72 73 2c 20 74 | 5f 63 68 72 73 3b 0a 58 | chrs, t|_chrs;.X|
|000037e0| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 6c 74 |static s|truct lt|
|000037f0| 63 68 61 72 73 20 6c 63 | 68 72 73 2c 20 74 5f 6c |chars lc|hrs, t_l|
|00003800| 63 68 72 73 3b 0a 58 0a | 58 73 74 61 74 69 63 20 |chrs;.X.|Xstatic |
|00003810| 63 68 61 72 09 74 65 72 | 6d 63 61 70 5b 31 30 32 |char.ter|mcap[102|
|00003820| 34 5d 2c 09 09 09 09 2f | 2a 20 74 65 72 6d 63 61 |4],..../|* termca|
|00003830| 70 20 65 6e 74 72 79 20 | 2a 2f 0a 58 09 09 09 2a |p entry |*/.X...*|
|00003840| 63 75 72 5f 66 6f 6c 64 | 65 72 3b 09 09 09 09 2f |cur_fold|er;..../|
|00003850| 2a 20 69 6e 69 74 69 61 | 6c 20 63 75 72 72 65 6e |* initia|l curren|
|00003860| 74 20 66 6f 6c 64 65 72 | 20 2a 2f 0a 58 0a 58 73 |t folder| */.X.Xs|
|00003870| 69 67 5f 74 79 70 65 09 | 74 73 74 70 28 29 2c 20 |ig_type.|tstp(), |
|00003880| 74 69 6e 74 28 29 3b 0a | 58 0a 58 2f 2a 20 2d 2d |tint();.|X.X/* --|
|00003890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038a0| 2d 2d 0a 58 09 53 74 61 | 72 74 2d 75 70 20 72 6f |--.X.Sta|rt-up ro|
|000038b0| 75 74 69 6e 65 20 2d 20 | 73 65 74 20 74 65 72 6d |utine - |set term|
|000038c0| 69 6e 61 6c 20 63 6f 6e | 74 72 6f 6c 2c 20 73 69 |inal con|trol, si|
|000038d0| 67 6e 61 6c 73 2c 20 65 | 74 63 2e 0a 58 2d 2d 2d |gnals, e|tc..X---|
|000038e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038f0| 2d 20 2a 2f 0a 58 76 6f | 69 64 0a 58 69 6e 69 74 |- */.Xvo|id.Xinit|
|00003900| 28 61 72 67 63 2c 20 61 | 72 67 76 29 0a 58 09 69 |(argc, a|rgv).X.i|
|00003910| 6e 74 09 09 61 72 67 63 | 3b 0a 58 09 63 68 61 72 |nt..argc|;.X.char|
|00003920| 09 2a 2a 61 72 67 76 3b | 0a 58 7b 0a 58 09 66 6f |.**argv;|.X{.X.fo|
|00003930| 6c 64 65 72 09 66 74 6d | 70 2c 20 66 69 6e 64 5f |lder.ftm|p, find_|
|00003940| 6d 61 69 6c 28 29 3b 0a | 58 09 63 68 61 72 09 2a |mail();.|X.char.*|
|00003950| 70 61 72 67 76 5b 32 30 | 5d 2c 09 09 09 09 09 2f |pargv[20|],...../|
|00003960| 2a 20 61 72 67 76 20 66 | 72 6f 6d 20 70 72 6f 66 |* argv f|rom prof|
|00003970| 69 6c 65 20 2a 2f 0a 58 | 09 09 09 2a 70 72 6f 66 |ile */.X|...*prof|
|00003980| 69 6c 65 20 3d 20 28 63 | 68 61 72 20 2a 29 20 4e |ile = (c|har *) N|
|00003990| 55 4c 4c 2c 09 2f 2a 20 | 6c 6f 63 61 74 69 6f 6e |ULL,./* |location|
|000039a0| 20 6f 66 20 4d 48 20 70 | 72 6f 66 69 6c 65 20 2a | of MH p|rofile *|
|000039b0| 2f 0a 58 09 09 09 2a 68 | 6f 6d 65 20 3d 20 28 63 |/.X...*h|ome = (c|
|000039c0| 68 61 72 20 2a 29 20 4e | 55 4c 4c 2c 09 09 2f 2a |har *) N|ULL,../*|
|000039d0| 20 68 6f 6d 65 20 64 69 | 72 65 63 74 6f 72 79 20 | home di|rectory |
|000039e0| 2a 2f 0a 58 09 09 09 2a | 74 65 72 6d 20 3d 20 28 |*/.X...*|term = (|
|000039f0| 63 68 61 72 20 2a 29 20 | 4e 55 4c 4c 3b 09 09 2f |char *) |NULL;../|
|00003a00| 2a 20 74 65 72 6d 69 6e | 61 6c 20 74 79 70 65 20 |* termin|al type |
|00003a10| 2a 2f 0a 58 09 69 6e 74 | 09 09 70 61 72 67 63 20 |*/.X.int|..pargc |
|00003a20| 3d 20 30 3b 09 09 09 09 | 09 2f 2a 20 61 72 67 63 |= 0;....|./* argc|
|00003a30| 20 66 72 6f 6d 20 70 72 | 6f 66 69 6c 65 20 2a 2f | from pr|ofile */|
|00003a40| 0a 58 0a 58 09 67 65 74 | 5f 68 6f 6d 65 28 26 68 |.X.X.get|_home(&h|
|00003a50| 6f 6d 65 29 3b 0a 58 09 | 67 65 74 5f 65 6e 76 28 |ome);.X.|get_env(|
|00003a60| 26 74 65 72 6d 2c 20 26 | 70 72 6f 66 69 6c 65 2c |&term, &|profile,|
|00003a70| 20 68 6f 6d 65 29 3b 0a | 58 09 28 76 6f 69 64 29 | home);.|X.(void)|
|00003a80| 74 67 65 74 65 6e 74 28 | 74 65 72 6d 63 61 70 2c |tgetent(|termcap,|
|00003a90| 20 74 65 72 6d 29 3b 0a | 58 09 63 6f 6c 73 20 3d | term);.|X.cols =|
|00003aa0| 20 74 67 65 74 6e 75 6d | 28 22 63 6f 22 29 3b 0a | tgetnum|("co");.|
|00003ab0| 58 09 09 2f 2a 20 6c 69 | 6e 65 73 20 68 6f 6c 64 |X../* li|nes hold|
|00003ac0| 73 20 6e 6f 2e 20 6f 66 | 20 6c 69 6e 65 73 20 66 |s no. of| lines f|
|00003ad0| 6f 72 20 68 65 61 64 65 | 72 73 2c 20 69 65 20 22 |or heade|rs, ie "|
|00003ae0| 6c 69 22 20 6c 65 73 73 | 20 53 54 41 54 55 53 2c |li" less| STATUS,|
|00003af0| 20 54 49 54 4c 45 20 2a | 2f 0a 58 09 6c 69 6e 65 | TITLE *|/.X.line|
|00003b00| 73 20 3d 20 74 67 65 74 | 6e 75 6d 28 22 6c 69 22 |s = tget|num("li"|
|00003b10| 29 20 2d 20 32 3b 0a 58 | 09 28 76 6f 69 64 29 69 |) - 2;.X|.(void)i|
|00003b20| 6f 63 74 6c 28 30 2c 20 | 54 49 4f 43 47 45 54 50 |octl(0, |TIOCGETP|
|00003b30| 2c 20 28 63 61 64 64 72 | 5f 74 29 26 74 74 79 29 |, (caddr|_t)&tty)|
|00003b40| 3b 0a 58 09 28 76 6f 69 | 64 29 69 6f 63 74 6c 28 |;.X.(voi|d)ioctl(|
|00003b50| 30 2c 20 54 49 4f 43 47 | 45 54 50 2c 20 28 63 61 |0, TIOCG|ETP, (ca|
|00003b60| 64 64 72 5f 74 29 26 63 | 68 72 73 29 3b 0a 58 09 |ddr_t)&c|hrs);.X.|
|00003b70| 28 76 6f 69 64 29 69 6f | 63 74 6c 28 30 2c 20 54 |(void)io|ctl(0, T|
|00003b80| 49 4f 43 47 45 54 50 2c | 20 28 63 61 64 64 72 5f |IOCGETP,| (caddr_|
|00003b90| 74 29 26 6c 63 68 72 73 | 29 3b 0a 58 0a 58 09 72 |t)&lchrs|);.X.X.r|
|00003ba0| 65 61 64 5f 70 72 6f 66 | 69 6c 65 28 26 70 61 72 |ead_prof|ile(&par|
|00003bb0| 67 63 2c 20 70 61 72 67 | 76 2c 20 70 72 6f 66 69 |gc, parg|v, profi|
|00003bc0| 6c 65 2c 20 68 6f 6d 65 | 29 3b 0a 58 09 70 72 6f |le, home|);.X.pro|
|00003bd0| 63 65 73 73 5f 61 72 67 | 73 28 70 61 72 67 63 2c |cess_arg|s(pargc,|
|00003be0| 20 70 61 72 67 76 29 3b | 0a 58 09 66 69 6e 64 5f | pargv);|.X.find_|
|00003bf0| 66 6f 6c 64 65 72 73 28 | 29 3b 0a 58 09 6d 61 72 |folders(|);.X.mar|
|00003c00| 6b 5f 76 61 6c 69 64 5f | 66 6f 6c 64 65 72 73 28 |k_valid_|folders(|
|00003c10| 70 61 72 67 63 2c 20 70 | 61 72 67 76 29 3b 0a 58 |pargc, p|argv);.X|
|00003c20| 09 09 2f 2a 20 67 69 76 | 65 20 70 72 65 63 65 64 |../* giv|e preced|
|00003c30| 65 6e 63 65 20 74 6f 20 | 63 6f 6d 6d 61 6e 64 20 |ence to |command |
|00003c40| 6c 69 6e 65 20 61 72 67 | 73 20 3d 3e 20 70 72 6f |line arg|s => pro|
|00003c50| 63 65 73 73 20 73 65 63 | 6f 6e 64 20 2a 2f 0a 58 |cess sec|ond */.X|
|00003c60| 09 6d 61 72 6b 5f 76 61 | 6c 69 64 5f 66 6f 6c 64 |.mark_va|lid_fold|
|00003c70| 65 72 73 28 61 72 67 63 | 2c 20 61 72 67 76 29 3b |ers(argc|, argv);|
|00003c80| 0a 58 09 66 6f 72 28 66 | 74 6d 70 3d 66 6f 6c 64 |.X.for(f|tmp=fold|
|00003c90| 65 72 73 20 3b 20 66 74 | 6d 70 20 21 3d 20 28 66 |ers ; ft|mp != (f|
|00003ca0| 6f 6c 64 65 72 29 20 4e | 55 4c 4c 20 3b 29 0a 58 |older) N|ULL ;).X|
|00003cb0| 09 09 69 66 28 66 74 6d | 70 2d 3e 76 61 6c 69 64 |..if(ftm|p->valid|
|00003cc0| 29 0a 58 09 09 09 66 74 | 6d 70 20 3d 20 66 69 6e |).X...ft|mp = fin|
|00003cd0| 64 5f 6d 61 69 6c 28 66 | 74 6d 70 2c 20 74 72 75 |d_mail(f|tmp, tru|
|00003ce0| 65 29 3b 0a 58 09 09 65 | 6c 73 65 0a 58 09 09 09 |e);.X..e|lse.X...|
|00003cf0| 66 74 6d 70 20 3d 20 66 | 74 6d 70 2d 3e 6e 65 78 |ftmp = f|tmp->nex|
|00003d00| 74 3b 0a 58 09 69 66 28 | 63 75 72 66 6c 72 2d 3e |t;.X.if(|curflr->|
|00003d10| 76 61 6c 69 64 20 3d 3d | 20 45 4d 50 54 59 29 20 |valid ==| EMPTY) |
|00003d20| 7b 0a 58 09 09 28 76 6f | 69 64 29 70 72 69 6e 74 |{.X..(vo|id)print|
|00003d30| 66 28 22 25 73 3a 20 66 | 6f 6c 64 65 72 20 65 6d |f("%s: f|older em|
|00003d40| 70 74 79 2e 5c 6e 22 2c | 20 63 75 72 66 6c 72 2d |pty.\n",| curflr-|
|00003d50| 3e 6e 61 6d 65 29 3b 0a | 58 09 09 65 78 69 74 28 |>name);.|X..exit(|
|00003d60| 31 29 3b 0a 58 09 7d 0a | 58 09 09 2f 2a 20 66 69 |1);.X.}.|X../* fi|
|00003d70| 6e 64 20 6c 61 73 74 20 | 69 6e 73 74 61 6e 63 65 |nd last |instance|
|00003d80| 20 6f 66 20 69 6e 69 74 | 69 61 6c 20 66 6f 6c 64 | of init|ial fold|
|00003d90| 65 72 20 2a 2f 0a 58 09 | 4c 41 53 54 5f 4f 46 5f |er */.X.|LAST_OF_|
|00003da0| 4e 41 4d 45 28 63 75 72 | 66 6c 72 29 3b 0a 58 09 |NAME(cur|flr);.X.|
|00003db0| 63 75 72 6d 61 69 6c 20 | 3d 20 63 75 72 66 6c 72 |curmail |= curflr|
|00003dc0| 2d 3e 6d 61 69 6c 3b 0a | 58 0a 58 09 28 76 6f 69 |->mail;.|X.X.(voi|
|00003dd0| 64 29 69 6e 69 74 73 63 | 72 28 29 3b 0a 58 09 28 |d)initsc|r();.X.(|
|00003de0| 76 6f 69 64 29 63 72 6d | 6f 64 65 28 29 3b 0a 58 |void)crm|ode();.X|
|00003df0| 09 28 76 6f 69 64 29 6e | 6f 65 63 68 6f 28 29 3b |.(void)n|oecho();|
|00003e00| 0a 58 09 28 76 6f 69 64 | 29 6e 6f 6e 6c 28 29 3b |.X.(void|)nonl();|
|00003e10| 0a 58 0a 58 09 28 76 6f | 69 64 29 73 69 67 6e 61 |.X.X.(vo|id)signa|
|00003e20| 6c 28 53 49 47 54 53 54 | 50 2c 20 74 73 74 70 29 |l(SIGTST|P, tstp)|
|00003e30| 3b 0a 58 09 28 76 6f 69 | 64 29 73 69 67 6e 61 6c |;.X.(voi|d)signal|
|00003e40| 28 53 49 47 49 4e 54 2c | 20 74 69 6e 74 29 3b 0a |(SIGINT,| tint);.|
|00003e50| 58 0a 58 09 28 76 6f 69 | 64 29 69 6f 63 74 6c 28 |X.X.(voi|d)ioctl(|
|00003e60| 30 2c 20 54 49 4f 43 47 | 45 54 50 2c 20 28 63 61 |0, TIOCG|ETP, (ca|
|00003e70| 64 64 72 5f 74 29 26 74 | 5f 74 74 79 29 3b 0a 58 |ddr_t)&t|_tty);.X|
|00003e80| 09 28 76 6f 69 64 29 69 | 6f 63 74 6c 28 30 2c 20 |.(void)i|octl(0, |
|00003e90| 54 49 4f 43 47 45 54 50 | 2c 20 28 63 61 64 64 72 |TIOCGETP|, (caddr|
|00003ea0| 5f 74 29 26 74 5f 63 68 | 72 73 29 3b 0a 58 09 28 |_t)&t_ch|rs);.X.(|
|00003eb0| 76 6f 69 64 29 69 6f 63 | 74 6c 28 30 2c 20 54 49 |void)ioc|tl(0, TI|
|00003ec0| 4f 43 47 45 54 50 2c 20 | 28 63 61 64 64 72 5f 74 |OCGETP, |(caddr_t|
|00003ed0| 29 26 74 5f 6c 63 68 72 | 73 29 3b 0a 58 0a 58 09 |)&t_lchr|s);.X.X.|
|00003ee0| 79 20 3d 20 46 49 52 53 | 54 3b 0a 58 09 64 69 73 |y = FIRS|T;.X.dis|
|00003ef0| 70 6c 61 79 5f 70 61 67 | 65 28 29 3b 0a 58 7d 0a |play_pag|e();.X}.|
|00003f00| 58 0a 58 0a 58 2f 2a 20 | 2d 2d 2d 2d 2d 2d 2d 2d |X.X.X/* |--------|
|00003f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0a 58 09 46 |--------|----.X.F|
|00003f20| 69 6e 64 20 75 73 65 72 | 20 6e 61 6d 65 2c 20 68 |ind user| name, h|
|00003f30| 6f 6d 65 20 64 69 72 65 | 63 74 6f 72 79 2e 0a 58 |ome dire|ctory..X|
|00003f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f50| 2d 2d 2d 2d 20 2a 2f 0a | 58 76 6f 69 64 0a 58 67 |---- */.|Xvoid.Xg|
|00003f60| 65 74 5f 68 6f 6d 65 28 | 68 6f 6d 65 29 0a 58 09 |et_home(|home).X.|
|00003f70| 63 68 61 72 20 2a 2a 68 | 6f 6d 65 3b 0a 58 7b 0a |char **h|ome;.X{.|
|00003f80| 58 09 73 74 72 75 63 74 | 20 70 61 73 73 77 64 20 |X.struct| passwd |
|00003f90| 2a 70 77 65 6e 74 2c 20 | 2a 67 65 74 70 77 75 69 |*pwent, |*getpwui|
|00003fa0| 64 28 29 3b 0a 58 23 69 | 66 64 65 66 20 76 61 78 |d();.X#i|fdef vax|
|00003fb0| 0a 58 09 75 69 64 5f 74 | 20 67 65 74 75 69 64 28 |.X.uid_t| getuid(|
|00003fc0| 29 3b 0a 58 23 65 6e 64 | 69 66 0a 58 0a 58 09 70 |);.X#end|if.X.X.p|
|00003fd0| 77 65 6e 74 20 3d 20 67 | 65 74 70 77 75 69 64 28 |went = g|etpwuid(|
|00003fe0| 28 69 6e 74 29 67 65 74 | 75 69 64 28 29 29 3b 0a |(int)get|uid());.|
|00003ff0| 58 09 2a 68 6f 6d 65 20 | 3d 20 4e 45 57 53 54 52 |X.*home |= NEWSTR|
|00004000| 28 73 74 72 6c 65 6e 28 | 70 77 65 6e 74 2d 3e 70 |(strlen(|pwent->p|
|00004010| 77 5f 64 69 72 29 2b 31 | 29 3b 0a 58 09 28 76 6f |w_dir)+1|);.X.(vo|
|00004020| 69 64 29 73 74 72 63 70 | 79 28 2a 68 6f 6d 65 2c |id)strcp|y(*home,|
|00004030| 20 70 77 65 6e 74 2d 3e | 70 77 5f 64 69 72 29 3b | pwent->|pw_dir);|
|00004040| 0a 58 09 69 66 28 61 63 | 63 65 73 73 28 2a 68 6f |.X.if(ac|cess(*ho|
|00004050| 6d 65 2c 20 52 5f 4f 4b | 20 7c 20 57 5f 4f 4b 20 |me, R_OK| | W_OK |
|00004060| 7c 20 58 5f 4f 4b 29 29 | 20 7b 0a 58 09 09 28 76 || X_OK))| {.X..(v|
|00004070| 6f 69 64 29 70 72 69 6e | 74 66 28 22 25 73 3a 20 |oid)prin|tf("%s: |
|00004080| 6e 6f 20 70 65 72 6d 69 | 73 73 69 6f 6e 73 2e 5c |no permi|ssions.\|
|00004090| 6e 22 2c 20 2a 68 6f 6d | 65 29 3b 0a 58 09 09 65 |n", *hom|e);.X..e|
|000040a0| 78 69 74 28 31 29 3b 0a | 58 09 7d 0a 58 09 75 73 |xit(1);.|X.}.X.us|
|000040b0| 65 72 20 3d 20 4e 45 57 | 53 54 52 28 73 74 72 6c |er = NEW|STR(strl|
|000040c0| 65 6e 28 70 77 65 6e 74 | 2d 3e 70 77 5f 6e 61 6d |en(pwent|->pw_nam|
|000040d0| 65 29 2b 31 29 3b 0a 58 | 09 28 76 6f 69 64 29 73 |e)+1);.X|.(void)s|
|000040e0| 74 72 63 70 79 28 75 73 | 65 72 2c 20 70 77 65 6e |trcpy(us|er, pwen|
|000040f0| 74 2d 3e 70 77 5f 6e 61 | 6d 65 29 3b 0a 58 7d 0a |t->pw_na|me);.X}.|
|00004100| 58 0a 58 0a 58 2f 2a 20 | 2d 2d 2d 2d 2d 2d 2d 2d |X.X.X/* |--------|
|00004110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0a 58 09 46 |--------|----.X.F|
|00004120| 69 6e 64 20 70 61 67 65 | 72 2c 20 65 64 69 74 6f |ind page|r, edito|
|00004130| 72 2c 20 73 68 65 6c 6c | 2c 20 74 65 72 6d 69 6e |r, shell|, termin|
|00004140| 61 6c 20 74 79 70 65 2c | 20 4d 48 20 70 72 6f 66 |al type,| MH prof|
|00004150| 69 6c 65 20 2d 20 64 65 | 66 61 75 6c 74 73 20 61 |ile - de|faults a|
|00004160| 72 65 20 50 41 47 45 52 | 2c 0a 58 09 45 44 49 54 |re PAGER|,.X.EDIT|
|00004170| 4f 52 2c 20 53 48 45 4c | 4c 2c 20 6e 6f 6e 65 2c |OR, SHEL|L, none,|
|00004180| 20 50 52 4f 46 49 4c 45 | 2e 20 20 53 65 74 20 62 | PROFILE|. Set b|
|00004190| 79 20 50 41 47 45 52 2c | 20 45 44 49 54 4f 52 2c |y PAGER,| EDITOR,|
|000041a0| 20 53 48 45 4c 4c 2c 20 | 54 45 52 4d 2c 20 4d 48 | SHELL, |TERM, MH|
|000041b0| 0a 58 09 65 6e 76 69 72 | 6f 6e 6d 65 6e 74 20 76 |.X.envir|onment v|
|000041c0| 61 72 69 61 62 6c 65 73 | 2e 0a 58 2d 2d 2d 2d 2d |ariables|..X-----|
|000041d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 20 |--------|------- |
|000041e0| 2a 2f 0a 58 76 6f 69 64 | 0a 58 67 65 74 5f 65 6e |*/.Xvoid|.Xget_en|
|000041f0| 76 28 74 65 72 6d 2c 20 | 70 72 6f 66 69 6c 65 2c |v(term, |profile,|
|00004200| 20 68 6f 6d 65 29 0a 58 | 09 63 68 61 72 20 2a 2a | home).X|.char **|
|00004210| 74 65 72 6d 2c 20 2a 2a | 70 72 6f 66 69 6c 65 2c |term, **|profile,|
|00004220| 20 2a 68 6f 6d 65 3b 0a | 58 7b 0a 58 09 63 68 61 | *home;.|X{.X.cha|
|00004230| 72 09 2a 2a 74 6d 70 3b | 0a 58 0a 58 09 66 6f 72 |r.**tmp;|.X.X.for|
|00004240| 28 74 6d 70 20 3d 20 65 | 6e 76 69 72 6f 6e 20 3b |(tmp = e|nviron ;|
|00004250| 20 2a 74 6d 70 20 21 3d | 20 28 63 68 61 72 20 2a | *tmp !=| (char *|
|00004260| 29 20 4e 55 4c 4c 20 3b | 20 74 6d 70 2b 2b 29 0a |) NULL ;| tmp++).|
|00004270| 58 09 09 69 66 28 21 73 | 74 72 6e 63 6d 70 28 22 |X..if(!s|trncmp("|
|00004280| 50 41 47 45 52 3d 22 2c | 20 2a 74 6d 70 2c 20 36 |PAGER=",| *tmp, 6|
|00004290| 29 29 20 7b 0a 58 09 09 | 09 70 61 67 65 72 20 3d |)) {.X..|.pager =|
|000042a0| 20 4e 45 57 53 54 52 28 | 73 74 72 6c 65 6e 28 2a | NEWSTR(|strlen(*|
|000042b0| 74 6d 70 29 2d 34 29 3b | 0a 58 09 09 09 28 76 6f |tmp)-4);|.X...(vo|
|000042c0| 69 64 29 73 74 72 63 70 | 79 28 70 61 67 65 72 2c |id)strcp|y(pager,|
|000042d0| 20 2a 74 6d 70 2b 36 29 | 3b 0a 58 09 09 7d 20 65 | *tmp+6)|;.X..} e|
|000042e0| 6c 73 65 20 69 66 28 21 | 73 74 72 6e 63 6d 70 28 |lse if(!|strncmp(|
|000042f0| 22 45 44 49 54 4f 52 3d | 22 2c 20 2a 74 6d 70 2c |"EDITOR=|", *tmp,|
|00004300| 20 37 29 29 20 7b 0a 58 | 09 09 09 65 64 69 74 6f | 7)) {.X|...edito|
|00004310| 72 20 3d 20 4e 45 57 53 | 54 52 28 73 74 72 6c 65 |r = NEWS|TR(strle|
|00004320| 6e 28 2a 74 6d 70 29 2d | 35 29 3b 0a 58 09 09 09 |n(*tmp)-|5);.X...|
|00004330| 28 76 6f 69 64 29 73 74 | 72 63 70 79 28 65 64 69 |(void)st|rcpy(edi|
|00004340| 74 6f 72 2c 20 2a 74 6d | 70 2b 37 29 3b 0a 58 09 |tor, *tm|p+7);.X.|
|00004350| 09 7d 20 65 6c 73 65 20 | 69 66 28 21 73 74 72 6e |.} else |if(!strn|
|00004360| 63 6d 70 28 22 53 48 45 | 4c 4c 3d 22 2c 20 2a 74 |cmp("SHE|LL=", *t|
|00004370| 6d 70 2c 20 36 29 29 20 | 7b 0a 58 09 09 09 73 68 |mp, 6)) |{.X...sh|
|00004380| 65 6c 6c 20 3d 20 4e 45 | 57 53 54 52 28 73 74 72 |ell = NE|WSTR(str|
|00004390| 6c 65 6e 28 2a 74 6d 70 | 29 2d 34 29 3b 0a 58 09 |len(*tmp|)-4);.X.|
|000043a0| 09 09 28 76 6f 69 64 29 | 73 74 72 63 70 79 28 73 |..(void)|strcpy(s|
|000043b0| 68 65 6c 6c 2c 20 2a 74 | 6d 70 2b 36 29 3b 0a 58 |hell, *t|mp+6);.X|
|000043c0| 09 09 7d 20 65 6c 73 65 | 20 69 66 28 21 73 74 72 |..} else| if(!str|
|000043d0| 6e 63 6d 70 28 22 54 45 | 52 4d 3d 22 2c 20 2a 74 |ncmp("TE|RM=", *t|
|000043e0| 6d 70 2c 20 35 29 29 20 | 7b 0a 58 09 09 09 2a 74 |mp, 5)) |{.X...*t|
|000043f0| 65 72 6d 20 3d 20 4e 45 | 57 53 54 52 28 73 74 72 |erm = NE|WSTR(str|
|00004400| 6c 65 6e 28 2a 74 6d 70 | 29 2d 33 29 3b 0a 58 09 |len(*tmp|)-3);.X.|
|00004410| 09 09 28 76 6f 69 64 29 | 73 74 72 63 70 79 28 2a |..(void)|strcpy(*|
|00004420| 74 65 72 6d 2c 20 2a 74 | 6d 70 2b 35 29 3b 0a 58 |term, *t|mp+5);.X|
|00004430| 09 09 7d 20 65 6c 73 65 | 20 69 66 28 21 73 74 72 |..} else| if(!str|
|00004440| 6e 63 6d 70 28 22 4d 48 | 3d 22 2c 20 2a 74 6d 70 |ncmp("MH|=", *tmp|
|00004450| 2c 20 33 29 29 20 7b 0a | 58 09 09 09 2a 70 72 6f |, 3)) {.|X...*pro|
|00004460| 66 69 6c 65 20 3d 20 4e | 45 57 53 54 52 28 73 74 |file = N|EWSTR(st|
|00004470| 72 6c 65 6e 28 2a 74 6d | 70 29 2d 31 29 3b 0a 58 |rlen(*tm|p)-1);.X|
|00004480| 09 09 09 28 76 6f 69 64 | 29 73 74 72 63 70 79 28 |...(void|)strcpy(|
|00004490| 2a 70 72 6f 66 69 6c 65 | 2c 20 2a 74 6d 70 2b 33 |*profile|, *tmp+3|
|000044a0| 29 3b 0a 58 09 09 7d 0a | 58 09 69 66 28 2a 74 65 |);.X..}.|X.if(*te|
|000044b0| 72 6d 20 3d 3d 20 28 63 | 68 61 72 20 2a 29 20 4e |rm == (c|har *) N|
|000044c0| 55 4c 4c 29 20 7b 0a 58 | 09 09 28 76 6f 69 64 29 |ULL) {.X|..(void)|
|000044d0| 70 72 69 6e 74 66 28 22 | 54 65 72 6d 69 6e 61 6c |printf("|Terminal|
|000044e0| 20 74 79 70 65 20 75 6e | 6b 6e 6f 77 6e 5c 6e 22 | type un|known\n"|
|000044f0| 29 3b 0a 58 09 09 65 78 | 69 74 28 31 29 3b 0a 58 |);.X..ex|it(1);.X|
|00004500| 09 7d 0a 58 09 69 66 28 | 2a 70 72 6f 66 69 6c 65 |.}.X.if(|*profile|
|00004510| 20 3d 3d 20 28 63 68 61 | 72 20 2a 29 20 4e 55 4c | == (cha|r *) NUL|
|00004520| 4c 29 20 7b 0a 58 09 09 | 2a 70 72 6f 66 69 6c 65 |L) {.X..|*profile|
|00004530| 20 3d 20 4e 45 57 53 54 | 52 28 73 74 72 6c 65 6e | = NEWST|R(strlen|
|00004540| 28 68 6f 6d 65 29 2b 73 | 74 72 6c 65 6e 28 50 52 |(home)+s|trlen(PR|
|00004550| 4f 46 49 4c 45 29 2b 32 | 29 3b 0a 58 09 09 28 76 |OFILE)+2|);.X..(v|
|00004560| 6f 69 64 29 73 70 72 69 | 6e 74 66 28 2a 70 72 6f |oid)spri|ntf(*pro|
|00004570| 66 69 6c 65 2c 20 22 25 | 73 2f 25 73 22 2c 20 68 |file, "%|s/%s", h|
|00004580| 6f 6d 65 2c 20 50 52 4f | 46 49 4c 45 29 3b 0a 58 |ome, PRO|FILE);.X|
|00004590| 09 7d 0a 58 09 69 66 28 | 70 61 67 65 72 20 3d 3d |.}.X.if(|pager ==|
|000045a0| 20 28 63 68 61 72 20 2a | 29 20 4e 55 4c 4c 29 20 | (char *|) NULL) |
|000045b0| 7b 0a 58 09 09 70 61 67 | 65 72 20 3d 20 4e 45 57 |{.X..pag|er = NEW|
|000045c0| 53 54 52 28 73 74 72 6c | 65 6e 28 50 41 47 45 52 |STR(strl|en(PAGER|
|000045d0| 29 2b 31 29 3b 0a 58 09 | 09 28 76 6f 69 64 29 73 |)+1);.X.|.(void)s|
|000045e0| 74 72 63 70 79 28 70 61 | 67 65 72 2c 20 50 41 47 |trcpy(pa|ger, PAG|
|000045f0| 45 52 29 3b 0a 58 09 7d | 0a 58 09 69 66 28 73 68 |ER);.X.}|.X.if(sh|
|00004600| 65 6c 6c 20 3d 3d 20 28 | 63 68 61 72 20 2a 29 20 |ell == (|char *) |
|00004610| 4e 55 4c 4c 29 20 7b 0a | 58 09 09 73 68 65 6c 6c |NULL) {.|X..shell|
|00004620| 20 3d 20 4e 45 57 53 54 | 52 28 73 74 72 6c 65 6e | = NEWST|R(strlen|
|00004630| 28 53 48 45 4c 4c 29 2b | 31 29 3b 0a 58 09 09 28 |(SHELL)+|1);.X..(|
|00004640| 76 6f 69 64 29 73 74 72 | 63 70 79 28 73 68 65 6c |void)str|cpy(shel|
|00004650| 6c 2c 20 53 48 45 4c 4c | 29 3b 0a 58 09 7d 0a 58 |l, SHELL|);.X.}.X|
|00004660| 09 69 66 28 65 64 69 74 | 6f 72 20 3d 3d 20 28 63 |.if(edit|or == (c|
|00004670| 68 61 72 20 2a 29 20 4e | 55 4c 4c 29 20 7b 0a 58 |har *) N|ULL) {.X|
|00004680| 09 09 65 64 69 74 6f 72 | 20 3d 20 4e 45 57 53 54 |..editor| = NEWST|
|00004690| 52 28 73 74 72 6c 65 6e | 28 45 44 49 54 4f 52 29 |R(strlen|(EDITOR)|
|000046a0| 2b 31 29 3b 0a 58 09 09 | 28 76 6f 69 64 29 73 74 |+1);.X..|(void)st|
|000046b0| 72 63 70 79 28 65 64 69 | 74 6f 72 2c 20 45 44 49 |rcpy(edi|tor, EDI|
|000046c0| 54 4f 52 29 3b 0a 58 09 | 7d 0a 58 7d 0a 58 0a 58 |TOR);.X.|}.X}.X.X|
|000046d0| 0a 58 73 74 61 74 69 63 | 20 63 68 61 72 20 61 72 |.Xstatic| char ar|
|000046e0| 67 6b 65 65 70 5b 4c 45 | 4e 5d 3b 09 09 09 2f 2a |gkeep[LE|N];.../*|
|000046f0| 20 73 74 6f 72 61 67 65 | 20 66 6f 72 20 61 72 67 | storage| for arg|
|00004700| 73 20 66 72 6f 6d 20 70 | 72 6f 66 69 6c 65 20 2a |s from p|rofile *|
|00004710| 2f 0a 58 0a 58 2f 2a 20 | 2d 2d 2d 2d 2d 2d 2d 2d |/.X.X/* |--------|
|00004720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0a 58 09 46 |--------|----.X.F|
|00004730| 69 6e 64 20 6d 61 69 6c | 20 64 69 72 65 63 74 6f |ind mail| directo|
|00004740| 72 79 2c 20 63 75 72 72 | 65 6e 74 2d 66 6f 6c 64 |ry, curr|ent-fold|
|00004750| 65 72 2c 20 63 6f 6e 74 | 65 78 74 2c 20 64 65 66 |er, cont|ext, def|
|00004760| 61 75 6c 74 20 6f 70 74 | 69 6f 6e 73 2e 0a 58 2d |ault opt|ions..X-|
|00004770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004780| 2d 2d 2d 20 2a 2f 0a 58 | 76 6f 69 64 0a 58 72 65 |--- */.X|void.Xre|
|00004790| 61 64 5f 70 72 6f 66 69 | 6c 65 28 70 61 72 67 63 |ad_profi|le(pargc|
|000047a0| 2c 20 70 61 72 67 76 2c | 20 70 72 6f 66 69 6c 65 |, pargv,| profile|
|000047b0| 2c 20 68 6f 6d 65 29 0a | 58 09 69 6e 74 20 2a 70 |, home).|X.int *p|
|000047c0| 61 72 67 63 3b 0a 58 09 | 63 68 61 72 20 2a 2a 70 |argc;.X.|char **p|
|000047d0| 61 72 67 76 2c 20 2a 70 | 72 6f 66 69 6c 65 2c 20 |argv, *p|rofile, |
|000047e0| 2a 68 6f 6d 65 3b 0a 58 | 7b 0a 58 09 46 49 4c 45 |*home;.X|{.X.FILE|
|000047f0| 09 2a 66 70 2c 20 2a 66 | 6f 70 65 6e 28 29 3b 0a |.*fp, *f|open();.|
|00004800| 58 09 63 68 61 72 09 73 | 74 72 5b 4c 45 4e 5d 2c |X.char.s|tr[LEN],|
|00004810| 20 2a 70 74 72 2c 20 69 | 73 63 6f 6e 74 65 78 74 | *ptr, i|scontext|
|00004820| 5b 4c 45 4e 5d 2c 20 2a | 69 6e 64 65 78 28 29 2c |[LEN], *|index(),|
|00004830| 20 2a 6e 65 78 74 5f 74 | 6f 6b 65 6e 28 29 3b 0a | *next_t|oken();.|
|00004840| 58 0a 58 09 69 66 28 28 | 66 70 20 3d 20 66 6f 70 |X.X.if((|fp = fop|
|00004850| 65 6e 28 70 72 6f 66 69 | 6c 65 2c 20 22 72 22 29 |en(profi|le, "r")|
|00004860| 29 20 3d 3d 20 28 46 49 | 4c 45 20 2a 29 20 4e 55 |) == (FI|LE *) NU|
|00004870| 4c 4c 29 20 7b 0a 58 09 | 09 28 76 6f 69 64 29 70 |LL) {.X.|.(void)p|
|00004880| 72 69 6e 74 66 28 22 50 | 72 6f 66 69 6c 65 3a 20 |rintf("P|rofile: |
|00004890| 25 73 3a 20 63 61 6e 6e | 6f 74 20 6f 70 65 6e 2e |%s: cann|ot open.|
|000048a0| 5c 6e 22 2c 20 70 72 6f | 66 69 6c 65 29 3b 0a 58 |\n", pro|file);.X|
|000048b0| 09 09 65 78 69 74 28 31 | 29 3b 0a 58 09 7d 0a 58 |..exit(1|);.X.}.X|
|000048c0| 09 2a 69 73 63 6f 6e 74 | 65 78 74 20 3d 20 27 5c |.*iscont|ext = '\|
|000048d0| 30 27 3b 0a 58 09 77 68 | 69 6c 65 28 66 67 65 74 |0';.X.wh|ile(fget|
|000048e0| 73 28 73 74 72 2c 20 4c | 45 4e 2c 20 66 70 29 20 |s(str, L|EN, fp) |
|000048f0| 21 3d 20 28 63 68 61 72 | 20 2a 29 20 4e 55 4c 4c |!= (char| *) NULL|
|00004900| 29 20 7b 0a 58 09 09 09 | 2f 2a 20 67 65 74 20 65 |) {.X...|/* get e|
|00004910| 6e 74 72 69 65 73 20 66 | 72 6f 6d 20 70 72 6f 66 |ntries f|rom prof|
|00004920| 69 6c 65 20 2a 2f 0a 58 | 09 09 69 66 28 6c 73 74 |ile */.X|..if(lst|
|00004930| 72 6e 63 6d 70 28 22 63 | 6f 6e 74 65 78 74 3a 22 |rncmp("c|ontext:"|
|00004940| 2c 20 73 74 72 2c 20 38 | 29 20 3d 3d 20 30 20 26 |, str, 8|) == 0 &|
|00004950| 26 20 2a 28 70 74 72 3d | 73 74 72 2b 38 29 20 21 |& *(ptr=|str+8) !|
|00004960| 3d 20 27 5c 30 27 29 20 | 7b 0a 58 09 09 09 73 71 |= '\0') |{.X...sq|
|00004970| 75 61 73 68 28 73 74 72 | 29 3b 0a 58 09 09 09 28 |uash(str|);.X...(|
|00004980| 76 6f 69 64 29 73 74 72 | 63 70 79 28 69 73 63 6f |void)str|cpy(isco|
|00004990| 6e 74 65 78 74 2c 20 73 | 74 72 2b 38 29 3b 0a 58 |ntext, s|tr+8);.X|
|000049a0| 09 09 7d 20 65 6c 73 65 | 20 69 66 28 6c 73 74 72 |..} else| if(lstr|
|000049b0| 6e 63 6d 70 28 22 76 6d | 61 69 6c 3a 22 2c 20 73 |ncmp("vm|ail:", s|
|000049c0| 74 72 2c 20 36 29 20 3d | 3d 20 30 20 26 26 20 2a |tr, 6) =|= 0 && *|
|000049d0| 28 70 74 72 3d 73 74 72 | 2b 36 29 20 21 3d 20 27 |(ptr=str|+6) != '|
|000049e0| 5c 30 27 29 20 7b 0a 58 | 09 09 09 66 6f 72 28 20 |\0') {.X|...for( |
|000049f0| 3b 20 2a 70 74 72 20 3d | 3d 20 27 20 27 20 7c 7c |; *ptr =|= ' ' |||
|00004a00| 20 2a 70 74 72 20 3d 3d | 20 27 5c 74 27 20 3b 20 | *ptr ==| '\t' ; |
|00004a10| 70 74 72 2b 2b 29 0a 58 | 09 09 09 09 3b 0a 58 09 |ptr++).X|....;.X.|
|00004a20| 09 09 2a 69 6e 64 65 78 | 28 70 74 72 2c 20 27 5c |..*index|(ptr, '\|
|00004a30| 6e 27 29 20 3d 20 27 5c | 30 27 3b 0a 58 09 09 09 |n') = '\|0';.X...|
|00004a40| 28 76 6f 69 64 29 73 74 | 72 63 70 79 28 61 72 67 |(void)st|rcpy(arg|
|00004a50| 6b 65 65 70 2c 20 70 74 | 72 29 3b 0a 58 09 09 09 |keep, pt|r);.X...|
|00004a60| 66 6f 72 28 70 74 72 3d | 61 72 67 6b 65 65 70 20 |for(ptr=|argkeep |
|00004a70| 3b 20 2a 70 74 72 20 21 | 3d 20 27 5c 30 27 20 3b |; *ptr !|= '\0' ;|
|00004a80| 20 29 20 7b 0a 58 09 09 | 09 09 70 61 72 67 76 5b | ) {.X..|..pargv[|
|00004a90| 28 2a 70 61 72 67 63 29 | 2b 2b 5d 20 3d 20 70 74 |(*pargc)|++] = pt|
|00004aa0| 72 3b 0a 58 09 09 09 09 | 70 74 72 20 3d 20 6e 65 |r;.X....|ptr = ne|
|00004ab0| 78 74 5f 74 6f 6b 65 6e | 28 70 74 72 29 3b 0a 58 |xt_token|(ptr);.X|
|00004ac0| 09 09 09 7d 0a 58 09 09 | 7d 20 65 6c 73 65 20 69 |...}.X..|} else i|
|00004ad0| 66 28 6c 73 74 72 6e 63 | 6d 70 28 22 70 61 74 68 |f(lstrnc|mp("path|
|00004ae0| 3a 22 2c 20 73 74 72 2c | 20 35 29 20 3d 3d 20 30 |:", str,| 5) == 0|
|00004af0| 20 26 26 20 2a 28 70 74 | 72 3d 73 74 72 2b 35 29 | && *(pt|r=str+5)|
|00004b00| 20 21 3d 20 27 5c 30 27 | 29 20 7b 0a 58 09 09 09 | != '\0'|) {.X...|
|00004b10| 73 71 75 61 73 68 28 73 | 74 72 29 3b 0a 58 09 09 |squash(s|tr);.X..|
|00004b20| 09 69 66 28 2a 70 74 72 | 20 3d 3d 20 27 2f 27 29 |.if(*ptr| == '/')|
|00004b30| 20 7b 09 09 2f 2a 20 66 | 75 6c 6c 20 70 61 74 68 | {../* f|ull path|
|00004b40| 6e 61 6d 65 20 2a 2f 0a | 58 09 09 09 09 6d 61 69 |name */.|X....mai|
|00004b50| 6c 5f 64 69 72 20 3d 20 | 4e 45 57 53 54 52 28 73 |l_dir = |NEWSTR(s|
|00004b60| 74 72 6c 65 6e 28 70 74 | 72 29 2b 31 29 3b 0a 58 |trlen(pt|r)+1);.X|
|00004b70| 09 09 09 09 28 76 6f 69 | 64 29 73 74 72 63 70 79 |....(voi|d)strcpy|
|00004b80| 28 6d 61 69 6c 5f 64 69 | 72 2c 20 70 74 72 29 3b |(mail_di|r, ptr);|
|00004b90| 0a 58 09 09 09 7d 20 65 | 6c 73 65 20 7b 0a 58 09 |.X...} e|lse {.X.|
|00004ba0| 09 09 09 6d 61 69 6c 5f | 64 69 72 20 3d 20 4e 45 |...mail_|dir = NE|
|00004bb0| 57 53 54 52 28 73 74 72 | 6c 65 6e 28 68 6f 6d 65 |WSTR(str|len(home|
|00004bc0| 29 2b 73 74 72 6c 65 6e | 28 70 74 72 29 2b 31 29 |)+strlen|(ptr)+1)|
|00004bd0| 3b 0a 58 09 09 09 09 28 | 76 6f 69 64 29 73 70 72 |;.X....(|void)spr|
|00004be0| 69 6e 74 66 28 6d 61 69 | 6c 5f 64 69 72 2c 20 22 |intf(mai|l_dir, "|
|00004bf0| 25 73 2f 25 73 22 2c 20 | 68 6f 6d 65 2c 20 70 74 |%s/%s", |home, pt|
|00004c00| 72 29 3b 0a 58 09 09 09 | 7d 0a 58 09 09 7d 20 65 |r);.X...|}.X..} e|
|00004c10| 6c 73 65 20 69 66 28 6c | 73 74 72 6e 63 6d 70 28 |lse if(l|strncmp(|
|00004c20| 22 66 6f 6c 64 65 72 2d | 70 72 6f 74 65 63 74 3a |"folder-|protect:|
|00004c30| 22 2c 20 73 74 72 2c 20 | 31 35 29 20 3d 3d 20 30 |", str, |15) == 0|
|00004c40| 20 26 26 0a 58 09 09 09 | 09 09 09 09 09 09 09 09 | &&.X...|........|
|00004c50| 09 09 09 2a 28 73 74 72 | 2b 31 35 29 20 21 3d 20 |...*(str|+15) != |
|00004c60| 27 5c 30 27 29 20 7b 0a | 58 09 09 09 73 71 75 61 |'\0') {.|X...squa|
|00004c70| 73 68 28 73 74 72 29 3b | 0a 58 09 09 09 66 6f 6c |sh(str);|.X...fol|
|00004c80| 64 65 72 5f 70 72 6f 74 | 65 63 74 20 3d 20 61 74 |der_prot|ect = at|
|00004c90| 6f 6f 28 73 74 72 2b 31 | 35 29 3b 0a 58 09 09 7d |oo(str+1|5);.X..}|
|00004ca0| 20 65 6c 73 65 20 69 66 | 28 6c 73 74 72 6e 63 6d | else if|(lstrncm|
|00004cb0| 70 28 22 63 75 72 72 65 | 6e 74 2d 66 6f 6c 64 65 |p("curre|nt-folde|
|00004cc0| 72 3a 22 2c 20 73 74 72 | 2c 20 31 35 29 20 3d 3d |r:", str|, 15) ==|
|00004cd0| 20 30 20 26 26 0a 58 09 | 09 09 09 09 09 09 09 09 | 0 &&.X.|........|
|00004ce0| 09 09 09 09 09 2a 28 73 | 74 72 2b 31 35 29 20 21 |.....*(s|tr+15) !|
|00004cf0| 3d 20 27 5c 30 27 29 20 | 7b 0a 58 09 09 09 73 71 |= '\0') |{.X...sq|
|00004d00| 75 61 73 68 28 73 74 72 | 29 3b 0a 58 09 09 09 63 |uash(str|);.X...c|
|00004d10| 75 72 5f 66 6f 6c 64 65 | 72 20 3d 20 4e 45 57 53 |ur_folde|r = NEWS|
|00004d20| 54 52 28 73 74 72 6c 65 | 6e 28 73 74 72 2b 31 35 |TR(strle|n(str+15|
|00004d30| 29 2b 31 29 3b 0a 58 09 | 09 09 28 76 6f 69 64 29 |)+1);.X.|..(void)|
|00004d40| 73 74 72 63 70 79 28 63 | 75 72 5f 66 6f 6c 64 65 |strcpy(c|ur_folde|
|00004d50| 72 2c 20 73 74 72 29 3b | 0a 58 09 09 7d 0a 58 09 |r, str);|.X..}.X.|
|00004d60| 7d 0a 58 09 28 76 6f 69 | 64 29 66 63 6c 6f 73 65 |}.X.(voi|d)fclose|
|00004d70| 28 66 70 29 3b 0a 58 09 | 69 66 28 6d 61 69 6c 5f |(fp);.X.|if(mail_|
|00004d80| 64 69 72 20 3d 3d 20 28 | 63 68 61 72 20 2a 29 20 |dir == (|char *) |
|00004d90| 4e 55 4c 4c 29 20 7b 0a | 58 09 09 6d 61 69 6c 5f |NULL) {.|X..mail_|
|00004da0| 64 69 72 20 3d 20 4e 45 | 57 53 54 52 28 73 74 72 |dir = NE|WSTR(str|
|00004db0| 6c 65 6e 28 68 6f 6d 65 | 29 2b 73 74 72 6c 65 6e |len(home|)+strlen|
|00004dc0| 28 4d 41 49 4c 44 49 52 | 29 2b 32 29 3b 0a 58 09 |(MAILDIR|)+2);.X.|
|00004dd0| 09 28 76 6f 69 64 29 73 | 70 72 69 6e 74 66 28 6d |.(void)s|printf(m|
|00004de0| 61 69 6c 5f 64 69 72 2c | 20 22 25 73 2f 25 73 22 |ail_dir,| "%s/%s"|
|00004df0| 2c 20 68 6f 6d 65 2c 20 | 73 74 72 2b 36 29 3b 0a |, home, |str+6);.|
|00004e00| 58 09 7d 0a 58 09 69 66 | 28 61 63 63 65 73 73 28 |X.}.X.if|(access(|
|00004e10| 6d 61 69 6c 5f 64 69 72 | 2c 20 52 5f 4f 4b 20 7c |mail_dir|, R_OK ||
|00004e20| 20 57 5f 4f 4b 20 7c 20 | 58 5f 4f 4b 29 29 20 7b | W_OK | |X_OK)) {|
|00004e30| 0a 58 09 09 28 76 6f 69 | 64 29 70 72 69 6e 74 66 |.X..(voi|d)printf|
|00004e40| 28 22 25 73 3a 20 6e 6f | 20 70 65 72 6d 69 73 73 |("%s: no| permiss|
|00004e50| 69 6f 6e 73 2e 5c 6e 22 | 2c 20 6d 61 69 6c 5f 64 |ions.\n"|, mail_d|
|00004e60| 69 72 29 3b 0a 58 09 09 | 65 78 69 74 28 31 29 3b |ir);.X..|exit(1);|
|00004e70| 0a 58 09 7d 0a 58 09 69 | 66 28 2a 69 73 63 6f 6e |.X.}.X.i|f(*iscon|
|00004e80| 74 65 78 74 20 3d 3d 20 | 27 5c 30 27 29 0a 58 09 |text == |'\0').X.|
|00004e90| 09 28 76 6f 69 64 29 73 | 74 72 63 70 79 28 69 73 |.(void)s|trcpy(is|
|00004ea0| 63 6f 6e 74 65 78 74 2c | 20 43 4f 4e 54 45 58 54 |context,| CONTEXT|
|00004eb0| 29 3b 0a 58 09 63 6f 6e | 74 65 78 74 20 3d 20 4e |);.X.con|text = N|
|00004ec0| 45 57 53 54 52 28 73 74 | 72 6c 65 6e 28 6d 61 69 |EWSTR(st|rlen(mai|
|00004ed0| 6c 5f 64 69 72 29 2b 73 | 74 72 6c 65 6e 28 69 73 |l_dir)+s|trlen(is|
|00004ee0| 63 6f 6e 74 65 78 74 29 | 2b 32 29 3b 0a 58 09 28 |context)|+2);.X.(|
|00004ef0| 76 6f 69 64 29 73 70 72 | 69 6e 74 66 28 63 6f 6e |void)spr|intf(con|
|00004f00| 74 65 78 74 2c 20 22 25 | 73 2f 25 73 22 2c 20 6d |text, "%|s/%s", m|
|00004f10| 61 69 6c 5f 64 69 72 2c | 20 69 73 63 6f 6e 74 65 |ail_dir,| isconte|
|00004f20| 78 74 29 3b 0a 58 09 69 | 66 28 61 63 63 65 73 73 |xt);.X.i|f(access|
|00004f30| 28 63 6f 6e 74 65 78 74 | 2c 20 52 5f 4f 4b 20 7c |(context|, R_OK ||
|00004f40| 20 57 5f 4f 4b 29 29 20 | 7b 0a 58 09 09 28 76 6f | W_OK)) |{.X..(vo|
|00004f50| 69 64 29 70 72 69 6e 74 | 66 28 22 25 73 3a 20 6e |id)print|f("%s: n|
|00004f60| 6f 20 70 65 72 6d 69 73 | 73 69 6f 6e 73 2e 5c 6e |o permis|sions.\n|
|00004f70| 22 2c 20 63 6f 6e 74 65 | 78 74 29 3b 0a 58 09 09 |", conte|xt);.X..|
|00004f80| 65 78 69 74 28 31 29 3b | 0a 58 09 7d 0a 58 09 69 |exit(1);|.X.}.X.i|
|00004f90| 66 28 63 75 72 5f 66 6f | 6c 64 65 72 20 3d 3d 20 |f(cur_fo|lder == |
|00004fa0| 28 63 68 61 72 20 2a 29 | 20 4e 55 4c 4c 29 0a 58 |(char *)| NULL).X|
|00004fb0| 09 09 63 75 72 5f 66 6f | 6c 64 65 72 20 3d 20 43 |..cur_fo|lder = C|
|00004fc0| 55 52 46 4f 4c 3b 0a 58 | 7d 0a 58 0a 58 0a 58 2f |URFOL;.X|}.X.X.X/|
|00004fd0| 2a 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |* ------|--------|
|00004fe0| 2d 2d 2d 2d 2d 2d 0a 58 | 09 53 71 75 61 73 68 20 |------.X|.Squash |
|00004ff0| 73 70 61 63 65 73 2c 20 | 74 61 62 73 2c 20 6e 65 |spaces, |tabs, ne|
|00005000| 77 6c 69 6e 65 73 20 6f | 75 74 20 6f 66 20 67 69 |wlines o|ut of gi|
|00005010| 76 65 6e 20 73 74 72 69 | 6e 67 2e 0a 58 2d 2d 2d |ven stri|ng..X---|
|00005020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005030| 2d 20 2a 2f 0a 58 76 6f | 69 64 0a 58 73 71 75 61 |- */.Xvo|id.Xsqua|
|00005040| 73 68 28 73 74 72 29 0a | 58 09 63 68 61 72 09 2a |sh(str).|X.char.*|
|00005050| 73 74 72 3b 0a 58 7b 0a | 58 09 69 6e 74 09 09 69 |str;.X{.|X.int..i|
|00005060| 2c 20 6a 3b 0a 58 0a 58 | 09 66 6f 72 28 69 3d 30 |, j;.X.X|.for(i=0|
|00005070| 2c 20 6a 3d 30 20 3b 20 | 28 73 74 72 5b 6a 5d 20 |, j=0 ; |(str[j] |
|00005080| 3d 20 73 74 72 5b 69 5d | 29 20 21 3d 20 27 5c 30 |= str[i]|) != '\0|
|00005090| 27 20 3b 20 69 2b 2b 29 | 0a 58 09 09 69 66 28 73 |' ; i++)|.X..if(s|
|000050a0| 74 72 5b 6a 5d 20 21 3d | 20 27 20 27 20 26 26 20 |tr[j] !=| ' ' && |
|000050b0| 73 74 72 5b 6a 5d 20 21 | 3d 20 27 5c 74 27 20 26 |str[j] !|= '\t' &|
|000050c0| 26 20 73 74 72 5b 6a 5d | 20 21 3d 20 27 5c 6e 27 |& str[j]| != '\n'|
|000050d0| 29 0a 58 09 09 09 6a 2b | 2b 3b 0a 58 7d 0a 58 0a |).X...j+|+;.X}.X.|
|000050e0| 58 0a 58 2f 2a 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |X.X/* --|--------|
|000050f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0a 58 09 4d 61 72 |--------|--.X.Mar|
|00005100| 6b 20 66 6f 6c 64 65 72 | 73 20 61 73 20 73 70 65 |k folder|s as spe|
|00005110| 63 69 66 69 65 64 20 62 | 79 20 73 65 74 65 6e 76 |cified b|y setenv|
|00005120| 2c 20 63 6f 6d 6d 61 6e | 64 20 6c 69 6e 65 2e 20 |, comman|d line. |
|00005130| 20 41 74 20 73 74 61 72 | 74 75 70 2c 20 64 65 66 | At star|tup, def|
|00005140| 61 75 6c 74 0a 58 09 69 | 73 20 66 6f 72 20 6f 6e |ault.X.i|s for on|
|00005150| 6c 79 20 61 63 74 69 76 | 65 20 66 6f 6c 64 65 72 |ly activ|e folder|
|00005160| 20 74 6f 20 62 65 20 63 | 75 72 5f 66 6f 6c 64 65 | to be c|ur_folde|
|00005170| 72 2e 0a 58 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |r..X----|--------|
|00005180| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0a 58 76 6f 69 |--------| */.Xvoi|
|00005190| 64 0a 58 6d 61 72 6b 5f | 76 61 6c 69 64 5f 66 6f |d.Xmark_|valid_fo|
|000051a0| 6c 64 65 72 73 28 61 72 | 67 63 2c 20 61 72 67 76 |lders(ar|gc, argv|
|000051b0| 29 0a 58 09 69 6e 74 09 | 09 61 72 67 63 3b 0a 58 |).X.int.|.argc;.X|
|000051c0| 09 63 68 61 72 09 2a 2a | 61 72 67 76 3b 0a 58 7b |.char.**|argv;.X{|
|000051d0| 0a 58 09 63 68 61 72 09 | 2a 6e 61 6d 65 3b 0a 58 |.X.char.|*name;.X|
|000051e0| 09 66 6f 6c 64 65 72 09 | 66 3b 0a 58 0a 58 09 6e |.folder.|f;.X.X.n|
|000051f0| 61 6d 65 20 3d 20 63 75 | 72 5f 66 6f 6c 64 65 72 |ame = cu|r_folder|
|00005200| 3b 0a 58 09 09 2f 2a 20 | 66 69 6e 64 20 76 61 6c |;.X../* |find val|
|00005210| 69 64 20 66 6f 6c 64 65 | 72 73 20 2d 20 6d 61 72 |id folde|rs - mar|
|00005220| 6b 20 61 6c 6c 20 66 6f | 6c 64 65 72 73 20 66 72 |k all fo|lders fr|
|00005230| 6f 6d 20 61 72 67 76 20 | 61 73 20 76 61 6c 69 64 |om argv |as valid|
|00005240| 20 2a 2f 0a 58 09 66 6f | 72 28 3b 20 61 72 67 63 | */.X.fo|r(; argc|
|00005250| 20 3e 20 30 20 3b 20 61 | 72 67 63 2d 2d 2c 20 61 | > 0 ; a|rgc--, a|
|00005260| 72 67 76 2b 2b 29 0a 58 | 09 09 69 66 28 2a 2a 61 |rgv++).X|..if(**a|
|00005270| 72 67 76 20 3d 3d 20 27 | 2b 27 29 09 09 09 09 2f |rgv == '|+')..../|
|00005280| 2a 20 73 74 61 72 74 75 | 70 20 66 6f 6c 64 65 72 |* startu|p folder|
|00005290| 20 2a 2f 0a 58 09 09 09 | 6e 61 6d 65 20 3d 20 28 | */.X...|name = (|
|000052a0| 2a 61 72 67 76 29 20 2b | 20 31 3b 0a 58 09 09 65 |*argv) +| 1;.X..e|
|000052b0| 6c 73 65 20 69 66 28 2a | 2a 61 72 67 76 20 21 3d |lse if(*|*argv !=|
|000052c0| 20 27 2d 27 29 20 7b 09 | 09 2f 2a 20 6e 6f 74 20 | '-') {.|./* not |
|000052d0| 61 20 66 6c 61 67 20 2a | 2f 0a 58 09 09 09 47 4f |a flag *|/.X...GO|
|000052e0| 54 4f 5f 4e 41 4d 45 28 | 66 2c 20 2a 61 72 67 76 |TO_NAME(|f, *argv|
|000052f0| 29 3b 0a 58 09 09 09 69 | 66 28 66 20 3d 3d 20 28 |);.X...i|f(f == (|
|00005300| 66 6f 6c 64 65 72 29 20 | 4e 55 4c 4c 29 0a 58 09 |folder) |NULL).X.|
|00005310| 09 09 09 28 76 6f 69 64 | 29 70 72 69 6e 74 66 28 |...(void|)printf(|
|00005320| 22 57 61 72 6e 69 6e 67 | 3a 20 6e 6f 20 73 75 63 |"Warning|: no suc|
|00005330| 68 20 66 6f 6c 64 65 72 | 20 61 73 20 25 73 5c 6e |h folder| as %s\n|
|00005340| 22 2c 20 2a 61 72 67 76 | 29 3b 0a 58 09 09 09 65 |", *argv|);.X...e|
|00005350| 6c 73 65 0a 58 09 09 09 | 09 66 2d 3e 76 61 6c 69 |lse.X...|.f->vali|
|00005360| 64 20 3d 20 74 72 75 65 | 3b 0a 58 09 09 7d 0a 58 |d = true|;.X..}.X|
|00005370| 09 47 4f 54 4f 5f 4e 41 | 4d 45 28 66 2c 20 6e 61 |.GOTO_NA|ME(f, na|
|00005380| 6d 65 29 3b 0a 58 09 69 | 66 28 66 20 3d 3d 20 28 |me);.X.i|f(f == (|
|00005390| 66 6f 6c 64 65 72 29 20 | 4e 55 4c 4c 29 20 7b 0a |folder) |NULL) {.|
|000053a0| 58 09 09 28 76 6f 69 64 | 29 70 72 69 6e 74 66 28 |X..(void|)printf(|
|000053b0| 22 25 73 20 64 6f 65 73 | 20 6e 6f 74 20 65 78 69 |"%s does| not exi|
|000053c0| 73 74 5c 6e 22 2c 20 6e | 61 6d 65 29 3b 0a 58 09 |st\n", n|ame);.X.|
|000053d0| 09 65 78 69 74 28 31 29 | 3b 0a 58 09 7d 0a 58 09 |.exit(1)|;.X.}.X.|
|000053e0| 66 2d 3e 76 61 6c 69 64 | 20 3d 20 74 72 75 65 3b |f->valid| = true;|
|000053f0| 0a 58 09 63 75 72 66 6c | 72 20 3d 20 66 3b 0a 58 |.X.curfl|r = f;.X|
|00005400| 7d 0a 58 0a 58 0a 58 2f | 2a 20 2d 2d 2d 2d 2d 2d |}.X.X.X/|* ------|
|00005410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0a 58 |--------|------.X|
|00005420| 09 52 65 73 65 74 20 74 | 65 72 6d 69 6e 61 6c 2c |.Reset t|erminal,|
|00005430| 20 63 6c 65 61 6e 20 75 | 70 2e 0a 58 2d 2d 2d 2d | clean u|p..X----|
|00005440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005450| 20 2a 2f 0a 58 76 6f 69 | 64 0a 58 74 6f 5f 6e 6f | */.Xvoi|d.Xto_no|
|00005460| 72 6d 61 6c 28 29 0a 58 | 7b 0a 58 09 6d 6f 76 65 |rmal().X|{.X.move|
|00005470| 28 6c 69 6e 65 73 2b 46 | 49 52 53 54 2d 31 2c 20 |(lines+F|IRST-1, |
|00005480| 30 29 3b 0a 58 09 72 65 | 66 72 65 73 68 28 29 3b |0);.X.re|fresh();|
|00005490| 0a 58 09 6e 6f 5f 63 6f | 6e 74 72 6f 6c 28 29 3b |.X.no_co|ntrol();|
|000054a0| 0a 58 09 28 76 6f 69 64 | 29 70 72 69 6e 74 66 28 |.X.(void|)printf(|
|000054b0| 22 5c 6e 22 29 3b 0a 58 | 7d 0a 58 0a 58 0a 58 2f |"\n");.X|}.X.X.X/|
|000054c0| 2a 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |* ------|--------|
|000054d0| 2d 2d 2d 2d 2d 2d 0a 58 | 09 52 65 73 65 74 20 74 |------.X|.Reset t|
|000054e0| 65 72 6d 69 6e 61 6c 2e | 0a 58 2d 2d 2d 2d 2d 2d |erminal.|.X------|
|000054f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 2a |--------|------ *|
|00005500| 2f 0a 58 76 6f 69 64 0a | 58 6e 6f 5f 63 6f 6e 74 |/.Xvoid.|Xno_cont|
|00005510| 72 6f 6c 28 29 0a 58 7b | 0a 58 09 69 6e 74 20 78 |rol().X{|.X.int x|
|00005520| 2c 20 79 3b 0a 58 09 63 | 68 61 72 20 63 3b 0a 58 |, y;.X.c|har c;.X|
|00005530| 0a 58 23 69 66 64 65 66 | 20 53 54 41 4e 44 4f 55 |.X#ifdef| STANDOU|
|00005540| 54 5f 43 4c 45 41 4e 55 | 50 0a 58 09 2f 2a 0a 58 |T_CLEANU|P.X./*.X|
|00005550| 09 20 2a 20 54 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |. * The |followin|
|00005560| 67 20 63 6f 64 65 20 66 | 6f 72 63 65 73 20 63 75 |g code f|orces cu|
|00005570| 72 73 65 73 20 74 6f 20 | 69 73 73 75 65 20 61 20 |rses to |issue a |
|00005580| 73 74 61 6e 64 65 6e 64 | 20 69 66 20 69 74 20 68 |standend| if it h|
|00005590| 61 73 0a 58 09 20 2a 20 | 6f 6e 65 20 70 65 6e 64 |as.X. * |one pend|
|000055a0| 69 6e 67 2e 0a 58 09 20 | 2a 2f 0a 58 0a 58 09 67 |ing..X. |*/.X.X.g|
|000055b0| 65 74 79 78 28 73 74 64 | 73 63 72 2c 20 79 2c 20 |etyx(std|scr, y, |
|000055c0| 78 29 3b 0a 58 09 63 20 | 3d 20 69 6e 63 68 28 29 |x);.X.c |= inch()|
|000055d0| 20 26 20 30 78 37 66 3b | 0a 58 09 69 66 20 28 63 | & 0x7f;|.X.if (c|
|000055e0| 20 3d 3d 20 27 61 27 29 | 20 7b 0a 58 09 20 20 20 | == 'a')| {.X. |
|000055f0| 20 61 64 64 63 68 28 27 | 62 27 29 3b 0a 58 09 7d | addch('|b');.X.}|
|00005600| 0a 58 09 65 6c 73 65 20 | 7b 0a 58 09 20 20 20 20 |.X.else |{.X. |
|00005610| 61 64 64 63 68 28 27 61 | 27 29 3b 0a 58 09 7d 0a |addch('a|');.X.}.|
|00005620| 58 09 6d 6f 76 65 28 79 | 2c 20 78 29 3b 0a 58 09 |X.move(y|, x);.X.|
|00005630| 72 65 66 72 65 73 68 28 | 29 3b 0a 58 09 6d 6f 76 |refresh(|);.X.mov|
|00005640| 65 28 79 2c 20 78 29 3b | 0a 58 09 61 64 64 63 68 |e(y, x);|.X.addch|
|00005650| 28 63 29 3b 0a 58 09 6d | 6f 76 65 28 79 2c 20 78 |(c);.X.m|ove(y, x|
|00005660| 29 3b 0a 58 09 72 65 66 | 72 65 73 68 28 29 3b 0a |);.X.ref|resh();.|
|00005670| 58 23 65 6e 64 69 66 0a | 58 0a 58 09 28 76 6f 69 |X#endif.|X.X.(voi|
|00005680| 64 29 69 6f 63 74 6c 28 | 30 2c 20 54 49 4f 43 53 |d)ioctl(|0, TIOCS|
|00005690| 45 54 50 2c 20 28 63 61 | 64 64 72 5f 74 29 26 74 |ETP, (ca|ddr_t)&t|
|000056a0| 74 79 29 3b 0a 58 09 28 | 76 6f 69 64 29 69 6f 63 |ty);.X.(|void)ioc|
|000056b0| 74 6c 28 30 2c 20 54 49 | 4f 43 53 45 54 50 2c 20 |tl(0, TI|OCSETP, |
|000056c0| 28 63 61 64 64 72 5f 74 | 29 26 63 68 72 73 29 3b |(caddr_t|)&chrs);|
|000056d0| 0a 58 09 28 76 6f 69 64 | 29 69 6f 63 74 6c 28 30 |.X.(void|)ioctl(0|
|000056e0| 2c 20 54 49 4f 43 53 45 | 54 50 2c 20 28 63 61 64 |, TIOCSE|TP, (cad|
|000056f0| 64 72 5f 74 29 26 6c 63 | 68 72 73 29 3b 0a 58 7d |dr_t)&lc|hrs);.X}|
|00005700| 0a 58 0a 58 0a 58 2f 2a | 20 2d 2d 2d 2d 2d 2d 2d |.X.X.X/*| -------|
|00005710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0a 58 09 |--------|-----.X.|
|00005720| 53 65 74 20 74 65 72 6d | 69 6e 61 6c 2e 0a 58 2d |Set term|inal..X-|
|00005730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005740| 2d 2d 2d 20 2a 2f 0a 58 | 76 6f 69 64 0a 58 74 6f |--- */.X|void.Xto|
|00005750| 5f 63 6f 6e 74 72 6f 6c | 28 29 0a 58 7b 0a 58 09 |_control|().X{.X.|
|00005760| 28 76 6f 69 64 29 69 6f | 63 74 6c 28 30 2c 20 54 |(void)io|ctl(0, T|
|00005770| 49 4f 43 53 45 54 50 2c | 20 28 63 61 64 64 72 5f |IOCSETP,| (caddr_|
|00005780| 74 29 26 74 5f 74 74 79 | 29 3b 0a 58 09 28 76 6f |t)&t_tty|);.X.(vo|
|00005790| 69 64 29 69 6f 63 74 6c | 28 30 2c 20 54 49 4f 43 |id)ioctl|(0, TIOC|
|000057a0| 53 45 54 50 2c 20 28 63 | 61 64 64 72 5f 74 29 26 |SETP, (c|addr_t)&|
|000057b0| 74 5f 63 68 72 73 29 3b | 0a 58 09 28 76 6f 69 64 |t_chrs);|.X.(void|
|000057c0| 29 69 6f 63 74 6c 28 30 | 2c 20 54 49 4f 43 53 45 |)ioctl(0|, TIOCSE|
|000057d0| 54 50 2c 20 28 63 61 64 | 64 72 5f 74 29 26 74 5f |TP, (cad|dr_t)&t_|
|000057e0| 6c 63 68 72 73 29 3b 0a | 58 7d 0a 58 0a 58 0a 58 |lchrs);.|X}.X.X.X|
|000057f0| 23 64 65 66 69 6e 65 09 | 6d 61 73 6b 28 73 29 09 |#define.|mask(s).|
|00005800| 28 31 20 3c 3c 20 28 28 | 73 29 2d 31 29 29 0a 58 |(1 << ((|s)-1)).X|
|00005810| 0a 58 2f 2a 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X/* ---|--------|
|00005820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0a 58 09 54 72 61 70 |--------|-.X.Trap|
|00005830| 20 66 6f 72 20 5e 5a 2e | 0a 58 2d 2d 2d 2d 2d 2d | for ^Z.|.X------|
|00005840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 2a |--------|------ *|
|00005850| 2f 0a 58 73 69 67 5f 74 | 79 70 65 0a 58 74 73 74 |/.Xsig_t|ype.Xtst|
|00005860| 70 28 29 0a 58 7b 0a 58 | 09 69 6e 74 09 09 78 2c |p().X{.X|.int..x,|
|00005870| 20 79 3b 0a 58 0a 58 09 | 67 65 74 79 78 28 63 75 | y;.X.X.|getyx(cu|
|00005880| 72 73 63 72 2c 20 79 2c | 20 78 29 3b 0a 58 09 74 |rscr, y,| x);.X.t|
|00005890| 6f 5f 6e 6f 72 6d 61 6c | 28 29 3b 0a 58 09 66 69 |o_normal|();.X.fi|
|000058a0| 78 5f 6d 68 28 29 3b 0a | 58 0a 58 09 28 76 6f 69 |x_mh();.|X.X.(voi|
|000058b0| 64 29 73 69 67 6e 61 6c | 28 53 49 47 54 53 54 50 |d)signal|(SIGTSTP|
|000058c0| 2c 20 53 49 47 5f 44 46 | 4c 29 3b 0a 58 09 28 76 |, SIG_DF|L);.X.(v|
|000058d0| 6f 69 64 29 73 69 67 73 | 65 74 6d 61 73 6b 28 73 |oid)sigs|etmask(s|
|000058e0| 69 67 62 6c 6f 63 6b 28 | 30 29 20 26 7e 20 6d 61 |igblock(|0) &~ ma|
|000058f0| 73 6b 28 53 49 47 54 53 | 54 50 29 29 3b 0a 58 09 |sk(SIGTS|TP));.X.|
|00005900| 28 76 6f 69 64 29 6b 69 | 6c 6c 28 30 2c 20 53 49 |(void)ki|ll(0, SI|
|00005910| 47 54 53 54 50 29 3b 0a | 58 09 28 76 6f 69 64 29 |GTSTP);.|X.(void)|
|00005920| 73 69 67 62 6c 6f 63 6b | 28 6d 61 73 6b 28 53 49 |sigblock|(mask(SI|
|00005930| 47 54 53 54 50 29 29 3b | 0a 58 09 28 76 6f 69 64 |GTSTP));|.X.(void|
|00005940| 29 73 69 67 6e 61 6c 28 | 53 49 47 54 53 54 50 2c |)signal(|SIGTSTP,|
|00005950| 20 74 73 74 70 29 3b 0a | 58 0a 58 09 69 66 28 74 | tstp);.|X.X.if(t|
|00005960| 6f 70 5f 6c 65 76 65 6c | 29 20 7b 0a 58 09 09 74 |op_level|) {.X..t|
|00005970| 6f 5f 63 6f 6e 74 72 6f | 6c 28 29 3b 0a 58 09 09 |o_contro|l();.X..|
|00005980| 74 6f 75 63 68 77 69 6e | 28 63 75 72 73 63 72 29 |touchwin|(curscr)|
|00005990| 3b 0a 58 09 09 28 76 6f | 69 64 29 77 6d 6f 76 65 |;.X..(vo|id)wmove|
|000059a0| 28 63 75 72 73 63 72 2c | 20 79 2c 20 78 29 3b 0a |(curscr,| y, x);.|
|000059b0| 58 09 09 28 76 6f 69 64 | 29 77 72 65 66 72 65 73 |X..(void|)wrefres|
|000059c0| 68 28 63 75 72 73 63 72 | 29 3b 0a 58 09 7d 0a 58 |h(curscr|);.X.}.X|
|000059d0| 7d 0a 58 0a 58 0a 58 2f | 2a 20 2d 2d 2d 2d 2d 2d |}.X.X.X/|* ------|
|000059e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0a 58 |--------|------.X|
|000059f0| 09 54 72 61 70 20 66 6f | 72 20 5e 3f 2e 0a 58 2d |.Trap fo|r ^?..X-|
|00005a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005a10| 2d 2d 2d 20 2a 2f 0a 58 | 0a 58 73 69 67 5f 74 79 |--- */.X|.Xsig_ty|
|00005a20| 70 65 0a 58 74 69 6e 74 | 28 29 0a 58 7b 0a 58 09 |pe.Xtint|().X{.X.|
|00005a30| 74 6f 75 63 68 77 69 6e | 28 73 74 64 73 63 72 29 |touchwin|(stdscr)|
|00005a40| 3b 0a 58 09 61 64 64 73 | 74 61 74 75 73 28 22 2d |;.X.adds|tatus("-|
|00005a50| 2d 20 69 6e 74 65 72 72 | 75 70 74 20 2d 2d 22 2c |- interr|upt --",|
|00005a60| 20 74 72 75 65 29 3b 0a | 58 09 6c 6f 6e 67 6a 6d | true);.|X.longjm|
|00005a70| 70 28 65 6e 76 2c 20 30 | 29 3b 09 2f 2a 20 6a 75 |p(env, 0|);./* ju|
|00005a80| 6d 70 20 74 6f 20 6d 61 | 69 6e 20 2a 2f 0a 58 7d |mp to ma|in */.X}|
|00005a90| 0a 58 0a 58 0a 58 2f 2a | 20 2d 2d 2d 2d 2d 2d 2d |.X.X.X/*| -------|
|00005aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0a 58 09 |--------|-----.X.|
|00005ab0| 43 6f 6e 76 65 72 74 20 | 61 6e 20 61 73 63 69 69 |Convert |an ascii|
|00005ac0| 20 73 74 72 69 6e 67 20 | 74 6f 20 6f 63 74 61 6c | string |to octal|
|00005ad0| 2e 0a 58 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..X-----|--------|
|00005ae0| 2d 2d 2d 2d 2d 2d 2d 20 | 2a 2f 0a 58 69 6e 74 0a |------- |*/.Xint.|
|00005af0| 58 61 74 6f 6f 28 73 74 | 72 29 0a 58 09 63 68 61 |Xatoo(st|r).X.cha|
|00005b00| 72 20 2a 73 74 72 3b 0a | 58 7b 0a 58 09 69 6e 74 |r *str;.|X{.X.int|
|00005b10| 09 09 69 3b 0a 58 0a 58 | 09 66 6f 72 28 3b 20 2a |..i;.X.X|.for(; *|
|00005b20| 73 74 72 20 3c 20 27 30 | 27 20 26 26 20 2a 73 74 |str < '0|' && *st|
|00005b30| 72 20 3e 20 27 37 27 20 | 3b 20 73 74 72 2b 2b 29 |r > '7' |; str++)|
|00005b40| 0a 58 09 09 3b 0a 58 09 | 66 6f 72 28 69 3d 30 20 |.X..;.X.|for(i=0 |
|00005b50| 3b 20 2a 73 74 72 20 3e | 3d 20 27 30 27 20 26 26 |; *str >|= '0' &&|
|00005b60| 20 2a 73 74 72 20 3c 3d | 20 27 37 27 20 3b 20 73 | *str <=| '7' ; s|
|00005b70| 74 72 2b 2b 29 0a 58 09 | 09 69 20 3d 20 69 2a 38 |tr++).X.|.i = i*8|
|00005b80| 20 2b 20 2a 73 74 72 20 | 2d 20 27 30 27 3b 0a 58 | + *str |- '0';.X|
|00005b90| 09 72 65 74 75 72 6e 28 | 69 29 3b 0a 58 7d 0a 58 |.return(|i);.X}.X|
|00005ba0| 0a 58 0a 58 2f 2a 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X.X/* -|--------|
|00005bb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0a 58 09 55 70 |--------|---.X.Up|
|00005bc0| 64 61 74 65 20 4d 48 20 | 65 6e 76 69 72 6f 6e 6d |date MH |environm|
|00005bd0| 65 6e 74 20 2d 20 63 6f | 6e 74 65 78 74 20 61 6e |ent - co|ntext an|
|00005be0| 64 20 63 75 72 72 65 6e | 74 20 6d 61 69 6c 20 69 |d curren|t mail i|
|00005bf0| 74 65 6d 20 6f 66 20 63 | 75 72 72 65 6e 74 20 66 |tem of c|urrent f|
|00005c00| 6f 6c 64 65 72 2e 0a 58 | 2d 2d 2d 2d 2d 2d 2d 2d |older..X|--------|
|00005c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 20 2a 2f 0a |--------|---- */.|
|00005c20| 58 66 69 78 5f 6d 68 28 | 29 0a 58 7b 0a 58 09 63 |Xfix_mh(|).X{.X.c|
|00005c30| 68 61 72 20 73 74 72 5b | 4c 45 4e 5d 2c 20 62 75 |har str[|LEN], bu|
|00005c40| 66 5b 32 30 5d 3b 0a 58 | 0a 58 09 75 70 64 61 74 |f[20];.X|.X.updat|
|00005c50| 65 28 63 6f 6e 74 65 78 | 74 2c 20 22 43 75 72 72 |e(contex|t, "Curr|
|00005c60| 65 6e 74 2d 46 6f 6c 64 | 65 72 3a 22 2c 20 63 75 |ent-Fold|er:", cu|
|00005c70| 72 66 6c 72 2d 3e 6e 61 | 6d 65 2c 20 31 35 29 3b |rflr->na|me, 15);|
|00005c80| 0a 58 09 28 76 6f 69 64 | 29 73 70 72 69 6e 74 66 |.X.(void|)sprintf|
|00005c90| 28 73 74 72 2c 20 22 25 | 73 2f 25 73 2f 25 73 22 |(str, "%|s/%s/%s"|
|00005ca0| 2c 20 6d 61 69 6c 5f 64 | 69 72 2c 20 63 75 72 66 |, mail_d|ir, curf|
|00005cb0| 6c 72 2d 3e 6e 61 6d 65 | 2c 20 53 45 51 55 29 3b |lr->name|, SEQU);|
|00005cc0| 0a 58 09 28 76 6f 69 64 | 29 73 70 72 69 6e 74 66 |.X.(void|)sprintf|
|00005cd0| 28 62 75 66 2c 20 22 25 | 64 22 2c 20 63 75 72 6d |(buf, "%|d", curm|
|00005ce0| 61 69 6c 2d 3e 6e 75 6d | 62 65 72 29 3b 0a 58 09 |ail->num|ber);.X.|
|00005cf0| 75 70 64 61 74 65 28 73 | 74 72 2c 20 22 63 75 72 |update(s|tr, "cur|
|00005d00| 3a 22 2c 20 62 75 66 2c | 20 34 29 3b 0a 58 7d 0a |:", buf,| 4);.X}.|
|00005d10| 58 0a 58 0a 58 2f 2a 20 | 2d 2d 2d 2d 2d 2d 2d 2d |X.X.X/* |--------|
|00005d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0a 58 09 55 |--------|----.X.U|
|00005d30| 70 64 61 74 65 20 66 69 | 6c 65 2c 20 72 65 70 6c |pdate fi|le, repl|
|00005d40| 61 63 69 6e 67 20 6c 69 | 6e 65 20 62 65 67 69 6e |acing li|ne begin|
|00005d50| 6e 69 6e 67 20 77 69 74 | 68 20 6d 61 74 63 68 20 |ning wit|h match |
|00005d60| 6f 66 20 6c 65 6e 20 62 | 79 20 22 6d 61 74 63 68 |of len b|y "match|
|00005d70| 20 6e 65 77 22 2e 0a 58 | 2d 2d 2d 2d 2d 2d 2d 2d | new"..X|--------|
|00005d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 20 2a 2f 0a |--------|---- */.|
|00005d90| 58 75 70 64 61 74 65 28 | 66 69 6c 65 2c 20 6d 61 |Xupdate(|file, ma|
|00005da0| 74 63 68 2c 20 6e 65 77 | 2c 20 6c 65 6e 29 0a 58 |tch, new|, len).X|
|00005db0| 09 63 68 61 72 09 2a 66 | 69 6c 65 2c 20 2a 6d 61 |.char.*f|ile, *ma|
|00005dc0| 74 63 68 2c 20 2a 6e 65 | 77 3b 0a 58 09 69 6e 74 |tch, *ne|w;.X.int|
|00005dd0| 09 09 6c 65 6e 3b 0a 58 | 7b 0a 58 09 46 49 4c 45 |..len;.X|{.X.FILE|
|00005de0| 09 2a 66 70 2c 20 2a 74 | 6d 70 2c 20 2a 66 6f 70 |.*fp, *t|mp, *fop|
|00005df0| 65 6e 28 29 3b 0a 58 09 | 62 6f 6f 6c 09 63 68 61 |en();.X.|bool.cha|
|00005e00| 6e 67 65 20 3d 20 66 61 | 6c 73 65 3b 0a 58 09 63 |nge = fa|lse;.X.c|
|00005e10| 68 61 72 09 2a 6d 6b 74 | 65 6d 70 28 29 2c 20 2a |har.*mkt|emp(), *|
|00005e20| 66 67 65 74 73 28 29 3b | 0a 58 09 63 68 61 72 09 |fgets();|.X.char.|
|00005e30| 73 74 72 5b 4c 45 4e 5d | 2c 20 2a 6e 61 6d 65 20 |str[LEN]|, *name |
|00005e40| 3d 20 6d 6b 74 65 6d 70 | 28 22 2f 74 6d 70 2f 76 |= mktemp|("/tmp/v|
|00005e50| 6d 61 69 6c 2e 58 58 58 | 58 58 58 22 29 3b 0a 58 |mail.XXX|XXX");.X|
|00005e60| 0a 58 09 69 66 28 28 66 | 70 20 3d 20 66 6f 70 65 |.X.if((f|p = fope|
|00005e70| 6e 28 66 69 6c 65 2c 20 | 22 72 22 29 29 20 3d 3d |n(file, |"r")) ==|
|00005e80| 20 28 46 49 4c 45 20 2a | 29 20 4e 55 4c 4c 29 20 | (FILE *|) NULL) |
|00005e90| 7b 0a 58 09 09 69 66 28 | 28 66 70 20 3d 20 66 6f |{.X..if(|(fp = fo|
|00005ea0| 70 65 6e 28 66 69 6c 65 | 2c 20 22 77 2b 22 29 29 |pen(file|, "w+"))|
|00005eb0| 20 3d 3d 20 28 46 49 4c | 45 20 2a 29 20 4e 55 4c | == (FIL|E *) NUL|
|00005ec0| 4c 29 0a 58 09 09 09 28 | 76 6f 69 64 29 70 72 69 |L).X...(|void)pri|
|00005ed0| 6e 74 66 28 22 43 61 6e | 27 74 20 6f 70 65 6e 20 |ntf("Can|'t open |
|00005ee0| 25 73 20 66 6f 72 20 77 | 72 69 74 69 6e 67 5c 6e |%s for w|riting\n|
|00005ef0| 22 2c 20 66 69 6c 65 29 | 3b 0a 58 09 09 65 6c 73 |", file)|;.X..els|
|00005f00| 65 20 7b 0a 58 09 09 09 | 28 76 6f 69 64 29 66 70 |e {.X...|(void)fp|
|00005f10| 72 69 6e 74 66 28 66 70 | 2c 20 22 25 73 20 25 73 |rintf(fp|, "%s %s|
|00005f20| 5c 6e 22 2c 20 6d 61 74 | 63 68 2c 20 6e 65 77 29 |\n", mat|ch, new)|
|00005f30| 3b 0a 58 09 09 09 28 76 | 6f 69 64 29 66 63 6c 6f |;.X...(v|oid)fclo|
|00005f40| 73 65 28 66 70 29 3b 0a | 58 09 09 7d 0a 58 09 7d |se(fp);.|X..}.X.}|
|00005f50| 20 65 6c 73 65 20 7b 0a | 58 09 09 69 66 28 28 74 | else {.|X..if((t|
|00005f60| 6d 70 20 3d 20 66 6f 70 | 65 6e 28 6e 61 6d 65 2c |mp = fop|en(name,|
|00005f70| 20 22 77 2b 22 29 29 20 | 3d 3d 20 28 46 49 4c 45 | "w+")) |== (FILE|
|00005f80| 20 2a 29 20 4e 55 4c 4c | 29 0a 58 09 09 09 28 76 | *) NULL|).X...(v|
|00005f90| 6f 69 64 29 70 72 69 6e | 74 66 28 22 43 61 6e 27 |oid)prin|tf("Can'|
|00005fa0| 74 20 6f 70 65 6e 20 25 | 73 5c 6e 22 2c 20 66 69 |t open %|s\n", fi|
|00005fb0| 6c 65 29 3b 0a 58 09 09 | 65 6c 73 65 20 7b 0a 58 |le);.X..|else {.X|
|00005fc0| 09 09 09 77 68 69 6c 65 | 28 66 67 65 74 73 28 73 |...while|(fgets(s|
|00005fd0| 74 72 2c 20 4c 45 4e 2c | 20 66 70 29 20 21 3d 20 |tr, LEN,| fp) != |
|00005fe0| 28 63 68 61 72 20 2a 29 | 20 4e 55 4c 4c 29 0a 58 |(char *)| NULL).X|
|00005ff0| 09 09 09 09 69 66 28 6c | 73 74 72 6e 63 6d 70 28 |....if(l|strncmp(|
|00006000| 73 74 72 2c 20 6d 61 74 | 63 68 2c 20 6c 65 6e 29 |str, mat|ch, len)|
|00006010| 20 3d 3d 20 30 29 20 7b | 0a 58 09 09 09 09 09 63 | == 0) {|.X.....c|
|00006020| 68 61 6e 67 65 20 3d 20 | 74 72 75 65 3b 0a 58 09 |hange = |true;.X.|
|00006030| 09 09 09 09 28 76 6f 69 | 64 29 66 70 72 69 6e 74 |....(voi|d)fprint|
|00006040| 66 28 74 6d 70 2c 20 22 | 25 73 20 25 73 5c 6e 22 |f(tmp, "|%s %s\n"|
|00006050| 2c 20 6d 61 74 63 68 2c | 20 6e 65 77 29 3b 0a 58 |, match,| new);.X|
|00006060| 09 09 09 09 7d 20 65 6c | 73 65 0a 58 09 09 09 09 |....} el|se.X....|
|00006070| 09 28 76 6f 69 64 29 66 | 70 72 69 6e 74 66 28 74 |.(void)f|printf(t|
|00006080| 6d 70 2c 20 22 25 73 22 | 2c 20 73 74 72 29 3b 0a |mp, "%s"|, str);.|
|00006090| 58 09 09 09 69 66 28 21 | 20 63 68 61 6e 67 65 29 |X...if(!| change)|
|000060a0| 0a 58 09 09 09 09 28 76 | 6f 69 64 29 66 70 72 69 |.X....(v|oid)fpri|
|000060b0| 6e 74 66 28 74 6d 70 2c | 20 22 25 73 20 25 73 5c |ntf(tmp,| "%s %s\|
|000060c0| 6e 22 2c 20 6d 61 74 63 | 68 2c 20 6e 65 77 29 3b |n", matc|h, new);|
|000060d0| 0a 58 09 09 09 28 76 6f | 69 64 29 66 63 6c 6f 73 |.X...(vo|id)fclos|
|000060e0| 65 28 66 70 29 3b 0a 58 | 09 09 09 28 76 6f 69 64 |e(fp);.X|...(void|
|000060f0| 29 66 63 6c 6f 73 65 28 | 74 6d 70 29 3b 0a 58 09 |)fclose(|tmp);.X.|
|00006100| 09 09 69 66 28 28 66 70 | 20 3d 20 66 6f 70 65 6e |..if((fp| = fopen|
|00006110| 28 66 69 6c 65 2c 20 22 | 77 2b 22 29 29 20 3d 3d |(file, "|w+")) ==|
|00006120| 20 28 46 49 4c 45 20 2a | 29 20 4e 55 4c 4c 29 0a | (FILE *|) NULL).|
|00006130| 58 09 09 09 09 28 76 6f | 69 64 29 70 72 69 6e 74 |X....(vo|id)print|
|00006140| 66 28 22 43 61 6e 27 74 | 20 6f 70 65 6e 20 25 73 |f("Can't| open %s|
|00006150| 20 66 6f 72 20 77 72 69 | 74 69 6e 67 5c 6e 22 2c | for wri|ting\n",|
|00006160| 20 66 69 6c 65 29 3b 0a | 58 09 09 09 65 6c 73 65 | file);.|X...else|
|00006170| 20 7b 0a 58 09 09 09 09 | 74 6d 70 20 3d 20 66 6f | {.X....|tmp = fo|
|00006180| 70 65 6e 28 6e 61 6d 65 | 2c 20 22 72 22 29 3b 0a |pen(name|, "r");.|
|00006190| 58 09 09 09 09 77 68 69 | 6c 65 28 66 67 65 74 73 |X....whi|le(fgets|
|000061a0| 28 73 74 72 2c 20 4c 45 | 4e 2c 20 74 6d 70 29 20 |(str, LE|N, tmp) |
|000061b0| 21 3d 20 28 63 68 61 72 | 20 2a 29 20 4e 55 4c 4c |!= (char| *) NULL|
|000061c0| 29 0a 58 09 09 09 09 09 | 28 76 6f 69 64 29 66 70 |).X.....|(void)fp|
|000061d0| 72 69 6e 74 66 28 66 70 | 2c 20 22 25 73 22 2c 20 |rintf(fp|, "%s", |
|000061e0| 73 74 72 29 3b 0a 58 09 | 09 09 09 28 76 6f 69 64 |str);.X.|...(void|
|000061f0| 29 66 63 6c 6f 73 65 28 | 66 70 29 3b 0a 58 09 09 |)fclose(|fp);.X..|
|00006200| 09 09 28 76 6f 69 64 29 | 66 63 6c 6f 73 65 28 74 |..(void)|fclose(t|
|00006210| 6d 70 29 3b 0a 58 09 09 | 09 09 28 76 6f 69 64 29 |mp);.X..|..(void)|
|00006220| 75 6e 6c 69 6e 6b 28 6e | 61 6d 65 29 3b 0a 58 09 |unlink(n|ame);.X.|
|00006230| 09 09 7d 0a 58 09 09 7d | 0a 58 09 7d 0a 58 7d 0a |..}.X..}|.X.}.X}.|
|00006240| 45 4e 44 5f 4f 46 5f 69 | 6e 69 74 2e 63 0a 69 66 |END_OF_i|nit.c.if|
|00006250| 20 74 65 73 74 20 31 31 | 31 30 34 20 2d 6e 65 20 | test 11|104 -ne |
|00006260| 60 77 63 20 2d 63 20 3c | 69 6e 69 74 2e 63 60 3b |`wc -c <|init.c`;|
|00006270| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 73 | then. | echo s|
|00006280| 68 61 72 3a 20 5c 22 69 | 6e 69 74 2e 63 5c 22 20 |har: \"i|nit.c\" |
|00006290| 75 6e 70 61 63 6b 65 64 | 20 77 69 74 68 20 77 72 |unpacked| with wr|
|000062a0| 6f 6e 67 20 73 69 7a 65 | 21 0a 66 69 0a 23 20 65 |ong size|!.fi.# e|
|000062b0| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|000062c0| 67 20 63 68 65 63 6b 0a | 66 69 0a 69 66 20 74 65 |g check.|fi.if te|
|000062d0| 73 74 20 2d 66 20 6d 61 | 69 6e 2e 63 20 2d 61 20 |st -f ma|in.c -a |
|000062e0| 22 24 7b 31 7d 22 20 21 | 3d 20 22 2d 63 22 20 3b |"${1}" !|= "-c" ;|
|000062f0| 20 74 68 65 6e 20 0a 20 | 20 65 63 68 6f 20 73 68 | then . | echo sh|
|00006300| 61 72 3a 20 57 69 6c 6c | 20 6e 6f 74 20 6f 76 65 |ar: Will| not ove|
|00006310| 72 2d 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |r-write |existing|
|00006320| 20 66 69 6c 65 20 5c 22 | 6d 61 69 6e 2e 63 5c 22 | file \"|main.c\"|
|00006330| 0a 65 6c 73 65 0a 65 63 | 68 6f 20 73 68 61 72 3a |.else.ec|ho shar:|
|00006340| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 6d 61 | Extract|ing \"ma|
|00006350| 69 6e 2e 63 5c 22 20 5c | 28 39 39 30 32 20 63 68 |in.c\" \|(9902 ch|
|00006360| 61 72 61 63 74 65 72 73 | 5c 29 0a 73 65 64 20 22 |aracters|\).sed "|
|00006370| 73 2f 5e 58 2f 2f 22 20 | 3e 6d 61 69 6e 2e 63 20 |s/^X//" |>main.c |
|00006380| 3c 3c 27 45 4e 44 5f 4f | 46 5f 6d 61 69 6e 2e 63 |<<'END_O|F_main.c|
|00006390| 27 0a 58 23 69 66 6e 64 | 65 66 20 6c 69 6e 74 0a |'.X#ifnd|ef lint.|
|000063a0| 58 73 74 61 74 69 63 20 | 63 68 61 72 20 2a 52 43 |Xstatic |char *RC|
|000063b0| 53 5f 6d 61 69 6e 5f 63 | 20 3d 20 22 24 49 64 3a |S_main_c| = "$Id:|
|000063c0| 20 6d 61 69 6e 2e 63 2c | 76 20 31 2e 34 20 39 31 | main.c,|v 1.4 91|
|000063d0| 2f 30 33 2f 30 38 20 31 | 35 3a 35 37 3a 33 32 20 |/03/08 1|5:57:32 |
|000063e0| 6a 61 6d 65 73 70 20 45 | 78 70 20 24 22 3b 0a 58 |jamesp E|xp $";.X|
|000063f0| 23 65 6e 64 69 66 0a 58 | 0a 58 2f 2a 20 2d 2d 2d |#endif.X|.X/* ---|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.