home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume3 / xgone / part01 next >
SHell self-extracting ARchive  |  1989-03-11  |  29.1 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: part01

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



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 75 75 | 6e 65 74 21 61 6d 64 61 |Path: uu|net!amda|
|00000010| 68 6c 21 61 6d 65 73 21 | 70 61 73 74 65 75 72 21 |hl!ames!|pasteur!|
|00000020| 75 63 62 76 61 78 21 64 | 65 63 77 72 6c 21 77 79 |ucbvax!d|ecwrl!wy|
|00000030| 73 65 21 6d 69 6b 65 77 | 0a 46 72 6f 6d 3a 20 6d |se!mikew|.From: m|
|00000040| 69 6b 65 77 40 77 79 73 | 65 2e 77 79 73 65 2e 63 |ikew@wys|e.wyse.c|
|00000050| 6f 6d 20 28 4d 69 6b 65 | 20 57 65 78 6c 65 72 29 |om (Mike| Wexler)|
|00000060| 0a 4e 65 77 73 67 72 6f | 75 70 73 3a 20 63 6f 6d |.Newsgro|ups: com|
|00000070| 70 2e 73 6f 75 72 63 65 | 73 2e 78 0a 53 75 62 6a |p.source|s.x.Subj|
|00000080| 65 63 74 3a 20 76 30 33 | 69 30 35 30 3a 20 20 6f |ect: v03|i050: o|
|00000090| 6e 65 20 6d 6f 72 65 20 | 6c 6f 63 6b 73 63 72 65 |ne more |lockscre|
|000000a0| 65 6e 20 70 72 6f 67 72 | 61 6d 2c 20 50 61 72 74 |en progr|am, Part|
|000000b0| 30 31 2f 30 31 0a 4d 65 | 73 73 61 67 65 2d 49 44 |01/01.Me|ssage-ID|
|000000c0| 3a 20 3c 32 31 33 30 40 | 77 79 73 65 2e 77 79 73 |: <2130@|wyse.wys|
|000000d0| 65 2e 63 6f 6d 3e 0a 44 | 61 74 65 3a 20 31 30 20 |e.com>.D|ate: 10 |
|000000e0| 4d 61 72 20 38 39 20 32 | 30 3a 34 31 3a 32 35 20 |Mar 89 2|0:41:25 |
|000000f0| 47 4d 54 0a 4f 72 67 61 | 6e 69 7a 61 74 69 6f 6e |GMT.Orga|nization|
|00000100| 3a 20 57 79 73 65 20 54 | 65 63 68 6e 6f 6c 6f 67 |: Wyse T|echnolog|
|00000110| 79 2c 20 53 61 6e 20 4a | 6f 73 65 0a 4c 69 6e 65 |y, San J|ose.Line|
|00000120| 73 3a 20 39 34 37 0a 41 | 70 70 72 6f 76 65 64 3a |s: 947.A|pproved:|
|00000130| 20 6d 69 6b 65 77 40 77 | 79 73 65 2e 63 6f 6d 0a | mikew@w|yse.com.|
|00000140| 0a 53 75 62 6d 69 74 74 | 65 64 2d 62 79 3a 20 72 |.Submitt|ed-by: r|
|00000150| 61 6a 40 74 65 72 74 69 | 75 73 2e 69 63 73 2e 75 |aj@terti|us.ics.u|
|00000160| 63 69 2e 65 64 75 20 28 | 52 69 63 68 61 72 64 20 |ci.edu (|Richard |
|00000170| 4a 6f 68 6e 73 6f 6e 29 | 0a 50 6f 73 74 69 6e 67 |Johnson)|.Posting|
|00000180| 2d 6e 75 6d 62 65 72 3a | 20 56 6f 6c 75 6d 65 20 |-number:| Volume |
|00000190| 33 2c 20 49 73 73 75 65 | 20 35 30 0a 41 72 63 68 |3, Issue| 50.Arch|
|000001a0| 69 76 65 2d 6e 61 6d 65 | 3a 20 78 67 6f 6e 65 2f |ive-name|: xgone/|
|000001b0| 70 61 72 74 30 31 0a 0a | 23 21 20 2f 62 69 6e 2f |part01..|#! /bin/|
|000001c0| 73 68 0a 23 20 54 68 69 | 73 20 69 73 20 61 20 73 |sh.# Thi|s is a s|
|000001d0| 68 65 6c 6c 20 61 72 63 | 68 69 76 65 2e 20 20 52 |hell arc|hive. R|
|000001e0| 65 6d 6f 76 65 20 61 6e | 79 74 68 69 6e 67 20 62 |emove an|ything b|
|000001f0| 65 66 6f 72 65 20 74 68 | 69 73 20 6c 69 6e 65 2c |efore th|is line,|
|00000200| 20 74 68 65 6e 20 75 6e | 70 61 63 6b 0a 23 20 69 | then un|pack.# i|
|00000210| 74 20 62 79 20 73 61 76 | 69 6e 67 20 69 74 20 69 |t by sav|ing it i|
|00000220| 6e 74 6f 20 61 20 66 69 | 6c 65 20 61 6e 64 20 74 |nto a fi|le and t|
|00000230| 79 70 69 6e 67 20 22 73 | 68 20 66 69 6c 65 22 2e |yping "s|h file".|
|00000240| 20 20 54 6f 20 6f 76 65 | 72 77 72 69 74 65 20 65 | To ove|rwrite e|
|00000250| 78 69 73 74 69 6e 67 0a | 23 20 66 69 6c 65 73 2c |xisting.|# files,|
|00000260| 20 74 79 70 65 20 22 73 | 68 20 66 69 6c 65 20 2d | type "s|h file -|
|00000270| 63 22 2e 20 20 59 6f 75 | 20 63 61 6e 20 61 6c 73 |c". You| can als|
|00000280| 6f 20 66 65 65 64 20 74 | 68 69 73 20 61 73 20 73 |o feed t|his as s|
|00000290| 74 61 6e 64 61 72 64 20 | 69 6e 70 75 74 20 76 69 |tandard |input vi|
|000002a0| 61 0a 23 20 75 6e 73 68 | 61 72 2c 20 6f 72 20 62 |a.# unsh|ar, or b|
|000002b0| 79 20 74 79 70 69 6e 67 | 20 22 73 68 20 3c 66 69 |y typing| "sh <fi|
|000002c0| 6c 65 22 2c 20 65 2e 67 | 2e 2e 20 20 49 66 20 74 |le", e.g|.. If t|
|000002d0| 68 69 73 20 61 72 63 68 | 69 76 65 20 69 73 20 63 |his arch|ive is c|
|000002e0| 6f 6d 70 6c 65 74 65 2c | 20 79 6f 75 0a 23 20 77 |omplete,| you.# w|
|000002f0| 69 6c 6c 20 73 65 65 20 | 74 68 65 20 66 6f 6c 6c |ill see |the foll|
|00000300| 6f 77 69 6e 67 20 6d 65 | 73 73 61 67 65 20 61 74 |owing me|ssage at|
|00000310| 20 74 68 65 20 65 6e 64 | 3a 0a 23 09 09 22 45 6e | the end|:.#.."En|
|00000320| 64 20 6f 66 20 61 72 63 | 68 69 76 65 20 31 20 28 |d of arc|hive 1 (|
|00000330| 6f 66 20 31 29 2e 22 0a | 23 20 43 6f 6e 74 65 6e |of 1).".|# Conten|
|00000340| 74 73 3a 20 20 52 45 41 | 44 4d 45 20 41 55 54 48 |ts: REA|DME AUTH|
|00000350| 4f 52 20 49 6d 61 6b 65 | 66 69 6c 65 20 4d 61 6b |OR Imake|file Mak|
|00000360| 65 66 69 6c 65 20 70 61 | 74 63 68 6c 65 76 65 6c |efile pa|tchlevel|
|00000370| 2e 68 20 78 67 6f 6e 65 | 2e 63 0a 23 20 20 20 78 |.h xgone|.c.# x|
|00000380| 67 6f 6e 65 2e 6d 61 6e | 0a 23 20 57 72 61 70 70 |gone.man|.# Wrapp|
|00000390| 65 64 20 62 79 20 6d 69 | 6b 65 77 40 77 79 73 65 |ed by mi|kew@wyse|
|000003a0| 20 6f 6e 20 46 72 69 20 | 4d 61 72 20 31 30 20 31 | on Fri |Mar 10 1|
|000003b0| 32 3a 33 39 3a 33 37 20 | 31 39 38 39 0a 50 41 54 |2:39:37 |1989.PAT|
|000003c0| 48 3d 2f 62 69 6e 3a 2f | 75 73 72 2f 62 69 6e 3a |H=/bin:/|usr/bin:|
|000003d0| 2f 75 73 72 2f 75 63 62 | 20 3b 20 65 78 70 6f 72 |/usr/ucb| ; expor|
|000003e0| 74 20 50 41 54 48 0a 69 | 66 20 74 65 73 74 20 2d |t PATH.i|f test -|
|000003f0| 66 20 27 52 45 41 44 4d | 45 27 20 2d 61 20 22 24 |f 'READM|E' -a "$|
|00000400| 7b 31 7d 22 20 21 3d 20 | 22 2d 63 22 20 3b 20 74 |{1}" != |"-c" ; t|
|00000410| 68 65 6e 20 0a 20 20 65 | 63 68 6f 20 73 68 61 72 |hen . e|cho shar|
|00000420| 3a 20 57 69 6c 6c 20 6e | 6f 74 20 63 6c 6f 62 62 |: Will n|ot clobb|
|00000430| 65 72 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |er exist|ing file|
|00000440| 20 5c 22 27 52 45 41 44 | 4d 45 27 5c 22 0a 65 6c | \"'READ|ME'\".el|
|00000450| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|00000460| 74 72 61 63 74 69 6e 67 | 20 5c 22 27 52 45 41 44 |tracting| \"'READ|
|00000470| 4d 45 27 5c 22 20 5c 28 | 32 39 31 20 63 68 61 72 |ME'\" \(|291 char|
|00000480| 61 63 74 65 72 73 5c 29 | 0a 73 65 64 20 22 73 2f |acters\)|.sed "s/|
|00000490| 5e 58 2f 2f 22 20 3e 27 | 52 45 41 44 4d 45 27 20 |^X//" >'|README' |
|000004a0| 3c 3c 27 45 4e 44 5f 4f | 46 5f 46 49 4c 45 27 0a |<<'END_O|F_FILE'.|
|000004b0| 58 20 20 20 20 20 58 67 | 6f 6e 65 20 6c 6f 63 6b |X Xg|one lock|
|000004c0| 73 20 74 68 65 20 73 63 | 72 65 65 6e 20 75 6e 74 |s the sc|reen unt|
|000004d0| 69 6c 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 75 |il the c|urrent u|
|000004e0| 73 65 72 27 73 20 70 61 | 73 73 77 6f 72 64 20 20 |ser's pa|ssword |
|000004f0| 69 73 0a 58 20 20 20 20 | 20 65 6e 74 65 72 65 64 |is.X | entered|
|00000500| 2e 20 20 57 68 69 6c 65 | 20 77 61 69 74 69 6e 67 |. While| waiting|
|00000510| 2c 20 69 74 20 64 69 73 | 70 6c 61 79 73 20 61 20 |, it dis|plays a |
|00000520| 6d 65 73 73 61 67 65 20 | 74 65 6c 6c 69 6e 67 20 |message |telling |
|00000530| 77 68 65 72 65 0a 58 20 | 20 20 20 20 74 68 65 20 |where.X | the |
|00000540| 70 65 72 73 6f 6e 20 77 | 65 6e 74 20 61 6e 64 20 |person w|ent and |
|00000550| 77 68 65 6e 20 74 68 65 | 79 20 73 74 61 72 74 65 |when the|y starte|
|00000560| 64 20 74 68 65 20 70 72 | 6f 67 72 61 6d 20 61 6e |d the pr|ogram an|
|00000570| 64 20 20 6d 6f 76 65 73 | 0a 58 20 20 20 20 20 74 |d moves|.X t|
|00000580| 68 69 73 20 20 74 65 78 | 74 20 20 61 72 6f 75 6e |his tex|t aroun|
|00000590| 64 20 20 74 68 65 20 73 | 63 72 65 65 6e 20 74 6f |d the s|creen to|
|000005a0| 20 61 76 6f 69 64 20 62 | 75 72 6e 69 6e 67 20 74 | avoid b|urning t|
|000005b0| 68 65 6d 20 69 6e 20 61 | 74 20 61 0a 58 20 20 20 |hem in a|t a.X |
|000005c0| 20 20 70 61 72 74 69 63 | 75 6c 61 72 20 6c 6f 63 | partic|ular loc|
|000005d0| 61 74 69 6f 6e 2e 0a 58 | 0a 45 4e 44 5f 4f 46 5f |ation..X|.END_OF_|
|000005e0| 46 49 4c 45 0a 69 66 20 | 74 65 73 74 20 32 39 31 |FILE.if |test 291|
|000005f0| 20 2d 6e 65 20 60 77 63 | 20 2d 63 20 3c 27 52 45 | -ne `wc| -c <'RE|
|00000600| 41 44 4d 45 27 60 3b 20 | 74 68 65 6e 0a 20 20 20 |ADME'`; |then. |
|00000610| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 5c 22 27 52 | echo sh|ar: \"'R|
|00000620| 45 41 44 4d 45 27 5c 22 | 20 75 6e 70 61 63 6b 65 |EADME'\"| unpacke|
|00000630| 64 20 77 69 74 68 20 77 | 72 6f 6e 67 20 73 69 7a |d with w|rong siz|
|00000640| 65 21 0a 66 69 0a 23 20 | 65 6e 64 20 6f 66 20 27 |e!.fi.# |end of '|
|00000650| 52 45 41 44 4d 45 27 0a | 66 69 0a 69 66 20 74 65 |README'.|fi.if te|
|00000660| 73 74 20 2d 66 20 27 41 | 55 54 48 4f 52 27 20 2d |st -f 'A|UTHOR' -|
|00000670| 61 20 22 24 7b 31 7d 22 | 20 21 3d 20 22 2d 63 22 |a "${1}"| != "-c"|
|00000680| 20 3b 20 74 68 65 6e 20 | 0a 20 20 65 63 68 6f 20 | ; then |. echo |
|00000690| 73 68 61 72 3a 20 57 69 | 6c 6c 20 6e 6f 74 20 63 |shar: Wi|ll not c|
|000006a0| 6c 6f 62 62 65 72 20 65 | 78 69 73 74 69 6e 67 20 |lobber e|xisting |
|000006b0| 66 69 6c 65 20 5c 22 27 | 41 55 54 48 4f 52 27 5c |file \"'|AUTHOR'\|
|000006c0| 22 0a 65 6c 73 65 0a 65 | 63 68 6f 20 73 68 61 72 |".else.e|cho shar|
|000006d0| 3a 20 45 78 74 72 61 63 | 74 69 6e 67 20 5c 22 27 |: Extrac|ting \"'|
|000006e0| 41 55 54 48 4f 52 27 5c | 22 20 5c 28 38 34 33 20 |AUTHOR'\|" \(843 |
|000006f0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 73 65 64 |characte|rs\).sed|
|00000700| 20 22 73 2f 5e 58 2f 2f | 22 20 3e 27 41 55 54 48 | "s/^X//|" >'AUTH|
|00000710| 4f 52 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |OR' <<'E|ND_OF_FI|
|00000720| 4c 45 27 0a 58 28 4d 65 | 73 73 61 67 65 20 69 6e |LE'.X(Me|ssage in|
|00000730| 62 6f 78 3a 31 32 33 34 | 29 0a 58 52 65 74 75 72 |box:1234|).XRetur|
|00000740| 6e 2d 50 61 74 68 3a 20 | 6e 65 77 73 40 50 41 52 |n-Path: |news@PAR|
|00000750| 49 53 2e 49 43 53 2e 55 | 43 49 2e 45 44 55 0a 58 |IS.ICS.U|CI.EDU.X|
|00000760| 52 65 63 65 69 76 65 64 | 3a 20 20 62 79 20 77 79 |Received|: by wy|
|00000770| 73 65 2e 77 79 73 65 2e | 63 6f 6d 20 28 35 2e 35 |se.wyse.|com (5.5|
|00000780| 38 2f 57 79 73 65 20 6d | 61 73 74 65 72 2f 35 2d |8/Wyse m|aster/5-|
|00000790| 31 33 2d 38 38 29 0a 58 | 09 69 64 20 41 41 31 34 |13-88).X|.id AA14|
|000007a0| 30 38 34 3b 20 46 72 69 | 2c 20 31 30 20 4d 61 72 |084; Fri|, 10 Mar|
|000007b0| 20 38 39 20 30 39 3a 35 | 33 3a 32 34 20 50 53 54 | 89 09:5|3:24 PST|
|000007c0| 0a 58 52 65 63 65 69 76 | 65 64 3a 20 66 72 6f 6d |.XReceiv|ed: from|
|000007d0| 20 75 63 73 64 2e 65 64 | 75 20 62 79 20 75 75 6e | ucsd.ed|u by uun|
|000007e0| 65 74 2e 55 55 2e 4e 45 | 54 20 28 35 2e 36 31 2f |et.UU.NE|T (5.61/|
|000007f0| 31 2e 31 34 29 20 77 69 | 74 68 20 53 4d 54 50 20 |1.14) wi|th SMTP |
|00000800| 0a 58 09 69 64 20 41 41 | 30 35 30 30 37 3b 20 46 |.X.id AA|05007; F|
|00000810| 72 69 2c 20 31 30 20 4d | 61 72 20 38 39 20 30 30 |ri, 10 M|ar 89 00|
|00000820| 3a 32 35 3a 34 36 20 2d | 30 35 30 30 0a 58 52 65 |:25:46 -|0500.XRe|
|00000830| 63 65 69 76 65 64 3a 20 | 66 72 6f 6d 20 70 61 72 |ceived: |from par|
|00000840| 69 73 2e 69 63 73 2e 75 | 63 69 2e 65 64 75 20 62 |is.ics.u|ci.edu b|
|00000850| 79 20 75 63 73 64 2e 65 | 64 75 3b 20 69 64 20 41 |y ucsd.e|du; id A|
|00000860| 41 31 37 39 38 30 0a 58 | 09 73 65 6e 64 6d 61 69 |A17980.X|.sendmai|
|00000870| 6c 20 35 2e 36 30 2f 55 | 43 53 44 2d 31 2e 30 0a |l 5.60/U|CSD-1.0.|
|00000880| 58 09 54 68 75 2c 20 39 | 20 4d 61 72 20 38 39 20 |X.Thu, 9| Mar 89 |
|00000890| 31 39 3a 35 37 3a 32 39 | 20 50 53 54 0a 58 54 6f |19:57:29| PST.XTo|
|000008a0| 3a 20 63 6f 6d 70 2d 73 | 6f 75 72 63 65 73 2d 78 |: comp-s|ources-x|
|000008b0| 25 75 63 73 64 2e 65 64 | 75 40 50 41 52 49 53 2e |%ucsd.ed|u@PARIS.|
|000008c0| 49 43 53 2e 55 43 49 2e | 45 44 55 0a 58 50 61 74 |ICS.UCI.|EDU.XPat|
|000008d0| 68 3a 20 75 63 69 2d 69 | 63 73 21 74 65 72 74 69 |h: uci-i|cs!terti|
|000008e0| 75 73 2e 69 63 73 2e 75 | 63 69 2e 65 64 75 21 72 |us.ics.u|ci.edu!r|
|000008f0| 61 6a 0a 58 46 72 6f 6d | 3a 20 72 61 6a 25 74 65 |aj.XFrom|: raj%te|
|00000900| 72 74 69 75 73 2e 69 63 | 73 2e 75 63 69 2e 65 64 |rtius.ic|s.uci.ed|
|00000910| 75 40 50 41 52 49 53 2e | 49 43 53 2e 55 43 49 2e |u@PARIS.|ICS.UCI.|
|00000920| 45 44 55 0a 58 4e 65 77 | 73 67 72 6f 75 70 73 3a |EDU.XNew|sgroups:|
|00000930| 20 63 6f 6d 70 2e 73 6f | 75 72 63 65 73 2e 78 0a | comp.so|urces.x.|
|00000940| 58 53 75 62 6a 65 63 74 | 3a 20 54 68 65 20 22 67 |XSubject|: The "g|
|00000950| 6f 6e 65 22 20 70 72 6f | 67 72 61 6d 20 66 6f 72 |one" pro|gram for|
|00000960| 20 58 31 31 0a 58 4d 65 | 73 73 61 67 65 2d 49 64 | X11.XMe|ssage-Id|
|00000970| 3a 20 3c 38 39 31 36 40 | 70 61 72 69 73 2e 69 63 |: <8916@|paris.ic|
|00000980| 73 2e 75 63 69 2e 65 64 | 75 3e 0a 58 44 61 74 65 |s.uci.ed|u>.XDate|
|00000990| 3a 20 31 30 20 4d 61 72 | 20 38 39 20 30 33 3a 35 |: 10 Mar| 89 03:5|
|000009a0| 32 3a 30 37 20 47 4d 54 | 0a 58 53 65 6e 64 65 72 |2:07 GMT|.XSender|
|000009b0| 3a 20 6e 65 77 73 40 50 | 41 52 49 53 2e 49 43 53 |: news@P|ARIS.ICS|
|000009c0| 2e 55 43 49 2e 45 44 55 | 0a 58 52 65 70 6c 79 2d |.UCI.EDU|.XReply-|
|000009d0| 54 6f 3a 20 3c 72 61 6a | 25 74 65 72 74 69 75 73 |To: <raj|%tertius|
|000009e0| 2e 69 63 73 2e 75 63 69 | 2e 65 64 75 40 50 41 52 |.ics.uci|.edu@PAR|
|000009f0| 49 53 2e 49 43 53 2e 55 | 43 49 2e 45 44 55 3e 0a |IS.ICS.U|CI.EDU>.|
|00000a00| 58 4f 72 67 61 6e 69 7a | 61 74 69 6f 6e 3a 20 55 |XOrganiz|ation: U|
|00000a10| 6e 69 76 65 72 73 69 74 | 79 20 6f 66 20 43 61 6c |niversit|y of Cal|
|00000a20| 69 66 6f 72 6e 69 61 2c | 20 49 72 76 69 6e 65 20 |ifornia,| Irvine |
|00000a30| 2d 20 44 65 70 74 20 6f | 66 20 49 43 53 0a 58 4c |- Dept o|f ICS.XL|
|00000a40| 69 6e 65 73 3a 20 38 39 | 30 0a 58 53 6f 75 72 63 |ines: 89|0.XSourc|
|00000a50| 65 2d 49 6e 66 6f 3a 20 | 20 46 72 6f 6d 20 28 6f |e-Info: | From (o|
|00000a60| 72 20 53 65 6e 64 65 72 | 29 20 6e 61 6d 65 20 6e |r Sender|) name n|
|00000a70| 6f 74 20 61 75 74 68 65 | 6e 74 69 63 61 74 65 64 |ot authe|nticated|
|00000a80| 2e 0a 58 0a 58 0a 45 4e | 44 5f 4f 46 5f 46 49 4c |..X.X.EN|D_OF_FIL|
|00000a90| 45 0a 69 66 20 74 65 73 | 74 20 38 34 33 20 2d 6e |E.if tes|t 843 -n|
|00000aa0| 65 20 60 77 63 20 2d 63 | 20 3c 27 41 55 54 48 4f |e `wc -c| <'AUTHO|
|00000ab0| 52 27 60 3b 20 74 68 65 | 6e 0a 20 20 20 20 65 63 |R'`; the|n. ec|
|00000ac0| 68 6f 20 73 68 61 72 3a | 20 5c 22 27 41 55 54 48 |ho shar:| \"'AUTH|
|00000ad0| 4f 52 27 5c 22 20 75 6e | 70 61 63 6b 65 64 20 77 |OR'\" un|packed w|
|00000ae0| 69 74 68 20 77 72 6f 6e | 67 20 73 69 7a 65 21 0a |ith wron|g size!.|
|00000af0| 66 69 0a 23 20 65 6e 64 | 20 6f 66 20 27 41 55 54 |fi.# end| of 'AUT|
|00000b00| 48 4f 52 27 0a 66 69 0a | 69 66 20 74 65 73 74 20 |HOR'.fi.|if test |
|00000b10| 2d 66 20 27 49 6d 61 6b | 65 66 69 6c 65 27 20 2d |-f 'Imak|efile' -|
|00000b20| 61 20 22 24 7b 31 7d 22 | 20 21 3d 20 22 2d 63 22 |a "${1}"| != "-c"|
|00000b30| 20 3b 20 74 68 65 6e 20 | 0a 20 20 65 63 68 6f 20 | ; then |. echo |
|00000b40| 73 68 61 72 3a 20 57 69 | 6c 6c 20 6e 6f 74 20 63 |shar: Wi|ll not c|
|00000b50| 6c 6f 62 62 65 72 20 65 | 78 69 73 74 69 6e 67 20 |lobber e|xisting |
|00000b60| 66 69 6c 65 20 5c 22 27 | 49 6d 61 6b 65 66 69 6c |file \"'|Imakefil|
|00000b70| 65 27 5c 22 0a 65 6c 73 | 65 0a 65 63 68 6f 20 73 |e'\".els|e.echo s|
|00000b80| 68 61 72 3a 20 45 78 74 | 72 61 63 74 69 6e 67 20 |har: Ext|racting |
|00000b90| 5c 22 27 49 6d 61 6b 65 | 66 69 6c 65 27 5c 22 20 |\"'Imake|file'\" |
|00000ba0| 5c 28 31 30 37 20 63 68 | 61 72 61 63 74 65 72 73 |\(107 ch|aracters|
|00000bb0| 5c 29 0a 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |\).sed "|s/^X//" |
|00000bc0| 3e 27 49 6d 61 6b 65 66 | 69 6c 65 27 20 3c 3c 27 |>'Imakef|ile' <<'|
|00000bd0| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 20 20 |END_OF_F|ILE'.X |
|00000be0| 20 20 20 20 20 20 20 20 | 20 53 52 43 53 20 3d 20 | | SRCS = |
|00000bf0| 78 67 6f 6e 65 2e 63 0a | 58 20 20 20 20 20 20 20 |xgone.c.|X |
|00000c00| 20 20 20 20 4f 42 4a 53 | 20 3d 20 78 67 6f 6e 65 | OBJS| = xgone|
|00000c10| 2e 6f 0a 58 4c 4f 43 41 | 4c 5f 4c 49 42 52 41 52 |.o.XLOCA|L_LIBRAR|
|00000c20| 49 45 53 20 3d 20 24 28 | 58 4c 49 42 29 0a 58 0a |IES = $(|XLIB).X.|
|00000c30| 58 43 6f 6d 70 6c 65 78 | 50 72 6f 67 72 61 6d 54 |XComplex|ProgramT|
|00000c40| 61 72 67 65 74 28 78 67 | 6f 6e 65 29 0a 45 4e 44 |arget(xg|one).END|
|00000c50| 5f 4f 46 5f 46 49 4c 45 | 0a 69 66 20 74 65 73 74 |_OF_FILE|.if test|
|00000c60| 20 31 30 37 20 2d 6e 65 | 20 60 77 63 20 2d 63 20 | 107 -ne| `wc -c |
|00000c70| 3c 27 49 6d 61 6b 65 66 | 69 6c 65 27 60 3b 20 74 |<'Imakef|ile'`; t|
|00000c80| 68 65 6e 0a 20 20 20 20 | 65 63 68 6f 20 73 68 61 |hen. |echo sha|
|00000c90| 72 3a 20 5c 22 27 49 6d | 61 6b 65 66 69 6c 65 27 |r: \"'Im|akefile'|
|00000ca0| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|00000cb0| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 66 69 0a | wrong s|ize!.fi.|
|00000cc0| 23 20 65 6e 64 20 6f 66 | 20 27 49 6d 61 6b 65 66 |# end of| 'Imakef|
|00000cd0| 69 6c 65 27 0a 66 69 0a | 69 66 20 74 65 73 74 20 |ile'.fi.|if test |
|00000ce0| 2d 66 20 27 4d 61 6b 65 | 66 69 6c 65 27 20 2d 61 |-f 'Make|file' -a|
|00000cf0| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|00000d00| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|00000d10| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 63 6c |har: Wil|l not cl|
|00000d20| 6f 62 62 65 72 20 65 78 | 69 73 74 69 6e 67 20 66 |obber ex|isting f|
|00000d30| 69 6c 65 20 5c 22 27 4d | 61 6b 65 66 69 6c 65 27 |ile \"'M|akefile'|
|00000d40| 5c 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 73 68 61 |\".else.|echo sha|
|00000d50| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|00000d60| 27 4d 61 6b 65 66 69 6c | 65 27 5c 22 20 5c 28 36 |'Makefil|e'\" \(6|
|00000d70| 34 31 38 20 63 68 61 72 | 61 63 74 65 72 73 5c 29 |418 char|acters\)|
|00000d80| 0a 73 65 64 20 22 73 2f | 5e 58 2f 2f 22 20 3e 27 |.sed "s/|^X//" >'|
|00000d90| 4d 61 6b 65 66 69 6c 65 | 27 20 3c 3c 27 45 4e 44 |Makefile|' <<'END|
|00000da0| 5f 4f 46 5f 46 49 4c 45 | 27 0a 58 23 20 4d 61 6b |_OF_FILE|'.X# Mak|
|00000db0| 65 66 69 6c 65 20 67 65 | 6e 65 72 61 74 65 64 20 |efile ge|nerated |
|00000dc0| 62 79 20 69 6d 61 6b 65 | 20 2d 20 64 6f 20 6e 6f |by imake| - do no|
|00000dd0| 74 20 65 64 69 74 21 0a | 58 23 20 24 58 43 6f 6e |t edit!.|X# $XCon|
|00000de0| 73 6f 72 74 69 75 6d 3a | 20 69 6d 61 6b 65 2e 63 |sortium:| imake.c|
|00000df0| 2c 76 20 31 2e 33 37 20 | 38 38 2f 31 30 2f 30 38 |,v 1.37 |88/10/08|
|00000e00| 20 32 30 3a 30 38 3a 33 | 30 20 6a 69 6d 20 45 78 | 20:08:3|0 jim Ex|
|00000e10| 70 20 24 0a 58 23 0a 58 | 23 20 54 68 65 20 63 70 |p $.X#.X|# The cp|
|00000e20| 70 20 75 73 65 64 20 6f | 6e 20 74 68 69 73 20 6d |p used o|n this m|
|00000e30| 61 63 68 69 6e 65 20 72 | 65 70 6c 61 63 65 73 20 |achine r|eplaces |
|00000e40| 61 6c 6c 20 6e 65 77 6c | 69 6e 65 73 20 61 6e 64 |all newl|ines and|
|00000e50| 20 6d 75 6c 74 69 70 6c | 65 20 74 61 62 73 20 61 | multipl|e tabs a|
|00000e60| 6e 64 0a 58 23 20 73 70 | 61 63 65 73 20 69 6e 20 |nd.X# sp|aces in |
|00000e70| 61 20 6d 61 63 72 6f 20 | 65 78 70 61 6e 73 69 6f |a macro |expansio|
|00000e80| 6e 20 77 69 74 68 20 61 | 20 73 69 6e 67 6c 65 20 |n with a| single |
|00000e90| 73 70 61 63 65 2e 20 20 | 49 6d 61 6b 65 20 74 72 |space. |Imake tr|
|00000ea0| 69 65 73 20 74 6f 20 63 | 6f 6d 70 65 6e 73 61 74 |ies to c|ompensat|
|00000eb0| 65 0a 58 23 20 66 6f 72 | 20 74 68 69 73 2c 20 62 |e.X# for| this, b|
|00000ec0| 75 74 20 69 73 20 6e 6f | 74 20 61 6c 77 61 79 73 |ut is no|t always|
|00000ed0| 20 73 75 63 63 65 73 73 | 66 75 6c 2e 0a 58 23 0a | success|ful..X#.|
|00000ee0| 58 0a 58 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |X.X#####|########|
|00000ef0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000f00| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000f10| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000f20| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 0a 58 |########|######.X|
|00000f30| 23 20 58 20 57 69 6e 64 | 6f 77 20 53 79 73 74 65 |# X Wind|ow Syste|
|00000f40| 6d 20 4d 61 6b 65 66 69 | 6c 65 20 67 65 6e 65 72 |m Makefi|le gener|
|00000f50| 61 74 65 64 20 66 72 6f | 6d 20 74 65 6d 70 6c 61 |ated fro|m templa|
|00000f60| 74 65 20 66 69 6c 65 20 | 49 6d 61 6b 65 2e 74 6d |te file |Imake.tm|
|00000f70| 70 6c 0a 58 23 20 24 58 | 43 6f 6e 73 6f 72 74 69 |pl.X# $X|Consorti|
|00000f80| 75 6d 3a 20 49 6d 61 6b | 65 2e 74 6d 70 6c 2c 76 |um: Imak|e.tmpl,v|
|00000f90| 20 31 2e 39 31 20 38 38 | 2f 31 30 2f 32 33 20 32 | 1.91 88|/10/23 2|
|00000fa0| 32 3a 33 37 3a 31 30 20 | 6a 69 6d 20 45 78 70 20 |2:37:10 |jim Exp |
|00000fb0| 24 0a 58 23 0a 58 23 20 | 44 6f 20 6e 6f 74 20 63 |$.X#.X# |Do not c|
|00000fc0| 68 61 6e 67 65 20 74 68 | 65 20 62 6f 64 79 20 6f |hange th|e body o|
|00000fd0| 66 20 74 68 65 20 69 6d | 61 6b 65 20 74 65 6d 70 |f the im|ake temp|
|00000fe0| 6c 61 74 65 20 66 69 6c | 65 2e 20 20 53 65 72 76 |late fil|e. Serv|
|00000ff0| 65 72 2d 73 70 65 63 69 | 66 69 63 0a 58 23 20 70 |er-speci|fic.X# p|
|00001000| 61 72 61 6d 65 74 65 72 | 73 20 6d 61 79 20 62 65 |arameter|s may be|
|00001010| 20 73 65 74 20 69 6e 20 | 74 68 65 20 61 70 70 72 | set in |the appr|
|00001020| 6f 70 72 69 61 74 65 20 | 2e 6d 61 63 72 6f 73 20 |opriate |.macros |
|00001030| 66 69 6c 65 3b 20 73 69 | 74 65 2d 73 70 65 63 69 |file; si|te-speci|
|00001040| 66 69 63 0a 58 23 20 70 | 61 72 61 6d 65 74 65 72 |fic.X# p|arameter|
|00001050| 73 20 28 62 75 74 20 73 | 68 61 72 65 64 20 62 79 |s (but s|hared by|
|00001060| 20 61 6c 6c 20 73 65 72 | 76 65 72 73 29 20 6d 61 | all ser|vers) ma|
|00001070| 79 20 62 65 20 73 65 74 | 20 69 6e 20 73 69 74 65 |y be set| in site|
|00001080| 2e 64 65 66 2e 20 20 49 | 66 20 79 6f 75 0a 58 23 |.def. I|f you.X#|
|00001090| 20 6d 61 6b 65 20 61 6e | 79 20 63 68 61 6e 67 65 | make an|y change|
|000010a0| 73 2c 20 79 6f 75 27 6c | 6c 20 6e 65 65 64 20 74 |s, you'l|l need t|
|000010b0| 6f 20 72 65 62 75 69 6c | 64 20 74 68 65 20 6d 61 |o rebuil|d the ma|
|000010c0| 6b 65 66 69 6c 65 73 20 | 75 73 69 6e 67 0a 58 23 |kefiles |using.X#|
|000010d0| 20 22 6d 61 6b 65 20 57 | 6f 72 6c 64 22 20 28 61 | "make W|orld" (a|
|000010e0| 74 20 62 65 73 74 29 20 | 6f 72 20 22 6d 61 6b 65 |t best) |or "make|
|000010f0| 20 4d 61 6b 65 66 69 6c | 65 3b 20 6d 61 6b 65 20 | Makefil|e; make |
|00001100| 4d 61 6b 65 66 69 6c 65 | 73 22 20 28 61 74 20 6c |Makefile|s" (at l|
|00001110| 65 61 73 74 29 20 69 6e | 0a 58 23 20 74 68 65 20 |east) in|.X# the |
|00001120| 74 6f 70 20 6c 65 76 65 | 6c 20 64 69 72 65 63 74 |top leve|l direct|
|00001130| 6f 72 79 2e 0a 58 23 0a | 58 23 20 49 66 20 79 6f |ory..X#.|X# If yo|
|00001140| 75 72 20 43 20 70 72 65 | 70 72 6f 63 65 73 73 6f |ur C pre|processo|
|00001150| 72 20 64 6f 65 73 6e 27 | 74 20 64 65 66 69 6e 65 |r doesn'|t define|
|00001160| 20 61 6e 79 20 75 6e 69 | 71 75 65 20 73 79 6d 62 | any uni|que symb|
|00001170| 6f 6c 73 2c 20 79 6f 75 | 27 6c 6c 20 6e 65 65 64 |ols, you|'ll need|
|00001180| 0a 58 23 20 74 6f 20 73 | 65 74 20 42 4f 4f 54 53 |.X# to s|et BOOTS|
|00001190| 54 52 41 50 43 46 4c 41 | 47 53 20 77 68 65 6e 20 |TRAPCFLA|GS when |
|000011a0| 72 65 62 75 69 6c 64 69 | 6e 67 20 69 6d 61 6b 65 |rebuildi|ng imake|
|000011b0| 20 28 75 73 75 61 6c 6c | 79 20 77 68 65 6e 20 64 | (usuall|y when d|
|000011c0| 6f 69 6e 67 0a 58 23 20 | 22 6d 61 6b 65 20 4d 61 |oing.X# |"make Ma|
|000011d0| 6b 65 66 69 6c 65 22 2c | 20 22 6d 61 6b 65 20 4d |kefile",| "make M|
|000011e0| 61 6b 65 66 69 6c 65 73 | 22 2c 20 6f 72 20 22 6d |akefiles|", or "m|
|000011f0| 61 6b 65 20 57 6f 72 6c | 64 22 29 2e 0a 58 23 0a |ake Worl|d")..X#.|
|00001200| 58 23 20 49 66 20 79 6f | 75 20 61 62 73 6f 6c 75 |X# If yo|u absolu|
|00001210| 74 65 6c 79 20 63 61 6e | 27 74 20 67 65 74 20 69 |tely can|'t get i|
|00001220| 6d 61 6b 65 20 74 6f 20 | 77 6f 72 6b 2c 20 79 6f |make to |work, yo|
|00001230| 75 27 6c 6c 20 6e 65 65 | 64 20 74 6f 20 73 65 74 |u'll nee|d to set|
|00001240| 20 74 68 65 0a 58 23 20 | 76 61 72 69 61 62 6c 65 | the.X# |variable|
|00001250| 73 20 61 74 20 74 68 65 | 20 74 6f 70 20 6f 66 20 |s at the| top of |
|00001260| 65 61 63 68 20 4d 61 6b | 65 66 69 6c 65 20 61 73 |each Mak|efile as|
|00001270| 20 77 65 6c 6c 20 61 73 | 20 74 68 65 20 64 65 70 | well as| the dep|
|00001280| 65 6e 64 65 6e 63 69 65 | 73 20 61 74 20 74 68 65 |endencie|s at the|
|00001290| 0a 58 23 20 62 6f 74 74 | 6f 6d 20 28 6d 61 6b 65 |.X# bott|om (make|
|000012a0| 64 65 70 65 6e 64 20 77 | 69 6c 6c 20 64 6f 20 74 |depend w|ill do t|
|000012b0| 68 69 73 20 61 75 74 6f | 6d 61 74 69 63 61 6c 6c |his auto|maticall|
|000012c0| 79 29 2e 0a 58 23 0a 58 | 0a 58 23 23 23 23 23 23 |y)..X#.X|.X######|
|000012d0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000012e0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000012f0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001300| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001310| 23 23 23 23 23 0a 58 23 | 20 70 6c 61 74 66 6f 72 |#####.X#| platfor|
|00001320| 6d 2d 73 70 65 63 69 66 | 69 63 20 63 6f 6e 66 69 |m-specif|ic confi|
|00001330| 67 75 72 61 74 69 6f 6e | 20 70 61 72 61 6d 65 74 |guration| paramet|
|00001340| 65 72 73 20 2d 20 65 64 | 69 74 20 53 75 6e 2e 6d |ers - ed|it Sun.m|
|00001350| 61 63 72 6f 73 20 74 6f | 20 63 68 61 6e 67 65 0a |acros to| change.|
|00001360| 58 0a 58 23 20 70 6c 61 | 74 66 6f 72 6d 3a 20 20 |X.X# pla|tform: |
|00001370| 24 58 43 6f 6e 73 6f 72 | 74 69 75 6d 3a 20 53 75 |$XConsor|tium: Su|
|00001380| 6e 2e 6d 61 63 72 6f 73 | 2c 76 20 31 2e 35 32 20 |n.macros|,v 1.52 |
|00001390| 38 38 2f 31 30 2f 32 33 | 20 31 31 3a 30 30 3a 35 |88/10/23| 11:00:5|
|000013a0| 35 20 6a 69 6d 20 45 78 | 70 20 24 0a 58 23 20 6f |5 jim Ex|p $.X# o|
|000013b0| 70 65 72 61 74 69 6e 67 | 20 73 79 73 74 65 6d 3a |perating| system:|
|000013c0| 20 20 20 53 75 6e 4f 53 | 20 33 2e 34 0a 58 0a 58 | SunOS| 3.4.X.X|
|000013d0| 42 4f 4f 54 53 54 52 41 | 50 43 46 4c 41 47 53 20 |BOOTSTRA|PCFLAGS |
|000013e0| 3d 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |=.X | |
|000013f0| 41 53 20 3d 20 61 73 0a | 58 20 20 20 20 20 20 20 |AS = as.|X |
|00001400| 20 20 20 20 20 20 43 43 | 20 3d 20 63 63 0a 58 20 | CC| = cc.X |
|00001410| 20 20 20 20 20 20 20 20 | 20 20 20 43 50 50 20 3d | | CPP =|
|00001420| 20 2f 6c 69 62 2f 63 70 | 70 0a 58 20 20 20 20 20 | /lib/cp|p.X |
|00001430| 20 20 20 20 20 20 20 20 | 4c 44 20 3d 20 6c 64 0a | |LD = ld.|
|00001440| 58 20 20 20 20 20 20 20 | 20 20 20 20 4c 49 4e 54 |X | LINT|
|00001450| 20 3d 20 6c 69 6e 74 0a | 58 20 20 20 20 20 20 20 | = lint.|X |
|00001460| 20 49 4e 53 54 41 4c 4c | 20 3d 20 69 6e 73 74 61 | INSTALL| = insta|
|00001470| 6c 6c 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 54 |ll.X | T|
|00001480| 41 47 53 20 3d 20 63 74 | 61 67 73 0a 58 20 20 20 |AGS = ct|ags.X |
|00001490| 20 20 20 20 20 20 20 20 | 20 20 52 4d 20 3d 20 72 | | RM = r|
|000014a0| 6d 20 2d 66 0a 58 20 20 | 20 20 20 20 20 20 20 20 |m -f.X | |
|000014b0| 20 20 20 4d 56 20 3d 20 | 6d 76 0a 58 20 20 20 20 | MV = |mv.X |
|000014c0| 20 20 20 20 20 20 20 20 | 20 4c 4e 20 3d 20 6c 6e | | LN = ln|
|000014d0| 20 2d 73 0a 58 20 20 20 | 20 20 20 20 20 20 52 41 | -s.X | RA|
|000014e0| 4e 4c 49 42 20 3d 20 72 | 61 6e 6c 69 62 0a 58 52 |NLIB = r|anlib.XR|
|000014f0| 41 4e 4c 49 42 49 4e 53 | 54 46 4c 41 47 53 20 3d |ANLIBINS|TFLAGS =|
|00001500| 20 2d 74 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | -t.X | |
|00001510| 20 20 41 52 20 3d 20 61 | 72 20 63 6c 71 0a 58 20 | AR = a|r clq.X |
|00001520| 20 20 20 20 20 20 20 20 | 20 20 20 20 4c 53 20 3d | | LS =|
|00001530| 20 6c 73 0a 58 20 20 20 | 20 20 20 20 4c 49 4e 54 | ls.X | LINT|
|00001540| 4f 50 54 53 20 3d 20 2d | 78 7a 0a 58 20 20 20 20 |OPTS = -|xz.X |
|00001550| 4c 49 4e 54 4c 49 42 46 | 4c 41 47 20 3d 20 2d 43 |LINTLIBF|LAG = -C|
|00001560| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 4d 41 4b |.X | MAK|
|00001570| 45 20 3d 20 6d 61 6b 65 | 0a 58 53 54 44 5f 43 50 |E = make|.XSTD_CP|
|00001580| 50 5f 44 45 46 49 4e 45 | 53 20 3d 0a 58 20 20 20 |P_DEFINE|S =.X |
|00001590| 20 53 54 44 5f 44 45 46 | 49 4e 45 53 20 3d 0a 58 | STD_DEF|INES =.X|
|000015a0| 0a 58 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |.X######|########|
|000015b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000015c0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000015d0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000015e0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 0a 58 23 |########|#####.X#|
|000015f0| 20 73 69 74 65 2d 73 70 | 65 63 69 66 69 63 20 63 | site-sp|ecific c|
|00001600| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 70 61 72 |onfigura|tion par|
|00001610| 61 6d 65 74 65 72 73 20 | 2d 20 65 64 69 74 20 73 |ameters |- edit s|
|00001620| 69 74 65 2e 64 65 66 20 | 74 6f 20 63 68 61 6e 67 |ite.def |to chang|
|00001630| 65 0a 58 0a 58 23 20 73 | 69 74 65 3a 20 20 24 58 |e.X.X# s|ite: $X|
|00001640| 43 6f 6e 73 6f 72 74 69 | 75 6d 3a 20 73 69 74 65 |Consorti|um: site|
|00001650| 2e 64 65 66 2c 76 20 31 | 2e 31 36 20 38 38 2f 31 |.def,v 1|.16 88/1|
|00001660| 30 2f 31 32 20 31 30 3a | 33 30 3a 32 34 20 6a 69 |0/12 10:|30:24 ji|
|00001670| 6d 20 45 78 70 20 24 0a | 58 0a 58 23 23 23 23 23 |m Exp $.|X.X#####|
|00001680| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001690| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000016a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000016b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000016c0| 23 23 23 23 23 23 0a 58 | 23 20 64 65 66 69 6e 69 |######.X|# defini|
|000016d0| 74 69 6f 6e 73 20 63 6f | 6d 6d 6f 6e 20 74 6f 20 |tions co|mmon to |
|000016e0| 61 6c 6c 20 4d 61 6b 65 | 66 69 6c 65 73 20 2d 20 |all Make|files - |
|000016f0| 64 6f 20 6e 6f 74 20 65 | 64 69 74 0a 58 0a 58 20 |do not e|dit.X.X |
|00001700| 20 20 20 20 20 20 20 20 | 20 53 48 45 4c 4c 20 3d | | SHELL =|
|00001710| 20 20 2f 62 69 6e 2f 73 | 68 0a 58 0a 58 20 20 20 | /bin/s|h.X.X |
|00001720| 20 20 20 20 20 44 45 53 | 54 44 49 52 20 3d 20 2f | DES|TDIR = /|
|00001730| 67 6c 6f 62 61 6c 0a 58 | 20 20 20 20 20 20 55 53 |global.X| US|
|00001740| 52 4c 49 42 44 49 52 20 | 3d 20 24 28 44 45 53 54 |RLIBDIR |= $(DEST|
|00001750| 44 49 52 29 2f 6c 69 62 | 0a 58 20 20 20 20 20 20 |DIR)/lib|.X |
|00001760| 20 20 20 42 49 4e 44 49 | 52 20 3d 20 24 28 44 45 | BINDI|R = $(DE|
|00001770| 53 54 44 49 52 29 2f 62 | 69 6e 2f 58 31 31 0a 58 |STDIR)/b|in/X11.X|
|00001780| 20 20 20 20 20 20 20 20 | 20 49 4e 43 44 49 52 20 | | INCDIR |
|00001790| 3d 20 24 28 44 45 53 54 | 44 49 52 29 2f 69 6e 63 |= $(DEST|DIR)/inc|
|000017a0| 6c 75 64 65 0a 58 20 20 | 20 20 20 20 20 20 20 41 |lude.X | A|
|000017b0| 44 4d 44 49 52 20 3d 20 | 24 28 44 45 53 54 44 49 |DMDIR = |$(DESTDI|
|000017c0| 52 29 2f 75 73 72 2f 61 | 64 6d 0a 58 20 20 20 20 |R)/usr/a|dm.X |
|000017d0| 20 20 20 20 20 4c 49 42 | 44 49 52 20 3d 20 24 28 | LIB|DIR = $(|
|000017e0| 55 53 52 4c 49 42 44 49 | 52 29 2f 58 31 31 0a 58 |USRLIBDI|R)/X11.X|
|000017f0| 20 20 20 20 20 4c 49 4e | 54 4c 49 42 44 49 52 20 | LIN|TLIBDIR |
|00001800| 3d 20 24 28 55 53 52 4c | 49 42 44 49 52 29 2f 6c |= $(USRL|IBDIR)/l|
|00001810| 69 6e 74 0a 58 20 20 20 | 20 20 20 20 20 46 4f 4e |int.X | FON|
|00001820| 54 44 49 52 20 3d 20 24 | 28 4c 49 42 44 49 52 29 |TDIR = $|(LIBDIR)|
|00001830| 2f 66 6f 6e 74 73 0a 58 | 20 20 20 20 20 20 20 58 |/fonts.X| X|
|00001840| 49 4e 49 54 44 49 52 20 | 3d 20 24 28 4c 49 42 44 |INITDIR |= $(LIBD|
|00001850| 49 52 29 2f 78 69 6e 69 | 74 0a 58 20 20 20 20 20 |IR)/xini|t.X |
|00001860| 20 20 20 20 58 44 4d 44 | 49 52 20 3d 20 24 28 4c | XDMD|IR = $(L|
|00001870| 49 42 44 49 52 29 2f 78 | 64 6d 0a 58 20 20 20 20 |IBDIR)/x|dm.X |
|00001880| 20 20 20 20 20 55 57 4d | 44 49 52 20 3d 20 24 28 | UWM|DIR = $(|
|00001890| 4c 49 42 44 49 52 29 2f | 75 77 6d 0a 58 20 20 20 |LIBDIR)/|uwm.X |
|000018a0| 20 20 20 20 20 20 41 57 | 4d 44 49 52 20 3d 20 24 | AW|MDIR = $|
|000018b0| 28 4c 49 42 44 49 52 29 | 2f 61 77 6d 0a 58 20 20 |(LIBDIR)|/awm.X |
|000018c0| 20 20 20 20 20 20 20 54 | 57 4d 44 49 52 20 3d 20 | T|WMDIR = |
|000018d0| 24 28 4c 49 42 44 49 52 | 29 2f 74 77 6d 0a 58 20 |$(LIBDIR|)/twm.X |
|000018e0| 20 20 20 20 20 20 20 20 | 20 44 54 44 49 52 20 3d | | DTDIR =|
|000018f0| 20 24 28 4c 49 42 44 49 | 52 29 2f 64 74 0a 58 20 | $(LIBDI|R)/dt.X |
|00001900| 20 20 20 20 20 20 20 4d | 41 4e 50 41 54 48 20 3d | M|ANPATH =|
|00001910| 20 2f 75 73 72 2f 6d 61 | 6e 0a 58 20 20 4d 41 4e | /usr/ma|n.X MAN|
|00001920| 53 4f 55 52 43 45 50 41 | 54 48 20 3d 20 24 28 4d |SOURCEPA|TH = $(M|
|00001930| 41 4e 50 41 54 48 29 2f | 6d 61 6e 0a 58 20 20 20 |ANPATH)/|man.X |
|00001940| 20 20 20 20 20 20 4d 41 | 4e 44 49 52 20 3d 20 24 | MA|NDIR = $|
|00001950| 28 4d 41 4e 53 4f 55 52 | 43 45 50 41 54 48 29 6e |(MANSOUR|CEPATH)n|
|00001960| 0a 58 20 20 20 20 20 20 | 4c 49 42 4d 41 4e 44 49 |.X |LIBMANDI|
|00001970| 52 20 3d 20 24 28 4d 41 | 4e 53 4f 55 52 43 45 50 |R = $(MA|NSOURCEP|
|00001980| 41 54 48 29 6e 33 0a 58 | 20 20 20 20 58 41 50 50 |ATH)n3.X| XAPP|
|00001990| 4c 4f 41 44 44 49 52 20 | 3d 20 24 28 4c 49 42 44 |LOADDIR |= $(LIBD|
|000019a0| 49 52 29 2f 61 70 70 2d | 64 65 66 61 75 6c 74 73 |IR)/app-|defaults|
|000019b0| 0a 58 0a 58 20 20 20 49 | 4e 53 54 42 49 4e 46 4c |.X.X I|NSTBINFL|
|000019c0| 41 47 53 20 3d 20 2d 6d | 20 30 37 35 35 0a 58 20 |AGS = -m| 0755.X |
|000019d0| 20 20 49 4e 53 54 55 49 | 44 46 4c 41 47 53 20 3d | INSTUI|DFLAGS =|
|000019e0| 20 2d 6d 20 34 37 35 35 | 0a 58 20 20 20 49 4e 53 | -m 4755|.X INS|
|000019f0| 54 4c 49 42 46 4c 41 47 | 53 20 3d 20 2d 6d 20 30 |TLIBFLAG|S = -m 0|
|00001a00| 36 36 34 0a 58 20 20 20 | 49 4e 53 54 49 4e 43 46 |664.X |INSTINCF|
|00001a10| 4c 41 47 53 20 3d 20 2d | 6d 20 30 34 34 34 0a 58 |LAGS = -|m 0444.X|
|00001a20| 20 20 20 49 4e 53 54 4d | 41 4e 46 4c 41 47 53 20 | INSTM|ANFLAGS |
|00001a30| 3d 20 2d 6d 20 30 34 34 | 34 0a 58 20 20 20 49 4e |= -m 044|4.X IN|
|00001a40| 53 54 41 50 50 46 4c 41 | 47 53 20 3d 20 2d 6d 20 |STAPPFLA|GS = -m |
|00001a50| 30 34 34 34 0a 58 20 20 | 49 4e 53 54 4b 4d 45 4d |0444.X |INSTKMEM|
|00001a60| 46 4c 41 47 53 20 3d 20 | 2d 6d 20 34 37 35 35 0a |FLAGS = |-m 4755.|
|00001a70| 58 20 20 20 20 20 20 20 | 20 46 43 46 4c 41 47 53 |X | FCFLAGS|
|00001a80| 20 3d 20 2d 74 0a 58 20 | 20 20 20 43 44 45 42 55 | = -t.X | CDEBU|
|00001a90| 47 46 4c 41 47 53 20 3d | 20 2d 4f 0a 58 0a 58 20 |GFLAGS =| -O.X.X |
|00001aa0| 20 20 20 20 20 20 20 50 | 41 54 48 53 45 50 20 3d | P|ATHSEP =|
|00001ab0| 20 2f 0a 58 20 20 20 20 | 20 20 20 20 20 44 45 50 | /.X | DEP|
|00001ac0| 45 4e 44 20 3d 20 24 28 | 42 49 4e 44 49 52 29 2f |END = $(|BINDIR)/|
|00001ad0| 6d 61 6b 65 64 65 70 65 | 6e 64 0a 58 20 20 20 20 |makedepe|nd.X |
|00001ae0| 20 20 20 20 20 20 49 4d | 41 4b 45 20 3d 20 24 28 | IM|AKE = $(|
|00001af0| 42 49 4e 44 49 52 29 2f | 69 6d 61 6b 65 0a 58 20 |BINDIR)/|imake.X |
|00001b00| 20 20 20 20 20 20 20 20 | 20 20 20 52 47 42 20 3d | | RGB =|
|00001b10| 20 24 28 4c 49 42 44 49 | 52 29 2f 72 67 62 0a 58 | $(LIBDI|R)/rgb.X|
|00001b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 46 43 20 | | FC |
|00001b30| 3d 20 24 28 42 49 4e 44 | 49 52 29 2f 62 64 66 74 |= $(BIND|IR)/bdft|
|00001b40| 6f 73 6e 66 0a 58 20 20 | 20 20 20 20 4d 4b 46 4f |osnf.X | MKFO|
|00001b50| 4e 54 44 49 52 20 3d 20 | 24 28 42 49 4e 44 49 52 |NTDIR = |$(BINDIR|
|00001b60| 29 2f 6d 6b 66 6f 6e 74 | 64 69 72 0a 58 20 20 20 |)/mkfont|dir.X |
|00001b70| 20 20 20 4d 4b 44 49 52 | 48 49 45 52 20 3d 20 24 | MKDIR|HIER = $|
|00001b80| 28 42 49 4e 44 49 52 29 | 2f 6d 6b 64 69 72 68 69 |(BINDIR)|/mkdirhi|
|00001b90| 65 72 2e 73 68 0a 58 0a | 58 20 20 20 20 20 20 20 |er.sh.X.|X |
|00001ba0| 20 20 43 46 4c 41 47 53 | 20 3d 20 24 28 43 44 45 | CFLAGS| = $(CDE|
|00001bb0| 42 55 47 46 4c 41 47 53 | 29 20 24 28 49 4e 43 4c |BUGFLAGS|) $(INCL|
|00001bc0| 55 44 45 53 29 20 24 28 | 53 54 44 5f 44 45 46 49 |UDES) $(|STD_DEFI|
|00001bd0| 4e 45 53 29 20 24 28 44 | 45 46 49 4e 45 53 29 0a |NES) $(D|EFINES).|
|00001be0| 58 20 20 20 20 20 20 4c | 49 4e 54 46 4c 41 47 53 |X L|INTFLAGS|
|00001bf0| 20 3d 20 24 28 4c 49 4e | 54 4f 50 54 53 29 20 24 | = $(LIN|TOPTS) $|
|00001c00| 28 49 4e 43 4c 55 44 45 | 53 29 20 24 28 53 54 44 |(INCLUDE|S) $(STD|
|00001c10| 5f 44 45 46 49 4e 45 53 | 29 20 24 28 44 45 46 49 |_DEFINES|) $(DEFI|
|00001c20| 4e 45 53 29 20 2d 44 4c | 49 4e 54 0a 58 20 20 20 |NES) -DL|INT.X |
|00001c30| 20 20 20 20 20 4c 44 46 | 4c 41 47 53 20 3d 20 24 | LDF|LAGS = $|
|00001c40| 28 43 44 45 42 55 47 46 | 4c 41 47 53 29 20 2d 4c |(CDEBUGF|LAGS) -L|
|00001c50| 24 28 55 53 52 4c 49 42 | 44 49 52 29 20 24 28 53 |$(USRLIB|DIR) $(S|
|00001c60| 59 53 5f 4c 49 42 52 41 | 52 49 45 53 29 20 24 28 |YS_LIBRA|RIES) $(|
|00001c70| 53 59 53 41 55 58 5f 4c | 49 42 52 41 52 49 45 53 |SYSAUX_L|IBRARIES|
|00001c80| 29 0a 58 0a 58 20 20 20 | 20 20 20 20 49 52 55 4c |).X.X | IRUL|
|00001c90| 45 53 52 43 20 3d 20 24 | 28 4c 49 42 44 49 52 29 |ESRC = $|(LIBDIR)|
|00001ca0| 2f 69 6d 61 6b 65 2e 69 | 6e 63 6c 75 64 65 73 0a |/imake.i|ncludes.|
|00001cb0| 58 0a 58 20 20 20 45 58 | 54 45 4e 53 49 4f 4e 4c |X.X EX|TENSIONL|
|00001cc0| 49 42 20 3d 20 24 28 55 | 53 52 4c 49 42 44 49 52 |IB = $(U|SRLIBDIR|
|00001cd0| 29 2f 6c 69 62 65 78 74 | 2e 61 0a 58 20 20 20 20 |)/libext|.a.X |
|00001ce0| 20 20 20 20 20 20 20 58 | 4c 49 42 20 3d 20 24 28 | X|LIB = $(|
|00001cf0| 55 53 52 4c 49 42 44 49 | 52 29 2f 6c 69 62 58 31 |USRLIBDI|R)/libX1|
|00001d00| 31 2e 61 0a 58 20 20 20 | 20 20 20 20 20 20 58 4d |1.a.X | XM|
|00001d10| 55 4c 49 42 20 3d 20 24 | 28 55 53 52 4c 49 42 44 |ULIB = $|(USRLIBD|
|00001d20| 49 52 29 2f 6c 69 62 58 | 6d 75 2e 61 0a 58 20 20 |IR)/libX|mu.a.X |
|00001d30| 20 20 20 20 20 20 4f 4c | 44 58 4c 49 42 20 3d 20 | OL|DXLIB = |
|00001d40| 24 28 55 53 52 4c 49 42 | 44 49 52 29 2f 6c 69 62 |$(USRLIB|DIR)/lib|
|00001d50| 6f 6c 64 58 2e 61 0a 58 | 20 20 20 20 20 20 20 58 |oldX.a.X| X|
|00001d60| 54 4f 4f 4c 4c 49 42 20 | 3d 20 24 28 55 53 52 4c |TOOLLIB |= $(USRL|
|00001d70| 49 42 44 49 52 29 2f 6c | 69 62 58 74 2e 61 0a 58 |IBDIR)/l|ibXt.a.X|
|00001d80| 20 20 20 20 20 20 20 20 | 20 58 41 57 4c 49 42 20 | | XAWLIB |
|00001d90| 3d 20 24 28 55 53 52 4c | 49 42 44 49 52 29 2f 6c |= $(USRL|IBDIR)/l|
|00001da0| 69 62 58 61 77 2e 61 0a | 58 20 20 20 20 20 20 20 |ibXaw.a.|X |
|00001db0| 4c 49 4e 54 58 4c 49 42 | 20 3d 20 24 28 55 53 52 |LINTXLIB| = $(USR|
|00001dc0| 4c 49 42 44 49 52 29 2f | 6c 69 6e 74 2f 6c 6c 69 |LIBDIR)/|lint/lli|
|00001dd0| 62 2d 6c 58 31 31 2e 6c | 6e 0a 58 20 20 20 20 20 |b-lX11.l|n.X |
|00001de0| 20 20 20 4c 49 4e 54 58 | 4d 55 20 3d 20 24 28 55 | LINTX|MU = $(U|
|00001df0| 53 52 4c 49 42 44 49 52 | 29 2f 6c 69 6e 74 2f 6c |SRLIBDIR|)/lint/l|
|00001e00| 6c 69 62 2d 6c 58 6d 75 | 2e 6c 6e 0a 58 20 20 20 |lib-lXmu|.ln.X |
|00001e10| 20 20 20 4c 49 4e 54 58 | 54 4f 4f 4c 20 3d 20 24 | LINTX|TOOL = $|
|00001e20| 28 55 53 52 4c 49 42 44 | 49 52 29 2f 6c 69 6e 74 |(USRLIBD|IR)/lint|
|00001e30| 2f 6c 6c 69 62 2d 6c 58 | 74 2e 6c 6e 0a 58 20 20 |/llib-lX|t.ln.X |
|00001e40| 20 20 20 20 20 20 4c 49 | 4e 54 58 41 57 20 3d 20 | LI|NTXAW = |
|00001e50| 24 28 55 53 52 4c 49 42 | 44 49 52 29 2f 6c 69 6e |$(USRLIB|DIR)/lin|
|00001e60| 74 2f 6c 6c 69 62 2d 6c | 58 61 77 2e 6c 6e 0a 58 |t/llib-l|Xaw.ln.X|
|00001e70| 20 20 20 20 20 20 20 49 | 4e 43 4c 55 44 45 53 20 | I|NCLUDES |
|00001e80| 3d 20 2d 49 24 28 49 4e | 43 44 49 52 29 0a 58 20 |= -I$(IN|CDIR).X |
|00001e90| 20 20 20 20 20 4d 41 43 | 52 4f 46 49 4c 45 20 3d | MAC|ROFILE =|
|00001ea0| 20 53 75 6e 2e 6d 61 63 | 72 6f 73 0a 58 20 20 20 | Sun.mac|ros.X |
|00001eb0| 49 43 4f 4e 46 49 47 46 | 49 4c 45 53 20 3d 20 24 |ICONFIGF|ILES = $|
|00001ec0| 28 49 52 55 4c 45 53 52 | 43 29 2f 49 6d 61 6b 65 |(IRULESR|C)/Imake|
|00001ed0| 2e 74 6d 70 6c 20 5c 0a | 58 09 09 09 24 28 49 52 |.tmpl \.|X...$(IR|
|00001ee0| 55 4c 45 53 52 43 29 2f | 24 28 4d 41 43 52 4f 46 |ULESRC)/|$(MACROF|
|00001ef0| 49 4c 45 29 20 24 28 49 | 52 55 4c 45 53 52 43 29 |ILE) $(I|RULESRC)|
|00001f00| 2f 73 69 74 65 2e 64 65 | 66 0a 58 20 20 49 4d 41 |/site.de|f.X IMA|
|00001f10| 4b 45 5f 44 45 46 49 4e | 45 53 20 3d 0a 58 20 20 |KE_DEFIN|ES =.X |
|00001f20| 20 20 20 20 49 4d 41 4b | 45 5f 43 4d 44 20 3d 20 | IMAK|E_CMD = |
|00001f30| 24 28 4e 45 57 54 4f 50 | 29 24 28 49 4d 41 4b 45 |$(NEWTOP|)$(IMAKE|
|00001f40| 29 20 2d 54 49 6d 61 6b | 65 2e 74 6d 70 6c 20 2d |) -TImak|e.tmpl -|
|00001f50| 49 24 28 4e 45 57 54 4f | 50 29 24 28 49 52 55 4c |I$(NEWTO|P)$(IRUL|
|00001f60| 45 53 52 43 29 20 5c 0a | 58 09 09 09 2d 73 20 4d |ESRC) \.|X...-s M|
|00001f70| 61 6b 65 66 69 6c 65 20 | 24 28 49 4d 41 4b 45 5f |akefile |$(IMAKE_|
|00001f80| 44 45 46 49 4e 45 53 29 | 0a 58 20 20 20 20 20 20 |DEFINES)|.X |
|00001f90| 20 20 20 52 4d 5f 43 4d | 44 20 3d 20 24 28 52 4d | RM_CM|D = $(RM|
|00001fa0| 29 20 2a 2e 43 4b 50 20 | 2a 2e 6c 6e 20 2a 2e 42 |) *.CKP |*.ln *.B|
|00001fb0| 41 4b 20 2a 2e 62 61 6b | 20 2a 2e 6f 20 63 6f 72 |AK *.bak| *.o cor|
|00001fc0| 65 20 65 72 72 73 20 2c | 2a 20 2a 7e 20 2a 2e 61 |e errs ,|* *~ *.a|
|00001fd0| 20 5c 0a 58 09 09 09 2e | 65 6d 61 63 73 5f 2a 20 | \.X....|emacs_* |
|00001fe0| 74 61 67 73 20 54 41 47 | 53 20 6d 61 6b 65 2e 6c |tags TAG|S make.l|
|00001ff0| 6f 67 20 4d 61 6b 65 4f | 75 74 0a 58 0a 58 23 23 |og MakeO|ut.X.X##|
|00002000| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002010| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002020| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002030| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002040| 23 23 23 23 23 23 23 23 | 23 0a 58 23 20 72 75 6c |########|#.X# rul|
|00002050| 65 73 3a 20 20 24 58 43 | 6f 6e 73 6f 72 74 69 75 |es: $XC|onsortiu|
|00002060| 6d 3a 20 49 6d 61 6b 65 | 2e 72 75 6c 65 73 2c 76 |m: Imake|.rules,v|
|00002070| 20 31 2e 37 31 20 38 38 | 2f 31 30 2f 32 33 20 32 | 1.71 88|/10/23 2|
|00002080| 32 3a 34 36 3a 33 34 20 | 6a 69 6d 20 45 78 70 20 |2:46:34 |jim Exp |
|00002090| 24 0a 58 0a 58 23 23 23 | 23 23 23 23 23 23 23 23 |$.X.X###|########|
|000020a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000020b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000020c0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000020d0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000020e0| 0a 58 23 20 73 74 61 72 | 74 20 6f 66 20 49 6d 61 |.X# star|t of Ima|
|000020f0| 6b 65 66 69 6c 65 0a 58 | 0a 58 20 20 20 20 20 20 |kefile.X|.X |
|00002100| 20 20 20 20 20 53 52 43 | 53 20 3d 20 78 67 6f 6e | SRC|S = xgon|
|00002110| 65 2e 63 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |e.c.X | |
|00002120| 4f 42 4a 53 20 3d 20 78 | 67 6f 6e 65 2e 6f 0a 58 |OBJS = x|gone.o.X|
|00002130| 4c 4f 43 41 4c 5f 4c 49 | 42 52 41 52 49 45 53 20 |LOCAL_LI|BRARIES |
|00002140| 3d 20 24 28 58 4c 49 42 | 29 0a 58 0a 58 20 50 52 |= $(XLIB|).X.X PR|
|00002150| 4f 47 52 41 4d 20 3d 20 | 78 67 6f 6e 65 0a 58 0a |OGRAM = |xgone.X.|
|00002160| 58 61 6c 6c 3a 3a 20 78 | 67 6f 6e 65 0a 58 0a 58 |Xall:: x|gone.X.X|
|00002170| 78 67 6f 6e 65 3a 20 24 | 28 4f 42 4a 53 29 20 24 |xgone: $|(OBJS) $|
|00002180| 28 4c 4f 43 41 4c 5f 4c | 49 42 52 41 52 49 45 53 |(LOCAL_L|IBRARIES|
|00002190| 29 0a 58 09 24 28 52 4d | 29 20 24 40 0a 58 09 24 |).X.$(RM|) $@.X.$|
|000021a0| 28 43 43 29 20 2d 6f 20 | 24 40 20 24 28 4f 42 4a |(CC) -o |$@ $(OBJ|
|000021b0| 53 29 20 24 28 4c 4f 43 | 41 4c 5f 4c 49 42 52 41 |S) $(LOC|AL_LIBRA|
|000021c0| 52 49 45 53 29 20 24 28 | 4c 44 46 4c 41 47 53 29 |RIES) $(|LDFLAGS)|
|000021d0| 20 24 28 53 59 53 4c 41 | 53 54 5f 4c 49 42 52 41 | $(SYSLA|ST_LIBRA|
|000021e0| 52 49 45 53 29 0a 58 0a | 58 72 65 6c 69 6e 6b 3a |RIES).X.|Xrelink:|
|000021f0| 3a 0a 58 09 24 28 52 4d | 29 20 24 28 50 52 4f 47 |:.X.$(RM|) $(PROG|
|00002200| 52 41 4d 29 0a 58 09 24 | 28 4d 41 4b 45 29 20 24 |RAM).X.$|(MAKE) $|
|00002210| 28 4d 46 4c 41 47 53 29 | 20 24 28 50 52 4f 47 52 |(MFLAGS)| $(PROGR|
|00002220| 41 4d 29 0a 58 0a 58 69 | 6e 73 74 61 6c 6c 3a 3a |AM).X.Xi|nstall::|
|00002230| 20 78 67 6f 6e 65 0a 58 | 09 24 28 49 4e 53 54 41 | xgone.X|.$(INSTA|
|00002240| 4c 4c 29 20 2d 63 20 24 | 28 49 4e 53 54 41 4c 4c |LL) -c $|(INSTALL|
|00002250| 46 4c 41 47 53 29 20 78 | 67 6f 6e 65 20 24 28 42 |FLAGS) x|gone $(B|
|00002260| 49 4e 44 49 52 29 0a 58 | 0a 58 69 6e 73 74 61 6c |INDIR).X|.Xinstal|
|00002270| 6c 2e 6d 61 6e 3a 3a 20 | 78 67 6f 6e 65 2e 6d 61 |l.man:: |xgone.ma|
|00002280| 6e 0a 58 09 24 28 49 4e | 53 54 41 4c 4c 29 20 2d |n.X.$(IN|STALL) -|
|00002290| 63 20 24 28 49 4e 53 54 | 4d 41 4e 46 4c 41 47 53 |c $(INST|MANFLAGS|
|000022a0| 29 20 78 67 6f 6e 65 2e | 6d 61 6e 20 24 28 4d 41 |) xgone.|man $(MA|
|000022b0| 4e 44 49 52 29 2f 78 67 | 6f 6e 65 2e 6e 0a 58 0a |NDIR)/xg|one.n.X.|
|000022c0| 58 64 65 70 65 6e 64 3a | 3a 20 24 28 44 45 50 45 |Xdepend:|: $(DEPE|
|000022d0| 4e 44 29 0a 58 0a 58 64 | 65 70 65 6e 64 3a 3a 0a |ND).X.Xd|epend::.|
|000022e0| 58 09 24 28 44 45 50 45 | 4e 44 29 20 2d 73 20 22 |X.$(DEPE|ND) -s "|
|000022f0| 23 20 44 4f 20 4e 4f 54 | 20 44 45 4c 45 54 45 22 |# DO NOT| DELETE"|
|00002300| 20 2d 2d 20 24 28 43 46 | 4c 41 47 53 29 20 2d 2d | -- $(CF|LAGS) --|
|00002310| 20 24 28 53 52 43 53 29 | 0a 58 0a 58 24 28 44 45 | $(SRCS)|.X.X$(DE|
|00002320| 50 45 4e 44 29 3a 0a 58 | 09 40 65 63 68 6f 20 22 |PEND):.X|.@echo "|
|00002330| 6d 61 6b 69 6e 67 20 24 | 40 22 3b 20 5c 0a 58 09 |making $|@"; \.X.|
|00002340| 63 64 20 24 28 44 45 50 | 45 4e 44 53 52 43 29 3b |cd $(DEP|ENDSRC);|
|00002350| 20 24 28 4d 41 4b 45 29 | 0a 58 0a 58 63 6c 65 61 | $(MAKE)|.X.Xclea|
|00002360| 6e 3a 3a 0a 58 09 24 28 | 52 4d 29 20 24 28 50 52 |n::.X.$(|RM) $(PR|
|00002370| 4f 47 52 41 4d 29 0a 58 | 0a 58 23 23 23 23 23 23 |OGRAM).X|.X######|
|00002380| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002390| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000023a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000023b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000023c0| 23 23 23 23 23 0a 58 23 | 20 49 6d 61 6b 65 2e 74 |#####.X#| Imake.t|
|000023d0| 6d 70 6c 20 63 6f 6d 6d | 6f 6e 20 72 75 6c 65 73 |mpl comm|on rules|
|000023e0| 20 66 6f 72 20 61 6c 6c | 20 4d 61 6b 65 66 69 6c | for all| Makefil|
|000023f0| 65 73 20 2d 20 64 6f 20 | 6e 6f 74 20 65 64 69 74 |es - do |not edit|
|00002400| 0a 58 0a 58 65 6d 70 74 | 79 72 75 6c 65 3a 3a 0a |.X.Xempt|yrule::.|
|00002410| 58 0a 58 63 6c 65 61 6e | 3a 3a 0a 58 09 24 28 52 |X.Xclean|::.X.$(R|
|00002420| 4d 5f 43 4d 44 29 20 5c | 23 2a 0a 58 0a 58 4d 61 |M_CMD) \|#*.X.XMa|
|00002430| 6b 65 66 69 6c 65 3a 3a | 20 24 28 49 4d 41 4b 45 |kefile::| $(IMAKE|
|00002440| 29 0a 58 0a 58 4d 61 6b | 65 66 69 6c 65 3a 3a 20 |).X.XMak|efile:: |
|00002450| 49 6d 61 6b 65 66 69 6c | 65 20 5c 0a 58 09 24 28 |Imakefil|e \.X.$(|
|00002460| 49 52 55 4c 45 53 52 43 | 29 2f 49 6d 61 6b 65 2e |IRULESRC|)/Imake.|
|00002470| 74 6d 70 6c 20 5c 0a 58 | 09 24 28 49 52 55 4c 45 |tmpl \.X|.$(IRULE|
|00002480| 53 52 43 29 2f 49 6d 61 | 6b 65 2e 72 75 6c 65 73 |SRC)/Ima|ke.rules|
|00002490| 20 5c 0a 58 09 24 28 49 | 52 55 4c 45 53 52 43 29 | \.X.$(I|RULESRC)|
|000024a0| 2f 73 69 74 65 2e 64 65 | 66 20 5c 0a 58 09 24 28 |/site.de|f \.X.$(|
|000024b0| 49 52 55 4c 45 53 52 43 | 29 2f 24 28 4d 41 43 52 |IRULESRC|)/$(MACR|
|000024c0| 4f 46 49 4c 45 29 0a 58 | 09 2d 40 69 66 20 5b 20 |OFILE).X|.-@if [ |
|000024d0| 2d 66 20 4d 61 6b 65 66 | 69 6c 65 20 5d 3b 20 74 |-f Makef|ile ]; t|
|000024e0| 68 65 6e 20 5c 0a 58 09 | 65 63 68 6f 20 22 24 28 |hen \.X.|echo "$(|
|000024f0| 52 4d 29 20 4d 61 6b 65 | 66 69 6c 65 2e 62 61 6b |RM) Make|file.bak|
|00002500| 3b 20 24 28 4d 56 29 20 | 4d 61 6b 65 66 69 6c 65 |; $(MV) |Makefile|
|00002510| 20 4d 61 6b 65 66 69 6c | 65 2e 62 61 6b 22 3b 20 | Makefil|e.bak"; |
|00002520| 5c 0a 58 09 24 28 52 4d | 29 20 4d 61 6b 65 66 69 |\.X.$(RM|) Makefi|
|00002530| 6c 65 2e 62 61 6b 3b 20 | 24 28 4d 56 29 20 4d 61 |le.bak; |$(MV) Ma|
|00002540| 6b 65 66 69 6c 65 20 4d | 61 6b 65 66 69 6c 65 2e |kefile M|akefile.|
|00002550| 62 61 6b 3b 20 5c 0a 58 | 09 65 6c 73 65 20 65 78 |bak; \.X|.else ex|
|00002560| 69 74 20 30 3b 20 66 69 | 0a 58 09 24 28 49 4d 41 |it 0; fi|.X.$(IMA|
|00002570| 4b 45 5f 43 4d 44 29 20 | 2d 44 54 4f 50 44 49 52 |KE_CMD) |-DTOPDIR|
|00002580| 3d 24 28 54 4f 50 29 0a | 58 0a 58 24 28 49 4d 41 |=$(TOP).|X.X$(IMA|
|00002590| 4b 45 29 3a 0a 58 09 40 | 65 63 68 6f 20 22 6d 61 |KE):.X.@|echo "ma|
|000025a0| 6b 69 6e 67 20 24 40 22 | 3b 20 5c 0a 58 09 63 64 |king $@"|; \.X.cd|
|000025b0| 20 24 28 49 4d 41 4b 45 | 53 52 43 29 3b 20 24 28 | $(IMAKE|SRC); $(|
|000025c0| 4d 41 4b 45 29 20 42 4f | 4f 54 53 54 52 41 50 43 |MAKE) BO|OTSTRAPC|
|000025d0| 46 4c 41 47 53 3d 24 28 | 42 4f 4f 54 53 54 52 41 |FLAGS=$(|BOOTSTRA|
|000025e0| 50 43 46 4c 41 47 53 29 | 0a 58 0a 58 74 61 67 73 |PCFLAGS)|.X.Xtags|
|000025f0| 3a 3a 0a 58 09 24 28 54 | 41 47 53 29 20 2d 77 20 |::.X.$(T|AGS) -w |
|00002600| 2a 2e 5b 63 68 5d 0a 58 | 09 24 28 54 41 47 53 29 |*.[ch].X|.$(TAGS)|
|00002610| 20 2d 78 77 20 2a 2e 5b | 63 68 5d 20 3e 20 54 41 | -xw *.[|ch] > TA|
|00002620| 47 53 0a 58 0a 58 23 23 | 23 23 23 23 23 23 23 23 |GS.X.X##|########|
|00002630| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002640| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002650| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002660| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002670| 23 0a 58 23 20 65 6d 70 | 74 79 20 72 75 6c 65 73 |#.X# emp|ty rules|
|00002680| 20 66 6f 72 20 64 69 72 | 65 63 74 6f 72 69 65 73 | for dir|ectories|
|00002690| 20 74 68 61 74 20 64 6f | 20 6e 6f 74 20 68 61 76 | that do| not hav|
|000026a0| 65 20 53 55 42 44 49 52 | 53 20 2d 20 64 6f 20 6e |e SUBDIR|S - do n|
|000026b0| 6f 74 20 65 64 69 74 0a | 58 0a 58 69 6e 73 74 61 |ot edit.|X.Xinsta|
|000026c0| 6c 6c 3a 3a 0a 58 09 40 | 65 63 68 6f 20 22 69 6e |ll::.X.@|echo "in|
|000026d0| 73 74 61 6c 6c 20 64 6f | 6e 65 22 0a 58 0a 58 69 |stall do|ne".X.Xi|
|000026e0| 6e 73 74 61 6c 6c 2e 6d | 61 6e 3a 3a 0a 58 09 40 |nstall.m|an::.X.@|
|000026f0| 65 63 68 6f 20 22 69 6e | 73 74 61 6c 6c 2e 6d 61 |echo "in|stall.ma|
|00002700| 6e 20 64 6f 6e 65 22 0a | 58 0a 58 4d 61 6b 65 66 |n done".|X.XMakef|
|00002710| 69 6c 65 73 3a 3a 0a 58 | 0a 58 23 23 23 23 23 23 |iles::.X|.X######|
|00002720| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002730| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002740| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002750| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002760| 23 23 23 23 23 0a 58 23 | 20 64 65 70 65 6e 64 65 |#####.X#| depende|
|00002770| 6e 63 69 65 73 20 67 65 | 6e 65 72 61 74 65 64 20 |ncies ge|nerated |
|00002780| 62 79 20 6d 61 6b 65 64 | 65 70 65 6e 64 0a 58 0a |by maked|epend.X.|
|00002790| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 0a 69 66 20 74 |END_OF_F|ILE.if t|
|000027a0| 65 73 74 20 36 34 31 38 | 20 2d 6e 65 20 60 77 63 |est 6418| -ne `wc|
|000027b0| 20 2d 63 20 3c 27 4d 61 | 6b 65 66 69 6c 65 27 60 | -c <'Ma|kefile'`|
|000027c0| 3b 20 74 68 65 6e 0a 20 | 20 20 20 65 63 68 6f 20 |; then. | echo |
|000027d0| 73 68 61 72 3a 20 5c 22 | 27 4d 61 6b 65 66 69 6c |shar: \"|'Makefil|
|000027e0| 65 27 5c 22 20 75 6e 70 | 61 63 6b 65 64 20 77 69 |e'\" unp|acked wi|
|000027f0| 74 68 20 77 72 6f 6e 67 | 20 73 69 7a 65 21 0a 66 |th wrong| size!.f|
|00002800| 69 0a 23 20 65 6e 64 20 | 6f 66 20 27 4d 61 6b 65 |i.# end |of 'Make|
|00002810| 66 69 6c 65 27 0a 66 69 | 0a 69 66 20 74 65 73 74 |file'.fi|.if test|
|00002820| 20 2d 66 20 27 70 61 74 | 63 68 6c 65 76 65 6c 2e | -f 'pat|chlevel.|
|00002830| 68 27 20 2d 61 20 22 24 | 7b 31 7d 22 20 21 3d 20 |h' -a "$|{1}" != |
|00002840| 22 2d 63 22 20 3b 20 74 | 68 65 6e 20 0a 20 20 65 |"-c" ; t|hen . e|
|00002850| 63 68 6f 20 73 68 61 72 | 3a 20 57 69 6c 6c 20 6e |cho shar|: Will n|
|00002860| 6f 74 20 63 6c 6f 62 62 | 65 72 20 65 78 69 73 74 |ot clobb|er exist|
|00002870| 69 6e 67 20 66 69 6c 65 | 20 5c 22 27 70 61 74 63 |ing file| \"'patc|
|00002880| 68 6c 65 76 65 6c 2e 68 | 27 5c 22 0a 65 6c 73 65 |hlevel.h|'\".else|
|00002890| 0a 65 63 68 6f 20 73 68 | 61 72 3a 20 45 78 74 72 |.echo sh|ar: Extr|
|000028a0| 61 63 74 69 6e 67 20 5c | 22 27 70 61 74 63 68 6c |acting \|"'patchl|
|000028b0| 65 76 65 6c 2e 68 27 5c | 22 20 5c 28 32 31 20 63 |evel.h'\|" \(21 c|
|000028c0| 68 61 72 61 63 74 65 72 | 73 5c 29 0a 73 65 64 20 |haracter|s\).sed |
|000028d0| 22 73 2f 5e 58 2f 2f 22 | 20 3e 27 70 61 74 63 68 |"s/^X//"| >'patch|
|000028e0| 6c 65 76 65 6c 2e 68 27 | 20 3c 3c 27 45 4e 44 5f |level.h'| <<'END_|
|000028f0| 4f 46 5f 46 49 4c 45 27 | 0a 58 23 64 65 66 69 6e |OF_FILE'|.X#defin|
|00002900| 65 20 50 41 54 43 48 4c | 45 56 45 4c 20 30 0a 45 |e PATCHL|EVEL 0.E|
|00002910| 4e 44 5f 4f 46 5f 46 49 | 4c 45 0a 69 66 20 74 65 |ND_OF_FI|LE.if te|
|00002920| 73 74 20 32 31 20 2d 6e | 65 20 60 77 63 20 2d 63 |st 21 -n|e `wc -c|
|00002930| 20 3c 27 70 61 74 63 68 | 6c 65 76 65 6c 2e 68 27 | <'patch|level.h'|
|00002940| 60 3b 20 74 68 65 6e 0a | 20 20 20 20 65 63 68 6f |`; then.| echo|
|00002950| 20 73 68 61 72 3a 20 5c | 22 27 70 61 74 63 68 6c | shar: \|"'patchl|
|00002960| 65 76 65 6c 2e 68 27 5c | 22 20 75 6e 70 61 63 6b |evel.h'\|" unpack|
|00002970| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00002980| 7a 65 21 0a 66 69 0a 23 | 20 65 6e 64 20 6f 66 20 |ze!.fi.#| end of |
|00002990| 27 70 61 74 63 68 6c 65 | 76 65 6c 2e 68 27 0a 66 |'patchle|vel.h'.f|
|000029a0| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 78 67 |i.if tes|t -f 'xg|
|000029b0| 6f 6e 65 2e 63 27 20 2d | 61 20 22 24 7b 31 7d 22 |one.c' -|a "${1}"|
|000029c0| 20 21 3d 20 22 2d 63 22 | 20 3b 20 74 68 65 6e 20 | != "-c"| ; then |
|000029d0| 0a 20 20 65 63 68 6f 20 | 73 68 61 72 3a 20 57 69 |. echo |shar: Wi|
|000029e0| 6c 6c 20 6e 6f 74 20 63 | 6c 6f 62 62 65 72 20 65 |ll not c|lobber e|
|000029f0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 5c 22 27 |xisting |file \"'|
|00002a00| 78 67 6f 6e 65 2e 63 27 | 5c 22 0a 65 6c 73 65 0a |xgone.c'|\".else.|
|00002a10| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|00002a20| 63 74 69 6e 67 20 5c 22 | 27 78 67 6f 6e 65 2e 63 |cting \"|'xgone.c|
|00002a30| 27 5c 22 20 5c 28 31 34 | 31 37 37 20 63 68 61 72 |'\" \(14|177 char|
|00002a40| 61 63 74 65 72 73 5c 29 | 0a 73 65 64 20 22 73 2f |acters\)|.sed "s/|
|00002a50| 5e 58 2f 2f 22 20 3e 27 | 78 67 6f 6e 65 2e 63 27 |^X//" >'|xgone.c'|
|00002a60| 20 3c 3c 27 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | <<'END_|OF_FILE'|
|00002a70| 0a 58 2f 2a 0a 58 20 2a | 20 4c 6f 63 6b 73 63 72 |.X/*.X *| Lockscr|
|00002a80| 65 65 6e 20 66 6f 72 20 | 58 20 77 69 6e 64 6f 77 |een for |X window|
|00002a90| 73 0a 58 20 2a 20 54 69 | 6d 20 4d 6f 72 67 61 6e |s.X * Ti|m Morgan|
|00002aa0| 20 32 2f 32 35 2f 38 37 | 0a 58 20 2a 20 0a 58 20 | 2/25/87|.X * .X |
|00002ab0| 2a 20 4d 6f 64 69 66 69 | 65 64 20 66 6f 72 20 58 |* Modifi|ed for X|
|00002ac0| 31 31 20 62 79 20 52 69 | 63 68 61 72 64 20 4a 6f |11 by Ri|chard Jo|
|00002ad0| 68 6e 73 6f 6e 0a 58 20 | 2a 20 4d 6f 64 69 66 69 |hnson.X |* Modifi|
|00002ae0| 65 64 2f 52 65 77 72 69 | 74 74 65 6e 20 65 78 74 |ed/Rewri|tten ext|
|00002af0| 65 6e 73 69 76 65 6c 79 | 20 61 66 74 65 72 77 61 |ensively| afterwa|
|00002b00| 72 64 73 2e 0a 58 20 2a | 2f 0a 58 0a 58 23 69 6e |rds..X *|/.X.X#in|
|00002b10| 63 6c 75 64 65 20 3c 58 | 31 31 2f 58 6c 69 62 2e |clude <X|11/Xlib.|
|00002b20| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 73 74 |h>.X#inc|lude <st|
|00002b30| 64 69 6f 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |dio.h>.X|#include|
|00002b40| 20 3c 70 77 64 2e 68 3e | 0a 58 23 69 6e 63 6c 75 | <pwd.h>|.X#inclu|
|00002b50| 64 65 20 3c 73 69 67 6e | 61 6c 2e 68 3e 0a 58 23 |de <sign|al.h>.X#|
|00002b60| 69 6e 63 6c 75 64 65 20 | 3c 58 31 31 2f 58 6f 73 |include |<X11/Xos|
|00002b70| 2e 68 3e 0a 58 0a 58 23 | 64 65 66 69 6e 65 09 53 |.h>.X.X#|define.S|
|00002b80| 4c 45 45 50 5f 54 49 4d | 45 09 32 09 09 2f 2a 20 |LEEP_TIM|E.2../* |
|00002b90| 53 65 63 6f 6e 64 73 2c | 20 6f 66 20 63 6f 75 72 |Seconds,| of cour|
|00002ba0| 73 65 20 2a 2f 0a 58 23 | 64 65 66 69 6e 65 20 46 |se */.X#|define F|
|00002bb0| 4f 4e 54 09 09 22 66 69 | 78 65 64 22 09 09 2f 2a |ONT.."fi|xed"../*|
|00002bc0| 20 42 4f 52 49 4e 47 21 | 20 28 62 75 74 20 61 6c | BORING!| (but al|
|00002bd0| 77 61 79 73 20 74 68 65 | 72 65 29 20 2a 2f 0a 58 |ways the|re) */.X|
|00002be0| 23 64 65 66 69 6e 65 20 | 53 45 50 41 52 41 54 49 |#define |SEPARATI|
|00002bf0| 4f 4e 09 32 09 09 2f 2a | 20 2e 2e 2e 20 62 65 74 |ON.2../*| ... bet|
|00002c00| 77 65 65 6e 20 6c 69 6e | 65 73 20 2a 2f 0a 58 23 |ween lin|es */.X#|
|00002c10| 64 65 66 69 6e 65 20 44 | 49 53 50 4c 41 59 4e 41 |define D|ISPLAYNA|
|00002c20| 4d 45 09 22 22 0a 58 23 | 64 65 66 69 6e 65 20 44 |ME."".X#|define D|
|00002c30| 45 4c 41 59 54 49 4d 45 | 09 32 09 09 2f 2a 20 64 |ELAYTIME|.2../* d|
|00002c40| 65 6c 61 79 20 74 69 6d | 65 20 66 6f 72 20 22 2d |elay tim|e for "-|
|00002c50| 64 65 6c 61 79 22 20 6f | 70 74 69 6f 6e 20 2a 2f |delay" o|ption */|
|00002c60| 0a 58 23 64 65 66 69 6e | 65 20 46 41 4c 53 45 09 |.X#defin|e FALSE.|
|00002c70| 09 30 0a 58 23 64 65 66 | 69 6e 65 20 54 52 55 45 |.0.X#def|ine TRUE|
|00002c80| 09 09 31 0a 58 23 64 65 | 66 69 6e 65 20 55 54 4d |..1.X#de|fine UTM|
|00002c90| 50 09 09 22 2f 65 74 63 | 2f 75 74 6d 70 22 09 2f |P.."/etc|/utmp"./|
|00002ca0| 2a 20 74 68 65 20 75 74 | 6d 70 20 66 69 6c 65 20 |* the ut|mp file |
|00002cb0| 2a 2f 0a 58 23 64 65 66 | 69 6e 65 20 63 6f 6e 74 |*/.X#def|ine cont|
|00002cc0| 72 6f 6c 28 61 29 09 28 | 28 61 29 20 2d 20 28 27 |rol(a).(|(a) - ('|
|00002cd0| 40 27 29 29 09 2f 2a 20 | 63 6f 6e 74 72 6f 6c 20 |@'))./* |control |
|00002ce0| 63 68 61 72 61 63 74 65 | 72 73 20 2a 2f 0a 58 0a |characte|rs */.X.|
|00002cf0| 58 63 68 61 72 09 44 73 | 70 4d 73 67 5b 31 30 32 |Xchar.Ds|pMsg[102|
|00002d00| 34 5d 3d 22 58 20 47 6f | 6e 65 22 3b 09 2f 2a 20 |4]="X Go|ne";./* |
|00002d10| 44 65 66 61 75 6c 74 20 | 6d 65 73 73 61 67 65 20 |Default |message |
|00002d20| 74 6f 20 64 69 73 70 6c | 61 79 20 2a 2f 0a 58 63 |to displ|ay */.Xc|
|00002d30| 68 61 72 09 2a 44 73 70 | 74 69 6d 65 3d 22 53 74 |har.*Dsp|time="St|
|00002d40| 61 72 74 65 64 3a 20 22 | 3b 09 09 2f 2a 20 54 69 |arted: "|;../* Ti|
|00002d50| 6d 65 20 63 6f 6d 6d 61 | 6e 64 20 77 61 73 20 73 |me comma|nd was s|
|00002d60| 74 61 72 74 65 64 20 2a | 2f 0a 58 69 6e 74 09 66 |tarted *|/.Xint.f|
|00002d70| 6f 6e 74 68 65 69 67 68 | 74 3b 09 09 09 2f 2a 20 |ontheigh|t;.../* |
|00002d80| 68 65 69 67 68 74 20 6f | 66 20 6f 6e 65 20 6c 69 |height o|f one li|
|00002d90| 6e 65 20 6f 66 20 74 65 | 78 74 20 2a 2f 0a 58 50 |ne of te|xt */.XP|
|00002da0| 69 78 6d 61 70 09 74 65 | 78 74 70 69 78 6d 61 70 |ixmap.te|xtpixmap|
|00002db0| 3b 09 09 09 2f 2a 20 70 | 69 78 6d 61 70 20 74 6f |;.../* p|ixmap to|
|00002dc0| 20 68 6f 6c 64 20 74 65 | 78 74 20 2a 2f 0a 58 69 | hold te|xt */.Xi|
|00002dd0| 6e 74 09 74 65 78 74 77 | 69 64 74 68 2c 20 74 65 |nt.textw|idth, te|
|00002de0| 78 74 68 65 69 67 68 74 | 3b 09 09 2f 2a 20 73 69 |xtheight|;../* si|
|00002df0| 7a 65 73 20 6f 66 20 77 | 68 6f 6c 65 20 74 65 78 |zes of w|hole tex|
|00002e00| 74 20 61 72 65 61 20 2a | 2f 0a 58 69 6e 74 09 53 |t area *|/.Xint.S|
|00002e10| 6c 65 65 70 74 69 6d 65 | 3d 53 4c 45 45 50 5f 54 |leeptime|=SLEEP_T|
|00002e20| 49 4d 45 3b 09 09 2f 2a | 20 73 6c 65 65 70 20 74 |IME;../*| sleep t|
|00002e30| 69 6d 65 20 62 65 74 77 | 65 65 6e 20 75 70 64 61 |ime betw|een upda|
|00002e40| 74 65 73 20 2a 2f 0a 58 | 69 6e 74 09 44 65 6c 61 |tes */.X|int.Dela|
|00002e50| 79 3d 46 41 4c 53 45 3b | 09 09 09 2f 2a 20 44 65 |y=FALSE;|.../* De|
|00002e60| 6c 61 79 20 73 74 61 72 | 74 75 70 20 28 66 6f 72 |lay star|tup (for|
|00002e70| 20 74 77 6d 29 20 2a 2f | 0a 58 69 6e 74 09 6c 61 | twm) */|.Xint.la|
|00002e80| 73 74 78 3d 30 2c 20 6c | 61 73 74 79 3d 30 3b 09 |stx=0, l|asty=0;.|
|00002e90| 09 2f 2a 20 6c 61 73 74 | 20 63 6f 6f 72 64 27 73 |./* last| coord's|
|00002ea0| 20 6f 66 20 74 65 78 74 | 20 2a 2f 0a 58 66 64 5f | of text| */.Xfd_|
|00002eb0| 73 65 74 09 73 65 6c 65 | 63 74 5f 6d 61 73 6b 2c |set.sele|ct_mask,|
|00002ec0| 20 73 65 6c 5f 6d 61 73 | 6b 3b 09 09 2f 2a 20 66 | sel_mas|k;../* f|
|00002ed0| 6f 72 20 73 65 6c 65 63 | 74 20 73 74 75 66 66 20 |or selec|t stuff |
|00002ee0| 2a 2f 0a 58 69 6e 74 09 | 73 65 6c 65 63 74 5f 62 |*/.Xint.|select_b|
|00002ef0| 69 74 73 3b 09 09 09 2f | 2a 20 77 69 64 74 68 20 |its;.../|* width |
|00002f00| 6f 66 20 73 65 6c 65 63 | 74 5f 6d 61 73 6b 20 2a |of selec|t_mask *|
|00002f10| 2f 0a 58 73 74 72 75 63 | 74 20 74 69 6d 65 76 61 |/.Xstruc|t timeva|
|00002f20| 6c 09 73 6c 65 65 70 74 | 69 6d 65 3b 09 09 2f 2a |l.sleept|ime;../*|
|00002f30| 20 66 6f 72 20 73 65 6c | 65 63 74 73 20 2a 2f 0a | for sel|ects */.|
|00002f40| 58 63 68 61 72 09 2a 69 | 6e 64 65 78 28 29 3b 09 |Xchar.*i|ndex();.|
|00002f50| 09 09 2f 2a 20 66 72 6f | 6d 20 43 20 6c 69 62 2e |../* fro|m C lib.|
|00002f60| 20 2a 2f 0a 58 0a 58 6d | 61 69 6e 28 61 72 67 63 | */.X.Xm|ain(argc|
|00002f70| 2c 20 61 72 67 76 29 0a | 58 69 6e 74 20 61 72 67 |, argv).|Xint arg|
|00002f80| 63 3b 0a 58 63 68 61 72 | 20 2a 61 72 67 76 5b 5d |c;.Xchar| *argv[]|
|00002f90| 3b 0a 58 7b 0a 58 20 20 | 20 20 44 69 73 70 6c 61 |;.X{.X | Displa|
|00002fa0| 79 09 09 09 2a 64 70 79 | 3b 0a 58 20 20 20 20 58 |y...*dpy|;.X X|
|00002fb0| 53 65 74 57 69 6e 64 6f | 77 41 74 74 72 69 62 75 |SetWindo|wAttribu|
|00002fc0| 74 65 73 09 78 73 77 61 | 3b 0a 58 20 20 20 20 56 |tes.xswa|;.X V|
|00002fd0| 69 73 75 61 6c 09 09 09 | 76 69 73 75 61 6c 3b 0a |isual...|visual;.|
|00002fe0| 58 20 20 20 20 57 69 6e | 64 6f 77 09 09 09 77 3b |X Win|dow...w;|
|00002ff0| 0a 58 20 20 20 20 47 43 | 09 09 09 09 67 63 3b 0a |.X GC|....gc;.|
|00003000| 58 20 20 20 20 58 47 43 | 56 61 6c 75 65 73 09 09 |X XGC|Values..|
|00003010| 09 67 63 76 61 6c 75 65 | 73 3b 0a 58 20 20 20 20 |.gcvalue|s;.X |
|00003020| 58 45 76 65 6e 74 09 09 | 09 69 6e 3b 0a 58 20 20 |XEvent..|.in;.X |
|00003030| 20 20 58 46 6f 6e 74 53 | 74 72 75 63 74 09 09 09 | XFontS|truct...|
|00003040| 2a 66 6f 6e 74 3b 0a 58 | 20 20 20 20 58 43 6f 6c |*font;.X| XCol|
|00003050| 6f 72 09 09 09 62 6c 61 | 63 6b 63 6f 6c 6f 72 3b |or...bla|ckcolor;|
|00003060| 0a 58 20 20 20 20 58 43 | 6f 6c 6f 72 09 09 09 77 |.X XC|olor...w|
|00003070| 68 69 74 65 63 6f 6c 6f | 72 3b 0a 58 20 20 20 20 |hitecolo|r;.X |
|00003080| 50 69 78 6d 61 70 09 09 | 09 70 69 78 6d 61 70 3b |Pixmap..|.pixmap;|
|00003090| 0a 58 20 20 20 20 43 75 | 72 73 6f 72 09 09 09 63 |.X Cu|rsor...c|
|000030a0| 75 72 73 6f 72 3b 0a 58 | 20 20 20 20 63 68 61 72 |ursor;.X| char|
|000030b0| 09 09 09 62 75 66 66 65 | 72 5b 31 30 30 5d 2c 20 |...buffe|r[100], |
|000030c0| 69 6e 70 75 74 62 75 66 | 5b 38 30 5d 2c 20 2a 73 |inputbuf|[80], *s|
|000030d0| 74 72 69 6e 67 2c 20 2a | 75 73 65 72 5f 6e 61 6d |tring, *|user_nam|
|000030e0| 65 0a 58 09 09 09 09 2c | 2a 67 65 74 65 6e 76 28 |e.X....,|*getenv(|
|000030f0| 29 2c 20 2a 63 74 69 6d | 65 28 29 2c 20 2a 72 69 |), *ctim|e(), *ri|
|00003100| 6e 64 65 78 28 29 2c 20 | 72 65 73 70 6f 6e 73 65 |ndex(), |response|
|00003110| 5b 31 30 30 5d 3b 0a 58 | 20 20 20 20 63 68 61 72 |[100];.X| char|
|00003120| 09 09 09 2a 63 72 79 70 | 74 28 29 2c 20 2a 70 77 |...*cryp|t(), *pw|
|00003130| 2c 20 72 6f 6f 74 5f 70 | 77 5b 32 30 5d 2c 20 2a |, root_p|w[20], *|
|00003140| 75 73 65 72 5f 70 61 73 | 73 77 64 3b 0a 58 20 20 |user_pas|swd;.X |
|00003150| 20 20 69 6e 74 09 09 09 | 09 6c 65 6e 2c 20 70 61 | int...|.len, pa|
|00003160| 73 73 77 6f 72 64 5f 62 | 61 64 20 3d 20 31 2c 20 |ssword_b|ad = 1, |
|00003170| 72 65 73 70 6f 6e 73 65 | 5f 69 2c 20 6e 62 79 74 |response|_i, nbyt|
|00003180| 65 73 2c 20 69 3b 0a 58 | 20 20 20 20 73 74 72 75 |es, i;.X| stru|
|00003190| 63 74 20 70 61 73 73 77 | 64 09 09 2a 75 3b 0a 58 |ct passw|d..*u;.X|
|000031a0| 20 20 20 20 63 68 61 72 | 09 09 09 2a 6d 79 6e 61 | char|...*myna|
|000031b0| 6d 65 2c 20 2a 64 73 70 | 70 74 72 3b 0a 58 20 20 |me, *dsp|ptr;.X |
|000031c0| 20 20 73 68 6f 72 74 09 | 09 09 2a 62 69 74 73 3b | short.|..*bits;|
|000031d0| 0a 58 20 20 20 20 69 6e | 74 09 09 09 09 77 69 64 |.X in|t....wid|
|000031e0| 74 68 2c 20 6c 65 6e 77 | 69 64 74 68 3b 0a 58 20 |th, lenw|idth;.X |
|000031f0| 20 20 20 69 6e 74 09 09 | 09 09 74 69 6d 65 6f 75 | int..|..timeou|
|00003200| 74 2c 20 69 6e 74 65 72 | 76 61 6c 2c 0a 58 09 09 |t, inter|val,.X..|
|00003210| 09 09 70 72 65 66 65 72 | 65 6e 63 65 2c 20 61 6c |..prefer|ence, al|
|00003220| 6c 6f 77 65 78 70 3b 0a | 58 20 20 20 20 73 74 61 |lowexp;.|X sta|
|00003230| 74 69 63 20 63 68 61 72 | 09 09 09 66 6f 6e 74 6e |tic char|...fontn|
|00003240| 61 6d 65 5b 38 30 5d 3d | 7b 46 4f 4e 54 7d 3b 0a |ame[80]=|{FONT};.|
|00003250| 58 0a 58 20 20 20 20 69 | 66 28 28 6d 79 6e 61 6d |X.X i|f((mynam|
|00003260| 65 20 3d 20 72 69 6e 64 | 65 78 28 61 72 67 76 5b |e = rind|ex(argv[|
|00003270| 30 5d 2c 20 27 2f 27 29 | 29 20 3d 3d 20 4e 55 4c |0], '/')|) == NUL|
|00003280| 4c 29 0a 58 09 6d 79 6e | 61 6d 65 20 3d 20 61 72 |L).X.myn|ame = ar|
|00003290| 67 76 5b 30 5d 3b 0a 58 | 20 20 20 20 65 6c 73 65 |gv[0];.X| else|
|000032a0| 0a 58 09 6d 79 6e 61 6d | 65 2b 2b 3b 0a 58 0a 58 |.X.mynam|e++;.X.X|
|000032b0| 20 20 20 20 69 66 20 28 | 21 20 76 65 72 69 66 79 | if (|! verify|
|000032c0| 28 67 65 74 75 69 64 28 | 29 2c 20 67 65 74 65 6e |(getuid(|), geten|
|000032d0| 76 28 22 44 49 53 50 4c | 41 59 22 29 29 29 20 7b |v("DISPL|AY"))) {|
|000032e0| 0a 58 09 66 70 72 69 6e | 74 66 28 73 74 64 65 72 |.X.fprin|tf(stder|
|000032f0| 72 2c 20 22 49 20 63 61 | 6e 27 74 20 6f 70 65 6e |r, "I ca|n't open|
|00003300| 20 74 68 61 74 20 64 69 | 73 70 6c 61 79 20 20 2d | that di|splay -|
|00003310| 20 20 73 6f 72 72 79 2e | 2e 2e 5c 6e 22 29 3b 0a | sorry.|..\n");.|
|00003320| 58 09 65 78 69 74 28 31 | 29 3b 0a 58 20 20 20 20 |X.exit(1|);.X |
|00003330| 7d 20 0a 58 20 20 20 20 | 0a 58 20 20 20 20 69 66 |} .X |.X if|
|00003340| 20 28 28 64 70 79 20 3d | 20 58 4f 70 65 6e 44 69 | ((dpy =| XOpenDi|
|00003350| 73 70 6c 61 79 28 44 49 | 53 50 4c 41 59 4e 41 4d |splay(DI|SPLAYNAM|
|00003360| 45 29 29 20 3d 3d 20 4e | 55 4c 4c 29 20 7b 0a 58 |E)) == N|ULL) {.X|
|00003370| 09 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c |.fprintf|(stderr,|
|00003380| 20 22 25 73 3a 20 43 61 | 6e 27 74 20 6f 70 65 6e | "%s: Ca|n't open|
|00003390| 20 64 69 73 70 6c 61 79 | 20 27 25 73 27 5c 6e 22 | display| '%s'\n"|
|000033a0| 2c 0a 58 09 09 6d 79 6e | 61 6d 65 2c 20 58 44 69 |,.X..myn|ame, XDi|
|000033b0| 73 70 6c 61 79 4e 61 6d | 65 28 44 49 53 50 4c 41 |splayNam|e(DISPLA|
|000033c0| 59 4e 41 4d 45 29 29 3b | 0a 58 09 65 78 69 74 28 |YNAME));|.X.exit(|
|000033d0| 31 29 3b 0a 58 20 20 20 | 20 7d 0a 58 2f 2a 0a 58 |1);.X | }.X/*.X|
|000033e0| 20 2a 20 47 65 74 20 74 | 68 65 20 64 65 66 61 75 | * Get t|he defau|
|000033f0| 6c 74 73 0a 58 20 2a 2f | 0a 58 20 20 20 20 69 66 |lts.X */|.X if|
|00003400| 28 28 73 74 72 69 6e 67 | 20 3d 20 58 47 65 74 44 |((string| = XGetD|
|00003410| 65 66 61 75 6c 74 28 64 | 70 79 2c 20 6d 79 6e 61 |efault(d|py, myna|
|00003420| 6d 65 2c 20 22 46 6f 6e | 74 22 29 29 20 21 3d 20 |me, "Fon|t")) != |
|00003430| 4e 55 4c 4c 29 0a 58 09 | 73 74 72 63 70 79 28 66 |NULL).X.|strcpy(f|
|00003440| 6f 6e 74 6e 61 6d 65 2c | 20 73 74 72 69 6e 67 29 |ontname,| string)|
|00003450| 3b 0a 58 20 20 20 20 69 | 66 28 28 73 74 72 69 6e |;.X i|f((strin|
|00003460| 67 20 3d 20 58 47 65 74 | 44 65 66 61 75 6c 74 28 |g = XGet|Default(|
|00003470| 64 70 79 2c 20 6d 79 6e | 61 6d 65 2c 20 22 54 65 |dpy, myn|ame, "Te|
|00003480| 78 74 22 29 29 20 21 3d | 20 4e 55 4c 4c 29 0a 58 |xt")) !=| NULL).X|
|00003490| 09 73 74 72 63 70 79 28 | 44 73 70 4d 73 67 2c 20 |.strcpy(|DspMsg, |
|000034a0| 73 74 72 69 6e 67 29 3b | 0a 58 20 20 20 20 69 66 |string);|.X if|
|000034b0| 28 28 73 74 72 69 6e 67 | 20 3d 20 58 47 65 74 44 |((string| = XGetD|
|000034c0| 65 66 61 75 6c 74 28 64 | 70 79 2c 20 6d 79 6e 61 |efault(d|py, myna|
|000034d0| 6d 65 2c 20 22 53 6c 65 | 65 70 22 29 29 20 21 3d |me, "Sle|ep")) !=|
|000034e0| 20 4e 55 4c 4c 29 0a 58 | 09 53 6c 65 65 70 74 69 | NULL).X|.Sleepti|
|000034f0| 6d 65 20 3d 20 61 74 6f | 69 28 73 74 72 69 6e 67 |me = ato|i(string|
|00003500| 29 3b 0a 58 20 20 20 20 | 69 66 28 28 73 74 72 69 |);.X |if((stri|
|00003510| 6e 67 20 3d 20 58 47 65 | 74 44 65 66 61 75 6c 74 |ng = XGe|tDefault|
|00003520| 28 64 70 79 2c 20 6d 79 | 6e 61 6d 65 2c 20 22 55 |(dpy, my|name, "U|
|00003530| 70 64 61 74 65 22 29 29 | 20 21 3d 20 4e 55 4c 4c |pdate"))| != NULL|
|00003540| 29 0a 58 09 53 6c 65 65 | 70 74 69 6d 65 20 3d 20 |).X.Slee|ptime = |
|00003550| 61 74 6f 69 28 73 74 72 | 69 6e 67 29 3b 0a 58 20 |atoi(str|ing);.X |
|00003560| 20 20 20 69 66 28 28 73 | 74 72 69 6e 67 20 3d 20 | if((s|tring = |
|00003570| 58 47 65 74 44 65 66 61 | 75 6c 74 28 64 70 79 2c |XGetDefa|ult(dpy,|
|00003580| 20 6d 79 6e 61 6d 65 2c | 20 22 44 65 6c 61 79 22 | myname,| "Delay"|
|00003590| 29 29 20 21 3d 20 4e 55 | 4c 4c 29 0a 58 09 69 66 |)) != NU|LL).X.if|
|000035a0| 28 73 74 72 63 6d 70 28 | 73 74 72 69 6e 67 2c 20 |(strcmp(|string, |
|000035b0| 22 6f 66 66 22 29 20 3d | 3d 20 30 20 7c 7c 20 73 |"off") =|= 0 || s|
|000035c0| 74 72 63 6d 70 28 73 74 | 72 69 6e 67 2c 20 22 30 |trcmp(st|ring, "0|
|000035d0| 22 29 20 3d 3d 20 30 0a | 58 09 20 20 20 7c 7c 20 |") == 0.|X. || |
|000035e0| 73 74 72 63 6d 70 28 73 | 74 72 69 6e 67 2c 20 22 |strcmp(s|tring, "|
|000035f0| 6e 6f 22 29 20 3d 3d 20 | 30 29 0a 58 09 20 20 20 |no") == |0).X. |
|00003600| 20 44 65 6c 61 79 20 3d | 20 46 41 4c 53 45 3b 0a | Delay =| FALSE;.|
|00003610| 58 09 65 6c 73 65 0a 58 | 09 20 20 20 20 44 65 6c |X.else.X|. Del|
|00003620| 61 79 20 3d 20 54 52 55 | 45 3b 0a 58 09 20 20 20 |ay = TRU|E;.X. |
|00003630| 20 0a 58 2f 2a 0a 58 20 | 2a 20 50 61 72 73 65 20 | .X/*.X |* Parse |
|00003640| 61 72 67 75 6d 65 6e 74 | 73 0a 58 20 2a 2f 0a 58 |argument|s.X */.X|
|00003650| 20 20 20 20 66 6f 72 28 | 2d 2d 61 72 67 63 20 2c | for(|--argc ,|
|00003660| 20 2b 2b 61 72 67 76 20 | 3b 20 2a 61 72 67 76 20 | ++argv |; *argv |
|00003670| 26 26 20 2a 2a 61 72 67 | 76 20 3d 3d 20 27 2d 27 |&& **arg|v == '-'|
|00003680| 20 3b 20 61 72 67 76 2b | 2b 20 2c 20 61 72 67 63 | ; argv+|+ , argc|
|00003690| 2d 2d 29 20 7b 0a 58 09 | 2b 2b 2a 61 72 67 76 3b |--) {.X.|++*argv;|
|000036a0| 0a 58 09 69 66 28 73 74 | 72 63 6d 70 28 2a 61 72 |.X.if(st|rcmp(*ar|
|000036b0| 67 76 2c 20 22 66 6e 22 | 29 20 3d 3d 20 30 20 7c |gv, "fn"|) == 0 ||
|000036c0| 7c 20 73 74 72 6e 63 6d | 70 28 2a 61 72 67 76 2c || strncm|p(*argv,|
|000036d0| 20 22 66 6f 6e 74 22 2c | 20 31 29 20 3d 3d 20 30 | "font",| 1) == 0|
|000036e0| 29 0a 58 09 20 20 20 20 | 73 74 72 63 70 79 28 66 |).X. |strcpy(f|
|000036f0| 6f 6e 74 6e 61 6d 65 2c | 20 2a 2b 2b 61 72 67 76 |ontname,| *++argv|
|00003700| 29 3b 09 2f 2a 20 73 61 | 76 65 20 66 6f 6e 74 20 |);./* sa|ve font |
|00003710| 6e 61 6d 65 20 2a 2f 0a | 58 09 65 6c 73 65 20 69 |name */.|X.else i|
|00003720| 66 28 73 74 72 6e 63 6d | 70 28 2a 61 72 67 76 2c |f(strncm|p(*argv,|
|00003730| 20 22 73 6c 65 65 70 22 | 2c 20 31 29 20 3d 3d 20 | "sleep"|, 1) == |
|00003740| 30 0a 58 09 20 20 20 7c | 7c 20 73 74 72 6e 63 6d |0.X. ||| strncm|
|00003750| 70 28 2a 61 72 67 76 2c | 20 22 75 70 64 61 74 65 |p(*argv,| "update|
|00003760| 22 2c 20 31 29 20 3d 3d | 20 30 29 0a 58 09 20 20 |", 1) ==| 0).X. |
|00003770| 20 20 53 6c 65 65 70 74 | 69 6d 65 20 3d 20 61 74 | Sleept|ime = at|
|00003780| 6f 69 28 2a 2b 2b 61 72 | 67 76 29 3b 0a 58 09 65 |oi(*++ar|gv);.X.e|
|00003790| 6c 73 65 20 69 66 28 73 | 74 72 6e 63 6d 70 28 2a |lse if(s|trncmp(*|
|000037a0| 61 72 67 76 2c 20 22 64 | 65 6c 61 79 22 2c 20 31 |argv, "d|elay", 1|
|000037b0| 29 20 3d 3d 20 30 29 0a | 58 09 20 20 20 20 44 65 |) == 0).|X. De|
|000037c0| 6c 61 79 20 3d 20 54 52 | 55 45 3b 0a 58 20 20 20 |lay = TR|UE;.X |
|000037d0| 20 7d 0a 58 0a 58 2f 2a | 0a 58 20 2a 20 49 66 20 | }.X.X/*|.X * If |
|000037e0| 77 65 20 73 68 6f 75 6c | 64 20 64 65 6c 61 79 20 |we shoul|d delay |
|000037f0| 73 74 61 72 74 75 70 2c | 20 74 68 65 6e 20 66 6f |startup,| then fo|
|00003800| 72 6b 20 61 6e 64 20 65 | 78 69 74 20 74 68 65 20 |rk and e|xit the |
|00003810| 70 61 72 65 6e 74 20 72 | 69 67 68 74 20 6e 6f 77 |parent r|ight now|
|00003820| 2e 0a 58 20 2a 20 28 54 | 68 69 73 20 77 61 79 2c |..X * (T|his way,|
|00003830| 20 22 74 77 6d 22 20 63 | 68 61 6e 67 65 73 20 74 | "twm" c|hanges t|
|00003840| 68 65 20 63 75 72 73 6f | 72 20 62 61 63 6b 20 74 |he curso|r back t|
|00003850| 6f 20 74 68 65 20 6f 72 | 69 67 69 6e 61 6c 20 6f |o the or|iginal o|
|00003860| 6e 65 20 61 6e 64 20 6c | 65 74 73 0a 58 20 2a 20 |ne and l|ets.X * |
|00003870| 20 67 6f 20 6f 66 20 74 | 68 65 20 6d 6f 75 73 65 | go of t|he mouse|
|00003880| 20 73 6f 20 74 68 61 74 | 20 77 65 20 63 61 6e 20 | so that| we can |
|00003890| 67 72 61 62 20 69 74 2e | 29 0a 58 20 2a 2f 0a 58 |grab it.|).X */.X|
|000038a0| 20 20 20 20 69 66 28 44 | 65 6c 61 79 29 0a 58 09 | if(D|elay).X.|
|000038b0| 73 77 69 74 63 68 28 66 | 6f 72 6b 28 29 29 20 7b |switch(f|ork()) {|
|000038c0| 0a 58 09 63 61 73 65 20 | 30 3a 09 2f 2a 20 63 68 |.X.case |0:./* ch|
|000038d0| 69 6c 64 20 20 2d 20 20 | 63 6f 6e 74 69 6e 75 65 |ild - |continue|
|000038e0| 20 77 69 74 68 20 70 72 | 6f 67 72 61 6d 20 2a 2f | with pr|ogram */|
|000038f0| 0a 58 09 20 20 20 20 73 | 6c 65 65 70 28 44 45 4c |.X. s|leep(DEL|
|00003900| 41 59 54 49 4d 45 29 3b | 0a 58 09 20 20 20 20 62 |AYTIME);|.X. b|
|00003910| 72 65 61 6b 3b 0a 58 0a | 58 09 63 61 73 65 20 2d |reak;.X.|X.case -|
|00003920| 31 3a 09 2f 2a 20 65 72 | 72 6f 72 20 64 75 72 69 |1:./* er|ror duri|
|00003930| 6e 67 20 66 6f 72 6b 20 | 20 2d 20 20 65 78 69 74 |ng fork | - exit|
|00003940| 20 2a 2f 0a 58 09 20 20 | 20 20 66 70 72 69 6e 74 | */.X. | fprint|
|00003950| 66 28 73 74 64 65 72 72 | 2c 20 22 43 61 6e 27 74 |f(stderr|, "Can't|
|00003960| 20 66 6f 72 6b 20 2d 20 | 22 29 3b 0a 58 09 20 20 | fork - |");.X. |
|00003970| 20 20 70 65 72 72 6f 72 | 28 22 22 29 3b 0a 58 09 | perror|("");.X.|
|00003980| 20 20 20 20 65 78 69 74 | 28 31 29 3b 0a 58 0a 58 | exit|(1);.X.X|
|00003990| 09 64 65 66 61 75 6c 74 | 3a 09 2f 2a 20 70 61 72 |.default|:./* par|
|000039a0| 65 6e 74 20 20 2d 20 20 | 65 78 69 74 20 2a 2f 0a |ent - |exit */.|
|000039b0| 58 09 20 20 20 20 65 78 | 69 74 28 30 29 3b 0a 58 |X. ex|it(0);.X|
|000039c0| 09 7d 0a 58 0a 58 2f 2a | 0a 58 20 2a 20 47 65 74 |.}.X.X/*|.X * Get|
|000039d0| 20 74 68 65 20 6d 65 73 | 73 61 67 65 0a 58 20 2a | the mes|sage.X *|
|000039e0| 2f 0a 58 20 20 20 20 64 | 73 70 70 74 72 20 3d 20 |/.X d|spptr = |
|000039f0| 44 73 70 4d 73 67 3b 0a | 58 20 20 20 20 69 66 28 |DspMsg;.|X if(|
|00003a00| 20 2a 61 72 67 76 20 29 | 20 73 74 72 63 70 79 28 | *argv )| strcpy(|
|00003a10| 64 73 70 70 74 72 2c 20 | 22 5c 30 22 29 3b 0a 58 |dspptr, |"\0");.X|
|00003a20| 20 20 20 20 77 68 69 6c | 65 28 20 2a 61 72 67 76 | whil|e( *argv|
|00003a30| 20 29 20 7b 0a 58 09 73 | 74 72 63 61 74 28 64 73 | ) {.X.s|trcat(ds|
|00003a40| 70 70 74 72 2c 20 2a 61 | 72 67 76 2b 2b 29 3b 0a |pptr, *a|rgv++);.|
|00003a50| 58 09 73 74 72 63 61 74 | 28 64 73 70 70 74 72 2c |X.strcat|(dspptr,|
|00003a60| 20 22 20 22 29 3b 0a 58 | 20 20 20 20 7d 0a 58 0a | " ");.X| }.X.|
|00003a70| 58 2f 2a 0a 58 20 2a 20 | 53 65 74 20 72 61 6e 64 |X/*.X * |Set rand|
|00003a80| 6f 6d 20 6e 75 6d 62 65 | 72 20 67 65 6e 65 72 61 |om numbe|r genera|
|00003a90| 74 6f 72 0a 58 20 2a 2f | 0a 58 20 20 20 20 73 72 |tor.X */|.X sr|
|00003aa0| 61 6e 64 6f 6d 28 74 69 | 6d 65 28 30 29 29 3b 0a |andom(ti|me(0));.|
|00003ab0| 58 0a 58 2f 2a 0a 58 20 | 2a 20 4d 61 6b 65 20 61 |X.X/*.X |* Make a|
|00003ac0| 20 62 69 67 20 77 69 6e | 64 6f 77 20 74 6f 20 63 | big win|dow to c|
|00003ad0| 6f 76 65 72 20 74 68 65 | 20 73 63 72 65 65 6e 0a |over the| screen.|
|00003ae0| 58 20 2a 2f 0a 58 20 20 | 20 20 78 73 77 61 2e 62 |X */.X | xswa.b|
|00003af0| 61 63 6b 67 72 6f 75 6e | 64 5f 70 69 78 65 6c 20 |ackgroun|d_pixel |
|00003b00| 3d 20 42 6c 61 63 6b 50 | 69 78 65 6c 28 64 70 79 |= BlackP|ixel(dpy|
|00003b10| 2c 20 44 65 66 61 75 6c | 74 53 63 72 65 65 6e 28 |, Defaul|tScreen(|
|00003b20| 64 70 79 29 29 3b 0a 58 | 20 20 20 20 78 73 77 61 |dpy));.X| xswa|
|00003b30| 2e 6f 76 65 72 72 69 64 | 65 5f 72 65 64 69 72 65 |.overrid|e_redire|
|00003b40| 63 74 20 3d 20 54 72 75 | 65 3b 0a 58 20 20 20 20 |ct = Tru|e;.X |
|00003b50| 76 69 73 75 61 6c 2e 76 | 69 73 75 61 6c 69 64 20 |visual.v|isualid |
|00003b60| 3d 20 43 6f 70 79 46 72 | 6f 6d 50 61 72 65 6e 74 |= CopyFr|omParent|
|00003b70| 3b 0a 58 20 20 20 20 77 | 20 3d 20 58 43 72 65 61 |;.X w| = XCrea|
|00003b80| 74 65 57 69 6e 64 6f 77 | 28 64 70 79 2c 20 44 65 |teWindow|(dpy, De|
|00003b90| 66 61 75 6c 74 52 6f 6f | 74 57 69 6e 64 6f 77 28 |faultRoo|tWindow(|
|00003ba0| 64 70 79 29 2c 20 30 2c | 20 30 2c 20 39 39 39 39 |dpy), 0,| 0, 9999|
|00003bb0| 2c 20 39 39 39 39 2c 0a | 58 09 09 20 20 20 20 20 |, 9999,.|X.. |
|00003bc0| 20 30 2c 20 44 65 66 61 | 75 6c 74 44 65 70 74 68 | 0, Defa|ultDepth|
|00003bd0| 28 64 70 79 2c 20 44 65 | 66 61 75 6c 74 53 63 72 |(dpy, De|faultScr|
|00003be0| 65 65 6e 28 64 70 79 29 | 29 2c 20 49 6e 70 75 74 |een(dpy)|), Input|
|00003bf0| 4f 75 74 70 75 74 2c 0a | 58 09 09 26 76 69 73 75 |Output,.|X..&visu|
|00003c00| 61 6c 2c 20 43 57 42 61 | 63 6b 50 69 78 65 6c 20 |al, CWBa|ckPixel |
|00003c10| 7c 20 43 57 4f 76 65 72 | 72 69 64 65 52 65 64 69 || CWOver|rideRedi|
|00003c20| 72 65 63 74 2c 20 26 78 | 73 77 61 29 3b 0a 58 0a |rect, &x|swa);.X.|
|00003c30| 58 2f 2a 0a 58 20 2a 20 | 47 65 74 20 74 68 65 69 |X/*.X * |Get thei|
|00003c40| 72 20 63 68 6f 73 65 6e | 20 66 6f 6e 74 20 69 6e |r chosen| font in|
|00003c50| 66 6f 72 6d 61 74 69 6f | 6e 0a 58 20 2a 2f 0a 58 |formatio|n.X */.X|
|00003c60| 20 20 20 20 66 6f 6e 74 | 20 3d 20 58 4c 6f 61 64 | font| = XLoad|
|00003c70| 51 75 65 72 79 46 6f 6e | 74 28 64 70 79 2c 20 66 |QueryFon|t(dpy, f|
|00003c80| 6f 6e 74 6e 61 6d 65 29 | 3b 0a 58 20 20 20 20 66 |ontname)|;.X f|
|00003c90| 6f 6e 74 68 65 69 67 68 | 74 20 3d 20 66 6f 6e 74 |ontheigh|t = font|
|00003ca0| 2d 3e 6d 61 78 5f 62 6f | 75 6e 64 73 2e 61 73 63 |->max_bo|unds.asc|
|00003cb0| 65 6e 74 0a 58 09 2b 20 | 66 6f 6e 74 2d 3e 6d 61 |ent.X.+ |font->ma|
|00003cc0| 78 5f 62 6f 75 6e 64 73 | 2e 64 65 73 63 65 6e 74 |x_bounds|.descent|
|00003cd0| 20 2b 20 53 45 50 41 52 | 41 54 49 4f 4e 3b 0a 58 | + SEPAR|ATION;.X|
|00003ce0| 0a 58 2f 2a 0a 58 20 2a | 20 4d 61 6b 65 20 73 75 |.X/*.X *| Make su|
|00003cf0| 72 65 20 77 65 20 67 65 | 74 20 74 68 65 20 65 76 |re we ge|t the ev|
|00003d00| 65 6e 74 73 20 77 65 20 | 77 61 6e 74 0a 58 20 2a |ents we |want.X *|
|00003d10| 2f 0a 58 20 20 20 20 69 | 20 3d 20 42 75 74 74 6f |/.X i| = Butto|
|00003d20| 6e 50 72 65 73 73 4d 61 | 73 6b 20 7c 20 45 78 70 |nPressMa|sk | Exp|
|00003d30| 6f 73 75 72 65 4d 61 73 | 6b 20 7c 20 4b 65 79 50 |osureMas|k | KeyP|
|00003d40| 72 65 73 73 4d 61 73 6b | 20 7c 20 56 69 73 69 62 |ressMask| | Visib|
|00003d50| 69 6c 69 74 79 43 68 61 | 6e 67 65 4d 61 73 6b 3b |ilityCha|ngeMask;|
|00003d60| 0a 58 20 20 20 20 58 53 | 65 6c 65 63 74 49 6e 70 |.X XS|electInp|
|00003d70| 75 74 28 64 70 79 2c 20 | 77 2c 20 69 29 3b 0a 58 |ut(dpy, |w, i);.X|
|00003d80| 0a 58 2f 2a 0a 58 20 2a | 20 54 68 65 20 69 6e 66 |.X/*.X *| The inf|
|00003d90| 61 6d 6f 75 73 20 47 43 | 21 20 20 28 4f 68 20 6e |amous GC|! (Oh n|
|00003da0| 6f 21 21 20 20 4e 6f 74 | 20 74 68 65 20 2a 47 43 |o!! Not| the *GC|
|00003db0| 2a 21 21 21 20 20 41 52 | 52 52 47 47 48 48 48 21 |*!!! AR|RRGGHHH!|
|00003dc0| 21 20 3a 2d 29 20 20 20 | 29 0a 58 20 2a 2f 0a 58 |! :-) |).X */.X|
|00003dd0| 20 20 20 20 67 63 76 61 | 6c 75 65 73 2e 66 6f 6e | gcva|lues.fon|
|00003de0| 74 20 3d 20 66 6f 6e 74 | 2d 3e 66 69 64 3b 0a 58 |t = font|->fid;.X|
|00003df0| 20 20 20 20 67 63 76 61 | 6c 75 65 73 2e 66 69 6c | gcva|lues.fil|
|00003e00| 6c 5f 73 74 79 6c 65 20 | 3d 20 46 69 6c 6c 4f 70 |l_style |= FillOp|
|00003e10| 61 71 75 65 53 74 69 70 | 70 6c 65 64 3b 0a 58 20 |aqueStip|pled;.X |
|00003e20| 20 20 20 67 63 76 61 6c | 75 65 73 2e 66 6f 72 65 | gcval|ues.fore|
|00003e30| 67 72 6f 75 6e 64 20 3d | 20 57 68 69 74 65 50 69 |ground =| WhitePi|
|00003e40| 78 65 6c 28 64 70 79 2c | 20 44 65 66 61 75 6c 74 |xel(dpy,| Default|
|00003e50| 53 63 72 65 65 6e 28 64 | 70 79 29 29 3b 0a 58 20 |Screen(d|py));.X |
|00003e60| 20 20 20 67 63 76 61 6c | 75 65 73 2e 62 61 63 6b | gcval|ues.back|
|00003e70| 67 72 6f 75 6e 64 20 3d | 20 42 6c 61 63 6b 50 69 |ground =| BlackPi|
|00003e80| 78 65 6c 28 64 70 79 2c | 20 44 65 66 61 75 6c 74 |xel(dpy,| Default|
|00003e90| 53 63 72 65 65 6e 28 64 | 70 79 29 29 3b 0a 58 20 |Screen(d|py));.X |
|00003ea0| 20 20 20 67 63 20 3d 20 | 58 43 72 65 61 74 65 47 | gc = |XCreateG|
|00003eb0| 43 28 64 70 79 2c 20 77 | 2c 20 47 43 46 6f 6e 74 |C(dpy, w|, GCFont|
|00003ec0| 7c 47 43 46 69 6c 6c 53 | 74 79 6c 65 7c 47 43 46 ||GCFillS|tyle|GCF|
|00003ed0| 6f 72 65 67 72 6f 75 6e | 64 7c 47 43 42 61 63 6b |oregroun|d|GCBack|
|00003ee0| 67 72 6f 75 6e 64 0a 58 | 09 09 20 20 20 2c 20 26 |ground.X|.. , &|
|00003ef0| 67 63 76 61 6c 75 65 73 | 29 3b 0a 58 0a 58 20 20 |gcvalues|);.X.X |
|00003f00| 20 20 58 4d 61 70 57 69 | 6e 64 6f 77 28 64 70 79 | XMapWi|ndow(dpy|
|00003f10| 2c 20 77 29 3b 09 09 2f | 2a 20 70 75 74 20 69 74 |, w);../|* put it|
|00003f20| 20 75 70 20 6f 6e 20 74 | 68 65 20 73 63 72 65 65 | up on t|he scree|
|00003f30| 6e 20 09 20 2a 2f 0a 58 | 0a 58 2f 2a 0a 58 20 2a |n . */.X|.X/*.X *|
|00003f40| 20 47 65 74 20 72 69 64 | 20 6f 66 20 74 68 65 20 | Get rid| of the |
|00003f50| 63 75 72 73 6f 72 0a 58 | 20 2a 2f 0a 58 20 20 20 |cursor.X| */.X |
|00003f60| 20 70 69 78 6d 61 70 20 | 3d 20 58 43 72 65 61 74 | pixmap |= XCreat|
|00003f70| 65 50 69 78 6d 61 70 28 | 64 70 79 2c 20 77 2c 20 |ePixmap(|dpy, w, |
|00003f80| 31 2c 20 31 0a 58 09 09 | 2c 20 44 65 66 61 75 6c |1, 1.X..|, Defaul|
|00003f90| 74 44 65 70 74 68 28 64 | 70 79 2c 20 44 65 66 61 |tDepth(d|py, Defa|
|00003fa0| 75 6c 74 53 63 72 65 65 | 6e 28 64 70 79 29 29 29 |ultScree|n(dpy)))|
|00003fb0| 3b 0a 58 20 20 20 20 58 | 53 65 74 46 6f 72 65 67 |;.X X|SetForeg|
|00003fc0| 72 6f 75 6e 64 28 64 70 | 79 2c 20 67 63 2c 20 42 |round(dp|y, gc, B|
|00003fd0| 6c 61 63 6b 50 69 78 65 | 6c 28 64 70 79 2c 20 44 |lackPixe|l(dpy, D|
|00003fe0| 65 66 61 75 6c 74 53 63 | 72 65 65 6e 28 64 70 79 |efaultSc|reen(dpy|
|00003ff0| 29 29 29 3b 0a 58 20 20 | 20 20 58 46 69 6c 6c 52 |)));.X | XFillR|
|00004000| 65 63 74 61 6e 67 6c 65 | 28 64 70 79 2c 20 70 69 |ectangle|(dpy, pi|
|00004010| 78 6d 61 70 2c 20 67 63 | 2c 20 30 2c 20 30 2c 20 |xmap, gc|, 0, 0, |
|00004020| 31 2c 20 31 29 3b 0a 58 | 20 20 20 20 58 53 65 74 |1, 1);.X| XSet|
|00004030| 46 6f 72 65 67 72 6f 75 | 6e 64 28 64 70 79 2c 20 |Foregrou|nd(dpy, |
|00004040| 67 63 2c 20 57 68 69 74 | 65 50 69 78 65 6c 28 64 |gc, Whit|ePixel(d|
|00004050| 70 79 2c 20 44 65 66 61 | 75 6c 74 53 63 72 65 65 |py, Defa|ultScree|
|00004060| 6e 28 64 70 79 29 29 29 | 3b 0a 58 20 20 20 20 62 |n(dpy)))|;.X b|
|00004070| 6c 61 63 6b 63 6f 6c 6f | 72 2e 70 69 78 65 6c 20 |lackcolo|r.pixel |
|00004080| 3d 20 42 6c 61 63 6b 50 | 69 78 65 6c 28 64 70 79 |= BlackP|ixel(dpy|
|00004090| 2c 20 44 65 66 61 75 6c | 74 53 63 72 65 65 6e 28 |, Defaul|tScreen(|
|000040a0| 64 70 79 29 29 3b 0a 58 | 20 20 20 20 77 68 69 74 |dpy));.X| whit|
|000040b0| 65 63 6f 6c 6f 72 2e 70 | 69 78 65 6c 20 3d 20 57 |ecolor.p|ixel = W|
|000040c0| 68 69 74 65 50 69 78 65 | 6c 28 64 70 79 2c 20 44 |hitePixe|l(dpy, D|
|000040d0| 65 66 61 75 6c 74 53 63 | 72 65 65 6e 28 64 70 79 |efaultSc|reen(dpy|
|000040e0| 29 29 3b 0a 58 20 20 20 | 20 63 75 72 73 6f 72 20 |));.X | cursor |
|000040f0| 3d 20 58 43 72 65 61 74 | 65 50 69 78 6d 61 70 43 |= XCreat|ePixmapC|
|00004100| 75 72 73 6f 72 28 64 70 | 79 2c 20 70 69 78 6d 61 |ursor(dp|y, pixma|
|00004110| 70 2c 20 4e 6f 6e 65 2c | 0a 58 09 26 62 6c 61 63 |p, None,|.X.&blac|
|00004120| 6b 63 6f 6c 6f 72 2c 20 | 26 77 68 69 74 65 63 6f |kcolor, |&whiteco|
|00004130| 6c 6f 72 2c 20 30 2c 20 | 30 29 3b 0a 58 20 20 20 |lor, 0, |0);.X |
|00004140| 20 58 44 65 66 69 6e 65 | 43 75 72 73 6f 72 28 64 | XDefine|Cursor(d|
|00004150| 70 79 2c 20 77 2c 20 63 | 75 72 73 6f 72 29 3b 0a |py, w, c|ursor);.|
|00004160| 58 0a 58 2f 2a 0a 58 20 | 2a 20 47 72 61 62 20 6d |X.X/*.X |* Grab m|
|00004170| 6f 75 73 65 20 61 6e 64 | 20 6b 65 79 62 6f 61 72 |ouse and| keyboar|
|00004180| 64 20 61 74 20 73 61 6d | 65 20 74 69 6d 65 0a 58 |d at sam|e time.X|
|00004190| 20 2a 2f 0a 58 20 20 20 | 20 69 66 28 28 69 20 3d | */.X | if((i =|
|000041a0| 20 58 47 72 61 62 50 6f | 69 6e 74 65 72 28 64 70 | XGrabPo|inter(dp|
|000041b0| 79 2c 20 77 2c 20 46 61 | 6c 73 65 2c 20 42 75 74 |y, w, Fa|lse, But|
|000041c0| 74 6f 6e 50 72 65 73 73 | 4d 61 73 6b 2c 20 47 72 |tonPress|Mask, Gr|
|000041d0| 61 62 4d 6f 64 65 41 73 | 79 6e 63 2c 0a 58 09 47 |abModeAs|ync,.X.G|
|000041e0| 72 61 62 4d 6f 64 65 41 | 73 79 6e 63 2c 0a 58 09 |rabModeA|sync,.X.|
|000041f0| 77 2c 20 63 75 72 73 6f | 72 2c 20 43 75 72 72 65 |w, curso|r, Curre|
|00004200| 6e 74 54 69 6d 65 29 29 | 20 21 3d 20 47 72 61 62 |ntTime))| != Grab|
|00004210| 53 75 63 63 65 73 73 29 | 20 7b 0a 58 09 66 70 72 |Success)| {.X.fpr|
|00004220| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 20 22 43 61 |intf(std|err, "Ca|
|00004230| 6e 27 74 20 67 72 61 62 | 20 6d 6f 75 73 65 5c 6e |n't grab| mouse\n|
|00004240| 22 29 3b 0a 58 09 58 44 | 65 73 74 72 6f 79 57 69 |");.X.XD|estroyWi|
|00004250| 6e 64 6f 77 28 64 70 79 | 2c 20 77 29 3b 0a 58 09 |ndow(dpy|, w);.X.|
|00004260| 65 78 69 74 28 31 29 3b | 0a 58 20 20 20 20 7d 0a |exit(1);|.X }.|
|00004270| 58 0a 58 2f 2a 0a 58 20 | 2a 20 54 75 72 6e 20 6f |X.X/*.X |* Turn o|
|00004280| 66 66 20 74 68 65 20 73 | 63 72 65 65 6e 20 73 61 |ff the s|creen sa|
|00004290| 76 65 72 20 63 6f 6e 74 | 72 6f 6c 20 74 6f 20 6d |ver cont|rol to m|
|000042a0| 61 6b 65 20 73 75 72 65 | 20 74 68 65 79 20 73 65 |ake sure| they se|
|000042b0| 65 20 6f 75 72 20 77 69 | 6e 64 6f 77 0a 58 20 2a |e our wi|ndow.X *|
|000042c0| 20 28 42 75 74 20 6d 61 | 6b 65 20 73 75 72 65 20 | (But ma|ke sure |
|000042d0| 79 6f 75 20 63 61 6e 20 | 74 75 72 6e 20 69 74 20 |you can |turn it |
|000042e0| 62 61 63 6b 20 6f 6e 20 | 61 67 61 69 6e 20 69 6e |back on |again in|
|000042f0| 20 74 68 65 20 72 69 67 | 68 74 20 77 61 79 21 29 | the rig|ht way!)|
|00004300| 0a 58 20 2a 2f 0a 58 20 | 20 20 20 58 47 65 74 53 |.X */.X | XGetS|
|00004310| 63 72 65 65 6e 53 61 76 | 65 72 28 64 70 79 2c 20 |creenSav|er(dpy, |
|00004320| 26 74 69 6d 65 6f 75 74 | 2c 20 26 69 6e 74 65 72 |&timeout|, &inter|
|00004330| 76 61 6c 2c 20 26 70 72 | 65 66 65 72 65 6e 63 65 |val, &pr|eference|
|00004340| 2c 20 26 61 6c 6c 6f 77 | 65 78 70 29 3b 0a 58 20 |, &allow|exp);.X |
|00004350| 20 20 20 58 53 65 74 53 | 63 72 65 65 6e 53 61 76 | XSetS|creenSav|
|00004360| 65 72 28 64 70 79 2c 20 | 30 2c 20 69 6e 74 65 72 |er(dpy, |0, inter|
|00004370| 76 61 6c 2c 20 70 72 65 | 66 65 72 65 6e 63 65 2c |val, pre|ference,|
|00004380| 20 61 6c 6c 6f 77 65 78 | 70 29 3b 0a 58 0a 58 20 | allowex|p);.X.X |
|00004390| 20 20 20 75 20 3d 20 67 | 65 74 70 77 75 69 64 28 | u = g|etpwuid(|
|000043a0| 30 29 3b 0a 58 20 20 20 | 20 69 66 20 28 75 29 0a |0);.X | if (u).|
|000043b0| 58 09 73 74 72 63 70 79 | 28 72 6f 6f 74 5f 70 77 |X.strcpy|(root_pw|
|000043c0| 2c 20 75 2d 3e 70 77 5f | 70 61 73 73 77 64 29 3b |, u->pw_|passwd);|
|000043d0| 0a 58 20 20 20 20 65 6c | 73 65 0a 58 09 72 6f 6f |.X el|se.X.roo|
|000043e0| 74 5f 70 77 5b 30 5d 20 | 3d 20 27 5c 30 27 3b 0a |t_pw[0] |= '\0';.|
|000043f0| 58 0a 58 20 20 20 20 75 | 20 3d 20 67 65 74 70 77 |X.X u| = getpw|
|00004400| 75 69 64 28 67 65 74 75 | 69 64 28 29 29 3b 0a 58 |uid(getu|id());.X|
|00004410| 20 20 20 20 69 66 20 28 | 75 20 3d 3d 20 4e 55 4c | if (|u == NUL|
|00004420| 4c 29 20 7b 0a 58 09 66 | 70 72 69 6e 74 66 28 73 |L) {.X.f|printf(s|
|00004430| 74 64 65 72 72 2c 20 22 | 57 68 6f 20 61 72 65 20 |tderr, "|Who are |
|00004440| 79 6f 75 3f 5c 6e 22 29 | 3b 0a 58 09 65 78 69 74 |you?\n")|;.X.exit|
|00004450| 28 31 29 3b 0a 58 20 20 | 20 20 7d 0a 58 20 20 20 |(1);.X | }.X |
|00004460| 20 75 73 65 72 5f 6e 61 | 6d 65 20 3d 20 75 2d 3e | user_na|me = u->|
|00004470| 70 77 5f 6e 61 6d 65 3b | 0a 58 20 20 20 20 75 73 |pw_name;|.X us|
|00004480| 65 72 5f 70 61 73 73 77 | 64 20 3d 20 75 2d 3e 70 |er_passw|d = u->p|
|00004490| 77 5f 70 61 73 73 77 64 | 3b 0a 58 0a 58 20 20 20 |w_passwd|;.X.X |
|000044a0| 20 73 70 72 69 6e 74 66 | 28 62 75 66 66 65 72 2c | sprintf|(buffer,|
|000044b0| 20 22 45 6e 74 65 72 20 | 70 61 73 73 77 6f 72 64 | "Enter |password|
|000044c0| 20 66 6f 72 20 75 73 65 | 72 20 25 73 3a 22 2c 20 | for use|r %s:", |
|000044d0| 75 73 65 72 5f 6e 61 6d | 65 29 3b 0a 58 20 20 20 |user_nam|e);.X |
|000044e0| 20 6c 65 6e 20 3d 20 73 | 74 72 6c 65 6e 28 62 75 | len = s|trlen(bu|
|000044f0| 66 66 65 72 29 3b 0a 58 | 20 20 20 20 6c 65 6e 77 |ffer);.X| lenw|
|00004500| 69 64 74 68 20 3d 20 58 | 54 65 78 74 57 69 64 74 |idth = X|TextWidt|
|00004510| 68 28 66 6f 6e 74 2c 20 | 62 75 66 66 65 72 2c 20 |h(font, |buffer, |
|00004520| 6c 65 6e 29 3b 0a 58 2f | 2a 0a 58 20 2a 20 57 68 |len);.X/|*.X * Wh|
|00004530| 61 74 20 74 69 6d 65 20 | 69 73 20 69 74 20 61 6e |at time |is it an|
|00004540| 79 77 61 79 3f 20 20 2a | 54 68 61 74 20 6c 61 74 |yway? *|That lat|
|00004550| 65 2a 21 20 20 49 74 27 | 73 20 74 69 6d 65 20 74 |e*! It'|s time t|
|00004560| 6f 20 67 6f 20 68 6f 6d | 65 21 0a 58 20 2a 20 28 |o go hom|e!.X * (|
|00004570| 6f 72 20 73 74 61 72 74 | 20 61 6e 20 46 54 50 21 |or start| an FTP!|
|00004580| 29 0a 58 20 2a 2f 0a 58 | 20 20 20 20 74 69 6d 65 |).X */.X| time|
|00004590| 28 26 69 29 3b 0a 58 20 | 20 20 20 73 74 72 63 61 |(&i);.X | strca|
|000045a0| 74 28 44 73 70 74 69 6d | 65 2c 20 63 74 69 6d 65 |t(Dsptim|e, ctime|
|000045b0| 28 26 69 29 29 3b 0a 58 | 20 20 20 20 44 73 70 74 |(&i));.X| Dspt|
|000045c0| 69 6d 65 5b 73 74 72 6c | 65 6e 28 44 73 70 74 69 |ime[strl|en(Dspti|
|000045d0| 6d 65 29 2d 31 5d 20 3d | 20 27 5c 30 27 3b 09 2f |me)-1] =| '\0';./|
|000045e0| 2a 20 72 65 6d 6f 76 65 | 20 74 68 65 20 27 5c 6e |* remove| the '\n|
|000045f0| 27 20 6f 6e 20 74 68 65 | 20 65 6e 64 20 2a 2f 0a |' on the| end */.|
|00004600| 58 2f 2a 0a 58 20 2a 20 | 4e 6f 77 20 74 6f 20 73 |X/*.X * |Now to s|
|00004610| 61 76 65 20 74 69 6d 65 | 20 28 77 65 20 61 6c 6c |ave time| (we all|
|00004620| 20 6e 65 65 64 20 74 6f | 20 64 6f 20 2a 74 68 61 | need to| do *tha|
|00004630| 74 2a 2c 20 72 69 67 68 | 74 3f 29 20 77 65 20 63 |t*, righ|t?) we c|
|00004640| 72 65 61 74 65 20 61 20 | 70 69 78 6d 61 70 0a 58 |reate a |pixmap.X|
|00004650| 20 2a 20 61 6e 64 20 70 | 75 74 20 74 68 65 20 74 | * and p|ut the t|
|00004660| 65 78 74 20 69 6e 74 6f | 20 69 74 2e 20 20 54 68 |ext into| it. Th|
|00004670| 61 74 20 77 61 79 20 77 | 65 20 63 61 6e 20 73 69 |at way w|e can si|
|00004680| 6d 70 6c 79 20 64 6f 20 | 61 20 43 6f 70 79 41 72 |mply do |a CopyAr|
|00004690| 65 61 20 74 6f 20 74 68 | 65 0a 58 20 2a 20 72 69 |ea to th|e.X * ri|
|000046a0| 67 68 74 20 70 6c 61 63 | 65 20 6c 61 74 65 72 2e |ght plac|e later.|
|000046b0| 0a 58 20 2a 2f 0a 58 20 | 20 20 20 74 65 78 74 68 |.X */.X | texth|
|000046c0| 65 69 67 68 74 20 3d 20 | 66 6f 6e 74 68 65 69 67 |eight = |fontheig|
|000046d0| 68 74 20 2a 20 32 20 2b | 20 53 45 50 41 52 41 54 |ht * 2 +| SEPARAT|
|000046e0| 49 4f 4e 3b 0a 58 20 20 | 20 20 74 65 78 74 77 69 |ION;.X | textwi|
|000046f0| 64 74 68 20 3d 20 58 54 | 65 78 74 57 69 64 74 68 |dth = XT|extWidth|
|00004700| 28 66 6f 6e 74 2c 20 44 | 73 70 4d 73 67 2c 20 73 |(font, D|spMsg, s|
|00004710| 74 72 6c 65 6e 28 44 73 | 70 4d 73 67 29 29 3b 0a |trlen(Ds|pMsg));.|
|00004720| 58 20 20 20 20 69 66 28 | 28 20 69 20 3d 20 58 54 |X if(|( i = XT|
|00004730| 65 78 74 57 69 64 74 68 | 28 66 6f 6e 74 2c 20 44 |extWidth|(font, D|
|00004740| 73 70 74 69 6d 65 2c 20 | 73 74 72 6c 65 6e 28 44 |sptime, |strlen(D|
|00004750| 73 70 74 69 6d 65 29 29 | 29 20 3e 20 74 65 78 74 |sptime))|) > text|
|00004760| 77 69 64 74 68 29 0a 58 | 09 74 65 78 74 77 69 64 |width).X|.textwid|
|00004770| 74 68 20 3d 20 69 3b 0a | 58 20 20 20 20 74 65 78 |th = i;.|X tex|
|00004780| 74 70 69 78 6d 61 70 20 | 3d 20 58 43 72 65 61 74 |tpixmap |= XCreat|
|00004790| 65 50 69 78 6d 61 70 28 | 64 70 79 2c 20 77 2c 20 |ePixmap(|dpy, w, |
|000047a0| 74 65 78 74 77 69 64 74 | 68 2c 20 74 65 78 74 68 |textwidt|h, texth|
|000047b0| 65 69 67 68 74 0a 58 09 | 09 2c 20 44 65 66 61 75 |eight.X.|., Defau|
|000047c0| 6c 74 44 65 70 74 68 28 | 64 70 79 2c 20 44 65 66 |ltDepth(|dpy, Def|
|000047d0| 61 75 6c 74 53 63 72 65 | 65 6e 28 64 70 79 29 29 |aultScre|en(dpy))|
|000047e0| 29 3b 0a 58 20 20 20 20 | 58 53 65 74 46 6f 72 65 |);.X |XSetFore|
|000047f0| 67 72 6f 75 6e 64 28 64 | 70 79 2c 20 67 63 2c 20 |ground(d|py, gc, |
|00004800| 42 6c 61 63 6b 50 69 78 | 65 6c 28 64 70 79 2c 20 |BlackPix|el(dpy, |
|00004810| 44 65 66 61 75 6c 74 53 | 63 72 65 65 6e 28 64 70 |DefaultS|creen(dp|
|00004820| 79 29 29 29 3b 0a 58 20 | 20 20 20 58 46 69 6c 6c |y)));.X | XFill|
|00004830| 52 65 63 74 61 6e 67 6c | 65 28 64 70 79 2c 20 74 |Rectangl|e(dpy, t|
|00004840| 65 78 74 70 69 78 6d 61 | 70 2c 20 67 63 2c 20 30 |extpixma|p, gc, 0|
|00004850| 2c 20 30 2c 20 74 65 78 | 74 77 69 64 74 68 2c 20 |, 0, tex|twidth, |
|00004860| 74 65 78 74 68 65 69 67 | 68 74 2c 20 30 29 3b 0a |textheig|ht, 0);.|
|00004870| 58 20 20 20 20 58 53 65 | 74 42 61 63 6b 67 72 6f |X XSe|tBackgro|
|00004880| 75 6e 64 28 64 70 79 2c | 20 67 63 2c 20 42 6c 61 |und(dpy,| gc, Bla|
|00004890| 63 6b 50 69 78 65 6c 28 | 64 70 79 2c 20 44 65 66 |ckPixel(|dpy, Def|
|000048a0| 61 75 6c 74 53 63 72 65 | 65 6e 28 64 70 79 29 29 |aultScre|en(dpy))|
|000048b0| 29 3b 0a 58 20 20 20 20 | 58 53 65 74 46 6f 72 65 |);.X |XSetFore|
|000048c0| 67 72 6f 75 6e 64 28 64 | 70 79 2c 20 67 63 2c 20 |ground(d|py, gc, |
|000048d0| 57 68 69 74 65 50 69 78 | 65 6c 28 64 70 79 2c 20 |WhitePix|el(dpy, |
|000048e0| 44 65 66 61 75 6c 74 53 | 63 72 65 65 6e 28 64 70 |DefaultS|creen(dp|
|000048f0| 79 29 29 29 3b 0a 58 20 | 20 20 20 58 44 72 61 77 |y)));.X | XDraw|
|00004900| 53 74 72 69 6e 67 28 64 | 70 79 2c 20 74 65 78 74 |String(d|py, text|
|00004910| 70 69 78 6d 61 70 2c 20 | 67 63 2c 20 30 2c 20 66 |pixmap, |gc, 0, f|
|00004920| 6f 6e 74 68 65 69 67 68 | 74 2c 20 44 73 70 4d 73 |ontheigh|t, DspMs|
|00004930| 67 2c 20 73 74 72 6c 65 | 6e 28 44 73 70 4d 73 67 |g, strle|n(DspMsg|
|00004940| 29 29 3b 0a 58 20 20 20 | 20 58 44 72 61 77 53 74 |));.X | XDrawSt|
|00004950| 72 69 6e 67 28 64 70 79 | 2c 20 74 65 78 74 70 69 |ring(dpy|, textpi|
|00004960| 78 6d 61 70 2c 20 67 63 | 2c 20 30 2c 20 66 6f 6e |xmap, gc|, 0, fon|
|00004970| 74 68 65 69 67 68 74 2a | 32 2c 20 44 73 70 74 69 |theight*|2, Dspti|
|00004980| 6d 65 0a 58 09 09 2c 20 | 73 74 72 6c 65 6e 28 44 |me.X.., |strlen(D|
|00004990| 73 70 74 69 6d 65 29 29 | 3b 0a 58 0a 58 2f 2a 0a |sptime))|;.X.X/*.|
|000049a0| 58 20 2a 20 4c 6f 73 74 | 20 66 6f 72 65 76 65 72 |X * Lost| forever|
|000049b0| 20 69 6e 20 74 68 65 20 | 69 6e 66 69 6e 69 74 65 | in the |infinite|
|000049c0| 20 6c 6f 6f 70 2e 2e 2e | 0a 58 20 2a 2f 0a 58 20 | loop...|.X */.X |
|000049d0| 20 20 20 64 6f 20 7b 0a | 58 09 65 6e 74 65 72 74 | do {.|X.entert|
|000049e0| 61 69 6e 28 64 70 79 2c | 20 77 2c 20 67 63 29 3b |ain(dpy,| w, gc);|
|000049f0| 0a 58 09 58 4e 65 78 74 | 45 76 65 6e 74 28 64 70 |.X.XNext|Event(dp|
|00004a00| 79 2c 20 26 69 6e 29 3b | 0a 58 09 69 66 20 28 69 |y, &in);|.X.if (i|
|00004a10| 6e 2e 74 79 70 65 20 21 | 3d 20 4b 65 79 50 72 65 |n.type !|= KeyPre|
|00004a20| 73 73 20 26 26 20 69 6e | 2e 74 79 70 65 20 21 3d |ss && in|.type !=|
|00004a30| 20 42 75 74 74 6f 6e 50 | 72 65 73 73 29 20 63 6f | ButtonP|ress) co|
|00004a40| 6e 74 69 6e 75 65 3b 0a | 58 09 69 66 20 28 69 6e |ntinue;.|X.if (in|
|00004a50| 2e 74 79 70 65 20 3d 3d | 20 56 69 73 69 62 69 6c |.type ==| Visibil|
|00004a60| 69 74 79 4e 6f 74 69 66 | 79 29 20 63 6f 6e 74 69 |ityNotif|y) conti|
|00004a70| 6e 75 65 3b 0a 58 09 2f | 2a 0a 58 09 20 2a 20 43 |nue;.X./|*.X. * C|
|00004a80| 6c 65 61 72 20 6f 66 66 | 20 74 68 65 20 70 6c 61 |lear off| the pla|
|00004a90| 63 65 20 77 68 65 72 65 | 20 77 65 20 64 72 65 77 |ce where| we drew|
|00004aa0| 20 74 68 65 20 69 6e 66 | 6f 2e 20 73 74 72 69 6e | the inf|o. strin|
|00004ab0| 67 20 6c 61 73 74 20 74 | 69 6d 65 0a 58 09 20 2a |g last t|ime.X. *|
|00004ac0| 2f 0a 58 09 58 43 6c 65 | 61 72 41 72 65 61 28 64 |/.X.XCle|arArea(d|
|00004ad0| 70 79 2c 20 77 2c 20 6c | 61 73 74 78 2c 20 6c 61 |py, w, l|astx, la|
|00004ae0| 73 74 79 2c 20 74 65 78 | 74 77 69 64 74 68 2c 20 |sty, tex|twidth, |
|00004af0| 74 65 78 74 68 65 69 67 | 68 74 2c 20 30 29 3b 0a |textheig|ht, 0);.|
|00004b00| 58 0a 58 09 2f 2a 0a 58 | 09 20 2a 20 50 72 6f 6d |X.X./*.X|. * Prom|
|00004b10| 70 74 20 74 68 65 6d 20 | 66 6f 72 20 74 68 65 20 |pt them |for the |
|00004b20| 70 61 73 73 77 6f 72 64 | 0a 58 09 20 2a 2f 0a 58 |password|.X. */.X|
|00004b30| 09 58 44 72 61 77 53 74 | 72 69 6e 67 28 64 70 79 |.XDrawSt|ring(dpy|
|00004b40| 2c 20 77 2c 20 67 63 2c | 20 31 30 30 2c 20 31 30 |, w, gc,| 100, 10|
|00004b50| 30 2c 20 62 75 66 66 65 | 72 2c 20 6c 65 6e 29 3b |0, buffe|r, len);|
|00004b60| 0a 58 09 58 46 6c 75 73 | 68 28 64 70 79 29 3b 0a |.X.XFlus|h(dpy);.|
|00004b70| 58 09 72 65 73 70 6f 6e | 73 65 5f 69 20 3d 20 31 |X.respon|se_i = 1|
|00004b80| 3b 0a 58 09 72 65 73 70 | 6f 6e 73 65 5b 30 5d 20 |;.X.resp|onse[0] |
|00004b90| 3d 20 27 78 27 3b 09 2f | 2a 20 66 69 6c 6c 65 72 |= 'x';./|* filler|
|00004ba0| 20 2a 2f 0a 58 09 66 6f | 72 28 3b 3b 29 20 7b 0a | */.X.fo|r(;;) {.|
|00004bb0| 58 09 20 20 20 20 2f 2a | 20 47 61 74 68 65 72 20 |X. /*| Gather |
|00004bc0| 70 61 73 73 77 6f 72 64 | 20 2a 2f 0a 58 09 20 20 |password| */.X. |
|00004bd0| 20 20 69 66 20 28 69 6e | 2e 74 79 70 65 20 3d 3d | if (in|.type ==|
|00004be0| 20 4b 65 79 50 72 65 73 | 73 29 20 7b 0a 58 09 20 | KeyPres|s) {.X. |
|00004bf0| 20 20 20 20 20 20 20 6e | 62 79 74 65 73 20 3d 20 | n|bytes = |
|00004c00| 58 4c 6f 6f 6b 75 70 53 | 74 72 69 6e 67 28 26 69 |XLookupS|tring(&i|
|00004c10| 6e 2c 20 69 6e 70 75 74 | 62 75 66 2c 20 73 69 7a |n, input|buf, siz|
|00004c20| 65 6f 66 28 69 6e 70 75 | 74 62 75 66 29 2c 20 30 |eof(inpu|tbuf), 0|
|00004c30| 2c 20 30 29 3b 0a 58 09 | 20 20 20 20 20 20 20 20 |, 0);.X.| |
|00004c40| 66 6f 72 20 28 69 20 3d | 20 30 20 3b 20 6e 62 79 |for (i =| 0 ; nby|
|00004c50| 74 65 73 2d 2d 20 3e 20 | 30 20 3b 20 29 20 7b 0a |tes-- > |0 ; ) {.|
|00004c60| 58 09 09 20 20 20 20 69 | 66 28 69 6e 70 75 74 62 |X.. i|f(inputb|
|00004c70| 75 66 5b 69 5d 20 3d 3d | 20 63 6f 6e 74 72 6f 6c |uf[i] ==| control|
|00004c80| 28 27 48 27 29 20 7c 7c | 20 69 6e 70 75 74 62 75 |('H') ||| inputbu|
|00004c90| 66 5b 69 5d 20 3d 3d 20 | 30 31 37 37 29 0a 58 09 |f[i] == |0177).X.|
|00004ca0| 09 09 72 65 73 70 6f 6e | 73 65 5f 69 2d 2d 3b 09 |..respon|se_i--;.|
|00004cb0| 2f 2a 20 64 65 6c 65 74 | 65 20 2a 2f 0a 58 09 09 |/* delet|e */.X..|
|00004cc0| 20 20 20 20 65 6c 73 65 | 20 69 66 28 69 6e 70 75 | else| if(inpu|
|00004cd0| 74 62 75 66 5b 69 5d 20 | 3d 3d 20 63 6f 6e 74 72 |tbuf[i] |== contr|
|00004ce0| 6f 6c 28 27 55 27 29 29 | 0a 58 09 09 09 72 65 73 |ol('U'))|.X...res|
|00004cf0| 70 6f 6e 73 65 5f 69 20 | 3d 20 31 3b 09 2f 2a 20 |ponse_i |= 1;./* |
|00004d00| 72 65 73 65 74 20 74 6f | 20 66 69 72 73 74 20 63 |reset to| first c|
|00004d10| 68 61 72 20 2a 2f 0a 58 | 09 09 20 20 20 20 65 6c |har */.X|.. el|
|00004d20| 73 65 20 7b 0a 58 09 09 | 09 72 65 73 70 6f 6e 73 |se {.X..|.respons|
|00004d30| 65 5b 72 65 73 70 6f 6e | 73 65 5f 69 5d 20 3d 20 |e[respon|se_i] = |
|00004d40| 69 6e 70 75 74 62 75 66 | 5b 69 2b 2b 5d 3b 0a 58 |inputbuf|[i++];.X|
|00004d50| 09 09 09 69 66 28 72 65 | 73 70 6f 6e 73 65 5b 72 |...if(re|sponse[r|
|00004d60| 65 73 70 6f 6e 73 65 5f | 69 2b 2b 5d 20 3d 3d 20 |esponse_|i++] == |
|00004d70| 27 5c 72 27 29 20 62 72 | 65 61 6b 3b 0a 58 09 09 |'\r') br|eak;.X..|
|00004d80| 20 20 20 20 7d 0a 58 09 | 09 7d 0a 58 09 20 20 20 | }.X.|.}.X. |
|00004d90| 20 7d 0a 58 09 20 20 20 | 20 69 66 28 72 65 73 70 | }.X. | if(resp|
|00004da0| 6f 6e 73 65 5b 72 65 73 | 70 6f 6e 73 65 5f 69 20 |onse[res|ponse_i |
|00004db0| 2d 20 31 5d 20 3d 3d 20 | 27 5c 72 27 29 20 62 72 |- 1] == |'\r') br|
|00004dc0| 65 61 6b 3b 09 2f 2a 20 | 66 69 6e 69 73 68 65 64 |eak;./* |finished|
|00004dd0| 20 2a 2f 0a 58 09 20 20 | 20 20 58 4e 65 78 74 45 | */.X. | XNextE|
|00004de0| 76 65 6e 74 28 64 70 79 | 2c 20 26 69 6e 29 3b 0a |vent(dpy|, &in);.|
|00004df0| 58 09 7d 0a 58 09 72 65 | 73 70 6f 6e 73 65 5b 72 |X.}.X.re|sponse[r|
|00004e00| 65 73 70 6f 6e 73 65 5f | 69 20 2d 20 31 5d 20 3d |esponse_|i - 1] =|
|00004e10| 20 27 5c 30 27 3b 0a 58 | 09 70 77 20 3d 20 63 72 | '\0';.X|.pw = cr|
|00004e20| 79 70 74 28 26 72 65 73 | 70 6f 6e 73 65 5b 31 5d |ypt(&res|ponse[1]|
|00004e30| 2c 20 75 73 65 72 5f 70 | 61 73 73 77 64 29 3b 0a |, user_p|asswd);.|
|00004e40| 58 09 70 61 73 73 77 6f | 72 64 5f 62 61 64 20 3d |X.passwo|rd_bad =|
|00004e50| 20 73 74 72 63 6d 70 28 | 70 77 2c 20 75 73 65 72 | strcmp(|pw, user|
|00004e60| 5f 70 61 73 73 77 64 29 | 3b 0a 58 09 69 66 20 28 |_passwd)|;.X.if (|
|00004e70| 70 61 73 73 77 6f 72 64 | 5f 62 61 64 29 20 7b 0a |password|_bad) {.|
|00004e80| 58 09 20 20 20 20 70 77 | 20 3d 20 63 72 79 70 74 |X. pw| = crypt|
|00004e90| 28 26 72 65 73 70 6f 6e | 73 65 5b 31 5d 2c 20 72 |(&respon|se[1], r|
|00004ea0| 6f 6f 74 5f 70 77 29 3b | 0a 58 09 20 20 20 20 70 |oot_pw);|.X. p|
|00004eb0| 61 73 73 77 6f 72 64 5f | 62 61 64 20 3d 20 73 74 |assword_|bad = st|
|00004ec0| 72 63 6d 70 28 70 77 2c | 20 72 6f 6f 74 5f 70 77 |rcmp(pw,| root_pw|
|00004ed0| 29 3b 0a 58 09 20 20 20 | 20 69 66 20 28 70 61 73 |);.X. | if (pas|
|00004ee0| 73 77 6f 72 64 5f 62 61 | 64 29 20 7b 0a 58 09 09 |sword_ba|d) {.X..|
|00004ef0| 77 69 64 74 68 20 3d 20 | 58 54 65 78 74 57 69 64 |width = |XTextWid|
|00004f00| 74 68 28 66 6f 6e 74 2c | 20 22 53 6f 72 72 79 22 |th(font,| "Sorry"|
|00004f10| 2c 20 35 29 3b 0a 58 09 | 09 58 44 72 61 77 53 74 |, 5);.X.|.XDrawSt|
|00004f20| 72 69 6e 67 28 64 70 79 | 2c 20 77 2c 20 67 63 2c |ring(dpy|, w, gc,|
|00004f30| 20 31 30 30 2c 20 33 30 | 30 2c 20 22 53 6f 72 72 | 100, 30|0, "Sorr|
|00004f40| 79 22 2c 20 35 29 3b 0a | 58 09 09 58 46 6c 75 73 |y", 5);.|X..XFlus|
|00004f50| 68 28 64 70 79 29 3b 0a | 58 09 09 73 6c 65 65 70 |h(dpy);.|X..sleep|
|00004f60| 28 53 6c 65 65 70 74 69 | 6d 65 29 3b 0a 58 09 09 |(Sleepti|me);.X..|
|00004f70| 58 43 6c 65 61 72 41 72 | 65 61 28 64 70 79 2c 20 |XClearAr|ea(dpy, |
|00004f80| 77 2c 20 31 30 30 2c 20 | 33 30 30 20 2d 20 66 6f |w, 100, |300 - fo|
|00004f90| 6e 74 2d 3e 6d 61 78 5f | 62 6f 75 6e 64 73 2e 61 |nt->max_|bounds.a|
|00004fa0| 73 63 65 6e 74 2c 20 77 | 69 64 74 68 0a 58 09 09 |scent, w|idth.X..|
|00004fb0| 09 20 20 20 2c 20 74 65 | 78 74 68 65 69 67 68 74 |. , te|xtheight|
|00004fc0| 2c 20 30 29 3b 0a 58 09 | 09 58 46 6c 75 73 68 28 |, 0);.X.|.XFlush(|
|00004fd0| 64 70 79 29 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 |dpy);.X.| }.X.|
|00004fe0| 7d 0a 58 09 58 43 6c 65 | 61 72 41 72 65 61 28 64 |}.X.XCle|arArea(d|
|00004ff0| 70 79 2c 20 77 2c 20 31 | 30 30 2c 20 31 30 30 20 |py, w, 1|00, 100 |
|00005000| 2d 20 66 6f 6e 74 2d 3e | 6d 61 78 5f 62 6f 75 6e |- font->|max_boun|
|00005010| 64 73 2e 61 73 63 65 6e | 74 2c 20 6c 65 6e 77 69 |ds.ascen|t, lenwi|
|00005020| 64 74 68 0a 58 09 09 20 | 20 20 2c 20 74 65 78 74 |dth.X.. | , text|
|00005030| 68 65 69 67 68 74 2c 20 | 30 29 3b 0a 58 09 58 46 |height, |0);.X.XF|
|00005040| 6c 75 73 68 28 64 70 79 | 29 3b 0a 58 20 20 20 20 |lush(dpy|);.X |
|00005050| 7d 20 77 68 69 6c 65 20 | 28 70 61 73 73 77 6f 72 |} while |(passwor|
|00005060| 64 5f 62 61 64 29 3b 0a | 58 0a 58 20 20 20 20 58 |d_bad);.|X.X X|
|00005070| 55 6e 67 72 61 62 50 6f | 69 6e 74 65 72 28 64 70 |UngrabPo|inter(dp|
|00005080| 79 2c 20 43 75 72 72 65 | 6e 74 54 69 6d 65 29 3b |y, Curre|ntTime);|
|00005090| 0a 58 20 20 20 20 58 44 | 65 73 74 72 6f 79 57 69 |.X XD|estroyWi|
|000050a0| 6e 64 6f 77 28 64 70 79 | 2c 20 77 29 3b 09 09 2f |ndow(dpy|, w);../|
|000050b0| 2a 20 74 68 72 6f 77 20 | 69 74 20 61 77 61 79 20 |* throw |it away |
|000050c0| 2a 2f 0a 58 0a 58 2f 2a | 0a 58 20 2a 20 53 65 74 |*/.X.X/*|.X * Set|
|000050d0| 20 73 63 72 65 65 6e 20 | 73 61 76 65 72 20 62 61 | screen |saver ba|
|000050e0| 63 6b 20 74 68 65 20 77 | 61 79 20 69 74 20 77 61 |ck the w|ay it wa|
|000050f0| 73 0a 58 20 2a 2f 0a 58 | 20 20 20 20 58 53 65 74 |s.X */.X| XSet|
|00005100| 53 63 72 65 65 6e 53 61 | 76 65 72 28 64 70 79 2c |ScreenSa|ver(dpy,|
|00005110| 20 74 69 6d 65 6f 75 74 | 2c 20 69 6e 74 65 72 76 | timeout|, interv|
|00005120| 61 6c 2c 20 70 72 65 66 | 65 72 65 6e 63 65 2c 20 |al, pref|erence, |
|00005130| 61 6c 6c 6f 77 65 78 70 | 29 3b 0a 58 0a 58 20 20 |allowexp|);.X.X |
|00005140| 20 20 58 46 6c 75 73 68 | 28 64 70 79 29 3b 09 09 | XFlush|(dpy);..|
|00005150| 09 2f 2a 20 61 6e 64 20 | 6d 61 6b 65 20 73 75 72 |./* and |make sur|
|00005160| 65 20 74 68 65 20 73 65 | 72 76 65 72 20 73 65 65 |e the se|rver see|
|00005170| 73 20 69 74 20 2a 2f 0a | 58 0a 58 20 20 20 20 65 |s it */.|X.X e|
|00005180| 78 69 74 28 30 29 3b 0a | 58 7d 0a 58 0a 58 2f 2a |xit(0);.|X}.X.X/*|
|00005190| 20 44 6f 20 73 6f 6d 65 | 74 68 69 6e 67 20 65 6e | Do some|thing en|
|000051a0| 74 65 72 74 61 69 6e 69 | 6e 67 20 6f 6e 20 74 68 |tertaini|ng on th|
|000051b0| 65 20 73 63 72 65 65 6e | 20 2a 2f 0a 58 65 6e 74 |e screen| */.Xent|
|000051c0| 65 72 74 61 69 6e 28 64 | 70 79 2c 20 77 2c 20 67 |ertain(d|py, w, g|
|000051d0| 63 29 0a 58 44 69 73 70 | 6c 61 79 20 2a 64 70 79 |c).XDisp|lay *dpy|
|000051e0| 3b 0a 58 57 69 6e 64 6f | 77 20 77 3b 0a 58 47 43 |;.XWindo|w w;.XGC|
|000051f0| 20 67 63 3b 0a 58 7b 0a | 58 20 20 20 20 69 6e 74 | gc;.X{.|X int|
|00005200| 20 78 2c 20 79 3b 0a 58 | 20 20 20 20 69 6e 74 20 | x, y;.X| int |
|00005210| 67 72 70 69 64 3b 0a 58 | 20 20 20 20 69 6e 74 20 |grpid;.X| int |
|00005220| 73 74 61 72 74 74 69 6d | 65 3b 0a 58 0a 58 20 20 |starttim|e;.X.X |
|00005230| 20 20 78 20 3d 20 30 3b | 20 79 20 3d 20 30 3b 0a | x = 0;| y = 0;.|
|00005240| 58 20 20 20 20 77 68 69 | 6c 65 20 28 58 50 65 6e |X whi|le (XPen|
|00005250| 64 69 6e 67 28 64 70 79 | 29 20 3d 3d 20 30 29 20 |ding(dpy|) == 0) |
|00005260| 7b 0a 58 09 2f 2a 20 67 | 65 6e 65 72 61 74 65 20 |{.X./* g|enerate |
|00005270| 72 61 6e 64 2e 20 6e 75 | 6d 62 65 72 73 20 73 75 |rand. nu|mbers su|
|00005280| 63 68 20 74 68 61 74 20 | 6f 75 72 20 74 65 78 74 |ch that |our text|
|00005290| 20 77 69 6c 6c 20 62 65 | 20 6f 6e 20 74 68 65 20 | will be| on the |
|000052a0| 73 63 72 65 65 6e 20 2a | 2f 0a 58 09 78 20 3d 20 |screen *|/.X.x = |
|000052b0| 72 6e 64 28 44 69 73 70 | 6c 61 79 57 69 64 74 68 |rnd(Disp|layWidth|
|000052c0| 28 64 70 79 2c 20 44 65 | 66 61 75 6c 74 53 63 72 |(dpy, De|faultScr|
|000052d0| 65 65 6e 28 64 70 79 29 | 29 20 2d 20 74 65 78 74 |een(dpy)|) - text|
|000052e0| 77 69 64 74 68 29 3b 0a | 58 09 79 20 3d 20 72 6e |width);.|X.y = rn|
|000052f0| 64 28 44 69 73 70 6c 61 | 79 48 65 69 67 68 74 28 |d(Displa|yHeight(|
|00005300| 64 70 79 2c 20 44 65 66 | 61 75 6c 74 53 63 72 65 |dpy, Def|aultScre|
|00005310| 65 6e 28 64 70 79 29 29 | 20 2d 20 74 65 78 74 68 |en(dpy))| - texth|
|00005320| 65 69 67 68 74 29 3b 0a | 58 09 2f 2a 20 62 79 65 |eight);.|X./* bye|
|00005330| 2c 20 62 79 65 2c 20 68 | 69 73 74 6f 72 79 21 20 |, bye, h|istory! |
|00005340| 2a 2f 0a 58 09 58 43 6c | 65 61 72 41 72 65 61 28 |*/.X.XCl|earArea(|
|00005350| 64 70 79 2c 20 77 2c 20 | 6c 61 73 74 78 2c 20 6c |dpy, w, |lastx, l|
|00005360| 61 73 74 79 2c 20 74 65 | 78 74 77 69 64 74 68 2c |asty, te|xtwidth,|
|00005370| 20 74 65 78 74 68 65 69 | 67 68 74 2c 20 30 29 3b | texthei|ght, 0);|
|00005380| 0a 58 09 2f 2a 20 49 20 | 6c 69 6b 65 20 62 65 69 |.X./* I |like bei|
|00005390| 6e 67 20 6f 6e 20 74 6f | 70 21 20 2a 2f 0a 58 09 |ng on to|p! */.X.|
|000053a0| 58 52 61 69 73 65 57 69 | 6e 64 6f 77 28 64 70 79 |XRaiseWi|ndow(dpy|
|000053b0| 2c 20 77 29 3b 0a 58 09 | 2f 2a 20 6f 6b 2c 20 6c |, w);.X.|/* ok, l|
|000053c0| 65 74 27 73 20 74 65 6c | 6c 20 65 76 65 72 79 6f |et's tel|l everyo|
|000053d0| 6e 65 20 77 68 61 74 27 | 73 20 68 61 70 70 65 6e |ne what'|s happen|
|000053e0| 69 6e 67 20 2a 2f 0a 58 | 09 58 43 6f 70 79 41 72 |ing */.X|.XCopyAr|
|000053f0| 65 61 28 64 70 79 2c 20 | 74 65 78 74 70 69 78 6d |ea(dpy, |textpixm|
|00005400| 61 70 2c 20 77 2c 20 67 | 63 2c 20 30 2c 20 30 2c |ap, w, g|c, 0, 0,|
|00005410| 20 74 65 78 74 77 69 64 | 74 68 2c 20 74 65 78 74 | textwid|th, text|
|00005420| 68 65 69 67 68 74 2c 20 | 78 2c 20 79 29 3b 0a 58 |height, |x, y);.X|
|00005430| 09 6c 61 73 74 78 20 3d | 20 78 3b 0a 58 09 6c 61 |.lastx =| x;.X.la|
|00005440| 73 74 79 20 3d 20 79 3b | 0a 58 09 2f 2a 20 4e 4f |sty = y;|.X./* NO|
|00005450| 57 21 20 2a 2f 0a 58 09 | 58 46 6c 75 73 68 28 64 |W! */.X.|XFlush(d|
|00005460| 70 79 29 3b 0a 58 09 2f | 2a 20 59 6f 75 27 76 65 |py);.X./|* You've|
|00005470| 20 64 6f 6e 65 20 77 65 | 6c 6c 2c 20 67 6f 20 74 | done we|ll, go t|
|00005480| 6f 20 62 65 64 20 6e 6f | 77 2e 20 20 20 28 57 69 |o bed no|w. (Wi|
|00005490| 74 68 20 77 68 6f 6d 3f | 29 20 2a 2f 0a 58 09 73 |th whom?|) */.X.s|
|000054a0| 6c 65 65 70 28 53 6c 65 | 65 70 74 69 6d 65 29 3b |leep(Sle|eptime);|
|000054b0| 0a 58 20 20 20 20 7d 0a | 58 7d 0a 58 0a 58 2f 2a |.X }.|X}.X.X/*|
|000054c0| 0a 58 20 2a 20 50 69 63 | 6b 20 61 20 6e 75 6d 62 |.X * Pic|k a numb|
|000054d0| 65 72 20 62 65 74 77 65 | 65 6e 20 30 20 61 6e 64 |er betwe|en 0 and|
|000054e0| 20 6e 2d 31 0a 58 20 2a | 2f 0a 58 69 6e 74 20 72 | n-1.X *|/.Xint r|
|000054f0| 6e 64 28 6e 29 20 69 6e | 74 20 6e 3b 20 7b 0a 58 |nd(n) in|t n; {.X|
|00005500| 0a 58 20 20 20 20 72 65 | 74 75 72 6e 28 61 62 73 |.X re|turn(abs|
|00005510| 28 72 61 6e 64 6f 6d 28 | 29 20 25 20 6e 29 29 3b |(random(|) % n));|
|00005520| 0a 58 7d 0a 58 0a 58 2f | 2a 0a 58 20 2a 20 53 6d |.X}.X.X/|*.X * Sm|
|00005530| 61 6c 6c 20 72 6f 75 74 | 69 6e 65 20 74 6f 20 72 |all rout|ine to r|
|00005540| 65 74 75 72 6e 20 74 68 | 65 20 6f 66 66 69 63 69 |eturn th|e offici|
|00005550| 61 6c 20 68 6f 73 74 6e | 61 6d 65 20 66 6f 72 20 |al hostn|ame for |
|00005560| 61 20 64 69 73 70 6c 61 | 79 20 6e 61 6d 65 0a 58 |a displa|y name.X|
|00005570| 20 2a 2f 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 6e | */.X#in|clude <n|
|00005580| 65 74 64 62 2e 68 3e 0a | 58 0a 58 63 68 61 72 20 |etdb.h>.|X.Xchar |
|00005590| 2a 64 69 73 70 6c 61 79 | 68 6f 73 74 28 64 69 73 |*display|host(dis|
|000055a0| 70 6c 61 79 29 20 63 68 | 61 72 20 2a 64 69 73 70 |play) ch|ar *disp|
|000055b0| 6c 61 79 3b 20 7b 0a 58 | 20 20 20 20 63 68 61 72 |lay; {.X| char|
|000055c0| 09 09 2a 63 70 3b 0a 58 | 20 20 20 20 73 74 72 75 |..*cp;.X| stru|
|000055d0| 63 74 20 68 6f 73 74 65 | 6e 74 09 2a 68 6f 73 74 |ct hoste|nt.*host|
|000055e0| 3b 0a 58 20 20 20 20 63 | 68 61 72 09 09 73 61 76 |;.X c|har..sav|
|000055f0| 65 63 68 61 72 3b 0a 58 | 20 20 20 20 0a 58 20 20 |echar;.X| .X |
|00005600| 20 20 2f 2a 20 46 69 6e | 64 20 74 68 65 20 68 6f | /* Fin|d the ho|
|00005610| 73 74 6e 61 6d 65 20 69 | 6e 20 74 68 65 20 64 69 |stname i|n the di|
|00005620| 73 70 6c 61 79 20 2a 2f | 0a 58 20 20 20 20 69 66 |splay */|.X if|
|00005630| 28 28 63 70 20 3d 20 69 | 6e 64 65 78 28 64 69 73 |((cp = i|ndex(dis|
|00005640| 70 6c 61 79 2c 20 27 3a | 27 29 29 20 21 3d 20 4e |play, ':|')) != N|
|00005650| 55 4c 4c 29 20 7b 0a 58 | 09 73 61 76 65 63 68 61 |ULL) {.X|.savecha|
|00005660| 72 20 3d 20 2a 63 70 3b | 0a 58 09 2a 63 70 20 3d |r = *cp;|.X.*cp =|
|00005670| 20 27 5c 30 27 3b 0a 58 | 20 20 20 20 7d 20 65 6c | '\0';.X| } el|
|00005680| 73 65 20 69 66 28 28 63 | 70 20 3d 20 69 6e 64 65 |se if((c|p = inde|
|00005690| 78 28 64 69 73 70 6c 61 | 79 2c 20 27 2e 27 29 29 |x(displa|y, '.'))|
|000056a0| 20 21 3d 20 4e 55 4c 4c | 29 20 7b 0a 58 09 73 61 | != NULL|) {.X.sa|
|000056b0| 76 65 63 68 61 72 20 3d | 20 2a 63 70 3b 0a 58 09 |vechar =| *cp;.X.|
|000056c0| 2a 63 70 20 3d 20 27 5c | 30 27 3b 0a 58 20 20 20 |*cp = '\|0';.X |
|000056d0| 20 7d 20 65 6c 73 65 20 | 7b 0a 58 09 66 70 72 69 | } else |{.X.fpri|
|000056e0| 6e 74 66 28 73 74 64 65 | 72 72 2c 20 22 44 49 53 |ntf(stde|rr, "DIS|
|000056f0| 50 4c 41 59 20 6e 6f 74 | 20 69 6e 20 61 20 73 74 |PLAY not| in a st|
|00005700| 61 6e 64 61 72 64 20 66 | 6f 72 6d 5c 6e 22 29 3b |andard f|orm\n");|
|00005710| 0a 58 09 72 65 74 75 72 | 6e 28 22 5c 30 22 29 3b |.X.retur|n("\0");|
|00005720| 09 09 2f 2a 20 72 65 74 | 75 72 6e 20 73 6f 6d 65 |../* ret|urn some|
|00005730| 74 68 69 6e 67 20 74 68 | 61 74 20 77 6f 6e 27 74 |thing th|at won't|
|00005740| 20 6d 61 74 63 68 20 2a | 2f 0a 58 20 20 20 20 7d | match *|/.X }|
|00005750| 0a 58 20 20 20 20 0a 58 | 20 20 20 20 2f 2a 20 53 |.X .X| /* S|
|00005760| 70 65 63 69 61 6c 20 63 | 61 73 65 20 66 6f 72 20 |pecial c|ase for |
|00005770| 22 75 6e 69 78 3a 30 22 | 20 2a 2f 0a 58 20 20 20 |"unix:0"| */.X |
|00005780| 20 69 66 28 73 74 72 63 | 6d 70 28 64 69 73 70 6c | if(strc|mp(displ|
|00005790| 61 79 2c 20 22 75 6e 69 | 78 22 29 20 3d 3d 20 30 |ay, "uni|x") == 0|
|000057a0| 29 20 7b 0a 58 09 2a 63 | 70 20 3d 20 73 61 76 65 |) {.X.*c|p = save|
|000057b0| 63 68 61 72 3b 0a 58 09 | 72 65 74 75 72 6e 28 22 |char;.X.|return("|
|000057c0| 6c 6f 63 61 6c 68 6f 73 | 74 22 29 3b 0a 58 20 20 |localhos|t");.X |
|000057d0| 20 20 7d 0a 58 0a 58 20 | 20 20 20 2f 2a 20 46 69 | }.X.X | /* Fi|
|000057e0| 6e 64 20 6f 66 66 69 63 | 69 61 6c 20 68 6f 73 74 |nd offic|ial host|
|000057f0| 6e 61 6d 65 20 2a 2f 0a | 58 20 20 20 20 69 66 28 |name */.|X if(|
|00005800| 28 68 6f 73 74 20 3d 20 | 67 65 74 68 6f 73 74 62 |(host = |gethostb|
|00005810| 79 6e 61 6d 65 28 64 69 | 73 70 6c 61 79 29 29 20 |yname(di|splay)) |
|00005820| 3d 3d 20 30 29 20 7b 0a | 58 09 66 70 72 69 6e 74 |== 0) {.|X.fprint|
|00005830| 66 28 73 74 64 65 72 72 | 2c 20 22 43 61 6e 27 74 |f(stderr|, "Can't|
|00005840| 20 66 69 6e 64 20 79 6f | 75 72 20 64 69 73 70 6c | find yo|ur displ|
|00005850| 61 79 20 68 6f 73 74 6e | 61 6d 65 21 20 28 25 73 |ay hostn|ame! (%s|
|00005860| 29 5c 6e 22 2c 20 64 69 | 73 70 6c 61 79 29 3b 0a |)\n", di|splay);.|
|00005870| 58 09 65 78 69 74 28 31 | 29 3b 0a 58 20 20 20 20 |X.exit(1|);.X |
|00005880| 7d 0a 58 20 20 20 20 2a | 63 70 20 3d 20 73 61 76 |}.X *|cp = sav|
|00005890| 65 63 68 61 72 3b 09 09 | 2f 2a 20 70 75 74 20 69 |echar;..|/* put i|
|000058a0| 74 20 62 61 63 6b 20 61 | 67 61 69 6e 20 2a 2f 0a |t back a|gain */.|
|000058b0| 58 0a 58 20 20 20 20 72 | 65 74 75 72 6e 28 68 6f |X.X r|eturn(ho|
|000058c0| 73 74 2d 3e 68 5f 6e 61 | 6d 65 29 3b 0a 58 7d 0a |st->h_na|me);.X}.|
|000058d0| 58 0a 58 2f 2a 0a 58 20 | 2a 20 4f 6e 6c 79 20 61 |X.X/*.X |* Only a|
|000058e0| 6c 6c 6f 77 20 74 68 65 | 20 70 65 72 73 6f 6e 20 |llow the| person |
|000058f0| 74 6f 20 6f 70 65 6e 20 | 74 68 65 20 64 69 73 70 |to open |the disp|
|00005900| 6c 61 79 20 74 68 65 79 | 27 72 65 20 72 75 6e 6e |lay they|'re runn|
|00005910| 69 6e 67 20 6f 6e 0a 58 | 20 2a 20 28 53 65 63 75 |ing on.X| * (Secu|
|00005920| 72 69 74 79 2c 20 79 6f | 75 20 75 6e 64 65 72 73 |rity, yo|u unders|
|00005930| 74 61 6e 64 2c 20 72 69 | 67 68 74 3f 20 2e 2e 2e |tand, ri|ght? ...|
|00005940| 20 29 0a 58 20 2a 0a 58 | 20 2a 20 48 65 72 65 27 | ).X *.X| * Here'|
|00005950| 73 20 74 68 65 20 73 69 | 74 75 61 74 69 6f 6e 3a |s the si|tuation:|
|00005960| 0a 58 20 2a 20 57 65 20 | 77 61 6e 74 20 74 6f 20 |.X * We |want to |
|00005970| 61 6c 6c 6f 77 20 70 65 | 6f 70 6c 65 20 74 6f 20 |allow pe|ople to |
|00005980| 72 75 6e 20 78 67 6f 6e | 65 20 66 72 6f 6d 20 61 |run xgon|e from a|
|00005990| 6e 79 20 73 79 73 74 65 | 6d 20 61 6e 64 20 73 65 |ny syste|m and se|
|000059a0| 74 20 74 68 65 20 44 49 | 53 50 4c 41 59 0a 58 20 |t the DI|SPLAY.X |
|000059b0| 2a 20 74 6f 20 62 65 20 | 74 68 65 69 72 20 77 6f |* to be |their wo|
|000059c0| 72 6b 73 74 61 74 69 6f | 6e 2f 58 5f 74 65 72 6d |rkstatio|n/X_term|
|000059d0| 69 6e 61 6c 2c 20 68 6f | 77 65 76 65 72 20 77 65 |inal, ho|wever we|
|000059e0| 20 77 61 6e 74 20 74 6f | 20 6d 61 6b 65 20 73 75 | want to| make su|
|000059f0| 72 65 20 74 68 61 74 20 | 74 68 65 0a 58 20 2a 20 |re that |the.X * |
|00005a00| 70 65 72 73 6f 6e 20 77 | 68 6f 27 73 20 72 75 6e |person w|ho's run|
|00005a10| 6e 69 6e 67 20 78 67 6f | 6e 65 20 69 73 20 74 68 |ning xgo|ne is th|
|00005a20| 65 20 70 65 72 73 6f 6e | 20 77 68 6f 27 73 20 72 |e person| who's r|
|00005a30| 65 61 6c 6c 79 20 75 73 | 69 6e 67 20 74 68 61 74 |eally us|ing that|
|00005a40| 20 44 49 53 50 4c 41 59 | 21 0a 58 20 2a 20 54 68 | DISPLAY|!.X * Th|
|00005a50| 65 20 6f 6e 6c 79 20 77 | 61 79 20 74 6f 20 54 52 |e only w|ay to TR|
|00005a60| 59 20 74 6f 20 76 65 72 | 69 66 79 20 74 68 69 73 |Y to ver|ify this|
|00005a70| 20 69 73 20 74 6f 20 6c | 6f 6f 6b 20 66 6f 72 20 | is to l|ook for |
|00005a80| 74 68 65 20 6f 6c 64 65 | 73 74 20 2f 65 74 63 2f |the olde|st /etc/|
|00005a90| 75 74 6d 70 0a 58 20 2a | 20 65 6e 74 72 79 20 73 |utmp.X *| entry s|
|00005aa0| 70 65 63 69 66 79 69 6e | 67 20 74 68 61 74 20 44 |pecifyin|g that D|
|00005ab0| 49 53 50 4c 41 59 20 6e | 61 6d 65 20 61 6e 64 20 |ISPLAY n|ame and |
|00005ac0| 6d 61 6b 65 20 73 75 72 | 65 20 74 68 61 74 20 6c |make sur|e that l|
|00005ad0| 6f 67 69 6e 20 6e 61 6d | 65 20 69 73 20 74 68 65 |ogin nam|e is the|
|00005ae0| 0a 58 20 2a 20 73 61 6d | 65 20 61 73 20 74 68 65 |.X * sam|e as the|
|00005af0| 20 75 69 64 20 77 68 6f | 27 73 20 72 75 6e 6e 69 | uid who|'s runni|
|00005b00| 6e 67 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 20 |ng the p|rogram. |
|00005b10| 20 54 68 69 73 20 6d 61 | 6b 65 73 20 69 74 20 69 | This ma|kes it i|
|00005b20| 6d 70 6f 73 73 69 62 6c | 65 20 66 6f 72 0a 58 20 |mpossibl|e for.X |
|00005b30| 2a 20 70 65 6f 70 6c 65 | 20 74 6f 20 72 75 6e 20 |* people| to run |
|00005b40| 61 6e 20 78 74 65 72 6d | 20 6f 6e 20 74 68 65 20 |an xterm| on the |
|00005b50| 70 65 72 73 6f 6e 27 73 | 20 64 69 73 70 6c 61 79 |person's| display|
|00005b60| 20 61 6e 64 20 74 68 65 | 6e 20 72 75 6e 20 78 67 | and the|n run xg|
|00005b70| 6f 6e 65 20 62 65 63 61 | 75 73 65 0a 58 20 2a 20 |one beca|use.X * |
|00005b80| 74 68 65 69 72 27 73 20 | 77 6f 75 6c 64 6e 27 74 |their's |wouldn't|
|00005b90| 20 62 65 20 6f 6c 64 65 | 73 74 20 75 74 6d 70 20 | be olde|st utmp |
|00005ba0| 65 6e 74 72 79 2e 0a 58 | 20 2a 2f 0a 58 0a 58 23 |entry..X| */.X.X#|
|00005bb0| 69 6e 63 6c 75 64 65 20 | 3c 75 74 6d 70 2e 68 3e |include |<utmp.h>|
|00005bc0| 0a 58 23 69 6e 63 6c 75 | 64 65 20 3c 6c 61 73 74 |.X#inclu|de <last|
|00005bd0| 6c 6f 67 2e 68 3e 0a 58 | 0a 58 76 65 72 69 66 79 |log.h>.X|.Xverify|
|00005be0| 28 75 69 64 2c 20 64 69 | 73 70 6c 61 79 29 20 69 |(uid, di|splay) i|
|00005bf0| 6e 74 20 75 69 64 3b 20 | 63 68 61 72 20 2a 64 69 |nt uid; |char *di|
|00005c00| 73 70 6c 61 79 3b 20 7b | 0a 58 20 20 20 20 46 49 |splay; {|.X FI|
|00005c10| 4c 45 09 09 2a 75 74 6d | 70 3b 0a 58 20 20 20 20 |LE..*utm|p;.X |
|00005c20| 73 74 72 75 63 74 20 75 | 74 6d 70 09 09 75 65 6e |struct u|tmp..uen|
|00005c30| 74 3b 0a 58 20 20 20 20 | 73 74 72 75 63 74 20 70 |t;.X |struct p|
|00005c40| 61 73 73 77 64 09 2a 70 | 77 64 3b 0a 58 20 20 20 |asswd.*p|wd;.X |
|00005c50| 20 73 74 61 74 69 63 20 | 6c 6f 6e 67 09 09 6f 6c | static |long..ol|
|00005c60| 64 65 73 74 3d 30 3b 0a | 58 20 20 20 20 63 68 61 |dest=0;.|X cha|
|00005c70| 72 09 09 64 69 73 70 68 | 6f 73 74 5b 34 30 5d 3b |r..disph|ost[40];|
|00005c80| 0a 58 20 20 20 20 73 74 | 61 74 69 63 20 63 68 61 |.X st|atic cha|
|00005c90| 72 09 09 6f 6c 64 6e 61 | 6d 65 5b 39 5d 3d 22 5c |r..oldna|me[9]="\|
|00005ca0| 30 22 3b 0a 58 20 20 20 | 20 63 68 61 72 09 09 2a |0";.X | char..*|
|00005cb0| 63 70 3b 0a 58 20 20 20 | 20 0a 58 20 20 20 20 69 |cp;.X | .X i|
|00005cc0| 66 28 75 69 64 20 3d 3d | 20 30 29 20 72 65 74 75 |f(uid ==| 0) retu|
|00005cd0| 72 6e 28 54 52 55 45 29 | 3b 09 2f 2a 20 49 20 67 |rn(TRUE)|;./* I g|
|00005ce0| 75 65 73 73 20 77 65 20 | 73 68 6f 75 6c 64 20 61 |uess we |should a|
|00005cf0| 6c 6c 6f 77 20 72 6f 6f | 74 20 2a 2f 0a 58 20 20 |llow roo|t */.X |
|00005d00| 20 20 69 66 28 64 69 73 | 70 6c 61 79 20 3d 3d 20 | if(dis|play == |
|00005d10| 28 63 68 61 72 20 2a 29 | 4e 55 4c 4c 20 7c 7c 20 |(char *)|NULL || |
|00005d20| 2a 64 69 73 70 6c 61 79 | 20 3d 3d 20 27 5c 30 27 |*display| == '\0'|
|00005d30| 29 20 7b 0a 58 09 66 70 | 72 69 6e 74 66 28 73 74 |) {.X.fp|rintf(st|
|00005d40| 64 65 72 72 2c 20 22 59 | 6f 75 20 68 61 76 65 20 |derr, "Y|ou have |
|00005d50| 6e 6f 20 44 49 53 50 4c | 41 59 20 65 6e 76 69 72 |no DISPL|AY envir|
|00005d60| 6f 6e 6d 65 6e 74 20 76 | 61 72 69 61 62 6c 65 20 |onment v|ariable |
|00005d70| 64 65 66 69 6e 65 64 5c | 6e 22 29 3b 0a 58 09 65 |defined\|n");.X.e|
|00005d80| 78 69 74 28 31 29 3b 0a | 58 20 20 20 20 7d 0a 58 |xit(1);.|X }.X|
|00005d90| 0a 58 20 20 20 20 2f 2a | 20 53 61 76 65 20 61 77 |.X /*| Save aw|
|00005da0| 61 79 20 64 69 73 70 6c | 61 79 20 6f 66 66 69 63 |ay displ|ay offic|
|00005db0| 69 61 6c 20 68 6f 73 74 | 6e 61 6d 65 20 2a 2f 0a |ial host|name */.|
|00005dc0| 58 20 20 20 20 73 74 72 | 63 70 79 28 64 69 73 70 |X str|cpy(disp|
|00005dd0| 68 6f 73 74 2c 20 64 69 | 73 70 6c 61 79 68 6f 73 |host, di|splayhos|
|00005de0| 74 28 64 69 73 70 6c 61 | 79 29 29 3b 0a 58 20 20 |t(displa|y));.X |
|00005df0| 20 20 0a 58 20 20 20 20 | 69 66 28 28 75 74 6d 70 | .X |if((utmp|
|00005e00| 20 3d 20 66 6f 70 65 6e | 28 55 54 4d 50 2c 20 22 | = fopen|(UTMP, "|
|00005e10| 72 22 29 29 20 3d 3d 20 | 4e 55 4c 4c 29 20 7b 0a |r")) == |NULL) {.|
|00005e20| 58 09 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 |X.fprint|f(stderr|
|00005e30| 2c 20 22 43 61 6e 27 74 | 20 6f 70 65 6e 20 25 73 |, "Can't| open %s|
|00005e40| 20 66 6f 72 20 72 65 61 | 64 20 2d 20 63 6f 6e 74 | for rea|d - cont|
|00005e50| 61 63 74 20 73 79 73 2e | 20 6d 61 6e 61 67 65 72 |act sys.| manager|
|00005e60| 5c 6e 22 0a 58 09 09 2c | 20 55 54 4d 50 29 3b 0a |\n".X..,| UTMP);.|
|00005e70| 58 09 65 78 69 74 28 31 | 29 3b 0a 58 20 20 20 20 |X.exit(1|);.X |
|00005e80| 7d 0a 58 20 20 20 20 0a | 58 20 20 20 20 2f 2a 0a |}.X .|X /*.|
|00005e90| 58 20 20 20 20 20 2a 20 | 46 69 6e 64 20 75 73 65 |X * |Find use|
|00005ea0| 72 20 6e 61 6d 65 20 6f | 66 20 70 65 72 73 6f 6e |r name o|f person|
|00005eb0| 20 72 75 6e 6e 69 6e 67 | 20 74 68 69 73 20 70 72 | running| this pr|
|00005ec0| 6f 67 72 61 6d 0a 58 20 | 20 20 20 20 2a 2f 0a 58 |ogram.X | */.X|
|00005ed0| 20 20 20 20 69 66 28 28 | 70 77 64 20 3d 20 67 65 | if((|pwd = ge|
|00005ee0| 74 70 77 75 69 64 28 75 | 69 64 29 29 20 3d 3d 20 |tpwuid(u|id)) == |
|00005ef0| 4e 55 4c 4c 29 20 7b 0a | 58 09 2f 2a 20 53 74 61 |NULL) {.|X./* Sta|
|00005f00| 6e 64 61 72 64 20 55 6e | 69 78 20 2e 2e 2e 20 20 |ndard Un|ix ... |
|00005f10| 3b 5e 29 20 2a 2f 0a 58 | 09 66 70 72 69 6e 74 66 |;^) */.X|.fprintf|
|00005f20| 28 73 74 64 65 72 72 2c | 20 22 49 6e 74 72 75 64 |(stderr,| "Intrud|
|00005f30| 65 72 20 41 6c 65 72 74 | 21 21 21 5c 6e 22 29 3b |er Alert|!!!\n");|
|00005f40| 0a 58 09 65 78 69 74 28 | 31 29 3b 0a 58 20 20 20 |.X.exit(|1);.X |
|00005f50| 20 7d 0a 58 0a 58 20 20 | 20 20 2f 2a 0a 58 20 20 | }.X.X | /*.X |
|00005f60| 20 20 20 2a 20 52 65 61 | 64 20 65 61 63 68 20 65 | * Rea|d each e|
|00005f70| 6e 74 72 79 20 69 6e 20 | 74 68 65 20 75 74 6d 70 |ntry in |the utmp|
|00005f80| 20 66 69 6c 65 0a 58 20 | 20 20 20 20 2a 2f 0a 58 | file.X | */.X|
|00005f90| 20 20 20 20 77 68 69 6c | 65 28 66 72 65 61 64 28 | whil|e(fread(|
|00005fa0| 26 75 65 6e 74 2c 20 73 | 69 7a 65 6f 66 28 75 65 |&uent, s|izeof(ue|
|00005fb0| 6e 74 29 2c 20 31 2c 20 | 75 74 6d 70 29 20 21 3d |nt), 1, |utmp) !=|
|00005fc0| 20 4e 55 4c 4c 29 20 7b | 0a 58 09 69 66 28 75 65 | NULL) {|.X.if(ue|
|00005fd0| 6e 74 2e 75 74 5f 6e 61 | 6d 65 5b 30 5d 20 3d 3d |nt.ut_na|me[0] ==|
|00005fe0| 20 27 5c 30 27 29 20 63 | 6f 6e 74 69 6e 75 65 3b | '\0') c|ontinue;|
|00005ff0| 0a 58 0a 58 09 69 66 28 | 73 74 72 6e 63 6d 70 28 |.X.X.if(|strncmp(|
|00006000| 22 63 6f 6e 73 6f 6c 65 | 22 2c 20 75 65 6e 74 2e |"console|", uent.|
|00006010| 75 74 5f 6c 69 6e 65 2c | 20 38 29 20 3d 3d 20 30 |ut_line,| 8) == 0|
|00006020| 0a 58 09 20 20 20 26 26 | 20 73 74 72 63 6d 70 28 |.X. &&| strcmp(|
|00006030| 75 65 6e 74 2e 75 74 5f | 6e 61 6d 65 2c 20 70 77 |uent.ut_|name, pw|
|00006040| 64 2d 3e 70 77 5f 6e 61 | 6d 65 2c 20 30 29 20 3d |d->pw_na|me, 0) =|
|00006050| 3d 20 30 0a 58 09 20 20 | 20 26 26 20 73 74 72 63 |= 0.X. | && strc|
|00006060| 6d 70 28 64 69 73 70 68 | 6f 73 74 2c 20 22 6c 6f |mp(disph|ost, "lo|
|00006070| 63 61 6c 68 6f 73 74 22 | 29 20 3d 3d 20 30 29 0a |calhost"|) == 0).|
|00006080| 58 09 20 20 20 20 2f 2a | 20 74 68 65 79 27 72 65 |X. /*| they're|
|00006090| 20 6f 6e 20 74 68 65 20 | 63 6f 6e 73 6f 6c 65 20 | on the |console |
|000060a0| 61 6e 64 20 74 68 65 79 | 27 72 65 20 6f 70 65 6e |and they|'re open|
|000060b0| 69 6e 67 20 75 6e 69 78 | 3a 30 2c 20 73 6f 20 67 |ing unix|:0, so g|
|000060c0| 6f 20 61 68 65 61 64 20 | 2a 2f 0a 58 09 20 20 20 |o ahead |*/.X. |
|000060d0| 20 72 65 74 75 72 6e 28 | 54 52 55 45 29 3b 0a 58 | return(|TRUE);.X|
|000060e0| 09 0a 58 09 69 66 28 75 | 65 6e 74 2e 75 74 5f 68 |..X.if(u|ent.ut_h|
|000060f0| 6f 73 74 5b 30 5d 20 3d | 3d 20 27 5c 30 27 29 20 |ost[0] =|= '\0') |
|00006100| 63 6f 6e 74 69 6e 75 65 | 3b 09 2f 2a 20 6e 6f 72 |continue|;./* nor|
|00006110| 6d 61 6c 20 74 65 72 6d | 69 6e 61 6c 20 2a 2f 0a |mal term|inal */.|
|00006120| 58 09 0a 58 09 69 66 28 | 73 74 72 63 6d 70 28 64 |X..X.if(|strcmp(d|
|00006130| 69 73 70 68 6f 73 74 2c | 20 64 69 73 70 6c 61 79 |isphost,| display|
|00006140| 68 6f 73 74 28 75 65 6e | 74 2e 75 74 5f 68 6f 73 |host(uen|t.ut_hos|
|00006150| 74 29 29 20 3d 3d 20 30 | 29 20 7b 0a 58 09 20 20 |t)) == 0|) {.X. |
|00006160| 20 20 69 66 28 6f 6c 64 | 65 73 74 20 3d 3d 20 30 | if(old|est == 0|
|00006170| 20 7c 7c 20 75 65 6e 74 | 2e 75 74 5f 74 69 6d 65 | || uent|.ut_time|
|00006180| 20 3c 20 6f 6c 64 65 73 | 74 29 20 7b 0a 58 09 09 | < oldes|t) {.X..|
|00006190| 6f 6c 64 65 73 74 20 3d | 20 75 65 6e 74 2e 75 74 |oldest =| uent.ut|
|000061a0| 5f 74 69 6d 65 3b 0a 58 | 09 09 73 74 72 6e 63 70 |_time;.X|..strncp|
|000061b0| 79 28 6f 6c 64 6e 61 6d | 65 2c 20 75 65 6e 74 2e |y(oldnam|e, uent.|
|000061c0| 75 74 5f 6e 61 6d 65 2c | 20 38 29 3b 0a 58 09 09 |ut_name,| 8);.X..|
|000061d0| 6f 6c 64 6e 61 6d 65 5b | 39 5d 20 3d 20 27 5c 30 |oldname[|9] = '\0|
|000061e0| 27 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 7d 0a 58 |';.X. | }.X.}.X|
|000061f0| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 2f 2a 0a | }.X.|X /*.|
|00006200| 58 20 20 20 20 20 2a 20 | 4e 6f 77 20 74 68 65 6e |X * |Now then|
|00006210| 2c 20 28 66 69 6e 61 6c | 6c 79 21 29 20 74 68 65 |, (final|ly!) the|
|00006220| 20 75 73 65 72 6e 61 6d | 65 20 73 68 6f 75 6c 64 | usernam|e should|
|00006230| 20 6d 61 74 63 68 20 74 | 68 65 20 6e 61 6d 65 20 | match t|he name |
|00006240| 6f 6e 20 74 68 65 20 6f | 6c 64 65 73 74 0a 58 20 |on the o|ldest.X |
|00006250| 20 20 20 20 2a 20 72 65 | 63 6f 72 64 20 66 6f 72 | * re|cord for|
|00006260| 20 74 68 69 73 20 68 6f | 73 74 20 69 6e 20 74 68 | this ho|st in th|
|00006270| 65 20 75 74 6d 70 20 66 | 69 6c 65 2e 0a 58 20 20 |e utmp f|ile..X |
|00006280| 20 20 20 2a 2f 0a 58 20 | 20 20 20 69 66 28 73 74 | */.X | if(st|
|00006290| 72 6e 63 6d 70 28 6f 6c | 64 6e 61 6d 65 2c 20 70 |rncmp(ol|dname, p|
|000062a0| 77 64 2d 3e 70 77 5f 6e | 61 6d 65 2c 20 38 29 20 |wd->pw_n|ame, 8) |
|000062b0| 3d 3d 20 30 29 20 72 65 | 74 75 72 6e 28 54 52 55 |== 0) re|turn(TRU|
|000062c0| 45 29 3b 0a 58 20 20 20 | 20 65 6c 73 65 20 69 66 |E);.X | else if|
|000062d0| 28 6f 6c 64 6e 61 6d 65 | 5b 30 5d 20 3d 3d 20 27 |(oldname|[0] == '|
|000062e0| 5c 30 27 29 20 7b 0a 58 | 09 66 70 72 69 6e 74 66 |\0') {.X|.fprintf|
|000062f0| 28 73 74 64 65 72 72 2c | 20 22 49 20 63 61 6e 27 |(stderr,| "I can'|
|00006300| 74 20 76 65 72 69 66 79 | 20 74 68 61 74 20 79 6f |t verify| that yo|
|00006310| 75 20 6f 77 6e 20 64 69 | 73 70 6c 61 79 20 25 73 |u own di|splay %s|
|00006320| 5c 6e 22 2c 20 64 69 73 | 70 6c 61 79 29 3b 0a 58 |\n", dis|play);.X|
|00006330| 09 72 65 74 75 72 6e 28 | 46 41 4c 53 45 29 3b 0a |.return(|FALSE);.|
|00006340| 58 20 20 20 20 7d 20 65 | 6c 73 65 20 7b 0a 58 09 |X } e|lse {.X.|
|00006350| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00006360| 22 49 74 20 6c 6f 6f 6b | 73 20 74 6f 20 6d 65 20 |"It look|s to me |
|00006370| 61 73 20 69 66 20 25 73 | 20 6f 77 6e 73 20 64 69 |as if %s| owns di|
|00006380| 73 70 6c 61 79 20 25 73 | 5c 6e 22 2c 20 6f 6c 64 |splay %s|\n", old|
|00006390| 6e 61 6d 65 0a 58 09 09 | 2c 20 64 69 73 70 6c 61 |name.X..|, displa|
|000063a0| 79 29 3b 0a 58 09 72 65 | 74 75 72 6e 28 46 41 4c |y);.X.re|turn(FAL|
|000063b0| 53 45 29 3b 0a 58 20 20 | 20 20 7d 0a 58 7d 0a 45 |SE);.X | }.X}.E|
|000063c0| 4e 44 5f 4f 46 5f 46 49 | 4c 45 0a 69 66 20 74 65 |ND_OF_FI|LE.if te|
|000063d0| 73 74 20 31 34 31 37 37 | 20 2d 6e 65 20 60 77 63 |st 14177| -ne `wc|
|000063e0| 20 2d 63 20 3c 27 78 67 | 6f 6e 65 2e 63 27 60 3b | -c <'xg|one.c'`;|
|000063f0| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 73 | then. | echo s|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.