home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume14 / mkkey / part01 next >
SHell self-extracting ARchive  |  1990-07-26  |  7.8 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 SHell self-extracting ARchive (archive/shar) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file C source, ASCII text default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 63 6f 6d 70 |Newsgrou|ps: comp|
|00000010| 2e 73 6f 75 72 63 65 73 | 2e 6d 69 73 63 0a 73 75 |.sources|.misc.su|
|00000020| 62 6a 65 63 74 3a 20 76 | 31 34 69 30 33 35 3a 20 |bject: v|14i035: |
|00000030| 4b 65 79 20 77 6f 72 64 | 20 70 72 6f 67 72 61 6d |Key word| program|
|00000040| 0a 46 72 6f 6d 3a 20 72 | 6f 6f 74 40 6f 7a 64 61 |.From: r|oot@ozda|
|00000050| 6c 74 78 2e 55 55 43 50 | 0a 53 65 6e 64 65 72 3a |ltx.UUCP|.Sender:|
|00000060| 20 61 6c 6c 62 65 72 79 | 40 75 75 6e 65 74 2e 55 | allbery|@uunet.U|
|00000070| 55 2e 4e 45 54 20 28 42 | 72 61 6e 64 6f 6e 20 53 |U.NET (B|randon S|
|00000080| 2e 20 41 6c 6c 62 65 72 | 79 20 2d 20 63 6f 6d 70 |. Allber|y - comp|
|00000090| 2e 73 6f 75 72 63 65 73 | 2e 6d 69 73 63 29 0a 0a |.sources|.misc)..|
|000000a0| 50 6f 73 74 69 6e 67 2d | 6e 75 6d 62 65 72 3a 20 |Posting-|number: |
|000000b0| 56 6f 6c 75 6d 65 20 31 | 34 2c 20 49 73 73 75 65 |Volume 1|4, Issue|
|000000c0| 20 33 35 0a 53 75 62 6d | 69 74 74 65 64 2d 62 79 | 35.Subm|itted-by|
|000000d0| 3a 20 72 6f 6f 74 40 6f | 7a 64 61 6c 74 78 2e 55 |: root@o|zdaltx.U|
|000000e0| 55 43 50 0a 41 72 63 68 | 69 76 65 2d 6e 61 6d 65 |UCP.Arch|ive-name|
|000000f0| 3a 20 6d 6b 6b 65 79 2f | 70 61 72 74 30 31 0a 0a |: mkkey/|part01..|
|00000100| 2d 2d 2d 2d 20 43 75 74 | 20 48 65 72 65 20 61 6e |---- Cut| Here an|
|00000110| 64 20 75 6e 70 61 63 6b | 20 2d 2d 2d 2d 0a 23 21 |d unpack| ----.#!|
|00000120| 2f 62 69 6e 2f 73 68 0a | 23 20 54 68 69 73 20 69 |/bin/sh.|# This i|
|00000130| 73 20 61 20 73 68 65 6c | 6c 20 61 72 63 68 69 76 |s a shel|l archiv|
|00000140| 65 20 28 73 68 61 72 20 | 33 2e 31 31 29 0a 23 20 |e (shar |3.11).# |
|00000150| 6d 61 64 65 20 30 35 2f | 32 34 2f 31 39 39 30 20 |made 05/|24/1990 |
|00000160| 31 37 3a 31 32 20 55 54 | 43 20 62 79 20 72 6f 6f |17:12 UT|C by roo|
|00000170| 74 40 6f 7a 64 61 6c 74 | 78 0a 23 20 53 6f 75 72 |t@ozdalt|x.# Sour|
|00000180| 63 65 20 64 69 72 65 63 | 74 6f 72 79 20 2f 74 6d |ce direc|tory /tm|
|00000190| 70 0a 23 0a 23 20 65 78 | 69 73 74 69 6e 67 20 66 |p.#.# ex|isting f|
|000001a0| 69 6c 65 73 20 57 49 4c | 4c 20 62 65 20 6f 76 65 |iles WIL|L be ove|
|000001b0| 72 77 72 69 74 74 65 6e | 0a 23 0a 23 20 54 68 69 |rwritten|.#.# Thi|
|000001c0| 73 20 73 68 61 72 20 63 | 6f 6e 74 61 69 6e 73 3a |s shar c|ontains:|
|000001d0| 0a 23 20 6c 65 6e 67 74 | 68 20 20 6d 6f 64 65 20 |.# lengt|h mode |
|000001e0| 20 20 20 20 20 20 6e 61 | 6d 65 0a 23 20 2d 2d 2d | na|me.# ---|
|000001f0| 2d 2d 2d 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 2d |--- ----|------ -|
|00000200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0a 23 20 20 20 31 38 |--------|-.# 18|
|00000230| 38 33 20 2d 72 77 2d 72 | 2d 2d 72 2d 2d 20 52 45 |83 -rw-r|--r-- RE|
|00000240| 41 44 4d 45 0a 23 20 20 | 20 31 37 33 38 20 2d 72 |ADME.# | 1738 -r|
|00000250| 77 2d 72 2d 2d 72 2d 2d | 20 62 6b 65 79 2e 63 0a |w-r--r--| bkey.c.|
|00000260| 23 20 20 20 20 20 34 35 | 20 2d 72 77 78 72 2d 78 |# 45| -rwxr-x|
|00000270| 72 2d 78 20 6d 61 6b 65 | 69 74 0a 23 20 20 20 31 |r-x make|it.# 1|
|00000280| 38 39 31 20 2d 72 77 78 | 72 2d 78 72 2d 78 20 6d |891 -rwx|r-xr-x m|
|00000290| 6b 6b 65 79 0a 23 0a 74 | 6f 75 63 68 20 32 3e 26 |kkey.#.t|ouch 2>&|
|000002a0| 31 20 7c 20 66 67 72 65 | 70 20 27 5b 2d 61 6d 63 |1 | fgre|p '[-amc|
|000002b0| 5d 27 20 3e 20 2f 74 6d | 70 2f 73 33 5f 74 6f 75 |]' > /tm|p/s3_tou|
|000002c0| 63 68 24 24 0a 69 66 20 | 5b 20 2d 73 20 2f 74 6d |ch$$.if |[ -s /tm|
|000002d0| 70 2f 73 33 5f 74 6f 75 | 63 68 24 24 20 5d 0a 74 |p/s3_tou|ch$$ ].t|
|000002e0| 68 65 6e 0a 09 54 4f 55 | 43 48 3d 63 61 6e 0a 65 |hen..TOU|CH=can.e|
|000002f0| 6c 73 65 0a 09 54 4f 55 | 43 48 3d 63 61 6e 6e 6f |lse..TOU|CH=canno|
|00000300| 74 0a 66 69 0a 72 6d 20 | 2d 66 20 2f 74 6d 70 2f |t.fi.rm |-f /tmp/|
|00000310| 73 33 5f 74 6f 75 63 68 | 24 24 0a 23 20 3d 3d 3d |s3_touch|$$.# ===|
|00000320| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 20 52 45 41 44 4d |========|== READM|
|00000330| 45 20 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |E ======|========|
|00000340| 0a 65 63 68 6f 20 22 78 | 20 2d 20 65 78 74 72 61 |.echo "x| - extra|
|00000350| 63 74 69 6e 67 20 52 45 | 41 44 4d 45 20 28 54 65 |cting RE|ADME (Te|
|00000360| 78 74 29 22 0a 73 65 64 | 20 27 73 2f 5e 58 2f 2f |xt)".sed| 's/^X//|
|00000370| 27 20 3c 3c 20 27 53 48 | 41 52 5f 45 4f 46 27 20 |' << 'SH|AR_EOF' |
|00000380| 3e 20 52 45 41 44 4d 45 | 20 26 26 0a 58 52 45 41 |> README| &&.XREA|
|00000390| 44 4d 45 0a 58 0a 58 4d | 6b 6b 65 79 20 2d 20 41 |DME.X.XM|kkey - A|
|000003a0| 20 67 72 6f 75 70 20 6f | 66 20 70 72 6f 67 72 61 | group o|f progra|
|000003b0| 6d 73 20 74 6f 20 67 65 | 6e 65 72 61 74 65 20 61 |ms to ge|nerate a|
|000003c0| 20 6c 69 73 74 20 6f 66 | 20 6b 65 79 20 77 6f 72 | list of| key wor|
|000003d0| 64 73 0a 58 61 6e 64 20 | 74 68 65 69 72 20 72 65 |ds.Xand |their re|
|000003e0| 6c 61 74 65 64 20 66 69 | 6c 65 73 20 66 72 6f 6d |lated fi|les from|
|000003f0| 20 74 65 78 74 20 66 69 | 6c 65 73 2e 0a 58 0a 58 | text fi|les..X.X|
|00000400| 54 68 69 73 20 67 72 6f | 75 70 20 6f 66 20 70 72 |This gro|up of pr|
|00000410| 6f 67 72 61 6d 73 20 72 | 65 6c 69 65 73 20 6f 6e |ograms r|elies on|
|00000420| 20 63 65 72 74 61 69 6e | 20 28 49 20 61 73 73 75 | certain| (I assu|
|00000430| 6d 65 29 20 73 74 61 6e | 64 61 72 64 0a 58 2a 4e |me) stan|dard.X*N|
|00000440| 49 58 20 74 65 78 74 20 | 70 72 6f 63 65 73 73 69 |IX text |processi|
|00000450| 6e 67 20 70 72 6f 67 72 | 61 6d 73 3a 0a 58 20 20 |ng progr|ams:.X |
|00000460| 20 68 79 70 68 65 6e 20 | 2d 20 61 20 70 72 6f 67 | hyphen |- a prog|
|00000470| 72 61 6d 20 74 6f 20 65 | 78 74 72 61 63 74 20 61 |ram to e|xtract a|
|00000480| 6e 64 20 6a 6f 69 6e 20 | 68 79 70 68 65 6e 61 74 |nd join |hyphenat|
|00000490| 65 64 20 77 6f 72 64 73 | 2e 20 43 6f 75 6c 64 0a |ed words|. Could.|
|000004a0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 62 65 20 |X | be |
|000004b0| 64 6f 6e 65 20 77 69 74 | 68 20 73 65 64 2e 0a 58 |done wit|h sed..X|
|000004c0| 20 20 20 63 6f 6d 6d 20 | 2d 20 46 69 6e 64 73 20 | comm |- Finds |
|000004d0| 63 6f 6d 6d 6f 6e 20 77 | 6f 72 64 73 20 69 6e 20 |common w|ords in |
|000004e0| 74 77 6f 20 66 69 6c 65 | 73 2e 20 20 50 72 6f 62 |two file|s. Prob|
|000004f0| 61 62 6c 79 20 61 77 6b | 20 63 6f 75 6c 64 0a 58 |ably awk| could.X|
|00000500| 20 20 20 20 20 20 20 20 | 20 20 61 63 63 6f 6d 70 | | accomp|
|00000510| 6c 69 73 68 20 74 68 69 | 73 2c 20 62 75 74 20 77 |lish thi|s, but w|
|00000520| 6f 75 6c 64 20 62 65 20 | 73 6c 6f 77 65 72 2e 0a |ould be |slower..|
|00000530| 58 20 20 20 73 6f 72 74 | 20 26 20 75 6e 69 71 20 |X sort| & uniq |
|00000540| 2d 20 73 68 6f 75 6c 64 | 20 62 65 20 61 76 61 69 |- should| be avai|
|00000550| 6c 61 62 6c 65 20 61 6e | 79 77 68 65 72 65 2e 0a |lable an|ywhere..|
|00000560| 58 20 20 20 76 69 20 2d | 20 55 73 65 20 79 6f 75 |X vi -| Use you|
|00000570| 72 20 66 61 76 6f 72 69 | 74 65 20 65 64 69 74 6f |r favori|te edito|
|00000580| 72 20 68 65 72 65 2e 0a | 58 0a 58 54 68 65 20 66 |r here..|X.XThe f|
|00000590| 6f 6c 6c 6f 77 69 6e 67 | 20 69 73 20 75 73 65 64 |ollowing| is used|
|000005a0| 20 69 6e 20 74 68 65 20 | 70 72 6f 67 72 61 6d 3a | in the |program:|
|000005b0| 0a 58 20 20 20 20 74 6f | 6c 6f 77 65 72 20 2d 20 |.X to|lower - |
|000005c0| 63 6f 6e 76 65 72 74 73 | 20 61 6c 6c 20 75 70 70 |converts| all upp|
|000005d0| 65 72 20 63 61 73 65 20 | 74 6f 20 6c 6f 77 65 72 |er case |to lower|
|000005e0| 2e 20 20 54 72 20 63 61 | 6e 20 64 6f 20 74 68 65 |. Tr ca|n do the|
|000005f0| 20 73 61 6d 65 0a 58 20 | 20 20 20 20 20 20 20 20 | same.X | |
|00000600| 20 20 20 20 20 74 68 69 | 6e 67 2e 0a 58 20 20 20 | thi|ng..X |
|00000610| 20 62 6b 65 79 2e 63 20 | 2d 20 54 68 65 20 70 72 | bkey.c |- The pr|
|00000620| 6f 67 72 61 6d 20 74 68 | 61 74 20 61 63 74 75 61 |ogram th|at actua|
|00000630| 6c 6c 79 20 64 6f 65 73 | 20 74 68 65 20 4b 45 59 |lly does| the KEY|
|00000640| 20 66 69 6c 65 20 67 65 | 6e 65 72 61 74 69 6f 6e | file ge|neration|
|00000650| 2e 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |..X | |
|00000660| 4d 61 6b 65 69 74 20 69 | 73 20 74 68 65 20 63 63 |Makeit i|s the cc|
|00000670| 20 63 6f 6d 6d 61 6e 64 | 2e 20 54 68 69 73 20 6f | command|. This o|
|00000680| 6e 65 20 69 73 20 66 6f | 72 20 53 43 4f 20 58 45 |ne is fo|r SCO XE|
|00000690| 4e 49 58 2e 0a 58 0a 58 | 4e 6f 74 20 6d 61 6e 79 |NIX..X.X|Not many|
|000006a0| 20 63 6f 6d 6d 65 6e 74 | 73 20 61 72 65 20 69 6e | comment|s are in|
|000006b0| 20 74 68 65 20 66 69 6c | 65 73 20 2d 20 61 73 20 | the fil|es - as |
|000006c0| 74 68 65 79 20 73 68 6f | 75 6c 64 20 62 65 20 66 |they sho|uld be f|
|000006d0| 61 69 72 6c 79 20 73 65 | 6c 66 2d 0a 58 65 78 70 |airly se|lf-.Xexp|
|000006e0| 6c 61 6e 69 74 6f 72 79 | 2e 0a 58 54 77 6f 20 66 |lanitory|..XTwo f|
|000006f0| 69 6c 65 73 2c 20 61 70 | 61 72 74 20 66 72 6f 6d |iles, ap|art from|
|00000700| 20 74 68 65 20 74 65 78 | 74 20 66 69 6c 65 28 73 | the tex|t file(s|
|00000710| 29 2c 20 61 72 65 20 6e | 65 65 64 65 64 3b 20 20 |), are n|eeded; |
|00000720| 69 67 6e 6f 72 65 20 61 | 6e 64 0a 58 69 6e 63 6c |ignore a|nd.Xincl|
|00000730| 75 64 65 2e 20 20 54 68 | 65 73 65 20 73 68 6f 75 |ude. Th|ese shou|
|00000740| 6c 64 20 62 65 20 70 6c | 61 63 65 64 20 69 6e 20 |ld be pl|aced in |
|00000750| 74 68 65 20 64 69 72 65 | 63 74 6f 72 79 20 64 65 |the dire|ctory de|
|00000760| 73 63 72 69 62 65 64 20 | 62 79 20 24 4b 50 41 54 |scribed |by $KPAT|
|00000770| 48 2e 0a 58 4b 50 41 54 | 48 20 77 69 6c 6c 20 61 |H..XKPAT|H will a|
|00000780| 6c 73 6f 20 6e 65 65 64 | 20 74 6f 20 62 65 20 63 |lso need| to be c|
|00000790| 68 61 6e 67 65 64 20 74 | 6f 20 79 6f 75 72 20 70 |hanged t|o your p|
|000007a0| 72 65 66 65 72 65 6e 63 | 65 2e 20 20 59 6f 75 20 |referenc|e. You |
|000007b0| 77 69 6c 6c 0a 58 70 72 | 6f 62 61 62 6c 79 20 77 |will.Xpr|obably w|
|000007c0| 61 6e 74 20 74 6f 20 61 | 64 64 20 63 68 61 6e 67 |ant to a|dd chang|
|000007d0| 65 73 20 74 6f 20 6d 6b | 6b 65 79 20 74 6f 20 72 |es to mk|key to r|
|000007e0| 65 6d 6f 76 65 20 74 68 | 65 20 74 65 6d 70 6f 72 |emove th|e tempor|
|000007f0| 61 72 79 20 66 69 6c 65 | 73 0a 58 61 66 74 65 72 |ary file|s.Xafter|
|00000800| 20 65 61 63 68 20 6b 65 | 79 20 75 70 64 61 74 65 | each ke|y update|
|00000810| 2e 20 20 46 6f 72 20 74 | 68 65 20 69 67 6e 6f 72 |. For t|he ignor|
|00000820| 65 20 66 69 6c 65 2c 20 | 2f 75 73 72 2f 6c 69 62 |e file, |/usr/lib|
|00000830| 2f 65 69 67 6e 20 77 6f | 75 6c 64 20 62 65 20 61 |/eign wo|uld be a|
|00000840| 0a 58 67 6f 6f 64 20 70 | 6c 61 63 65 20 74 6f 20 |.Xgood p|lace to |
|00000850| 73 74 61 72 74 20 61 73 | 20 69 74 20 63 6f 6e 74 |start as| it cont|
|00000860| 61 69 6e 73 20 74 68 65 | 20 63 6f 6d 6d 6f 6e 20 |ains the| common |
|00000870| 77 6f 72 64 73 3b 20 74 | 68 65 2c 20 68 65 2c 20 |words; t|he, he, |
|00000880| 73 68 65 2c 0a 58 74 68 | 61 74 2e 2e 2e 20 20 65 |she,.Xth|at... e|
|00000890| 74 63 2e 20 20 49 6e 63 | 6c 75 64 65 20 62 75 69 |tc. Inc|lude bui|
|000008a0| 6c 64 73 20 69 74 73 65 | 6c 66 2e 20 20 54 68 65 |lds itse|lf. The|
|000008b0| 20 70 72 6f 67 72 61 6d | 20 64 6f 65 73 20 63 6f | program| does co|
|000008c0| 70 79 20 4b 45 59 20 74 | 6f 0a 58 4b 45 59 2e 4f |py KEY t|o.XKEY.O|
|000008d0| 20 2d 20 6a 75 73 74 20 | 69 6e 20 63 61 73 65 2e | - just |in case.|
|000008e0| 20 20 49 20 6b 65 65 70 | 20 4b 45 59 2e 4f 20 61 | I keep| KEY.O a|
|000008f0| 72 6f 75 6e 64 20 75 6e | 74 69 6c 20 49 27 6d 20 |round un|til I'm |
|00000900| 73 75 72 65 20 4b 45 59 | 20 69 73 20 4f 4b 2e 0a |sure KEY| is OK..|
|00000910| 58 0a 58 54 68 65 72 65 | 20 61 72 65 20 73 6f 6d |X.XThere| are som|
|00000920| 65 20 73 65 64 20 6c 69 | 6e 65 73 20 74 68 61 74 |e sed li|nes that|
|00000930| 20 6d 61 79 20 63 6f 6e | 66 75 73 65 20 73 6f 6d | may con|fuse som|
|00000940| 65 20 70 65 6f 70 6c 65 | 2e 0a 58 54 68 65 73 65 |e people|..XThese|
|00000950| 20 61 72 65 20 74 68 65 | 72 65 20 74 6f 20 74 72 | are the|re to tr|
|00000960| 79 20 74 6f 20 70 65 61 | 72 20 64 6f 77 6e 20 74 |y to pea|r down t|
|00000970| 68 65 20 73 69 7a 65 20 | 6f 66 20 74 68 65 20 69 |he size |of the i|
|00000980| 67 6e 6f 72 65 20 66 69 | 6c 65 2e 0a 58 0a 58 49 |gnore fi|le..X.XI|
|00000990| 27 64 20 6c 69 6b 65 20 | 74 6f 20 6b 6e 6f 77 20 |'d like |to know |
|000009a0| 6f 66 20 63 68 61 6e 67 | 65 73 20 61 6e 64 20 69 |of chang|es and i|
|000009b0| 6d 70 72 6f 76 65 6d 65 | 6e 74 73 2e 20 20 45 73 |mproveme|nts. Es|
|000009c0| 70 65 63 69 61 6c 6c 79 | 20 69 6e 20 74 68 65 20 |pecially| in the |
|000009d0| 61 72 65 61 0a 58 6f 66 | 20 73 74 72 69 70 70 69 |area.Xof| strippi|
|000009e0| 6e 67 20 69 67 6e 6f 72 | 65 20 77 6f 72 64 73 20 |ng ignor|e words |
|000009f0| 74 6f 20 74 68 65 69 72 | 20 62 61 73 65 20 66 6f |to their| base fo|
|00000a00| 72 6d 2e 20 20 54 68 65 | 72 65 20 61 72 65 20 6e |rm. The|re are n|
|00000a10| 6f 0a 58 72 65 73 74 72 | 69 63 74 69 6f 6e 73 20 |o.Xrestr|ictions |
|00000a20| 6f 6e 20 74 68 69 73 20 | 63 6f 6c 6c 65 63 74 69 |on this |collecti|
|00000a30| 6f 6e 20 6f 66 20 66 69 | 6c 65 73 2e 0a 58 0a 58 |on of fi|les..X.X|
|00000a40| 45 6e 6a 6f 79 2e 2e 2e | 2e 0a 58 0a 58 53 63 6f |Enjoy...|..X.XSco|
|00000a50| 74 74 79 0a 58 2d 2d 2d | 2d 2d 2d 0a 58 41 49 44 |tty.X---|---.XAID|
|00000a60| 53 20 49 4e 46 4f 52 4d | 41 54 49 4f 4e 20 45 58 |S INFORM|ATION EX|
|00000a70| 43 48 41 4e 47 45 20 42 | 42 53 20 20 20 20 20 20 |CHANGE B|BS |
|00000a80| 28 32 31 34 29 20 32 34 | 37 2d 32 33 36 37 2f 32 |(214) 24|7-2367/2|
|00000a90| 34 37 2d 35 36 30 39 0a | 58 20 20 20 20 20 20 20 |47-5609.|X |
|00000aa0| 20 20 20 20 20 20 20 20 | 22 45 64 75 63 61 74 69 | |"Educati|
|00000ab0| 6f 6e 20 69 73 20 74 68 | 65 20 62 65 73 74 20 77 |on is th|e best w|
|00000ac0| 65 61 70 6f 6e 22 0a 58 | 7b 6d 69 63 2c 76 6f 69 |eapon".X|{mic,voi|
|00000ad0| 64 2c 65 67 73 6e 65 72 | 7d 21 6f 7a 64 61 6c 74 |d,egsner|}!ozdalt|
|00000ae0| 78 21 73 79 73 6f 70 20 | 7c 7c 20 7b 75 75 6e 65 |x!sysop ||| {uune|
|00000af0| 74 2c 73 6d 75 2c 61 6d | 65 73 7d 21 73 75 6c 61 |t,smu,am|es}!sula|
|00000b00| 63 6f 21 6f 7a 64 61 6c | 74 78 21 73 79 73 6f 70 |co!ozdal|tx!sysop|
|00000b10| 20 0a 58 2d 0a 53 48 41 | 52 5f 45 4f 46 0a 63 68 | .X-.SHA|R_EOF.ch|
|00000b20| 6d 6f 64 20 30 36 34 34 | 20 52 45 41 44 4d 45 20 |mod 0644| README |
|00000b30| 7c 7c 20 65 63 68 6f 20 | 22 72 65 73 74 6f 72 65 ||| echo |"restore|
|00000b40| 20 6f 66 20 52 45 41 44 | 4d 45 20 66 61 69 6c 73 | of READ|ME fails|
|00000b50| 22 0a 69 66 20 5b 20 24 | 54 4f 55 43 48 20 3d 20 |".if [ $|TOUCH = |
|00000b60| 63 61 6e 20 5d 0a 74 68 | 65 6e 0a 20 20 20 20 74 |can ].th|en. t|
|00000b70| 6f 75 63 68 20 2d 61 6d | 20 30 35 32 34 31 32 30 |ouch -am| 0524120|
|00000b80| 38 39 30 20 52 45 41 44 | 4d 45 0a 66 69 0a 73 65 |890 READ|ME.fi.se|
|00000b90| 74 20 60 77 63 20 2d 63 | 20 52 45 41 44 4d 45 60 |t `wc -c| README`|
|00000ba0| 3b 57 63 5f 63 3d 24 31 | 0a 69 66 20 74 65 73 74 |;Wc_c=$1|.if test|
|00000bb0| 20 22 24 57 63 5f 63 22 | 20 21 3d 20 22 31 38 38 | "$Wc_c"| != "188|
|00000bc0| 33 22 0a 74 68 65 6e 20 | 65 63 68 6f 20 6f 72 69 |3".then |echo ori|
|00000bd0| 67 69 6e 61 6c 20 73 69 | 7a 65 20 31 38 38 33 2c |ginal si|ze 1883,|
|00000be0| 20 63 75 72 72 65 6e 74 | 20 73 69 7a 65 20 24 57 | current| size $W|
|00000bf0| 63 5f 63 3b 66 69 0a 23 | 20 3d 3d 3d 3d 3d 3d 3d |c_c;fi.#| =======|
|00000c00| 3d 3d 3d 3d 3d 3d 20 62 | 6b 65 79 2e 63 20 3d 3d |====== b|key.c ==|
|00000c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0a 65 63 68 |========|====.ech|
|00000c20| 6f 20 22 78 20 2d 20 65 | 78 74 72 61 63 74 69 6e |o "x - e|xtractin|
|00000c30| 67 20 62 6b 65 79 2e 63 | 20 28 54 65 78 74 29 22 |g bkey.c| (Text)"|
|00000c40| 0a 73 65 64 20 27 73 2f | 5e 58 2f 2f 27 20 3c 3c |.sed 's/|^X//' <<|
|00000c50| 20 27 53 48 41 52 5f 45 | 4f 46 27 20 3e 20 62 6b | 'SHAR_E|OF' > bk|
|00000c60| 65 79 2e 63 20 26 26 0a | 58 23 69 6e 63 6c 75 64 |ey.c &&.|X#includ|
|00000c70| 65 20 3c 73 74 64 69 6f | 2e 68 3e 0a 58 23 69 6e |e <stdio|.h>.X#in|
|00000c80| 63 6c 75 64 65 20 3c 73 | 74 72 69 6e 67 2e 68 3e |clude <s|tring.h>|
|00000c90| 0a 58 23 64 65 66 69 6e | 65 20 4d 41 58 4c 49 4e |.X#defin|e MAXLIN|
|00000ca0| 45 53 20 32 30 30 30 0a | 58 0a 58 65 78 74 65 72 |ES 2000.|X.Xexter|
|00000cb0| 6e 20 69 6e 74 20 66 73 | 65 65 6b 28 29 2c 20 66 |n int fs|eek(), f|
|00000cc0| 73 63 61 6e 66 28 29 2c | 20 73 73 63 61 6e 66 28 |scanf(),| sscanf(|
|00000cd0| 29 3b 0a 58 65 78 74 65 | 72 6e 20 63 68 61 72 20 |);.Xexte|rn char |
|00000ce0| 2a 6d 61 6c 6c 6f 63 28 | 29 3b 0a 58 65 78 74 65 |*malloc(|);.Xexte|
|00000cf0| 72 6e 20 63 68 61 72 20 | 2a 66 67 65 74 73 28 29 |rn char |*fgets()|
|00000d00| 3b 0a 58 65 78 74 65 72 | 6e 20 69 6e 74 20 73 74 |;.Xexter|n int st|
|00000d10| 72 6e 63 6d 70 28 29 3b | 0a 58 0a 58 6d 61 69 6e |rncmp();|.X.Xmain|
|00000d20| 28 61 72 67 63 2c 20 61 | 72 67 76 29 0a 58 69 6e |(argc, a|rgv).Xin|
|00000d30| 74 20 61 72 67 63 3b 0a | 58 63 68 61 72 20 2a 61 |t argc;.|Xchar *a|
|00000d40| 72 67 76 5b 5d 3b 0a 58 | 7b 0a 58 09 46 49 4c 45 |rgv[];.X|{.X.FILE|
|00000d50| 20 2a 66 70 2c 20 2a 66 | 6f 70 65 6e 28 29 3b 0a | *fp, *f|open();.|
|00000d60| 58 09 75 6e 73 69 67 6e | 65 64 20 69 6e 74 20 69 |X.unsign|ed int i|
|00000d70| 2c 6a 3b 0a 58 20 20 20 | 20 20 20 20 20 63 68 61 |,j;.X | cha|
|00000d80| 72 20 2a 61 72 72 61 79 | 5b 4d 41 58 4c 49 4e 45 |r *array|[MAXLINE|
|00000d90| 53 5d 3b 0a 58 20 20 20 | 20 20 20 20 20 63 68 61 |S];.X | cha|
|00000da0| 72 20 61 5b 32 5d 5b 39 | 30 5d 2c 20 62 5b 32 5d |r a[2][9|0], b[2]|
|00000db0| 5b 39 30 5d 3b 0a 58 09 | 69 6e 74 20 63 3b 0a 58 |[90];.X.|int c;.X|
|00000dc0| 20 20 20 20 20 20 20 20 | 69 6e 74 20 6c 65 6e 20 | |int len |
|00000dd0| 3d 20 30 3b 0a 58 0a 58 | 0a 58 09 6a 3d 69 3d 30 |= 0;.X.X|.X.j=i=0|
|00000de0| 3b 0a 58 09 69 66 28 61 | 72 67 63 20 3d 3d 20 31 |;.X.if(a|rgc == 1|
|00000df0| 29 7b 0a 58 09 09 70 72 | 69 6e 74 66 28 22 55 73 |){.X..pr|intf("Us|
|00000e00| 61 67 65 3a 20 25 73 20 | 66 69 6c 65 5c 6e 22 2c |age: %s |file\n",|
|00000e10| 61 72 67 76 5b 30 5d 29 | 3b 0a 58 09 09 65 78 69 |argv[0])|;.X..exi|
|00000e20| 74 28 31 29 3b 0a 58 09 | 7d 0a 58 09 69 66 28 28 |t(1);.X.|}.X.if((|
|00000e30| 66 70 20 3d 20 66 6f 70 | 65 6e 28 61 72 67 76 5b |fp = fop|en(argv[|
|00000e40| 31 5d 2c 20 22 72 22 29 | 29 20 3d 3d 20 30 29 7b |1], "r")|) == 0){|
|00000e50| 0a 58 09 09 70 72 69 6e | 74 66 28 22 25 73 3a 20 |.X..prin|tf("%s: |
|00000e60| 43 61 6e 27 74 20 6f 70 | 65 6e 20 25 73 5c 6e 22 |Can't op|en %s\n"|
|00000e70| 2c 61 72 67 76 5b 30 5d | 2c 61 72 67 76 5b 31 5d |,argv[0]|,argv[1]|
|00000e80| 29 3b 0a 58 09 09 65 78 | 69 74 28 31 29 3b 0a 58 |);.X..ex|it(1);.X|
|00000e90| 09 7d 0a 58 2f 2a 20 6d | 61 6b 65 20 61 20 70 61 |.}.X/* m|ake a pa|
|00000ea0| 73 73 20 74 68 72 6f 75 | 67 68 20 74 68 65 20 66 |ss throu|gh the f|
|00000eb0| 69 6c 65 20 74 6f 20 64 | 65 74 65 72 6d 69 6e 65 |ile to d|etermine|
|00000ec0| 20 68 6f 77 20 6d 61 6e | 79 20 6c 69 6e 65 73 20 | how man|y lines |
|00000ed0| 74 68 65 72 65 20 61 72 | 65 20 2a 2f 0a 58 09 77 |there ar|e */.X.w|
|00000ee0| 68 69 6c 65 28 28 63 3d | 66 67 65 74 63 28 66 70 |hile((c=|fgetc(fp|
|00000ef0| 29 29 20 21 3d 20 45 4f | 46 29 7b 0a 58 09 09 69 |)) != EO|F){.X..i|
|00000f00| 66 28 63 20 3d 3d 20 27 | 5c 6e 27 29 0a 58 09 09 |f(c == '|\n').X..|
|00000f10| 09 69 2b 2b 3b 0a 58 09 | 7d 0a 58 20 20 20 20 20 |.i++;.X.|}.X |
|00000f20| 20 20 20 69 66 28 69 20 | 3e 20 4d 41 58 4c 49 4e | if(i |> MAXLIN|
|00000f30| 45 53 29 7b 0a 58 09 09 | 70 72 69 6e 74 66 28 22 |ES){.X..|printf("|
|00000f40| 25 73 3a 20 54 6f 20 6d | 61 6e 79 20 6c 69 6e 65 |%s: To m|any line|
|00000f50| 73 20 74 6f 20 72 65 61 | 64 5c 6e 22 2c 20 61 72 |s to rea|d\n", ar|
|00000f60| 67 76 5b 30 5d 29 3b 0a | 58 09 09 65 78 69 74 28 |gv[0]);.|X..exit(|
|00000f70| 31 29 3b 0a 58 09 7d 0a | 58 09 66 6f 72 28 6a 3d |1);.X.}.|X.for(j=|
|00000f80| 30 3b 20 6a 20 3c 3d 20 | 69 3b 20 6a 2b 2b 29 7b |0; j <= |i; j++){|
|00000f90| 0a 58 09 09 69 66 28 28 | 61 72 72 61 79 5b 6a 5d |.X..if((|array[j]|
|00000fa0| 3d 6d 61 6c 6c 6f 63 28 | 39 30 29 29 20 3d 3d 20 |=malloc(|90)) == |
|00000fb0| 30 29 7b 0a 58 09 09 09 | 70 72 69 6e 74 66 28 22 |0){.X...|printf("|
|00000fc0| 43 61 6e 27 74 20 61 6c | 6c 6f 63 61 74 65 20 6d |Can't al|locate m|
|00000fd0| 65 6d 6f 72 79 5c 6e 22 | 29 3b 0a 58 20 20 20 20 |emory\n"|);.X |
|00000fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 09 65 78 69 | | .exi|
|00000ff0| 74 28 31 29 3b 0a 58 09 | 09 7d 0a 58 09 7d 0a 58 |t(1);.X.|.}.X.}.X|
|00001000| 2f 2a 20 67 6f 20 62 61 | 63 6b 20 74 6f 20 74 68 |/* go ba|ck to th|
|00001010| 65 20 73 74 61 72 74 20 | 6f 66 20 74 68 65 20 66 |e start |of the f|
|00001020| 69 6c 65 20 2a 2f 0a 58 | 09 66 73 65 65 6b 28 66 |ile */.X|.fseek(f|
|00001030| 70 2c 30 2c 30 29 3b 0a | 58 2f 2a 20 73 74 61 72 |p,0,0);.|X/* star|
|00001040| 74 20 72 65 61 64 69 6e | 67 20 74 68 65 20 66 69 |t readin|g the fi|
|00001050| 6c 65 20 61 6e 64 20 70 | 6c 61 63 69 6e 67 20 65 |le and p|lacing e|
|00001060| 61 63 68 20 6c 69 6e 65 | 20 69 6e 74 6f 20 61 72 |ach line| into ar|
|00001070| 72 61 79 20 2a 2f 0a 58 | 09 6a 3d 30 3b 0a 58 09 |ray */.X|.j=0;.X.|
|00001080| 77 68 69 6c 65 28 28 66 | 67 65 74 73 28 61 72 72 |while((f|gets(arr|
|00001090| 61 79 5b 6a 5d 2c 39 30 | 2c 66 70 29 29 20 21 3d |ay[j],90|,fp)) !=|
|000010a0| 20 30 29 7b 0a 58 09 09 | 6c 65 6e 3d 73 74 72 6c | 0){.X..|len=strl|
|000010b0| 65 6e 28 61 72 72 61 79 | 5b 6a 5d 29 3b 0a 58 09 |en(array|[j]);.X.|
|000010c0| 09 61 72 72 61 79 5b 6a | 5d 5b 6c 65 6e 2d 31 5d |.array[j|][len-1]|
|000010d0| 20 3d 20 27 5c 30 27 3b | 20 20 2f 2a 20 7a 61 70 | = '\0';| /* zap|
|000010e0| 20 74 68 65 20 6e 65 77 | 6c 69 6e 65 20 2a 2f 0a | the new|line */.|
|000010f0| 58 09 09 6a 2b 2b 3b 0a | 58 09 7d 0a 58 20 20 20 |X..j++;.|X.}.X |
|00001100| 20 20 20 20 20 66 63 6c | 6f 73 65 28 66 70 29 3b | fcl|ose(fp);|
|00001110| 0a 58 09 66 6f 72 28 6a | 3d 30 3b 20 6a 20 3c 20 |.X.for(j|=0; j < |
|00001120| 69 3b 20 6a 2b 2b 29 7b | 0a 58 09 09 73 73 63 61 |i; j++){|.X..ssca|
|00001130| 6e 66 28 61 72 72 61 79 | 5b 6a 5d 2c 22 25 73 20 |nf(array|[j],"%s |
|00001140| 25 5b 30 2d 39 41 2d 5a | 61 2d 7a 2e 20 5c 74 5d |%[0-9A-Z|a-z. \t]|
|00001150| 22 2c 61 5b 30 5d 2c 61 | 5b 31 5d 29 3b 0a 58 09 |",a[0],a|[1]);.X.|
|00001160| 09 69 66 28 73 74 72 6c | 65 6e 28 61 72 72 61 79 |.if(strl|en(array|
|00001170| 5b 6a 5d 29 20 3e 20 36 | 35 29 7b 0a 58 09 09 09 |[j]) > 6|5){.X...|
|00001180| 70 72 69 6e 74 66 28 22 | 25 73 5c 6e 22 2c 20 61 |printf("|%s\n", a|
|00001190| 72 72 61 79 5b 6a 5d 29 | 3b 0a 58 09 09 09 63 6f |rray[j])|;.X...co|
|000011a0| 6e 74 69 6e 75 65 3b 0a | 58 09 09 7d 0a 58 09 09 |ntinue;.|X..}.X..|
|000011b0| 69 66 28 73 74 72 6e 63 | 6d 70 28 61 72 72 61 79 |if(strnc|mp(array|
|000011c0| 5b 6a 2b 31 5d 2c 61 5b | 30 5d 2c 73 74 72 6c 65 |[j+1],a[|0],strle|
|000011d0| 6e 28 61 5b 30 5d 29 29 | 20 3d 3d 20 30 29 7b 0a |n(a[0]))| == 0){.|
|000011e0| 58 09 09 09 73 73 63 61 | 6e 66 28 61 72 72 61 79 |X...ssca|nf(array|
|000011f0| 5b 6a 2b 31 5d 2c 22 25 | 73 25 5b 30 2d 39 41 2d |[j+1],"%|s%[0-9A-|
|00001200| 5a 61 2d 7a 2e 20 5c 74 | 5d 22 2c 62 5b 30 5d 2c |Za-z. \t|]",b[0],|
|00001210| 62 5b 31 5d 29 3b 0a 58 | 09 09 09 69 66 28 73 74 |b[1]);.X|...if(st|
|00001220| 72 6c 65 6e 28 61 72 72 | 61 79 5b 6a 5d 29 20 2b |rlen(arr|ay[j]) +|
|00001230| 20 73 74 72 6c 65 6e 28 | 62 5b 31 5d 29 20 3e 20 | strlen(|b[1]) > |
|00001240| 37 35 29 7b 0a 58 09 09 | 09 09 70 72 69 6e 74 66 |75){.X..|..printf|
|00001250| 28 22 25 73 5c 6e 22 2c | 20 61 72 72 61 79 5b 6a |("%s\n",| array[j|
|00001260| 5d 29 3b 0a 58 09 09 09 | 09 70 72 69 6e 74 66 28 |]);.X...|.printf(|
|00001270| 22 25 73 3a 20 25 73 5c | 6e 22 2c 62 5b 30 5d 2c |"%s: %s\|n",b[0],|
|00001280| 62 5b 31 5d 29 3b 0a 58 | 09 09 09 7d 20 65 6c 73 |b[1]);.X|...} els|
|00001290| 65 20 7b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |e {.X | |
|000012a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012b0| 20 20 20 20 20 69 66 28 | 62 5b 31 5d 5b 30 5d 20 | if(|b[1][0] |
|000012c0| 3d 3d 20 27 20 27 29 7b | 0a 58 09 09 09 09 09 70 |== ' '){|.X.....p|
|000012d0| 72 69 6e 74 66 28 22 25 | 73 25 73 5c 6e 22 2c 20 |rintf("%|s%s\n", |
|000012e0| 61 72 72 61 79 5b 6a 5d | 2c 62 5b 31 5d 29 3b 0a |array[j]|,b[1]);.|
|000012f0| 58 09 09 09 09 7d 20 65 | 6c 73 65 20 7b 0a 58 09 |X....} e|lse {.X.|
|00001300| 09 09 09 09 70 72 69 6e | 74 66 28 22 25 73 20 25 |....prin|tf("%s %|
|00001310| 73 5c 6e 22 2c 20 61 72 | 72 61 79 5b 6a 5d 2c 62 |s\n", ar|ray[j],b|
|00001320| 5b 31 5d 29 3b 0a 58 09 | 09 09 09 7d 0a 58 09 09 |[1]);.X.|...}.X..|
|00001330| 09 7d 0a 58 09 09 09 6a | 2b 2b 3b 0a 58 09 09 7d |.}.X...j|++;.X..}|
|00001340| 20 65 6c 73 65 20 7b 0a | 58 09 09 09 70 72 69 6e | else {.|X...prin|
|00001350| 74 66 28 22 25 73 5c 6e | 22 2c 20 61 72 72 61 79 |tf("%s\n|", array|
|00001360| 5b 6a 5d 29 3b 0a 58 0a | 58 09 09 7d 0a 58 09 09 |[j]);.X.|X..}.X..|
|00001370| 09 0a 58 09 7d 0a 58 09 | 65 78 69 74 28 30 29 3b |..X.}.X.|exit(0);|
|00001380| 0a 58 7d 0a 53 48 41 52 | 5f 45 4f 46 0a 63 68 6d |.X}.SHAR|_EOF.chm|
|00001390| 6f 64 20 30 36 34 34 20 | 62 6b 65 79 2e 63 20 7c |od 0644 |bkey.c ||
|000013a0| 7c 20 65 63 68 6f 20 22 | 72 65 73 74 6f 72 65 20 || echo "|restore |
|000013b0| 6f 66 20 62 6b 65 79 2e | 63 20 66 61 69 6c 73 22 |of bkey.|c fails"|
|000013c0| 0a 69 66 20 5b 20 24 54 | 4f 55 43 48 20 3d 20 63 |.if [ $T|OUCH = c|
|000013d0| 61 6e 20 5d 0a 74 68 65 | 6e 0a 20 20 20 20 74 6f |an ].the|n. to|
|000013e0| 75 63 68 20 2d 61 6d 20 | 30 35 32 34 31 31 34 33 |uch -am |05241143|
|000013f0| 39 30 20 62 6b 65 79 2e | 63 0a 66 69 0a 73 65 74 |90 bkey.|c.fi.set|
|00001400| 20 60 77 63 20 2d 63 20 | 62 6b 65 79 2e 63 60 3b | `wc -c |bkey.c`;|
|00001410| 57 63 5f 63 3d 24 31 0a | 69 66 20 74 65 73 74 20 |Wc_c=$1.|if test |
|00001420| 22 24 57 63 5f 63 22 20 | 21 3d 20 22 31 37 33 38 |"$Wc_c" |!= "1738|
|00001430| 22 0a 74 68 65 6e 20 65 | 63 68 6f 20 6f 72 69 67 |".then e|cho orig|
|00001440| 69 6e 61 6c 20 73 69 7a | 65 20 31 37 33 38 2c 20 |inal siz|e 1738, |
|00001450| 63 75 72 72 65 6e 74 20 | 73 69 7a 65 20 24 57 63 |current |size $Wc|
|00001460| 5f 63 3b 66 69 0a 23 20 | 3d 3d 3d 3d 3d 3d 3d 3d |_c;fi.# |========|
|00001470| 3d 3d 3d 3d 3d 20 6d 61 | 6b 65 69 74 20 3d 3d 3d |===== ma|keit ===|
|00001480| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0a 65 63 68 6f |========|===.echo|
|00001490| 20 22 78 20 2d 20 65 78 | 74 72 61 63 74 69 6e 67 | "x - ex|tracting|
|000014a0| 20 6d 61 6b 65 69 74 20 | 28 54 65 78 74 29 22 0a | makeit |(Text)".|
|000014b0| 73 65 64 20 27 73 2f 5e | 58 2f 2f 27 20 3c 3c 20 |sed 's/^|X//' << |
|000014c0| 27 53 48 41 52 5f 45 4f | 46 27 20 3e 20 6d 61 6b |'SHAR_EO|F' > mak|
|000014d0| 65 69 74 20 26 26 0a 58 | 63 63 20 2d 4c 41 52 47 |eit &&.X|cc -LARG|
|000014e0| 45 20 2d 4d 6c 32 65 20 | 2d 46 20 36 30 30 30 20 |E -Ml2e |-F 6000 |
|000014f0| 2d 73 20 2d 4f 20 62 6b | 65 79 2e 63 20 2d 6f 20 |-s -O bk|ey.c -o |
|00001500| 62 6b 65 79 0a 53 48 41 | 52 5f 45 4f 46 0a 63 68 |bkey.SHA|R_EOF.ch|
|00001510| 6d 6f 64 20 30 37 35 35 | 20 6d 61 6b 65 69 74 20 |mod 0755| makeit |
|00001520| 7c 7c 20 65 63 68 6f 20 | 22 72 65 73 74 6f 72 65 ||| echo |"restore|
|00001530| 20 6f 66 20 6d 61 6b 65 | 69 74 20 66 61 69 6c 73 | of make|it fails|
|00001540| 22 0a 69 66 20 5b 20 24 | 54 4f 55 43 48 20 3d 20 |".if [ $|TOUCH = |
|00001550| 63 61 6e 20 5d 0a 74 68 | 65 6e 0a 20 20 20 20 74 |can ].th|en. t|
|00001560| 6f 75 63 68 20 2d 61 6d | 20 30 35 32 34 31 31 34 |ouch -am| 0524114|
|00001570| 33 39 30 20 6d 61 6b 65 | 69 74 0a 66 69 0a 73 65 |390 make|it.fi.se|
|00001580| 74 20 60 77 63 20 2d 63 | 20 6d 61 6b 65 69 74 60 |t `wc -c| makeit`|
|00001590| 3b 57 63 5f 63 3d 24 31 | 0a 69 66 20 74 65 73 74 |;Wc_c=$1|.if test|
|000015a0| 20 22 24 57 63 5f 63 22 | 20 21 3d 20 22 34 35 22 | "$Wc_c"| != "45"|
|000015b0| 0a 74 68 65 6e 20 65 63 | 68 6f 20 6f 72 69 67 69 |.then ec|ho origi|
|000015c0| 6e 61 6c 20 73 69 7a 65 | 20 34 35 2c 20 63 75 72 |nal size| 45, cur|
|000015d0| 72 65 6e 74 20 73 69 7a | 65 20 24 57 63 5f 63 3b |rent siz|e $Wc_c;|
|000015e0| 66 69 0a 23 20 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |fi.# ===|========|
|000015f0| 3d 3d 20 6d 6b 6b 65 79 | 20 3d 3d 3d 3d 3d 3d 3d |== mkkey| =======|
|00001600| 3d 3d 3d 3d 3d 3d 3d 0a | 65 63 68 6f 20 22 78 20 |=======.|echo "x |
|00001610| 2d 20 65 78 74 72 61 63 | 74 69 6e 67 20 6d 6b 6b |- extrac|ting mkk|
|00001620| 65 79 20 28 54 65 78 74 | 29 22 0a 73 65 64 20 27 |ey (Text|)".sed '|
|00001630| 73 2f 5e 58 2f 2f 27 20 | 3c 3c 20 27 53 48 41 52 |s/^X//' |<< 'SHAR|
|00001640| 5f 45 4f 46 27 20 3e 20 | 6d 6b 6b 65 79 20 26 26 |_EOF' > |mkkey &&|
|00001650| 0a 58 4b 50 41 54 48 3d | 2f 62 62 73 2f 6c 69 62 |.XKPATH=|/bbs/lib|
|00001660| 2f 6b 65 79 2e 64 3b 20 | 65 78 70 6f 72 74 20 4b |/key.d; |export K|
|00001670| 50 41 54 48 0a 58 63 61 | 73 65 20 24 23 20 69 6e |PATH.Xca|se $# in|
|00001680| 0a 58 30 29 0a 58 20 20 | 20 20 20 65 63 68 6f 20 |.X0).X | echo |
|00001690| 22 55 73 61 67 65 20 3a | 20 24 30 20 73 6f 75 72 |"Usage :| $0 sour|
|000016a0| 63 65 66 69 6c 65 22 0a | 58 20 20 20 20 20 65 78 |cefile".|X ex|
|000016b0| 69 74 3b 3b 0a 58 65 73 | 61 63 0a 58 69 66 20 74 |it;;.Xes|ac.Xif t|
|000016c0| 65 73 74 20 2d 66 20 22 | 24 31 22 0a 58 74 68 65 |est -f "|$1".Xthe|
|000016d0| 6e 0a 58 20 20 20 46 49 | 4c 45 3d 24 31 3b 20 65 |n.X FI|LE=$1; e|
|000016e0| 78 70 6f 72 74 20 46 49 | 4c 45 0a 58 65 6c 73 65 |xport FI|LE.Xelse|
|000016f0| 0a 58 20 20 20 65 63 68 | 6f 20 22 4e 6f 20 66 69 |.X ech|o "No fi|
|00001700| 6c 65 3a 20 24 31 22 0a | 58 20 20 20 65 78 69 74 |le: $1".|X exit|
|00001710| 0a 58 66 69 0a 58 67 72 | 65 70 20 24 31 20 4b 45 |.Xfi.Xgr|ep $1 KE|
|00001720| 59 20 3e 20 2f 64 65 76 | 2f 6e 75 6c 6c 0a 58 63 |Y > /dev|/null.Xc|
|00001730| 61 73 65 20 24 3f 20 69 | 6e 0a 58 30 29 20 65 63 |ase $? i|n.X0) ec|
|00001740| 68 6f 20 22 24 31 20 68 | 61 73 20 61 6c 72 65 61 |ho "$1 h|as alrea|
|00001750| 64 79 20 62 65 65 6e 20 | 70 72 6f 63 65 73 73 65 |dy been |processe|
|00001760| 64 22 0a 58 20 20 20 65 | 78 69 74 3b 3b 0a 58 65 |d".X e|xit;;.Xe|
|00001770| 73 61 63 0a 58 65 63 68 | 6f 20 22 50 72 6f 63 65 |sac.Xech|o "Proce|
|00001780| 73 73 69 6e 67 20 24 31 | 2c 20 62 75 69 6c 64 69 |ssing $1|, buildi|
|00001790| 6e 67 20 6b 65 79 2e 72 | 61 77 0a 58 46 69 6e 64 |ng key.r|aw.XFind|
|000017a0| 69 6e 67 20 68 79 70 68 | 61 6e 61 74 65 64 20 77 |ing hyph|anated w|
|000017b0| 6f 72 64 73 2e 2e 2e 22 | 0a 58 68 79 70 68 65 6e |ords..."|.Xhyphen|
|000017c0| 20 24 31 20 7c 20 74 6f | 6c 6f 77 65 72 20 3e 20 | $1 | to|lower > |
|000017d0| 68 79 70 68 0a 58 73 65 | 64 20 27 0a 58 2f 27 24 |hyph.Xse|d '.X/'$|
|000017e0| 31 27 2f 64 0a 58 2f 5e | 24 2f 64 0a 58 73 2f 2d |1'/d.X/^|$/d.Xs/-|
|000017f0| 2f 2f 27 20 68 79 70 68 | 20 3e 20 68 79 2e 69 6e |//' hyph| > hy.in|
|00001800| 63 0a 58 73 65 64 20 27 | 0a 58 2f 27 24 31 27 2f |c.Xsed '|.X/'$1'/|
|00001810| 64 0a 58 2f 5e 24 2f 64 | 0a 58 3a 61 0a 58 2f 5b |d.X/^$/d|.X:a.X/[|
|00001820| 5c 2f 2d 5d 2f 7b 0a 58 | 73 2f 2f 5c 0a 58 2f 0a |\/-]/{.X|s//\.X/.|
|00001830| 58 62 20 61 0a 58 7d 0a | 58 73 2f 2d 24 2f 2f 27 |Xb a.X}.|Xs/-$//'|
|00001840| 20 68 79 70 68 20 3e 20 | 68 79 2e 69 67 6e 0a 58 | hyph > |hy.ign.X|
|00001850| 73 6f 72 74 20 2d 75 20 | 68 79 2e 69 6e 63 20 2d |sort -u |hy.inc -|
|00001860| 6f 20 68 79 2e 69 6e 63 | 0a 58 73 6f 72 74 20 2d |o hy.inc|.Xsort -|
|00001870| 75 20 68 79 2e 69 67 6e | 20 2d 6f 20 68 79 2e 69 |u hy.ign| -o hy.i|
|00001880| 67 6e 0a 58 74 72 20 27 | 20 27 20 27 5c 30 31 32 |gn.Xtr '| ' '\012|
|00001890| 27 20 3c 20 24 31 20 20 | 68 79 2e 69 6e 63 20 7c |' < $1 |hy.inc ||
|000018a0| 20 74 6f 6c 6f 77 65 72 | 20 7c 20 73 6f 72 74 20 | tolower| | sort |
|000018b0| 2d 75 20 3e 20 6b 65 79 | 2e 72 61 77 31 0a 58 63 |-u > key|.raw1.Xc|
|000018c0| 61 74 20 68 79 2e 69 67 | 6e 20 6b 65 79 2e 72 61 |at hy.ig|n key.ra|
|000018d0| 77 31 20 7c 20 73 6f 72 | 74 20 7c 20 75 6e 69 71 |w1 | sor|t | uniq|
|000018e0| 20 2d 75 20 7c 0a 58 73 | 65 64 20 2d 6e 20 27 0a | -u |.Xs|ed -n '.|
|000018f0| 58 2f 5b 09 20 3a 3b 2c | 2e 5f 27 5c 27 27 29 28 |X/[. :;,|._'\'')(|
|00001900| 22 21 2a 3f 5d 5c 5b 7b | 7d 2b 3d 5c 5c 23 40 24 |"!*?]\[{|}+=\\#@$|
|00001910| 25 26 2a 3c 3e 5e 5d 2f | 73 2f 2f 2f 67 0a 58 2f |%&*<>^]/|s///g.X/|
|00001920| 5b 27 5c 27 27 5c 60 5d | 5b 64 73 74 5d 24 2f 73 |['\''\`]|[dst]$/s|
|00001930| 2f 5b 27 5c 27 27 5c 60 | 5d 2f 2f 0a 58 73 2f 6e |/['\''\`|]//.Xs/n|
|00001940| 65 73 73 24 2f 2f 0a 58 | 2f 5b 5e 65 5d 5b 63 64 |ess$//.X|/[^e][cd|
|00001950| 66 72 74 73 6c 6e 70 5d | 69 65 73 24 2f 73 2f 69 |frtslnp]|ies$/s/i|
|00001960| 65 73 24 2f 79 2f 0a 58 | 2f 5b 5c 2f 2d 5d 2f 73 |es$/y/.X|/[\/-]/s|
|00001970| 2f 2f 5c 0a 58 2f 67 0a | 58 2f 5e 24 2f 64 0a 58 |//\.X/g.|X/^$/d.X|
|00001980| 2f 5e 5b 30 2d 39 5d 2a | 24 2f 64 0a 58 2f 5e 5b |/^[0-9]*|$/d.X/^[|
|00001990| 61 2d 7a 5d 2a 5b 30 2d | 39 5d 2a 24 2f 70 0a 58 |a-z]*[0-|9]*$/p.X|
|000019a0| 2f 5e 5b 61 2d 7a 5d 2a | 24 2f 70 27 20 7c 20 73 |/^[a-z]*|$/p' | s|
|000019b0| 6f 72 74 20 2d 75 20 3e | 20 6b 65 79 2e 72 61 77 |ort -u >| key.raw|
|000019c0| 0a 58 65 63 68 6f 20 22 | 52 65 6d 6f 76 69 6e 67 |.Xecho "|Removing|
|000019d0| 20 63 6f 6d 6d 6f 6e 20 | 77 6f 72 64 73 20 66 72 | common |words fr|
|000019e0| 6f 6d 20 6b 65 79 2e 72 | 61 77 22 0a 58 63 6f 6d |om key.r|aw".Xcom|
|000019f0| 6d 20 2d 32 33 20 6b 65 | 79 2e 72 61 77 20 24 4b |m -23 ke|y.raw $K|
|00001a00| 50 41 54 48 2f 69 67 6e | 6f 72 65 20 7c 20 63 6f |PATH/ign|ore | co|
|00001a10| 6d 6d 20 2d 32 33 20 2d | 20 24 4b 50 41 54 48 2f |mm -23 -| $KPATH/|
|00001a20| 69 6e 63 6c 75 64 65 20 | 7c 0a 58 20 73 6f 72 74 |include ||.X sort|
|00001a30| 20 2d 75 20 3e 20 6b 6c | 69 73 74 0a 58 0a 58 69 | -u > kl|ist.X.Xi|
|00001a40| 66 20 74 65 73 74 20 2d | 73 20 6b 6c 69 73 74 0a |f test -|s klist.|
|00001a50| 58 74 68 65 6e 0a 58 20 | 20 20 65 63 68 6f 20 22 |Xthen.X | echo "|
|00001a60| 23 20 70 75 74 20 61 20 | 25 20 62 79 20 65 61 63 |# put a |% by eac|
|00001a70| 68 20 77 6f 72 64 20 67 | 6f 69 6e 67 20 74 6f 20 |h word g|oing to |
|00001a80| 74 68 65 20 24 4b 50 41 | 54 48 2f 69 6e 63 6c 75 |the $KPA|TH/inclu|
|00001a90| 64 65 20 6c 69 73 74 2c | 0a 58 23 20 61 6e 79 74 |de list,|.X# anyt|
|00001aa0| 68 69 6e 67 20 65 6c 73 | 65 20 77 69 6c 6c 20 62 |hing els|e will b|
|00001ab0| 65 20 73 65 6e 74 20 74 | 6f 20 74 68 65 20 24 4b |e sent t|o the $K|
|00001ac0| 50 41 54 48 2f 69 67 6e | 6f 72 65 20 6c 69 73 74 |PATH/ign|ore list|
|00001ad0| 2e 22 20 3e 20 6b 65 64 | 0a 58 20 20 20 63 61 74 |." > ked|.X cat|
|00001ae0| 20 6b 6c 69 73 74 20 3e | 3e 20 6b 65 64 0a 58 20 | klist >|> ked.X |
|00001af0| 20 20 76 69 20 6b 65 64 | 0a 58 65 63 68 6f 20 22 | vi ked|.Xecho "|
|00001b00| 43 29 6f 6e 74 69 6e 75 | 65 20 6f 72 20 51 29 75 |C)ontinu|e or Q)u|
|00001b10| 69 74 3f 5c 63 20 22 0a | 58 72 65 61 64 20 63 71 |it?\c ".|Xread cq|
|00001b20| 0a 58 63 61 73 65 20 24 | 63 71 20 69 6e 0a 58 20 |.Xcase $|cq in.X |
|00001b30| 20 5b 43 63 5d 29 20 3b | 3b 0a 58 20 20 5b 51 71 | [Cc]) ;|;.X [Qq|
|00001b40| 5d 29 20 65 78 69 74 3b | 3b 0a 58 65 73 61 63 0a |]) exit;|;.Xesac.|
|00001b50| 58 65 63 68 6f 20 22 62 | 75 69 6c 64 69 6e 67 20 |Xecho "b|uilding |
|00001b60| 69 6e 63 20 61 6e 64 20 | 61 6e 64 20 69 67 6e 22 |inc and |and ign"|
|00001b70| 0a 58 73 65 64 20 27 2f | 5e 23 2f 64 0a 58 2f 5e |.Xsed '/|^#/d.X/^|
|00001b80| 25 2f 7b 0a 58 73 2f 2f | 2f 77 20 27 69 6e 63 27 |%/{.Xs//|/w 'inc'|
|00001b90| 0a 58 64 0a 58 7d 20 27 | 20 6b 65 64 20 7c 0a 58 |.Xd.X} '| ked |.X|
|00001ba0| 73 65 64 20 27 73 2f 5b | 5c 2f 2d 5d 2f 5c 0a 58 |sed 's/[|\/-]/\.X|
|00001bb0| 2f 67 0a 58 73 2f 2b 2f | 2f 67 0a 58 73 2f 5c 5d |/g.Xs/+/|/g.Xs/\]|
|00001bc0| 2f 2f 67 27 20 3e 20 69 | 67 6e 0a 58 72 6d 20 6b |//g' > i|gn.Xrm k|
|00001bd0| 65 64 0a 58 66 69 0a 58 | 0a 58 65 63 68 6f 20 22 |ed.Xfi.X|.Xecho "|
|00001be0| 42 75 69 6c 64 69 6e 67 | 20 6b 74 65 6d 70 22 0a |Building| ktemp".|
|00001bf0| 58 69 66 20 74 65 73 74 | 20 2d 73 20 69 6e 63 0a |Xif test| -s inc.|
|00001c00| 58 74 68 65 6e 0a 58 20 | 20 20 65 63 68 6f 20 22 |Xthen.X | echo "|
|00001c10| 41 64 64 69 6e 67 20 69 | 6e 63 20 74 6f 20 24 4b |Adding i|nc to $K|
|00001c20| 50 41 54 48 2f 69 6e 63 | 6c 75 64 65 20 6c 69 73 |PATH/inc|lude lis|
|00001c30| 74 2e 2e 2e 22 0a 58 20 | 20 20 63 61 74 20 69 6e |t...".X | cat in|
|00001c40| 63 20 3e 3e 20 24 4b 50 | 41 54 48 2f 69 6e 63 6c |c >> $KP|ATH/incl|
|00001c50| 75 64 65 0a 58 20 20 20 | 73 6f 72 74 20 2d 75 20 |ude.X |sort -u |
|00001c60| 24 4b 50 41 54 48 2f 69 | 6e 63 6c 75 64 65 20 2d |$KPATH/i|nclude -|
|00001c70| 6f 20 24 4b 50 41 54 48 | 2f 69 6e 63 6c 75 64 65 |o $KPATH|/include|
|00001c80| 0a 58 20 20 20 63 6f 6d | 6d 20 2d 31 32 20 6b 65 |.X com|m -12 ke|
|00001c90| 79 2e 72 61 77 20 24 4b | 50 41 54 48 2f 69 6e 63 |y.raw $K|PATH/inc|
|00001ca0| 6c 75 64 65 20 7c 20 73 | 65 64 20 27 73 2f 24 2f |lude | s|ed 's/$/|
|00001cb0| 3a 20 27 24 31 27 2f 27 | 20 3e 20 6b 74 65 6d 70 |: '$1'/'| > ktemp|
|00001cc0| 0a 58 65 6c 73 65 0a 58 | 20 20 20 20 63 6f 6d 6d |.Xelse.X| comm|
|00001cd0| 20 2d 31 32 20 6b 65 79 | 2e 72 61 77 20 24 4b 50 | -12 key|.raw $KP|
|00001ce0| 41 54 48 2f 69 6e 63 6c | 75 64 65 20 7c 20 73 65 |ATH/incl|ude | se|
|00001cf0| 64 20 27 73 2f 24 2f 3a | 20 27 24 31 27 2f 27 20 |d 's/$/:| '$1'/' |
|00001d00| 3e 20 6b 74 65 6d 70 0a | 58 66 69 0a 58 0a 58 69 |> ktemp.|Xfi.X.Xi|
|00001d10| 66 20 74 65 73 74 20 2d | 73 20 69 67 6e 0a 58 74 |f test -|s ign.Xt|
|00001d20| 68 65 6e 0a 58 20 20 20 | 65 63 68 6f 20 22 41 64 |hen.X |echo "Ad|
|00001d30| 64 69 6e 67 20 69 67 6e | 20 74 6f 20 24 4b 50 41 |ding ign| to $KPA|
|00001d40| 54 48 2f 69 67 6e 6f 72 | 65 20 6c 69 73 74 2e 2e |TH/ignor|e list..|
|00001d50| 2e 22 0a 58 20 20 20 73 | 6f 72 74 20 2d 75 20 69 |.".X s|ort -u i|
|00001d60| 67 6e 20 24 4b 50 41 54 | 48 2f 69 67 6e 6f 72 65 |gn $KPAT|H/ignore|
|00001d70| 20 2d 6f 20 24 4b 50 41 | 54 48 2f 69 67 6e 6f 72 | -o $KPA|TH/ignor|
|00001d80| 65 0a 58 66 69 0a 58 0a | 58 65 63 68 6f 20 22 41 |e.Xfi.X.|Xecho "A|
|00001d90| 64 64 69 6e 67 20 4b 45 | 59 20 74 6f 20 6b 74 65 |dding KE|Y to kte|
|00001da0| 6d 70 20 66 69 6c 65 22 | 0a 58 0a 58 69 66 20 74 |mp file"|.X.Xif t|
|00001db0| 65 73 74 20 2d 66 20 4b | 45 59 0a 58 74 68 65 6e |est -f K|EY.Xthen|
|00001dc0| 0a 58 20 20 20 63 70 20 | 4b 45 59 20 4b 45 59 2e |.X cp |KEY KEY.|
|00001dd0| 4f 0a 58 66 69 0a 58 73 | 6f 72 74 20 4b 45 59 20 |O.Xfi.Xs|ort KEY |
|00001de0| 6b 74 65 6d 70 20 2d 6f | 20 6b 74 65 6d 70 0a 58 |ktemp -o| ktemp.X|
|00001df0| 65 63 68 6f 20 22 52 65 | 62 75 69 6c 64 69 6e 67 |echo "Re|building|
|00001e00| 20 4b 45 59 20 66 69 6c | 65 22 0a 58 62 6b 65 79 | KEY fil|e".Xbkey|
|00001e10| 20 6b 74 65 6d 70 20 3e | 20 4b 45 59 0a 53 48 41 | ktemp >| KEY.SHA|
|00001e20| 52 5f 45 4f 46 0a 63 68 | 6d 6f 64 20 30 37 35 35 |R_EOF.ch|mod 0755|
|00001e30| 20 6d 6b 6b 65 79 20 7c | 7c 20 65 63 68 6f 20 22 | mkkey ||| echo "|
|00001e40| 72 65 73 74 6f 72 65 20 | 6f 66 20 6d 6b 6b 65 79 |restore |of mkkey|
|00001e50| 20 66 61 69 6c 73 22 0a | 69 66 20 5b 20 24 54 4f | fails".|if [ $TO|
|00001e60| 55 43 48 20 3d 20 63 61 | 6e 20 5d 0a 74 68 65 6e |UCH = ca|n ].then|
|00001e70| 0a 20 20 20 20 74 6f 75 | 63 68 20 2d 61 6d 20 30 |. tou|ch -am 0|
|00001e80| 35 32 34 31 31 34 32 39 | 30 20 6d 6b 6b 65 79 0a |52411429|0 mkkey.|
|00001e90| 66 69 0a 73 65 74 20 60 | 77 63 20 2d 63 20 6d 6b |fi.set `|wc -c mk|
|00001ea0| 6b 65 79 60 3b 57 63 5f | 63 3d 24 31 0a 69 66 20 |key`;Wc_|c=$1.if |
|00001eb0| 74 65 73 74 20 22 24 57 | 63 5f 63 22 20 21 3d 20 |test "$W|c_c" != |
|00001ec0| 22 31 38 39 31 22 0a 74 | 68 65 6e 20 65 63 68 6f |"1891".t|hen echo|
|00001ed0| 20 6f 72 69 67 69 6e 61 | 6c 20 73 69 7a 65 20 31 | origina|l size 1|
|00001ee0| 38 39 31 2c 20 63 75 72 | 72 65 6e 74 20 73 69 7a |891, cur|rent siz|
|00001ef0| 65 20 24 57 63 5f 63 3b | 66 69 0a 65 78 69 74 20 |e $Wc_c;|fi.exit |
|00001f00| 30 0a 0a 0a | |0... | |
+--------+-------------------------+-------------------------+--------+--------+