home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2873 < prev    next >
SHell self-extracting ARchive  |  1991-02-28  |  51.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

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

You can browse this item here: 2873

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 or mail, ASCII text default
100% TrID E-Mail message (Var. 2) 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)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 70 76 | 72 40 77 61 6e 67 2e 63 |From: pv|r@wang.c|
|00000010| 6f 6d 20 28 50 65 74 65 | 72 20 52 65 69 6c 6c 65 |om (Pete|r Reille|
|00000020| 79 29 0a 4e 65 77 73 67 | 72 6f 75 70 73 3a 20 61 |y).Newsg|roups: a|
|00000030| 6c 74 2e 73 6f 75 72 63 | 65 73 0a 53 75 62 6a 65 |lt.sourc|es.Subje|
|00000040| 63 74 3a 20 42 45 41 56 | 2c 20 61 20 66 75 6c 6c |ct: BEAV|, a full|
|00000050| 20 66 65 61 74 75 72 65 | 64 20 62 69 6e 61 72 79 | feature|d binary|
|00000060| 20 66 69 6c 65 20 65 64 | 69 74 6f 72 2c 20 70 61 | file ed|itor, pa|
|00000070| 72 74 20 30 32 20 6f 66 | 20 31 31 0a 4d 65 73 73 |rt 02 of| 11.Mess|
|00000080| 61 67 65 2d 49 44 3a 20 | 3c 62 31 69 76 31 6d 2e |age-ID: |<b1iv1m.|
|00000090| 61 6d 69 40 77 61 6e 67 | 2e 63 6f 6d 3e 0a 44 61 |ami@wang|.com>.Da|
|000000a0| 74 65 3a 20 32 37 20 46 | 65 62 20 39 31 20 32 30 |te: 27 F|eb 91 20|
|000000b0| 3a 34 36 3a 33 33 20 47 | 4d 54 0a 0a 23 21 20 2f |:46:33 G|MT..#! /|
|000000c0| 62 69 6e 2f 73 68 0a 23 | 20 54 68 69 73 20 69 73 |bin/sh.#| This is|
|000000d0| 20 61 20 73 68 65 6c 6c | 20 61 72 63 68 69 76 65 | a shell| archive|
|000000e0| 2e 20 20 52 65 6d 6f 76 | 65 20 61 6e 79 74 68 69 |. Remov|e anythi|
|000000f0| 6e 67 20 62 65 66 6f 72 | 65 20 74 68 69 73 20 6c |ng befor|e this l|
|00000100| 69 6e 65 2c 20 74 68 65 | 6e 20 75 6e 70 61 63 6b |ine, the|n unpack|
|00000110| 0a 23 20 69 74 20 62 79 | 20 73 61 76 69 6e 67 20 |.# it by| saving |
|00000120| 69 74 20 69 6e 74 6f 20 | 61 20 66 69 6c 65 20 61 |it into |a file a|
|00000130| 6e 64 20 74 79 70 69 6e | 67 20 22 73 68 20 66 69 |nd typin|g "sh fi|
|00000140| 6c 65 22 2e 20 20 54 6f | 20 6f 76 65 72 77 72 69 |le". To| overwri|
|00000150| 74 65 20 65 78 69 73 74 | 69 6e 67 0a 23 20 66 69 |te exist|ing.# fi|
|00000160| 6c 65 73 2c 20 74 79 70 | 65 20 22 73 68 20 66 69 |les, typ|e "sh fi|
|00000170| 6c 65 20 2d 63 22 2e 20 | 20 59 6f 75 20 63 61 6e |le -c". | You can|
|00000180| 20 61 6c 73 6f 20 66 65 | 65 64 20 74 68 69 73 20 | also fe|ed this |
|00000190| 61 73 20 73 74 61 6e 64 | 61 72 64 20 69 6e 70 75 |as stand|ard inpu|
|000001a0| 74 20 76 69 61 0a 23 20 | 75 6e 73 68 61 72 2c 20 |t via.# |unshar, |
|000001b0| 6f 72 20 62 79 20 74 79 | 70 69 6e 67 20 22 73 68 |or by ty|ping "sh|
|000001c0| 20 3c 66 69 6c 65 22 2c | 20 65 2e 67 2e 2e 20 20 | <file",| e.g.. |
|000001d0| 49 66 20 74 68 69 73 20 | 61 72 63 68 69 76 65 20 |If this |archive |
|000001e0| 69 73 20 63 6f 6d 70 6c | 65 74 65 2c 20 79 6f 75 |is compl|ete, you|
|000001f0| 0a 23 20 77 69 6c 6c 20 | 73 65 65 20 74 68 65 20 |.# will |see the |
|00000200| 66 6f 6c 6c 6f 77 69 6e | 67 20 6d 65 73 73 61 67 |followin|g messag|
|00000210| 65 20 61 74 20 74 68 65 | 20 65 6e 64 3a 0a 23 09 |e at the| end:.#.|
|00000220| 09 22 45 6e 64 20 6f 66 | 20 61 72 63 68 69 76 65 |."End of| archive|
|00000230| 20 32 20 28 6f 66 20 31 | 31 29 2e 22 0a 23 20 43 | 2 (of 1|1).".# C|
|00000240| 6f 6e 74 65 6e 74 73 3a | 20 20 65 63 68 6f 2e 63 |ontents:| echo.c|
|00000250| 20 65 78 74 65 6e 64 2e | 63 20 66 6f 72 6d 61 74 | extend.|c format|
|00000260| 2e 63 20 74 74 79 6b 62 | 64 2e 63 20 77 69 6e 64 |.c ttykb|d.c wind|
|00000270| 6f 77 2e 63 0a 23 20 57 | 72 61 70 70 65 64 20 62 |ow.c.# W|rapped b|
|00000280| 79 20 70 76 72 40 65 6c | 66 20 6f 6e 20 57 65 64 |y pvr@el|f on Wed|
|00000290| 20 46 65 62 20 32 37 20 | 31 34 3a 31 36 3a 34 36 | Feb 27 |14:16:46|
|000002a0| 20 31 39 39 31 0a 50 41 | 54 48 3d 2f 62 69 6e 3a | 1991.PA|TH=/bin:|
|000002b0| 2f 75 73 72 2f 62 69 6e | 3a 2f 75 73 72 2f 75 63 |/usr/bin|:/usr/uc|
|000002c0| 62 20 3b 20 65 78 70 6f | 72 74 20 50 41 54 48 0a |b ; expo|rt PATH.|
|000002d0| 69 66 20 74 65 73 74 20 | 2d 66 20 27 65 63 68 6f |if test |-f 'echo|
|000002e0| 2e 63 27 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |.c' -a "|${1}" !=|
|000002f0| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00000300| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00000310| 6e 6f 74 20 63 6c 6f 62 | 62 65 72 20 65 78 69 73 |not clob|ber exis|
|00000320| 74 69 6e 67 20 66 69 6c | 65 20 5c 22 27 65 63 68 |ting fil|e \"'ech|
|00000330| 6f 2e 63 27 5c 22 0a 65 | 6c 73 65 0a 65 63 68 6f |o.c'\".e|lse.echo|
|00000340| 20 73 68 61 72 3a 20 45 | 78 74 72 61 63 74 69 6e | shar: E|xtractin|
|00000350| 67 20 5c 22 27 65 63 68 | 6f 2e 63 27 5c 22 20 5c |g \"'ech|o.c'\" \|
|00000360| 28 39 34 35 31 20 63 68 | 61 72 61 63 74 65 72 73 |(9451 ch|aracters|
|00000370| 5c 29 0a 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |\).sed "|s/^X//" |
|00000380| 3e 27 65 63 68 6f 2e 63 | 27 20 3c 3c 27 45 4e 44 |>'echo.c|' <<'END|
|00000390| 5f 4f 46 5f 46 49 4c 45 | 27 0a 58 2f 2a 0a 58 2a |_OF_FILE|'.X/*.X*|
|000003a0| 20 20 20 20 20 20 20 45 | 63 68 6f 20 6c 69 6e 65 | E|cho line|
|000003b0| 20 72 65 61 64 69 6e 67 | 20 61 6e 64 20 77 72 69 | reading| and wri|
|000003c0| 74 69 6e 67 2e 0a 58 2a | 20 43 6f 6d 6d 6f 6e 20 |ting..X*| Common |
|000003d0| 72 6f 75 74 69 6e 65 73 | 20 66 6f 72 20 72 65 61 |routines| for rea|
|000003e0| 64 69 6e 67 0a 58 2a 20 | 61 6e 64 20 77 72 69 74 |ding.X* |and writ|
|000003f0| 69 6e 67 20 63 68 61 72 | 61 63 74 65 72 73 20 69 |ing char|acters i|
|00000400| 6e 20 74 68 65 20 65 63 | 68 6f 20 6c 69 6e 65 20 |n the ec|ho line |
|00000410| 61 72 65 61 0a 58 2a 20 | 6f 66 20 74 68 65 20 64 |area.X* |of the d|
|00000420| 69 73 70 6c 61 79 20 73 | 63 72 65 65 6e 2e 20 55 |isplay s|creen. U|
|00000430| 73 65 64 20 62 79 20 74 | 68 65 20 65 6e 74 69 72 |sed by t|he entir|
|00000440| 65 0a 58 2a 20 6b 6e 6f | 77 6e 20 75 6e 69 76 65 |e.X* kno|wn unive|
|00000450| 72 73 65 2e 0a 58 2a 2f | 0a 58 23 69 6e 63 6c 75 |rse..X*/|.X#inclu|
|00000460| 64 65 20 20 20 20 22 64 | 65 66 2e 68 22 0a 58 0a |de "d|ef.h".X.|
|00000470| 58 76 6f 69 64 20 20 20 | 20 65 65 72 61 73 65 20 |Xvoid | eerase |
|00000480| 28 29 3b 0a 58 63 68 61 | 72 20 20 20 20 65 72 65 |();.Xcha|r ere|
|00000490| 70 6c 79 20 28 29 3b 0a | 58 63 68 61 72 20 20 20 |ply ();.|Xchar |
|000004a0| 20 65 72 65 61 64 20 28 | 29 3b 0a 58 76 6f 69 64 | eread (|);.Xvoid|
|000004b0| 20 20 20 20 65 66 6f 72 | 6d 61 74 20 28 29 3b 0a | efor|mat ();.|
|000004c0| 58 76 6f 69 64 20 20 20 | 20 65 70 75 74 69 20 28 |Xvoid | eputi (|
|000004d0| 29 3b 0a 58 76 6f 69 64 | 20 20 20 20 65 70 75 74 |);.Xvoid| eput|
|000004e0| 73 20 28 29 3b 0a 58 76 | 6f 69 64 20 20 20 20 65 |s ();.Xv|oid e|
|000004f0| 70 75 74 63 20 28 29 3b | 0a 58 0a 58 0a 58 65 78 |putc ();|.X.X.Xex|
|00000500| 74 65 72 6e 20 20 20 20 | 63 68 61 72 20 20 20 20 |tern |char |
|00000510| 4d 53 47 5f 6e 75 6c 6c | 5b 5d 3b 0a 58 65 78 74 |MSG_null|[];.Xext|
|00000520| 65 72 6e 20 20 20 20 63 | 68 61 72 20 20 20 20 4d |ern c|har M|
|00000530| 53 47 5f 79 5f 6e 5b 5d | 3b 0a 58 65 78 74 65 72 |SG_y_n[]|;.Xexter|
|00000540| 6e 20 20 20 20 63 68 61 | 72 20 20 20 20 4d 53 47 |n cha|r MSG|
|00000550| 5f 68 65 78 5f 64 69 67 | 5b 5d 3b 0a 58 0a 58 23 |_hex_dig|[];.X.X#|
|00000560| 69 6e 63 6c 75 64 65 20 | 20 20 20 22 6c 69 6e 74 |include | "lint|
|00000570| 66 75 6e 63 2e 64 65 63 | 22 0a 58 69 6e 74 20 20 |func.dec|".Xint |
|00000580| 20 20 20 65 70 72 65 73 | 66 20 3d 20 46 41 4c 53 | epres|f = FALS|
|00000590| 45 3b 20 20 20 20 20 20 | 20 20 20 2f 2a 20 53 74 |E; | /* St|
|000005a0| 75 66 66 20 69 6e 20 65 | 63 68 6f 20 6c 69 6e 65 |uff in e|cho line|
|000005b0| 20 66 6c 61 67 2e 20 2a | 2f 0a 58 0a 58 2f 2a 0a | flag. *|/.X.X/*.|
|000005c0| 58 2a 20 45 72 61 73 65 | 20 74 68 65 20 65 63 68 |X* Erase| the ech|
|000005d0| 6f 20 6c 69 6e 65 2e 0a | 58 2a 2f 0a 58 76 6f 69 |o line..|X*/.Xvoi|
|000005e0| 64 20 65 65 72 61 73 65 | 20 28 29 0a 58 7b 0a 58 |d eerase| ().X{.X|
|000005f0| 20 20 20 20 77 72 69 74 | 5f 65 63 68 6f 20 28 4d | writ|_echo (M|
|00000600| 53 47 5f 6e 75 6c 6c 29 | 3b 20 20 2f 2a 20 63 6c |SG_null)|; /* cl|
|00000610| 65 61 72 20 74 68 65 20 | 65 63 68 6f 20 6c 69 6e |ear the |echo lin|
|00000620| 65 20 2a 2f 0a 58 20 20 | 20 20 65 70 72 65 73 66 |e */.X | epresf|
|00000630| 20 3d 20 46 41 4c 53 45 | 3b 0a 58 7d 0a 58 0a 58 | = FALSE|;.X}.X.X|
|00000640| 0a 58 2f 2a 0a 58 2a 20 | 41 73 6b 20 22 79 65 73 |.X/*.X* |Ask "yes|
|00000650| 22 20 6f 72 20 22 6e 6f | 22 20 71 75 65 73 74 69 |" or "no|" questi|
|00000660| 6f 6e 2e 0a 58 2a 20 52 | 65 74 75 72 6e 20 41 42 |on..X* R|eturn AB|
|00000670| 4f 52 54 20 69 66 20 74 | 68 65 20 75 73 65 72 20 |ORT if t|he user |
|00000680| 61 6e 73 77 65 72 73 20 | 74 68 65 20 71 75 65 73 |answers |the ques|
|00000690| 74 69 6f 6e 0a 58 2a 20 | 77 69 74 68 20 74 68 65 |tion.X* |with the|
|000006a0| 20 61 62 6f 72 74 20 28 | 22 5e 47 22 29 20 63 68 | abort (|"^G") ch|
|000006b0| 61 72 61 63 74 65 72 2e | 20 52 65 74 75 72 6e 20 |aracter.| Return |
|000006c0| 46 41 4c 53 45 0a 58 2a | 20 66 6f 72 20 22 6e 6f |FALSE.X*| for "no|
|000006d0| 22 20 61 6e 64 20 54 52 | 55 45 20 66 6f 72 20 22 |" and TR|UE for "|
|000006e0| 79 65 73 22 2e 20 4e 6f | 20 66 6f 72 6d 61 74 74 |yes". No| formatt|
|000006f0| 69 6e 67 0a 58 2a 20 73 | 65 72 76 69 63 65 73 20 |ing.X* s|ervices |
|00000700| 61 72 65 20 61 76 61 69 | 6c 61 62 6c 65 2e 0a 58 |are avai|lable..X|
|00000710| 2a 2f 0a 58 63 68 61 72 | 20 20 20 20 65 79 65 73 |*/.Xchar| eyes|
|00000720| 6e 6f 20 28 73 70 29 0a | 58 63 68 61 72 20 20 20 |no (sp).|Xchar |
|00000730| 2a 73 70 3b 0a 58 7b 0a | 58 0a 58 20 20 20 20 72 |*sp;.X{.|X.X r|
|00000740| 65 67 69 73 74 65 72 20 | 63 68 61 72 20 20 20 73 |egister |char s|
|00000750| 3b 0a 58 20 20 20 20 63 | 68 61 72 20 20 20 20 62 |;.X c|har b|
|00000760| 75 66 5b 36 34 5d 3b 0a | 58 0a 58 20 20 20 20 66 |uf[64];.|X.X f|
|00000770| 6f 72 20 28 3b 3b 29 0a | 58 20 20 20 20 20 20 20 |or (;;).|X |
|00000780| 20 7b 0a 58 0a 58 20 20 | 20 20 20 20 20 20 73 20 | {.X.X | s |
|00000790| 3d 20 65 72 65 70 6c 79 | 20 28 4d 53 47 5f 79 5f |= ereply| (MSG_y_|
|000007a0| 6e 2c 20 62 75 66 2c 20 | 73 69 7a 65 6f 66 20 28 |n, buf, |sizeof (|
|000007b0| 62 75 66 29 2c 20 73 70 | 29 3b 0a 58 20 20 20 20 |buf), sp|);.X |
|000007c0| 20 20 20 20 69 66 20 28 | 73 20 3d 3d 20 41 42 4f | if (|s == ABO|
|000007d0| 52 54 29 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |RT).X | |
|000007e0| 20 72 65 74 75 72 6e 20 | 28 41 42 4f 52 54 29 3b | return |(ABORT);|
|000007f0| 0a 58 20 20 20 20 20 20 | 20 20 69 66 20 28 73 20 |.X | if (s |
|00000800| 21 3d 20 46 41 4c 53 45 | 29 0a 58 20 20 20 20 20 |!= FALSE|).X |
|00000810| 20 20 20 20 20 20 20 7b | 0a 58 0a 58 20 20 20 20 | {|.X.X |
|00000820| 20 20 20 20 20 20 20 20 | 69 66 20 28 62 75 66 5b | |if (buf[|
|00000830| 30 5d 20 3d 3d 20 27 79 | 27 20 7c 7c 20 62 75 66 |0] == 'y|' || buf|
|00000840| 5b 30 5d 20 3d 3d 20 27 | 59 27 29 0a 58 20 20 20 |[0] == '|Y').X |
|00000850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 65 74 | | ret|
|00000860| 75 72 6e 20 28 54 52 55 | 45 29 3b 0a 58 20 20 20 |urn (TRU|E);.X |
|00000870| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 62 75 66 | | if (buf|
|00000880| 5b 30 5d 20 3d 3d 20 27 | 6e 27 20 7c 7c 20 62 75 |[0] == '|n' || bu|
|00000890| 66 5b 30 5d 20 3d 3d 20 | 27 4e 27 29 0a 58 20 20 |f[0] == |'N').X |
|000008a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|000008b0| 74 75 72 6e 20 28 46 41 | 4c 53 45 29 3b 0a 58 20 |turn (FA|LSE);.X |
|000008c0| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0a 58 0a 58 | | }.X.X|
|000008d0| 20 20 20 20 20 20 20 20 | 7d 0a 58 0a 58 7d 0a 58 | |}.X.X}.X|
|000008e0| 0a 58 0a 58 2f 2a 0a 58 | 2a 20 57 72 69 74 65 20 |.X.X/*.X|* Write |
|000008f0| 6f 75 74 20 61 20 70 72 | 6f 6d 70 74 2c 20 61 6e |out a pr|ompt, an|
|00000900| 64 20 72 65 61 64 20 62 | 61 63 6b 20 61 0a 58 2a |d read b|ack a.X*|
|00000910| 20 72 65 70 6c 79 2e 20 | 54 68 65 20 70 72 6f 6d | reply. |The prom|
|00000920| 70 74 20 69 73 20 6e 6f | 77 20 77 72 69 74 74 65 |pt is no|w writte|
|00000930| 6e 20 6f 75 74 20 77 69 | 74 68 20 66 75 6c 6c 20 |n out wi|th full |
|00000940| 22 65 70 72 69 6e 74 66 | 22 0a 58 2a 20 66 6f 72 |"eprintf|".X* for|
|00000950| 6d 61 74 74 69 6e 67 2c | 20 61 6c 74 68 6f 75 67 |matting,| althoug|
|00000960| 68 20 74 68 65 20 61 72 | 67 75 6d 65 6e 74 73 20 |h the ar|guments |
|00000970| 61 72 65 20 69 6e 20 61 | 20 72 61 74 68 65 72 20 |are in a| rather |
|00000980| 73 74 72 61 6e 67 65 0a | 58 2a 20 70 6c 61 63 65 |strange.|X* place|
|00000990| 2e 20 54 68 69 73 20 69 | 73 20 61 6c 77 61 79 73 |. This i|s always|
|000009a0| 20 61 20 6e 65 77 20 6d | 65 73 73 61 67 65 2c 20 | a new m|essage, |
|000009b0| 74 68 65 72 65 20 69 73 | 20 6e 6f 20 61 75 74 6f |there is| no auto|
|000009c0| 0a 58 2a 20 63 6f 6d 70 | 6c 65 74 69 6f 6e 2c 20 |.X* comp|letion, |
|000009d0| 61 6e 64 20 74 68 65 20 | 72 65 74 75 72 6e 20 69 |and the |return i|
|000009e0| 73 20 65 63 68 6f 65 64 | 20 61 73 20 73 75 63 68 |s echoed| as such|
|000009f0| 2e 0a 58 2a 2f 0a 58 2f | 2a 20 56 41 52 41 52 47 |..X*/.X/|* VARARG|
|00000a00| 53 33 20 2a 2f 0a 58 63 | 68 61 72 20 20 20 20 65 |S3 */.Xc|har e|
|00000a10| 72 65 70 6c 79 20 28 66 | 70 2c 20 62 75 66 2c 20 |reply (f|p, buf, |
|00000a20| 6e 62 75 66 2c 20 61 72 | 67 29 0a 58 63 68 61 72 |nbuf, ar|g).Xchar|
|00000a30| 20 20 20 2a 66 70 3b 0a | 58 63 68 61 72 20 20 20 | *fp;.|Xchar |
|00000a40| 2a 62 75 66 3b 0a 58 69 | 6e 74 20 20 20 20 20 6e |*buf;.Xi|nt n|
|00000a50| 62 75 66 3b 0a 58 63 68 | 61 72 20 20 20 2a 61 72 |buf;.Xch|ar *ar|
|00000a60| 67 3b 0a 58 7b 0a 58 20 | 20 20 20 72 65 74 75 72 |g;.X{.X | retur|
|00000a70| 6e 20 28 65 72 65 61 64 | 20 28 66 70 2c 20 62 75 |n (eread| (fp, bu|
|00000a80| 66 2c 20 6e 62 75 66 2c | 20 45 46 4e 45 57 20 7c |f, nbuf,| EFNEW ||
|00000a90| 20 45 46 43 52 2c 20 61 | 72 67 29 29 3b 0a 58 7d | EFCR, a|rg));.X}|
|00000aa0| 0a 58 0a 58 0a 58 2f 2a | 0a 58 2a 20 54 68 69 73 |.X.X.X/*|.X* This|
|00000ab0| 20 69 73 20 74 68 65 20 | 67 65 6e 65 72 61 6c 20 | is the |general |
|00000ac0| 22 72 65 61 64 20 69 6e | 70 75 74 20 66 72 6f 6d |"read in|put from|
|00000ad0| 20 74 68 65 0a 58 2a 20 | 65 63 68 6f 20 6c 69 6e | the.X* |echo lin|
|00000ae0| 65 22 20 72 6f 75 74 69 | 6e 65 2e 20 54 68 65 20 |e" routi|ne. The |
|00000af0| 62 61 73 69 63 20 69 64 | 65 61 20 69 73 20 74 68 |basic id|ea is th|
|00000b00| 61 74 20 74 68 65 20 70 | 72 6f 6d 70 74 0a 58 2a |at the p|rompt.X*|
|00000b10| 20 73 74 72 69 6e 67 20 | 22 70 72 6f 6d 70 74 22 | string |"prompt"|
|00000b20| 20 69 73 20 77 72 69 74 | 74 65 6e 20 74 6f 20 74 | is writ|ten to t|
|00000b30| 68 65 20 65 63 68 6f 20 | 6c 69 6e 65 2c 20 61 6e |he echo |line, an|
|00000b40| 64 20 61 20 6f 6e 65 0a | 58 2a 20 6c 69 6e 65 20 |d a one.|X* line |
|00000b50| 72 65 70 6c 79 20 69 73 | 20 72 65 61 64 20 62 61 |reply is| read ba|
|00000b60| 63 6b 20 69 6e 74 6f 20 | 74 68 65 20 73 75 70 70 |ck into |the supp|
|00000b70| 6c 69 65 64 20 22 62 75 | 66 22 20 28 77 69 74 68 |lied "bu|f" (with|
|00000b80| 0a 58 2a 20 6d 61 78 69 | 6d 75 6d 20 6c 65 6e 67 |.X* maxi|mum leng|
|00000b90| 74 68 20 22 6c 65 6e 22 | 29 2e 20 54 68 65 20 22 |th "len"|). The "|
|00000ba0| 66 6c 61 67 22 20 63 6f | 6e 74 61 69 6e 73 20 45 |flag" co|ntains E|
|00000bb0| 46 4e 45 57 20 28 61 0a | 58 2a 20 6e 65 77 20 70 |FNEW (a.|X* new p|
|00000bc0| 72 6f 6d 70 74 29 2c 20 | 61 6e 20 45 46 41 55 54 |rompt), |an EFAUT|
|00000bd0| 4f 20 28 61 75 74 6f 63 | 6f 6d 70 6c 65 74 65 29 |O (autoc|omplete)|
|00000be0| 2c 20 6f 72 20 45 46 43 | 52 20 28 65 63 68 6f 0a |, or EFC|R (echo.|
|00000bf0| 58 2a 20 74 68 65 20 63 | 61 72 72 69 61 67 65 20 |X* the c|arriage |
|00000c00| 72 65 74 75 72 6e 20 61 | 73 20 43 52 29 2e 0a 58 |return a|s CR)..X|
|00000c10| 2a 2f 0a 58 63 68 61 72 | 20 20 20 20 65 72 65 61 |*/.Xchar| erea|
|00000c20| 64 20 28 66 70 2c 20 62 | 75 66 2c 20 6e 62 75 66 |d (fp, b|uf, nbuf|
|00000c30| 2c 20 66 6c 61 67 2c 20 | 61 70 29 0a 58 63 68 61 |, flag, |ap).Xcha|
|00000c40| 72 20 20 20 2a 66 70 3b | 0a 58 63 68 61 72 20 20 |r *fp;|.Xchar |
|00000c50| 20 2a 62 75 66 3b 0a 58 | 63 68 61 72 20 20 20 2a | *buf;.X|char *|
|00000c60| 61 70 3b 0a 58 7b 0a 58 | 0a 58 20 20 20 20 72 65 |ap;.X{.X|.X re|
|00000c70| 67 69 73 74 65 72 20 69 | 6e 74 20 20 20 20 63 70 |gister i|nt cp|
|00000c80| 6f 73 3b 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |os;.X | registe|
|00000c90| 72 20 20 20 20 53 59 4d | 42 4f 4c 20 2a 20 73 70 |r SYM|BOL * sp|
|00000ca0| 31 3b 0a 58 20 20 20 20 | 72 65 67 69 73 74 65 72 |1;.X |register|
|00000cb0| 20 20 20 20 53 59 4d 42 | 4f 4c 20 2a 20 73 70 32 | SYMB|OL * sp2|
|00000cc0| 3b 0a 58 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |;.X r|egister |
|00000cd0| 69 6e 74 20 20 20 20 69 | 3b 0a 58 20 20 20 20 72 |int i|;.X r|
|00000ce0| 65 67 69 73 74 65 72 20 | 69 6e 74 20 20 20 20 63 |egister |int c|
|00000cf0| 3b 0a 58 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |;.X r|egister |
|00000d00| 69 6e 74 20 20 20 20 68 | 3b 0a 58 20 20 20 20 72 |int h|;.X r|
|00000d10| 65 67 69 73 74 65 72 20 | 69 6e 74 20 20 20 20 6e |egister |int n|
|00000d20| 68 69 74 73 3b 0a 58 20 | 20 20 20 72 65 67 69 73 |hits;.X | regis|
|00000d30| 74 65 72 20 69 6e 74 20 | 20 20 20 6e 78 74 72 61 |ter int | nxtra|
|00000d40| 3b 0a 58 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |;.X r|egister |
|00000d50| 69 6e 74 20 20 20 20 62 | 78 74 72 61 3b 0a 58 0a |int b|xtra;.X.|
|00000d60| 58 20 20 20 20 69 6e 74 | 20 20 20 20 20 71 75 6f |X int| quo|
|00000d70| 74 65 5f 66 6c 61 67 3b | 0a 58 0a 58 20 20 20 20 |te_flag;|.X.X |
|00000d80| 71 75 6f 74 65 5f 66 6c | 61 67 20 3d 20 30 3b 0a |quote_fl|ag = 0;.|
|00000d90| 58 20 20 20 20 63 70 6f | 73 20 3d 20 30 3b 0a 58 |X cpo|s = 0;.X|
|00000da0| 20 20 20 20 69 66 20 28 | 6b 62 64 6d 6f 70 20 21 | if (|kbdmop !|
|00000db0| 3d 20 4e 55 4c 4c 29 0a | 58 20 20 20 20 20 20 20 |= NULL).|X |
|00000dc0| 20 7b 0a 58 20 20 20 20 | 2f 2a 20 49 6e 20 61 20 | {.X |/* In a |
|00000dd0| 6d 61 63 72 6f 2e 20 20 | 20 20 20 20 2a 2f 0a 58 |macro. | */.X|
|00000de0| 20 20 20 20 20 20 20 20 | 77 68 69 6c 65 20 28 28 | |while ((|
|00000df0| 63 20 3d 20 2a 6b 62 64 | 6d 6f 70 2b 2b 29 20 21 |c = *kbd|mop++) !|
|00000e00| 3d 20 27 5c 30 27 29 0a | 58 20 20 20 20 20 20 20 |= '\0').|X |
|00000e10| 20 20 20 20 20 62 75 66 | 5b 63 70 6f 73 2b 2b 5d | buf|[cpos++]|
|00000e20| 20 3d 20 63 3b 0a 58 20 | 20 20 20 20 20 20 20 62 | = c;.X | b|
|00000e30| 75 66 5b 63 70 6f 73 5d | 20 3d 20 27 5c 30 27 3b |uf[cpos]| = '\0';|
|00000e40| 0a 58 20 20 20 20 20 20 | 20 20 67 6f 74 6f 20 64 |.X | goto d|
|00000e50| 6f 6e 65 3b 0a 58 20 20 | 20 20 20 20 20 20 7d 0a |one;.X | }.|
|00000e60| 58 0a 58 20 20 20 20 69 | 66 20 28 28 66 6c 61 67 |X.X i|f ((flag|
|00000e70| 20 26 20 45 46 4e 45 57 | 29 20 21 3d 20 30 20 7c | & EFNEW|) != 0 ||
|00000e80| 7c 20 74 74 72 6f 77 20 | 21 3d 20 6e 72 6f 77 20 || ttrow |!= nrow |
|00000e90| 2d 20 31 29 0a 58 20 20 | 20 20 20 20 20 20 7b 0a |- 1).X | {.|
|00000ea0| 58 0a 58 20 20 20 20 20 | 20 20 20 74 74 63 6f 6c |X.X | ttcol|
|00000eb0| 6f 72 20 28 43 54 45 58 | 54 29 3b 0a 58 20 20 20 |or (CTEX|T);.X |
|00000ec0| 20 20 20 20 20 74 74 6d | 6f 76 65 20 28 6e 72 6f | ttm|ove (nro|
|00000ed0| 77 20 2d 20 31 2c 20 30 | 29 3b 0a 58 20 20 20 20 |w - 1, 0|);.X |
|00000ee0| 20 20 20 20 65 70 72 65 | 73 66 20 3d 20 54 52 55 | epre|sf = TRU|
|00000ef0| 45 3b 0a 58 20 20 20 20 | 20 20 20 20 7d 0a 58 20 |E;.X | }.X |
|00000f00| 20 20 20 65 6c 73 65 0a | 58 20 20 20 20 20 20 20 | else.|X |
|00000f10| 20 65 70 75 74 63 20 28 | 27 20 27 29 3b 0a 58 20 | eputc (|' ');.X |
|00000f20| 20 20 20 65 66 6f 72 6d | 61 74 20 28 66 70 2c 20 | eform|at (fp, |
|00000f30| 61 70 29 3b 0a 58 20 20 | 20 20 74 74 65 65 6f 6c |ap);.X | tteeol|
|00000f40| 20 28 29 3b 0a 58 20 20 | 20 20 74 74 66 6c 75 73 | ();.X | ttflus|
|00000f50| 68 20 28 29 3b 0a 58 20 | 20 20 20 66 6f 72 20 28 |h ();.X | for (|
|00000f60| 3b 3b 29 0a 58 20 20 20 | 20 20 20 20 20 7b 0a 58 |;;).X | {.X|
|00000f70| 20 20 20 20 20 20 20 20 | 63 20 3d 20 67 65 74 6b | |c = getk|
|00000f80| 65 79 20 28 29 3b 0a 58 | 20 20 20 20 20 20 20 20 |ey ();.X| |
|00000f90| 69 66 20 28 63 20 3d 3d | 20 27 20 27 20 26 26 20 |if (c ==| ' ' && |
|00000fa0| 28 66 6c 61 67 20 26 20 | 45 46 41 55 54 4f 29 20 |(flag & |EFAUTO) |
|00000fb0| 21 3d 20 30 29 0a 58 20 | 20 20 20 20 20 20 20 20 |!= 0).X | |
|00000fc0| 20 20 20 7b 0a 58 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00000fd0| 20 20 6e 68 69 74 73 20 | 3d 20 30 3b 0a 58 20 20 | nhits |= 0;.X |
|00000fe0| 20 20 20 20 20 20 20 20 | 20 20 6e 78 74 72 61 20 | | nxtra |
|00000ff0| 3d 20 48 55 47 45 3b 0a | 58 20 20 20 20 20 20 20 |= HUGE;.|X |
|00001000| 20 20 20 20 20 66 6f 72 | 20 28 68 20 3d 20 30 3b | for| (h = 0;|
|00001010| 20 68 20 3c 20 4e 53 48 | 41 53 48 3b 20 2b 2b 68 | h < NSH|ASH; ++h|
|00001020| 29 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).X | |
|00001030| 20 20 20 7b 0a 58 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00001040| 20 20 20 20 20 20 73 70 | 31 20 3d 20 73 79 6d 62 | sp|1 = symb|
|00001050| 6f 6c 5b 68 5d 3b 0a 58 | 20 20 20 20 20 20 20 20 |ol[h];.X| |
|00001060| 20 20 20 20 20 20 20 20 | 77 68 69 6c 65 20 28 73 | |while (s|
|00001070| 70 31 20 21 3d 20 4e 55 | 4c 4c 29 0a 58 20 20 20 |p1 != NU|LL).X |
|00001080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001090| 20 7b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|000010a0| 20 20 20 20 20 20 20 20 | 66 6f 72 20 28 69 20 3d | |for (i =|
|000010b0| 20 30 3b 20 69 20 3c 20 | 63 70 6f 73 3b 20 2b 2b | 0; i < |cpos; ++|
|000010c0| 69 29 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |i).X | |
|000010d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 7b 0a 58 20 | | {.X |
|000010e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010f0| 20 20 20 20 20 20 20 69 | 66 20 28 62 75 66 5b 69 | i|f (buf[i|
|00001100| 5d 20 21 3d 20 73 70 31 | 20 2d 3e 20 73 5f 6e 61 |] != sp1| -> s_na|
|00001110| 6d 65 5b 69 5d 29 0a 58 | 20 20 20 20 20 20 20 20 |me[i]).X| |
|00001120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001130| 20 20 20 20 62 72 65 61 | 6b 3b 0a 58 20 20 20 20 | brea|k;.X |
|00001140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001150| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 20 20 20 | }.X.|X |
|00001160| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00001170| 28 69 20 3d 3d 20 63 70 | 6f 73 29 0a 58 20 20 20 |(i == cp|os).X |
|00001180| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001190| 20 20 20 20 20 7b 0a 58 | 20 20 20 20 20 20 20 20 | {.X| |
|000011a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000011b0| 69 66 20 28 6e 68 69 74 | 73 20 3d 3d 20 30 29 0a |if (nhit|s == 0).|
|000011c0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|000011d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 73 70 32 | | sp2|
|000011e0| 20 3d 20 73 70 31 3b 0a | 58 20 20 20 20 20 20 20 | = sp1;.|X |
|000011f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001200| 20 2b 2b 6e 68 69 74 73 | 3b 0a 58 20 20 20 20 20 | ++nhits|;.X |
|00001210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001220| 20 20 20 62 78 74 72 61 | 20 3d 20 67 65 74 78 74 | bxtra| = getxt|
|00001230| 72 61 20 28 73 70 31 2c | 20 73 70 32 2c 20 63 70 |ra (sp1,| sp2, cp|
|00001240| 6f 73 29 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |os);.X | |
|00001250| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|00001260| 20 28 62 78 74 72 61 20 | 3c 20 6e 78 74 72 61 29 | (bxtra |< nxtra)|
|00001270| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00001280| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 6e 78 | | nx|
|00001290| 74 72 61 20 3d 20 62 78 | 74 72 61 3b 0a 58 20 20 |tra = bx|tra;.X |
|000012a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012b0| 20 20 20 20 20 20 7d 0a | 58 0a 58 20 20 20 20 20 | }.|X.X |
|000012c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|000012d0| 70 31 20 3d 20 73 70 31 | 20 2d 3e 20 73 5f 73 79 |p1 = sp1| -> s_sy|
|000012e0| 6d 70 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |mp;.X | |
|000012f0| 20 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 | | }.X |
|00001300| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0a 58 0a | | }.X.|
|00001310| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |X | if |
|00001320| 28 6e 68 69 74 73 20 3d | 3d 20 30 29 20 20 20 20 |(nhits =|= 0) |
|00001330| 20 2f 2a 20 4e 6f 20 63 | 6f 6d 70 6c 65 74 69 6f | /* No c|ompletio|
|00001340| 6e 2e 20 20 20 2a 2f 0a | 58 20 20 20 20 20 20 20 |n. */.|X |
|00001350| 20 20 20 20 20 20 20 20 | 20 63 6f 6e 74 69 6e 75 | | continu|
|00001360| 65 3b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |e;.X | |
|00001370| 66 6f 72 20 28 69 20 3d | 20 30 3b 20 69 20 3c 20 |for (i =| 0; i < |
|00001380| 6e 78 74 72 61 20 26 26 | 20 63 70 6f 73 20 3c 20 |nxtra &&| cpos < |
|00001390| 6e 62 75 66 20 2d 20 31 | 3b 20 2b 2b 69 29 0a 58 |nbuf - 1|; ++i).X|
|000013a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013b0| 7b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{.X | |
|000013c0| 20 20 20 63 20 3d 20 73 | 70 32 20 2d 3e 20 73 5f | c = s|p2 -> s_|
|000013d0| 6e 61 6d 65 5b 63 70 6f | 73 5d 3b 0a 58 20 20 20 |name[cpo|s];.X |
|000013e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 62 75 66 | | buf|
|000013f0| 5b 63 70 6f 73 2b 2b 5d | 20 3d 20 63 3b 0a 58 20 |[cpos++]| = c;.X |
|00001400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 65 | | e|
|00001410| 70 75 74 63 20 28 63 29 | 3b 0a 58 20 20 20 20 20 |putc (c)|;.X |
|00001420| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0a 58 0a 58 | | }.X.X|
|00001430| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 74 66 6c | | ttfl|
|00001440| 75 73 68 20 28 29 3b 0a | 58 20 20 20 20 20 20 20 |ush ();.|X |
|00001450| 20 20 20 20 20 69 66 20 | 28 6e 68 69 74 73 20 21 | if |(nhits !|
|00001460| 3d 20 31 29 20 20 20 20 | 20 2f 2a 20 46 61 6b 65 |= 1) | /* Fake|
|00001470| 20 61 20 43 52 20 69 66 | 20 74 68 65 72 65 20 20 | a CR if| there |
|00001480| 20 2a 2f 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | */.X | |
|00001490| 20 20 20 20 20 63 6f 6e | 74 69 6e 75 65 3b 20 20 | con|tinue; |
|000014a0| 20 20 20 20 20 2f 2a 20 | 69 73 20 31 20 63 68 6f | /* |is 1 cho|
|000014b0| 69 63 65 2e 20 20 20 20 | 20 2a 2f 0a 58 20 20 20 |ice. | */.X |
|000014c0| 20 20 20 20 20 20 20 20 | 20 63 20 3d 20 28 4b 43 | | c = (KC|
|000014d0| 54 52 4c 20 7c 20 27 4d | 27 29 3b 0a 58 20 20 20 |TRL | 'M|');.X |
|000014e0| 20 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 | | }.X |
|000014f0| 20 20 20 20 69 66 20 28 | 71 75 6f 74 65 5f 66 6c | if (|quote_fl|
|00001500| 61 67 29 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |ag).X | |
|00001510| 20 7b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00001520| 63 20 3d 20 63 20 26 20 | 30 78 31 66 3b 0a 58 20 |c = c & |0x1f;.X |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 71 75 6f 74 65 | | quote|
|00001540| 5f 66 6c 61 67 20 3d 20 | 30 3b 0a 58 20 20 20 20 |_flag = |0;.X |
|00001550| 20 20 20 20 20 20 20 20 | 7d 0a 58 0a 58 0a 58 20 | |}.X.X.X |
|00001560| 20 20 20 20 20 20 20 73 | 77 69 74 63 68 20 28 63 | s|witch (c|
|00001570| 29 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 7b |).X | {|
|00001580| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 63 61 |.X | ca|
|00001590| 73 65 20 28 4b 43 54 52 | 4c 20 7c 20 27 51 27 29 |se (KCTR|L | 'Q')|
|000015a0| 3a 20 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |: .X | |
|000015b0| 20 20 20 20 71 75 6f 74 | 65 5f 66 6c 61 67 20 3d | quot|e_flag =|
|000015c0| 20 31 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | 1;.X | |
|000015d0| 20 20 20 20 20 62 72 65 | 61 6b 3b 0a 58 20 20 20 | bre|ak;.X |
|000015e0| 20 20 20 20 20 20 20 20 | 20 63 61 73 65 20 28 4b | | case (K|
|000015f0| 43 54 52 4c 20 7c 20 27 | 4d 27 29 3a 20 2f 2a 20 |CTRL | '|M'): /* |
|00001600| 52 65 74 75 72 6e 2c 20 | 64 6f 6e 65 2e 20 20 20 |Return, |done. |
|00001610| 20 2a 2f 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | */.X | |
|00001620| 20 20 20 20 20 62 75 66 | 5b 63 70 6f 73 5d 20 3d | buf|[cpos] =|
|00001630| 20 27 5c 30 27 3b 0a 58 | 20 20 20 20 20 20 20 20 | '\0';.X| |
|00001640| 20 20 20 20 20 20 20 20 | 69 66 20 28 6b 62 64 6d | |if (kbdm|
|00001650| 69 70 20 21 3d 20 4e 55 | 4c 4c 29 0a 58 20 20 20 |ip != NU|LL).X |
|00001660| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001670| 20 7b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00001680| 20 20 20 20 20 20 20 20 | 69 66 20 28 6b 62 64 6d | |if (kbdm|
|00001690| 69 70 20 2b 20 63 70 6f | 73 20 2b 20 31 20 3e 20 |ip + cpo|s + 1 > |
|000016a0| 26 6b 62 64 6d 5b 4e 4b | 42 44 4d 20 2d 20 33 5d |&kbdm[NK|BDM - 3]|
|000016b0| 29 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).X | |
|000016c0| 20 20 20 20 20 20 20 20 | 20 20 20 7b 0a 58 20 20 | | {.X |
|000016d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000016e0| 20 20 20 20 20 20 28 76 | 6f 69 64 29 20 63 74 72 | (v|oid) ctr|
|000016f0| 6c 67 20 28 46 41 4c 53 | 45 2c 20 30 2c 20 4b 52 |lg (FALS|E, 0, KR|
|00001700| 41 4e 44 4f 4d 29 3b 0a | 58 20 20 20 20 20 20 20 |ANDOM);.|X |
|00001710| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001720| 20 74 74 66 6c 75 73 68 | 20 28 29 3b 0a 58 20 20 | ttflush| ();.X |
|00001730| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001740| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 28 41 42 | re|turn (AB|
|00001750| 4f 52 54 29 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |ORT);.X | |
|00001760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | | }|
|00001770| 0a 58 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X.X | |
|00001780| 20 20 20 20 20 20 20 20 | 66 6f 72 20 28 69 20 3d | |for (i =|
|00001790| 20 30 3b 20 69 20 3c 20 | 63 70 6f 73 3b 20 2b 2b | 0; i < |cpos; ++|
|000017a0| 69 29 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |i).X | |
|000017b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 6b 62 64 | | *kbd|
|000017c0| 6d 69 70 2b 2b 20 3d 20 | 62 75 66 5b 69 5d 3b 0a |mip++ = |buf[i];.|
|000017d0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|000017e0| 20 20 20 20 20 2a 6b 62 | 64 6d 69 70 2b 2b 20 3d | *kb|dmip++ =|
|000017f0| 20 27 5c 30 27 3b 0a 58 | 20 20 20 20 20 20 20 20 | '\0';.X| |
|00001800| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0a 58 0a | | }.X.|
|00001810| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00001820| 20 69 66 20 28 28 66 6c | 61 67 20 26 20 45 46 43 | if ((fl|ag & EFC|
|00001830| 52 29 20 21 3d 20 30 29 | 0a 58 20 20 20 20 20 20 |R) != 0)|.X |
|00001840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7b 0a | | {.|
|00001850| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00001860| 20 20 20 20 20 74 74 70 | 75 74 63 20 28 30 78 30 | ttp|utc (0x0|
|00001870| 44 29 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |D);.X | |
|00001880| 20 20 20 20 20 20 20 20 | 20 74 74 66 6c 75 73 68 | | ttflush|
|00001890| 20 28 29 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 | ();.X | |
|000018a0| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 58 0a 58 20 | | }.X.X |
|000018b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 67 | | g|
|000018c0| 6f 74 6f 20 64 6f 6e 65 | 3b 0a 58 0a 58 20 20 20 |oto done|;.X.X |
|000018d0| 20 20 20 20 20 20 20 20 | 20 63 61 73 65 20 28 4b | | case (K|
|000018e0| 43 54 52 4c 20 7c 20 27 | 47 27 29 3a 20 2f 2a 20 |CTRL | '|G'): /* |
|000018f0| 42 65 6c 6c 2c 20 61 62 | 6f 72 74 2e 20 20 20 20 |Bell, ab|ort. |
|00001900| 20 2a 2f 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | */.X | |
|00001910| 20 20 20 20 20 65 70 75 | 74 63 20 28 30 78 30 37 | epu|tc (0x07|
|00001920| 29 3b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |);.X | |
|00001930| 20 20 20 20 28 76 6f 69 | 64 29 20 63 74 72 6c 67 | (voi|d) ctrlg|
|00001940| 20 28 46 41 4c 53 45 2c | 20 30 2c 20 4b 52 41 4e | (FALSE,| 0, KRAN|
|00001950| 44 4f 4d 29 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |DOM);.X | |
|00001960| 20 20 20 20 20 20 20 74 | 74 66 6c 75 73 68 20 28 | t|tflush (|
|00001970| 29 3b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |);.X | |
|00001980| 20 20 20 20 72 65 74 75 | 72 6e 20 28 41 42 4f 52 | retu|rn (ABOR|
|00001990| 54 29 3b 0a 58 0a 58 20 | 20 20 20 20 20 20 20 20 |T);.X.X | |
|000019a0| 20 20 20 63 61 73 65 20 | 30 78 37 46 3a 20 20 20 | case |0x7F: |
|000019b0| 20 20 20 20 20 20 20 2f | 2a 20 52 75 62 6f 75 74 | /|* Rubout|
|000019c0| 2c 20 65 72 61 73 65 2e | 20 20 20 2a 2f 0a 58 20 |, erase.| */.X |
|000019d0| 20 20 20 20 20 20 20 20 | 20 20 20 63 61 73 65 20 | | case |
|000019e0| 28 4b 43 54 52 4c 20 7c | 20 27 48 27 29 3a 20 2f |(KCTRL || 'H'): /|
|000019f0| 2a 20 42 61 63 6b 73 70 | 61 63 65 2c 20 65 72 61 |* Backsp|ace, era|
|00001a00| 73 65 2e 20 20 20 20 2a | 2f 0a 58 20 20 20 20 20 |se. *|/.X |
|00001a10| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 63 | | if (c|
|00001a20| 70 6f 73 20 21 3d 20 30 | 29 0a 58 20 20 20 20 20 |pos != 0|).X |
|00001a30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7b | | {|
|00001a40| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00001a50| 20 20 20 20 20 20 74 74 | 70 75 74 63 20 28 27 5c | tt|putc ('\|
|00001a60| 62 27 29 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |b');.X | |
|00001a70| 20 20 20 20 20 20 20 20 | 20 20 74 74 70 75 74 63 | | ttputc|
|00001a80| 20 28 27 20 27 29 3b 0a | 58 20 20 20 20 20 20 20 | (' ');.|X |
|00001a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 74 74 70 | | ttp|
|00001aa0| 75 74 63 20 28 27 5c 62 | 27 29 3b 0a 58 20 20 20 |utc ('\b|');.X |
|00001ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ac0| 20 2d 2d 74 74 63 6f 6c | 3b 0a 58 20 20 20 20 20 | --ttcol|;.X |
|00001ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | | i|
|00001ae0| 66 20 28 49 53 43 54 52 | 4c 20 28 62 75 66 5b 2d |f (ISCTR|L (buf[-|
|00001af0| 2d 63 70 6f 73 5d 29 20 | 21 3d 20 46 41 4c 53 45 |-cpos]) |!= FALSE|
|00001b00| 29 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |).X | |
|00001b10| 20 20 20 20 20 20 20 20 | 20 20 20 7b 0a 58 20 20 | | {.X |
|00001b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b30| 20 20 20 20 20 20 74 74 | 70 75 74 63 20 28 27 5c | tt|putc ('\|
|00001b40| 62 27 29 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |b');.X | |
|00001b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 74 74 | | tt|
|00001b60| 70 75 74 63 20 28 27 20 | 27 29 3b 0a 58 20 20 20 |putc (' |');.X |
|00001b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b80| 20 20 20 20 20 74 74 70 | 75 74 63 20 28 27 5c 62 | ttp|utc ('\b|
|00001b90| 27 29 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |');.X | |
|00001ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2d 2d 74 | | --t|
|00001bb0| 74 63 6f 6c 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |tcol;.X | |
|00001bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | | }|
|00001bd0| 0a 58 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X.X | |
|00001be0| 20 20 20 20 20 20 20 20 | 74 74 66 6c 75 73 68 20 | |ttflush |
|00001bf0| 28 29 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |();.X | |
|00001c00| 20 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 | | }.X |
|00001c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 72 65 61 | | brea|
|00001c20| 6b 3b 0a 58 0a 58 20 20 | 20 20 20 20 20 20 20 20 |k;.X.X | |
|00001c30| 20 20 63 61 73 65 20 28 | 4b 43 54 52 4c 20 7c 20 | case (|KCTRL | |
|00001c40| 27 55 27 29 3a 20 2f 2a | 20 43 2d 55 2c 20 6b 69 |'U'): /*| C-U, ki|
|00001c50| 6c 6c 20 6c 69 6e 65 2e | 20 20 2a 2f 0a 58 20 20 |ll line.| */.X |
|00001c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 77 68 | | wh|
|00001c70| 69 6c 65 20 28 63 70 6f | 73 20 21 3d 20 30 29 0a |ile (cpo|s != 0).|
|00001c80| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00001c90| 20 20 20 20 20 7b 0a 58 | 20 20 20 20 20 20 20 20 | {.X| |
|00001ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 74 70 75 | | ttpu|
|00001cb0| 74 63 20 28 27 5c 62 27 | 29 3b 0a 58 20 20 20 20 |tc ('\b'|);.X |
|00001cc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001cd0| 74 74 70 75 74 63 20 28 | 27 20 27 29 3b 0a 58 20 |ttputc (|' ');.X |
|00001ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001cf0| 20 20 20 74 74 70 75 74 | 63 20 28 27 5c 62 27 29 | ttput|c ('\b')|
|00001d00| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00001d10| 20 20 20 20 20 20 20 2d | 2d 74 74 63 6f 6c 3b 0a | -|-ttcol;.|
|00001d20| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00001d30| 20 20 20 20 20 69 66 20 | 28 49 53 43 54 52 4c 20 | if |(ISCTRL |
|00001d40| 28 62 75 66 5b 2d 2d 63 | 70 6f 73 5d 29 20 21 3d |(buf[--c|pos]) !=|
|00001d50| 20 46 41 4c 53 45 29 0a | 58 20 20 20 20 20 20 20 | FALSE).|X |
|00001d60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d70| 20 7b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00001d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 74 70 75 | | ttpu|
|00001d90| 74 63 20 28 27 5c 62 27 | 29 3b 0a 58 20 20 20 20 |tc ('\b'|);.X |
|00001da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001db0| 20 20 20 20 74 74 70 75 | 74 63 20 28 27 20 27 29 | ttpu|tc (' ')|
|00001dc0| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00001dd0| 20 20 20 20 20 20 20 20 | 20 20 20 74 74 70 75 74 | | ttput|
|00001de0| 63 20 28 27 5c 62 27 29 | 3b 0a 58 20 20 20 20 20 |c ('\b')|;.X |
|00001df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e00| 20 20 20 2d 2d 74 74 63 | 6f 6c 3b 0a 58 20 20 20 | --ttc|ol;.X |
|00001e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e20| 20 20 20 20 20 7d 0a 58 | 0a 58 20 20 20 20 20 20 | }.X|.X |
|00001e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a | | }.|
|00001e40| 58 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X.X | |
|00001e50| 20 20 20 74 74 66 6c 75 | 73 68 20 28 29 3b 0a 58 | ttflu|sh ();.X|
|00001e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e70| 62 72 65 61 6b 3b 0a 58 | 0a 58 20 20 20 20 20 20 |break;.X|.X |
|00001e80| 20 20 20 20 20 20 64 65 | 66 61 75 6c 74 3a 20 20 | de|fault: |
|00001e90| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 41 6c 6c | | /* All|
|00001ea0| 20 74 68 65 20 72 65 73 | 74 2e 20 20 20 20 2a 2f | the res|t. */|
|00001eb0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00001ec0| 20 20 69 66 20 28 28 63 | 70 6f 73 20 3c 20 6e 62 | if ((c|pos < nb|
|00001ed0| 75 66 20 2d 20 31 29 20 | 26 26 20 28 28 63 20 26 |uf - 1) |&& ((c &|
|00001ee0| 20 7e 4b 43 48 41 52 29 | 20 3d 3d 20 30 29 29 0a | ~KCHAR)| == 0)).|
|00001ef0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00001f00| 20 20 20 20 20 7b 0a 58 | 20 20 20 20 20 20 20 20 | {.X| |
|00001f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 75 66 5b | | buf[|
|00001f20| 63 70 6f 73 2b 2b 5d 20 | 3d 20 63 3b 0a 58 20 20 |cpos++] |= c;.X |
|00001f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f40| 20 20 65 70 75 74 63 20 | 28 63 29 3b 0a 58 20 20 | eputc |(c);.X |
|00001f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f60| 20 20 74 74 66 6c 75 73 | 68 20 28 29 3b 0a 58 20 | ttflus|h ();.X |
|00001f70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f80| 20 20 20 7d 0a 58 20 20 | 20 20 20 20 20 20 20 20 | }.X | |
|00001f90| 20 20 7d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | } | |
|00001fa0| 20 20 20 20 20 20 2f 2a | 20 45 6e 64 20 73 77 69 | /*| End swi|
|00001fb0| 74 63 68 20 2a 2f 0a 58 | 0a 58 20 20 20 20 20 20 |tch */.X|.X |
|00001fc0| 20 20 7d 0a 58 0a 58 64 | 6f 6e 65 3a 20 0a 58 20 | }.X.Xd|one: .X |
|00001fd0| 20 20 20 69 66 20 28 62 | 75 66 5b 30 5d 20 3d 3d | if (b|uf[0] ==|
|00001fe0| 20 27 5c 30 27 29 0a 58 | 20 20 20 20 20 20 20 20 | '\0').X| |
|00001ff0| 72 65 74 75 72 6e 20 28 | 46 41 4c 53 45 29 3b 0a |return (|FALSE);.|
|00002000| 58 20 20 20 20 72 65 74 | 75 72 6e 20 28 54 52 55 |X ret|urn (TRU|
|00002010| 45 29 3b 0a 58 7d 0a 58 | 0a 58 0a 58 2f 2a 0a 58 |E);.X}.X|.X.X/*.X|
|00002020| 2a 20 54 68 65 20 22 73 | 70 31 22 20 61 6e 64 20 |* The "s|p1" and |
|00002030| 22 73 70 32 22 20 70 6f | 69 6e 74 20 74 6f 20 65 |"sp2" po|int to e|
|00002040| 78 74 65 6e 64 65 64 20 | 63 6f 6d 6d 61 6e 64 0a |xtended |command.|
|00002050| 58 2a 20 73 79 6d 62 6f | 6c 20 74 61 62 6c 65 20 |X* symbo|l table |
|00002060| 65 6e 74 72 69 65 73 2e | 20 54 68 65 20 22 63 70 |entries.| The "cp|
|00002070| 6f 73 22 20 69 73 20 61 | 20 68 6f 72 69 7a 6f 6e |os" is a| horizon|
|00002080| 74 61 6c 20 70 6f 73 69 | 74 69 6f 6e 0a 58 2a 20 |tal posi|tion.X* |
|00002090| 69 6e 20 74 68 65 20 6e | 61 6d 65 2e 20 52 65 74 |in the n|ame. Ret|
|000020a0| 75 72 6e 20 74 68 65 20 | 6c 6f 6e 67 65 73 74 20 |urn the |longest |
|000020b0| 62 6c 6f 63 6b 20 6f 66 | 20 63 68 61 72 61 63 74 |block of| charact|
|000020c0| 65 72 73 20 74 68 61 74 | 20 63 61 6e 0a 58 2a 20 |ers that| can.X* |
|000020d0| 62 65 20 61 75 74 6f 63 | 6f 6d 70 6c 65 74 65 64 |be autoc|ompleted|
|000020e0| 20 61 74 20 74 68 69 73 | 20 70 6f 69 6e 74 2e 20 | at this| point. |
|000020f0| 53 6f 6d 65 74 69 6d 65 | 73 20 74 68 65 20 74 77 |Sometime|s the tw|
|00002100| 6f 20 73 79 6d 62 6f 6c | 73 0a 58 2a 20 61 72 65 |o symbol|s.X* are|
|00002110| 20 74 68 65 20 73 61 6d | 65 2c 20 62 75 74 20 74 | the sam|e, but t|
|00002120| 68 69 73 20 69 73 20 6e | 6f 72 6d 61 6c 2e 0a 58 |his is n|ormal..X|
|00002130| 2a 2f 0a 58 69 6e 74 20 | 20 20 20 20 67 65 74 78 |*/.Xint | getx|
|00002140| 74 72 61 20 28 73 70 31 | 2c 20 73 70 32 2c 20 63 |tra (sp1|, sp2, c|
|00002150| 70 6f 73 29 0a 58 53 59 | 4d 42 4f 4c 20 2a 20 73 |pos).XSY|MBOL * s|
|00002160| 70 31 3b 0a 58 53 59 4d | 42 4f 4c 20 2a 20 73 70 |p1;.XSYM|BOL * sp|
|00002170| 32 3b 0a 58 7b 0a 58 0a | 58 20 20 20 20 72 65 67 |2;.X{.X.|X reg|
|00002180| 69 73 74 65 72 20 69 6e | 74 20 20 20 20 69 3b 0a |ister in|t i;.|
|00002190| 58 0a 58 20 20 20 20 69 | 20 3d 20 63 70 6f 73 3b |X.X i| = cpos;|
|000021a0| 0a 58 20 20 20 20 66 6f | 72 20 28 3b 3b 29 0a 58 |.X fo|r (;;).X|
|000021b0| 20 20 20 20 20 20 20 20 | 7b 0a 58 0a 58 20 20 20 | |{.X.X |
|000021c0| 20 20 20 20 20 69 66 20 | 28 73 70 31 20 2d 3e 20 | if |(sp1 -> |
|000021d0| 73 5f 6e 61 6d 65 5b 69 | 5d 20 21 3d 20 73 70 32 |s_name[i|] != sp2|
|000021e0| 20 2d 3e 20 73 5f 6e 61 | 6d 65 5b 69 5d 29 0a 58 | -> s_na|me[i]).X|
|000021f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 72 65 61 | | brea|
|00002200| 6b 3b 0a 58 20 20 20 20 | 20 20 20 20 69 66 20 28 |k;.X | if (|
|00002210| 73 70 31 20 2d 3e 20 73 | 5f 6e 61 6d 65 5b 69 5d |sp1 -> s|_name[i]|
|00002220| 20 3d 3d 20 27 5c 30 27 | 29 0a 58 20 20 20 20 20 | == '\0'|).X |
|00002230| 20 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 20 | b|reak;.X |
|00002240| 20 20 20 20 20 20 20 2b | 2b 69 3b 0a 58 20 20 20 | +|+i;.X |
|00002250| 20 20 20 20 20 7d 0a 58 | 0a 58 20 20 20 20 72 65 | }.X|.X re|
|00002260| 74 75 72 6e 20 28 69 20 | 2d 20 63 70 6f 73 29 3b |turn (i |- cpos);|
|00002270| 0a 58 7d 0a 58 0a 58 2f | 2a 0a 58 2a 20 50 72 69 |.X}.X.X/|*.X* Pri|
|00002280| 6e 74 66 20 73 74 79 6c | 65 20 66 6f 72 6d 61 74 |ntf styl|e format|
|00002290| 74 69 6e 67 2e 20 54 68 | 69 73 20 69 73 0a 58 2a |ting. Th|is is.X*|
|000022a0| 20 63 61 6c 6c 65 64 20 | 62 79 20 62 6f 74 68 20 | called |by both |
|000022b0| 22 65 70 72 69 6e 74 66 | 22 20 61 6e 64 20 22 65 |"eprintf|" and "e|
|000022c0| 72 65 70 6c 79 22 2c 20 | 74 6f 20 70 72 6f 76 69 |reply", |to provi|
|000022d0| 64 65 0a 58 2a 20 66 6f | 72 6d 61 74 74 69 6e 67 |de.X* fo|rmatting|
|000022e0| 20 73 65 72 76 69 63 65 | 73 20 74 6f 20 74 68 65 | service|s to the|
|000022f0| 69 72 20 63 6c 69 65 6e | 74 73 2e 20 54 68 65 20 |ir clien|ts. The |
|00002300| 6d 6f 76 65 20 74 6f 20 | 74 68 65 0a 58 2a 20 73 |move to |the.X* s|
|00002310| 74 61 72 74 20 6f 66 20 | 74 68 65 20 65 63 68 6f |tart of |the echo|
|00002320| 20 6c 69 6e 65 2c 20 61 | 6e 64 20 74 68 65 20 65 | line, a|nd the e|
|00002330| 72 61 73 65 20 74 6f 20 | 74 68 65 20 65 6e 64 20 |rase to |the end |
|00002340| 6f 66 0a 58 2a 20 74 68 | 65 20 65 63 68 6f 20 6c |of.X* th|e echo l|
|00002350| 69 6e 65 2c 20 69 73 20 | 64 6f 6e 65 20 62 79 20 |ine, is |done by |
|00002360| 74 68 65 20 63 61 6c 6c | 65 72 2e 0a 58 2a 2f 0a |the call|er..X*/.|
|00002370| 58 76 6f 69 64 20 65 66 | 6f 72 6d 61 74 20 28 66 |Xvoid ef|ormat (f|
|00002380| 70 2c 20 61 70 29 0a 58 | 63 68 61 72 20 20 2a 66 |p, ap).X|char *f|
|00002390| 70 3b 0a 58 63 68 61 72 | 20 20 2a 61 70 3b 0a 58 |p;.Xchar| *ap;.X|
|000023a0| 7b 0a 58 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |{.X.X | registe|
|000023b0| 72 20 69 6e 74 20 20 20 | 20 63 3b 0a 58 0a 58 20 |r int | c;.X.X |
|000023c0| 20 20 20 77 68 69 6c 65 | 20 28 28 63 20 3d 20 2a | while| ((c = *|
|000023d0| 66 70 2b 2b 29 20 21 3d | 20 27 5c 30 27 29 0a 58 |fp++) !=| '\0').X|
|000023e0| 20 20 20 20 20 20 20 20 | 7b 0a 58 0a 58 20 20 20 | |{.X.X |
|000023f0| 20 20 20 20 20 69 66 20 | 28 63 20 21 3d 20 27 25 | if |(c != '%|
|00002400| 27 29 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |').X | |
|00002410| 65 70 75 74 63 20 28 63 | 29 3b 0a 58 20 20 20 20 |eputc (c|);.X |
|00002420| 20 20 20 20 65 6c 73 65 | 0a 58 20 20 20 20 20 20 | else|.X |
|00002430| 20 20 20 20 20 20 7b 0a | 58 0a 58 20 20 20 20 20 | {.|X.X |
|00002440| 20 20 20 20 20 20 20 63 | 20 3d 20 2a 66 70 2b 2b | c| = *fp++|
|00002450| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 73 |;.X | s|
|00002460| 77 69 74 63 68 20 28 63 | 29 0a 58 20 20 20 20 20 |witch (c|).X |
|00002470| 20 20 20 20 20 20 20 20 | 20 20 20 7b 0a 58 0a 58 | | {.X.X|
|00002480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002490| 63 61 73 65 20 27 64 27 | 3a 20 0a 58 20 20 20 20 |case 'd'|: .X |
|000024a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024b0| 65 70 75 74 69 20 28 2a | 28 69 6e 74 20 2a 29 20 |eputi (*|(int *) |
|000024c0| 61 70 2c 20 31 30 29 3b | 0a 58 20 20 20 20 20 20 |ap, 10);|.X |
|000024d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 70 | | ap|
|000024e0| 20 2b 3d 20 73 69 7a 65 | 6f 66 20 28 69 6e 74 29 | += size|of (int)|
|000024f0| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00002500| 20 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 0a | b|reak;.X.|
|00002510| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00002520| 20 63 61 73 65 20 27 78 | 27 3a 20 20 20 20 20 20 | case 'x|': |
|00002530| 20 2f 2a 20 6b 72 77 20 | 2a 2f 0a 58 20 20 20 20 | /* krw |*/.X |
|00002540| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002550| 65 70 75 74 69 20 28 2a | 28 69 6e 74 20 2a 29 20 |eputi (*|(int *) |
|00002560| 61 70 2c 20 31 36 29 3b | 0a 58 20 20 20 20 20 20 |ap, 16);|.X |
|00002570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 70 | | ap|
|00002580| 20 2b 3d 20 73 69 7a 65 | 6f 66 20 28 69 6e 74 29 | += size|of (int)|
|00002590| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|000025a0| 20 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 0a | b|reak;.X.|
|000025b0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|000025c0| 20 63 61 73 65 20 27 6f | 27 3a 20 0a 58 20 20 20 | case 'o|': .X |
|000025d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000025e0| 20 65 70 75 74 69 20 28 | 2a 28 69 6e 74 20 2a 29 | eputi (|*(int *)|
|000025f0| 20 61 70 2c 20 38 29 3b | 0a 58 20 20 20 20 20 20 | ap, 8);|.X |
|00002600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 61 70 | | ap|
|00002610| 20 2b 3d 20 73 69 7a 65 | 6f 66 20 28 69 6e 74 29 | += size|of (int)|
|00002620| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00002630| 20 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 0a | b|reak;.X.|
|00002640| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X | |
|00002650| 20 63 61 73 65 20 27 73 | 27 3a 20 0a 58 20 20 20 | case 's|': .X |
|00002660| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002670| 20 65 70 75 74 73 20 28 | 61 70 29 3b 0a 58 20 20 | eputs (|ap);.X |
|00002680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002690| 20 20 61 70 20 2b 3d 20 | 73 69 7a 65 6f 66 20 28 | ap += |sizeof (|
|000026a0| 63 68 61 72 20 2a 29 3b | 0a 58 20 20 20 20 20 20 |char *);|.X |
|000026b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 72 | | br|
|000026c0| 65 61 6b 3b 0a 58 0a 58 | 20 20 20 20 20 20 20 20 |eak;.X.X| |
|000026d0| 20 20 20 20 20 20 20 20 | 64 65 66 61 75 6c 74 3a | |default:|
|000026e0| 20 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | .X | |
|000026f0| 20 20 20 20 20 20 20 65 | 70 75 74 63 20 28 63 29 | e|putc (c)|
|00002700| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00002710| 20 20 20 7d 0a 58 0a 58 | 20 20 20 20 20 20 20 20 | }.X.X| |
|00002720| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 20 20 20 | }.X.|X |
|00002730| 20 7d 0a 58 0a 58 7d 0a | 58 0a 58 0a 58 2f 2a 0a | }.X.X}.|X.X.X/*.|
|00002740| 58 2a 20 50 75 74 20 69 | 6e 74 65 67 65 72 2c 20 |X* Put i|nteger, |
|00002750| 69 6e 20 72 61 64 69 78 | 20 22 72 22 2e 0a 58 2a |in radix| "r"..X*|
|00002760| 2f 0a 58 76 6f 69 64 20 | 65 70 75 74 69 20 28 69 |/.Xvoid |eputi (i|
|00002770| 2c 20 72 29 0a 58 69 6e | 74 20 20 20 20 69 3b 0a |, r).Xin|t i;.|
|00002780| 58 69 6e 74 20 20 20 20 | 72 3b 0a 58 7b 0a 58 20 |Xint |r;.X{.X |
|00002790| 20 20 20 73 74 61 74 69 | 63 20 63 68 61 72 20 2a | stati|c char *|
|000027a0| 63 6f 6e 76 65 72 74 20 | 3d 0a 58 20 20 20 20 7b |convert |=.X {|
|000027b0| 0a 58 20 20 20 20 20 20 | 20 20 4d 53 47 5f 68 65 |.X | MSG_he|
|000027c0| 78 5f 64 69 67 0a 58 20 | 20 20 20 7d 0a 58 20 20 |x_dig.X | }.X |
|000027d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 0a 58 | | ;.X|
|000027e0| 0a 58 20 20 20 20 72 65 | 67 69 73 74 65 72 20 69 |.X re|gister i|
|000027f0| 6e 74 20 20 20 20 71 3b | 0a 58 0a 58 20 20 20 20 |nt q;|.X.X |
|00002800| 69 66 20 28 28 71 20 3d | 20 69 20 2f 20 72 29 20 |if ((q =| i / r) |
|00002810| 21 3d 20 30 29 0a 58 20 | 20 20 20 20 20 20 20 65 |!= 0).X | e|
|00002820| 70 75 74 69 20 28 71 2c | 20 72 29 3b 0a 58 20 20 |puti (q,| r);.X |
|00002830| 20 20 65 70 75 74 63 20 | 28 63 6f 6e 76 65 72 74 | eputc |(convert|
|00002840| 5b 69 20 25 20 72 5d 29 | 3b 0a 58 0a 58 7d 0a 58 |[i % r])|;.X.X}.X|
|00002850| 0a 58 0a 58 2f 2a 0a 58 | 2a 20 50 75 74 20 73 74 |.X.X/*.X|* Put st|
|00002860| 72 69 6e 67 2e 0a 58 2a | 2f 0a 58 76 6f 69 64 20 |ring..X*|/.Xvoid |
|00002870| 65 70 75 74 73 20 28 73 | 29 0a 58 63 68 61 72 20 |eputs (s|).Xchar |
|00002880| 20 2a 73 3b 0a 58 7b 0a | 58 20 20 20 20 72 65 67 | *s;.X{.|X reg|
|00002890| 69 73 74 65 72 20 69 6e | 74 20 20 20 20 63 3b 0a |ister in|t c;.|
|000028a0| 58 0a 58 20 20 20 20 77 | 68 69 6c 65 20 28 28 63 |X.X w|hile ((c|
|000028b0| 20 3d 20 2a 73 2b 2b 29 | 20 21 3d 20 27 5c 30 27 | = *s++)| != '\0'|
|000028c0| 29 0a 58 20 20 20 20 20 | 20 20 20 65 70 75 74 63 |).X | eputc|
|000028d0| 20 28 63 29 3b 0a 58 7d | 0a 58 0a 58 0a 58 2f 2a | (c);.X}|.X.X.X/*|
|000028e0| 0a 58 2a 20 50 75 74 20 | 63 68 61 72 61 63 74 65 |.X* Put |characte|
|000028f0| 72 2e 20 57 61 74 63 68 | 20 66 6f 72 0a 58 2a 20 |r. Watch| for.X* |
|00002900| 63 6f 6e 74 72 6f 6c 20 | 63 68 61 72 61 63 74 65 |control |characte|
|00002910| 72 73 2c 20 61 6e 64 20 | 66 6f 72 20 74 68 65 20 |rs, and |for the |
|00002920| 6c 69 6e 65 0a 58 2a 20 | 67 65 74 74 69 6e 67 20 |line.X* |getting |
|00002930| 74 6f 6f 20 6c 6f 6e 67 | 2e 0a 58 2a 2f 0a 58 76 |too long|..X*/.Xv|
|00002940| 6f 69 64 20 65 70 75 74 | 63 20 28 63 29 0a 58 69 |oid eput|c (c).Xi|
|00002950| 6e 74 20 20 20 20 63 3b | 0a 58 7b 0a 58 0a 58 20 |nt c;|.X{.X.X |
|00002960| 20 20 20 69 66 20 28 74 | 74 63 6f 6c 20 3c 20 6e | if (t|tcol < n|
|00002970| 63 6f 6c 29 0a 58 20 20 | 20 20 20 20 20 20 7b 0a |col).X | {.|
|00002980| 58 0a 58 20 20 20 20 20 | 20 20 20 69 66 20 28 49 |X.X | if (I|
|00002990| 53 43 54 52 4c 20 28 63 | 29 20 21 3d 20 46 41 4c |SCTRL (c|) != FAL|
|000029a0| 53 45 29 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |SE).X | |
|000029b0| 20 7b 0a 58 0a 58 20 20 | 20 20 20 20 20 20 20 20 | {.X.X | |
|000029c0| 20 20 65 70 75 74 63 20 | 28 27 5e 27 29 3b 0a 58 | eputc |('^');.X|
|000029d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 20 5e 3d | | c ^=|
|000029e0| 20 30 78 34 30 3b 0a 58 | 20 20 20 20 20 20 20 20 | 0x40;.X| |
|000029f0| 20 20 20 20 7d 0a 58 0a | 58 20 20 20 20 20 20 20 | }.X.|X |
|00002a00| 20 74 74 70 75 74 63 20 | 28 63 29 3b 0a 58 20 20 | ttputc |(c);.X |
|00002a10| 20 20 20 20 20 20 2b 2b | 74 74 63 6f 6c 3b 0a 58 | ++|ttcol;.X|
|00002a20| 20 20 20 20 20 20 20 20 | 7d 0a 58 0a 58 7d 0a 58 | |}.X.X}.X|
|00002a30| 0a 45 4e 44 5f 4f 46 5f | 46 49 4c 45 0a 69 66 20 |.END_OF_|FILE.if |
|00002a40| 74 65 73 74 20 39 34 35 | 31 20 2d 6e 65 20 60 77 |test 945|1 -ne `w|
|00002a50| 63 20 2d 63 20 3c 27 65 | 63 68 6f 2e 63 27 60 3b |c -c <'e|cho.c'`;|
|00002a60| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 73 | then. | echo s|
|00002a70| 68 61 72 3a 20 5c 22 27 | 65 63 68 6f 2e 63 27 5c |har: \"'|echo.c'\|
|00002a80| 22 20 75 6e 70 61 63 6b | 65 64 20 77 69 74 68 20 |" unpack|ed with |
|00002a90| 77 72 6f 6e 67 20 73 69 | 7a 65 21 0a 66 69 0a 63 |wrong si|ze!.fi.c|
|00002aa0| 68 6d 6f 64 20 2b 78 20 | 27 65 63 68 6f 2e 63 27 |hmod +x |'echo.c'|
|00002ab0| 0a 23 20 65 6e 64 20 6f | 66 20 27 65 63 68 6f 2e |.# end o|f 'echo.|
|00002ac0| 63 27 0a 66 69 0a 69 66 | 20 74 65 73 74 20 2d 66 |c'.fi.if| test -f|
|00002ad0| 20 27 65 78 74 65 6e 64 | 2e 63 27 20 2d 61 20 22 | 'extend|.c' -a "|
|00002ae0| 24 7b 31 7d 22 20 21 3d | 20 22 2d 63 22 20 3b 20 |${1}" !=| "-c" ; |
|00002af0| 74 68 65 6e 20 0a 20 20 | 65 63 68 6f 20 73 68 61 |then . |echo sha|
|00002b00| 72 3a 20 57 69 6c 6c 20 | 6e 6f 74 20 63 6c 6f 62 |r: Will |not clob|
|00002b10| 62 65 72 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ber exis|ting fil|
|00002b20| 65 20 5c 22 27 65 78 74 | 65 6e 64 2e 63 27 5c 22 |e \"'ext|end.c'\"|
|00002b30| 0a 65 6c 73 65 0a 65 63 | 68 6f 20 73 68 61 72 3a |.else.ec|ho shar:|
|00002b40| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 27 65 | Extract|ing \"'e|
|00002b50| 78 74 65 6e 64 2e 63 27 | 5c 22 20 5c 28 38 33 30 |xtend.c'|\" \(830|
|00002b60| 31 20 63 68 61 72 61 63 | 74 65 72 73 5c 29 0a 73 |1 charac|ters\).s|
|00002b70| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 65 78 |ed "s/^X|//" >'ex|
|00002b80| 74 65 6e 64 2e 63 27 20 | 3c 3c 27 45 4e 44 5f 4f |tend.c' |<<'END_O|
|00002b90| 46 5f 46 49 4c 45 27 0a | 58 2f 2a 0a 58 2a 20 20 |F_FILE'.|X/*.X* |
|00002ba0| 20 45 78 74 65 6e 64 65 | 64 20 28 4d 2d 58 29 20 | Extende|d (M-X) |
|00002bb0| 63 6f 6d 6d 61 6e 64 73 | 2e 0a 58 2a 2f 0a 58 23 |commands|..X*/.X#|
|00002bc0| 69 6e 63 6c 75 64 65 20 | 20 20 20 22 64 65 66 2e |include | "def.|
|00002bd0| 68 22 0a 58 0a 58 65 78 | 74 65 72 6e 20 20 20 20 |h".X.Xex|tern |
|00002be0| 63 68 61 72 20 20 20 20 | 4d 53 47 5f 6e 6f 74 5f |char |MSG_not_|
|00002bf0| 6e 6f 77 5b 5d 3b 0a 58 | 65 78 74 65 72 6e 20 20 |now[];.X|extern |
|00002c00| 20 20 63 68 61 72 20 20 | 20 20 4d 53 47 5f 66 75 | char | MSG_fu|
|00002c10| 6e 63 5b 5d 3b 0a 58 65 | 78 74 65 72 6e 20 20 20 |nc[];.Xe|xtern |
|00002c20| 20 63 68 61 72 20 20 20 | 20 4d 53 47 5f 75 6e 6b | char | MSG_unk|
|00002c30| 5f 66 75 6e 63 5b 5d 3b | 0a 58 65 78 74 65 72 6e |_func[];|.Xextern|
|00002c40| 20 20 20 20 63 68 61 72 | 20 20 20 20 4d 53 47 5f | char| MSG_|
|00002c50| 63 6d 64 5f 74 5f 65 78 | 5b 5d 3b 0a 58 65 78 74 |cmd_t_ex|[];.Xext|
|00002c60| 65 72 6e 20 20 20 20 63 | 68 61 72 20 20 20 20 4d |ern c|har M|
|00002c70| 53 47 5f 75 6e 6b 5f 65 | 78 74 5b 5d 3b 0a 58 65 |SG_unk_e|xt[];.Xe|
|00002c80| 78 74 65 72 6e 20 20 20 | 20 63 68 61 72 20 20 20 |xtern | char |
|00002c90| 20 4d 53 47 5f 64 5f 62 | 5b 5d 3b 0a 58 65 78 74 | MSG_d_b|[];.Xext|
|00002ca0| 65 72 6e 20 20 20 20 63 | 68 61 72 20 20 20 20 4d |ern c|har M|
|00002cb0| 53 47 5f 75 6e 62 64 5b | 5d 3b 0a 58 65 78 74 65 |SG_unbd[|];.Xexte|
|00002cc0| 72 6e 20 20 20 20 63 68 | 61 72 20 20 20 20 4d 53 |rn ch|ar MS|
|00002cd0| 47 5f 62 6e 64 5f 74 6f | 5b 5d 3b 0a 58 65 78 74 |G_bnd_to|[];.Xext|
|00002ce0| 65 72 6e 20 20 20 20 63 | 68 61 72 20 20 20 20 4d |ern c|har M|
|00002cf0| 53 47 5f 69 6e 73 5f 73 | 65 6c 66 5b 5d 3b 0a 58 |SG_ins_s|elf[];.X|
|00002d00| 65 78 74 65 72 6e 20 20 | 20 20 63 68 61 72 20 20 |extern | char |
|00002d10| 20 20 4d 53 47 5f 62 6e | 64 5f 66 69 6c 65 5b 5d | MSG_bn|d_file[]|
|00002d20| 3b 0a 58 65 78 74 65 72 | 6e 20 20 20 20 63 68 61 |;.Xexter|n cha|
|00002d30| 72 20 20 20 20 4d 53 47 | 5f 62 6c 64 5f 77 61 6c |r MSG|_bld_wal|
|00002d40| 6c 5b 5d 3b 0a 58 65 78 | 74 65 72 6e 20 20 20 20 |l[];.Xex|tern |
|00002d50| 63 68 61 72 20 20 20 20 | 4d 53 47 5f 6e 75 6c 6c |char |MSG_null|
|00002d60| 5b 5d 3b 0a 58 0a 58 23 | 69 6e 63 6c 75 64 65 20 |[];.X.X#|include |
|00002d70| 20 20 20 22 6c 69 6e 74 | 66 75 6e 63 2e 64 65 63 | "lint|func.dec|
|00002d80| 22 0a 58 23 69 66 64 65 | 66 20 43 55 53 54 4f 4d |".X#ifde|f CUSTOM|
|00002d90| 49 5a 45 20 0a 58 73 74 | 61 74 69 63 20 63 68 61 |IZE .Xst|atic cha|
|00002da0| 72 20 2a 62 69 6e 64 6e | 6d 20 3d 0a 58 7b 30 0a |r *bindn|m =.X{0.|
|00002db0| 58 7d 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X}; | |
|00002dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002dd0| 20 2f 2a 20 66 69 6c 65 | 20 6e 61 6d 65 20 66 6f | /* file| name fo|
|00002de0| 72 20 63 75 73 74 6f 6d | 69 7a 65 64 20 6b 65 79 |r custom|ized key|
|00002df0| 20 62 69 6e 64 69 6e 67 | 73 20 2a 2f 0a 58 23 65 | binding|s */.X#e|
|00002e00| 6e 64 69 66 20 0a 58 0a | 58 2f 2a 0a 58 2a 20 54 |ndif .X.|X/*.X* T|
|00002e10| 68 69 73 20 66 75 6e 63 | 74 69 6f 6e 20 6d 6f 64 |his func|tion mod|
|00002e20| 69 66 69 65 73 20 74 68 | 65 20 6b 65 79 62 6f 61 |ifies th|e keyboa|
|00002e30| 72 64 0a 58 2a 20 62 69 | 6e 64 69 6e 67 20 74 61 |rd.X* bi|nding ta|
|00002e40| 62 6c 65 2c 20 62 79 20 | 61 64 6a 75 73 74 69 6e |ble, by |adjustin|
|00002e50| 67 20 74 68 65 20 65 6e | 74 72 69 65 73 20 69 6e |g the en|tries in|
|00002e60| 20 74 68 65 0a 58 2a 20 | 62 69 67 20 22 62 69 6e | the.X* |big "bin|
|00002e70| 64 69 6e 67 73 22 20 61 | 72 72 61 79 2e 20 4d 6f |dings" a|rray. Mo|
|00002e80| 73 74 20 6f 66 20 74 68 | 65 20 67 72 69 65 66 20 |st of th|e grief |
|00002e90| 64 65 61 6c 73 20 77 69 | 74 68 20 74 68 65 0a 58 |deals wi|th the.X|
|00002ea0| 2a 20 70 72 6f 6d 70 74 | 69 6e 67 20 66 6f 72 20 |* prompt|ing for |
|00002eb0| 61 64 64 69 74 69 6f 6e | 61 6c 20 61 72 67 75 6d |addition|al argum|
|00002ec0| 65 6e 74 73 2e 20 54 68 | 69 73 20 63 6f 64 65 20 |ents. Th|is code |
|00002ed0| 64 6f 65 73 20 6e 6f 74 | 0a 58 2a 20 77 6f 72 6b |does not|.X* work|
|00002ee0| 20 72 69 67 68 74 20 69 | 66 20 74 68 65 72 65 20 | right i|f there |
|00002ef0| 69 73 20 61 20 6b 65 79 | 62 6f 61 72 64 20 6d 61 |is a key|board ma|
|00002f00| 63 72 6f 20 66 6c 6f 61 | 74 69 6e 67 20 61 72 6f |cro floa|ting aro|
|00002f10| 75 6e 64 2e 0a 58 2a 20 | 53 68 6f 75 6c 64 20 62 |und..X* |Should b|
|00002f20| 65 20 66 69 78 65 64 2e | 0a 58 2a 2f 0a 58 62 6f |e fixed.|.X*/.Xbo|
|00002f30| 6f 6c 20 62 69 6e 64 74 | 6f 6b 65 79 20 28 29 0a |ol bindt|okey ().|
|00002f40| 58 7b 0a 58 0a 58 20 20 | 20 20 72 65 67 69 73 74 |X{.X.X | regist|
|00002f50| 65 72 20 69 6e 74 20 20 | 20 20 73 3b 0a 58 20 20 |er int | s;.X |
|00002f60| 20 20 72 65 67 69 73 74 | 65 72 20 63 68 61 72 20 | regist|er char |
|00002f70| 20 2a 63 70 3b 0a 58 20 | 20 20 20 72 65 67 69 73 | *cp;.X | regis|
|00002f80| 74 65 72 20 20 20 20 53 | 59 4d 42 4f 4c 20 2a 20 |ter S|YMBOL * |
|00002f90| 73 70 3b 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |sp;.X | registe|
|00002fa0| 72 20 69 6e 74 20 20 20 | 20 63 3b 0a 58 20 20 20 |r int | c;.X |
|00002fb0| 20 63 68 61 72 20 20 20 | 20 78 6e 61 6d 65 5b 4e | char | xname[N|
|00002fc0| 58 4e 41 4d 45 5d 3b 0a | 58 23 69 66 64 65 66 20 |XNAME];.|X#ifdef |
|00002fd0| 43 55 53 54 4f 4d 49 5a | 45 0a 58 20 20 20 20 63 |CUSTOMIZ|E.X c|
|00002fe0| 68 61 72 20 20 20 20 78 | 6e 61 6d 65 32 5b 4e 58 |har x|name2[NX|
|00002ff0| 4e 41 4d 45 5d 3b 0a 58 | 20 20 20 20 46 49 4c 45 |NAME];.X| FILE|
|00003000| 20 2a 20 62 69 6e 64 66 | 3b 0a 58 23 65 6e 64 69 | * bindf|;.X#endi|
|00003010| 66 20 0a 58 0a 58 20 20 | 20 20 69 66 20 28 6b 62 |f .X.X | if (kb|
|00003020| 64 6d 69 70 20 21 3d 20 | 4e 55 4c 4c 20 7c 7c 20 |dmip != |NULL || |
|00003030| 6b 62 64 6d 6f 70 20 21 | 3d 20 4e 55 4c 4c 29 0a |kbdmop !|= NULL).|
|00003040| 58 20 20 20 20 20 20 20 | 20 7b 0a 58 20 20 20 20 |X | {.X |
|00003050| 20 20 20 20 77 72 69 74 | 5f 65 63 68 6f 20 28 4d | writ|_echo (M|
|00003060| 53 47 5f 6e 6f 74 5f 6e | 6f 77 29 3b 0a 58 20 20 |SG_not_n|ow);.X |
|00003070| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 28 46 41 | re|turn (FA|
|00003080| 4c 53 45 29 3b 0a 58 20 | 20 20 20 20 20 20 20 7d |LSE);.X | }|
|00003090| 0a 58 0a 58 20 20 20 20 | 69 66 20 28 28 73 20 3d |.X.X |if ((s =|
|000030a0| 20 65 72 65 61 64 20 28 | 4d 53 47 5f 66 75 6e 63 | eread (|MSG_func|
|000030b0| 2c 20 78 6e 61 6d 65 2c | 20 4e 58 4e 41 4d 45 2c |, xname,| NXNAME,|
|000030c0| 20 45 46 41 55 54 4f 2c | 20 4e 55 4c 4c 29 29 20 | EFAUTO,| NULL)) |
|000030d0| 21 3d 20 54 52 55 45 29 | 0a 58 20 20 20 20 20 20 |!= TRUE)|.X |
|000030e0| 20 20 72 65 74 75 72 6e | 20 28 73 29 3b 0a 58 20 | return| (s);.X |
|000030f0| 20 20 20 69 66 20 28 28 | 73 70 20 3d 20 73 79 6d | if ((|sp = sym|
|00003100| 6c 6f 6f 6b 75 70 20 28 | 78 6e 61 6d 65 29 29 20 |lookup (|xname)) |
|00003110| 3d 3d 20 4e 55 4c 4c 29 | 0a 58 20 20 20 20 20 20 |== NULL)|.X |
|00003120| 20 20 7b 0a 58 20 20 20 | 20 20 20 20 20 77 72 69 | {.X | wri|
|00003130| 74 5f 65 63 68 6f 20 28 | 4d 53 47 5f 75 6e 6b 5f |t_echo (|MSG_unk_|
|00003140| 66 75 6e 63 29 3b 0a 58 | 20 20 20 20 20 20 20 20 |func);.X| |
|00003150| 72 65 74 75 72 6e 20 28 | 46 41 4c 53 45 29 3b 0a |return (|FALSE);.|
|00003160| 58 20 20 20 20 20 20 20 | 20 7d 0a 58 0a 58 23 69 |X | }.X.X#i|
|00003170| 66 64 65 66 20 43 55 53 | 54 4f 4d 49 5a 45 0a 58 |fdef CUS|TOMIZE.X|
|00003180| 20 20 20 20 73 74 72 63 | 70 79 20 28 78 6e 61 6d | strc|py (xnam|
|00003190| 65 32 2c 20 78 6e 61 6d | 65 29 3b 0a 58 23 65 6e |e2, xnam|e);.X#en|
|000031a0| 64 69 66 20 0a 58 20 20 | 20 20 65 70 75 74 63 20 |dif .X | eputc |
|000031b0| 28 27 20 27 29 3b 0a 58 | 20 20 20 20 65 70 75 74 |(' ');.X| eput|
|000031c0| 63 20 28 27 4b 27 29 3b | 0a 58 20 20 20 20 65 70 |c ('K');|.X ep|
|000031d0| 75 74 63 20 28 27 65 27 | 29 3b 0a 58 20 20 20 20 |utc ('e'|);.X |
|000031e0| 65 70 75 74 63 20 28 27 | 79 27 29 3b 0a 58 20 20 |eputc ('|y');.X |
|000031f0| 20 20 65 70 75 74 63 20 | 28 27 3a 27 29 3b 0a 58 | eputc |(':');.X|
|00003200| 20 20 20 20 65 70 75 74 | 63 20 28 27 20 27 29 3b | eput|c (' ');|
|00003210| 0a 58 20 20 20 20 74 74 | 66 6c 75 73 68 20 28 29 |.X tt|flush ()|
|00003220| 3b 0a 58 20 20 20 20 63 | 20 3d 20 67 65 74 6b 65 |;.X c| = getke|
|00003230| 79 20 28 29 3b 20 20 20 | 20 20 20 20 20 20 20 20 |y (); | |
|00003240| 20 20 20 2f 2a 20 52 65 | 61 64 20 6b 65 79 2e 20 | /* Re|ad key. |
|00003250| 20 20 20 20 20 20 20 2a | 2f 0a 58 20 20 20 20 6b | *|/.X k|
|00003260| 65 79 6e 61 6d 65 20 28 | 78 6e 61 6d 65 2c 20 63 |eyname (|xname, c|
|00003270| 29 3b 20 20 20 20 20 20 | 20 20 20 2f 2a 20 44 69 |); | /* Di|
|00003280| 73 70 6c 61 79 20 6b 65 | 79 6e 61 6d 65 2e 20 2a |splay ke|yname. *|
|00003290| 2f 0a 58 20 20 20 20 65 | 70 75 74 73 20 28 78 6e |/.X e|puts (xn|
|000032a0| 61 6d 65 29 3b 0a 58 20 | 20 20 20 74 74 66 6c 75 |ame);.X | ttflu|
|000032b0| 73 68 20 28 29 3b 0a 58 | 20 20 20 20 69 66 20 28 |sh ();.X| if (|
|000032c0| 62 69 6e 64 69 6e 67 5b | 63 5d 20 21 3d 20 4e 55 |binding[|c] != NU|
|000032d0| 4c 4c 29 20 20 20 20 20 | 2f 2a 20 55 6e 62 69 6e |LL) |/* Unbin|
|000032e0| 64 20 6f 6c 64 2c 20 61 | 6e 64 20 20 2a 2f 0a 58 |d old, a|nd */.X|
|000032f0| 20 20 20 20 20 20 20 20 | 2d 2d 62 69 6e 64 69 6e | |--bindin|
|00003300| 67 5b 63 5d 20 2d 3e 20 | 73 5f 6e 6b 65 79 3b 0a |g[c] -> |s_nkey;.|
|00003310| 58 20 20 20 20 62 69 6e | 64 69 6e 67 5b 63 5d 20 |X bin|ding[c] |
|00003320| 3d 20 73 70 3b 20 20 20 | 20 20 20 20 20 20 20 20 |= sp; | |
|00003330| 20 2f 2a 20 72 65 62 69 | 6e 64 20 6e 65 77 2e 20 | /* rebi|nd new. |
|00003340| 20 20 20 20 20 2a 2f 0a | 58 20 20 20 20 2b 2b 73 | */.|X ++s|
|00003350| 70 20 2d 3e 20 73 5f 6e | 6b 65 79 3b 0a 58 0a 58 |p -> s_n|key;.X.X|
|00003360| 23 69 66 64 65 66 20 43 | 55 53 54 4f 4d 49 5a 45 |#ifdef C|USTOMIZE|
|00003370| 0a 58 20 2f 2a 20 73 61 | 76 65 20 74 68 65 20 73 |.X /* sa|ve the s|
|00003380| 74 75 66 66 20 69 6e 20 | 74 68 65 20 62 65 61 76 |tuff in |the beav|
|00003390| 66 69 6c 20 2a 20 28 68 | 61 63 6b 20 21 21 20 69 |fil * (h|ack !! i|
|000033a0| 6e 74 65 72 6e 61 6c 20 | 66 69 6c 65 20 69 6f 20 |nternal |file io |
|000033b0| 21 29 20 2a 2f 0a 58 20 | 20 20 20 69 66 20 28 62 |!) */.X | if (b|
|000033c0| 69 6e 64 66 20 3d 20 66 | 6f 70 65 6e 20 28 62 69 |indf = f|open (bi|
|000033d0| 6e 64 6e 6d 2c 20 22 61 | 22 29 29 0a 58 20 20 20 |ndnm, "a|")).X |
|000033e0| 20 20 20 20 20 7b 0a 58 | 20 20 20 20 20 20 20 20 | {.X| |
|000033f0| 66 70 72 69 6e 74 66 20 | 28 62 69 6e 64 66 2c 20 |fprintf |(bindf, |
|00003400| 22 25 2d 31 36 73 20 25 | 2d 31 36 73 20 25 30 34 |"%-16s %|-16s %04|
|00003410| 78 5c 6e 22 2c 20 78 6e | 61 6d 65 2c 20 78 6e 61 |x\n", xn|ame, xna|
|00003420| 6d 65 32 2c 20 63 29 3b | 0a 58 20 20 20 20 20 20 |me2, c);|.X |
|00003430| 20 20 66 63 6c 6f 73 65 | 20 28 62 69 6e 64 66 29 | fclose| (bindf)|
|00003440| 3b 0a 58 20 20 20 20 20 | 20 20 20 7d 0a 58 23 65 |;.X | }.X#e|
|00003450| 6e 64 69 66 0a 58 20 20 | 20 20 72 65 74 75 72 6e |ndif.X | return|
|00003460| 20 28 54 52 55 45 29 3b | 0a 58 7d 0a 58 0a 58 0a | (TRUE);|.X}.X.X.|
|00003470| 58 2f 2a 0a 58 2a 20 45 | 78 74 65 6e 64 65 64 20 |X/*.X* E|xtended |
|00003480| 63 6f 6d 6d 61 6e 64 2e | 20 43 61 6c 6c 20 74 68 |command.| Call th|
|00003490| 65 20 6d 65 73 73 61 67 | 65 20 6c 69 6e 65 0a 58 |e messag|e line.X|
|000034a0| 2a 20 72 6f 75 74 69 6e | 65 20 74 6f 20 72 65 61 |* routin|e to rea|
|000034b0| 64 20 69 6e 20 74 68 65 | 20 63 6f 6d 6d 61 6e 64 |d in the| command|
|000034c0| 20 6e 61 6d 65 20 61 6e | 64 20 61 70 70 6c 79 20 | name an|d apply |
|000034d0| 61 75 74 6f 63 6f 6d 70 | 6c 65 74 69 6f 6e 0a 58 |autocomp|letion.X|
|000034e0| 2a 20 74 6f 20 69 74 2e | 20 57 68 65 6e 20 69 74 |* to it.| When it|
|000034f0| 20 63 6f 6d 65 73 20 62 | 61 63 6b 2c 20 6c 6f 6f | comes b|ack, loo|
|00003500| 6b 20 74 68 65 20 6e 61 | 6d 65 20 75 70 20 69 6e |k the na|me up in|
|00003510| 20 74 68 65 20 73 79 6d | 62 6f 6c 20 74 61 62 6c | the sym|bol tabl|
|00003520| 65 0a 58 2a 20 61 6e 64 | 20 72 75 6e 20 74 68 65 |e.X* and| run the|
|00003530| 20 63 6f 6d 6d 61 6e 64 | 20 69 66 20 69 74 20 69 | command| if it i|
|00003540| 73 20 66 6f 75 6e 64 20 | 61 6e 64 20 68 61 73 20 |s found |and has |
|00003550| 74 68 65 20 72 69 67 68 | 74 20 74 79 70 65 2e 0a |the righ|t type..|
|00003560| 58 2a 20 50 72 69 6e 74 | 20 61 6e 20 65 72 72 6f |X* Print| an erro|
|00003570| 72 20 69 66 20 74 68 65 | 72 65 20 69 73 20 61 6e |r if the|re is an|
|00003580| 79 74 68 69 6e 67 20 77 | 72 6f 6e 67 2e 0a 58 2a |ything w|rong..X*|
|00003590| 2f 0a 58 63 68 61 72 20 | 20 20 20 65 78 74 65 6e |/.Xchar | exten|
|000035a0| 64 20 28 66 2c 20 6e 2c | 20 6b 29 0a 58 7b 0a 58 |d (f, n,| k).X{.X|
|000035b0| 0a 58 20 20 20 20 72 65 | 67 69 73 74 65 72 20 20 |.X re|gister |
|000035c0| 20 20 53 59 4d 42 4f 4c | 20 2a 20 73 70 3b 0a 58 | SYMBOL| * sp;.X|
|000035d0| 20 20 20 20 72 65 67 69 | 73 74 65 72 20 63 68 61 | regi|ster cha|
|000035e0| 72 20 20 20 73 3b 0a 58 | 20 20 20 20 63 68 61 72 |r s;.X| char|
|000035f0| 20 20 20 20 78 6e 61 6d | 65 5b 4e 58 4e 41 4d 45 | xnam|e[NXNAME|
|00003600| 5d 3b 0a 58 0a 58 20 20 | 20 20 69 66 20 28 28 73 |];.X.X | if ((s|
|00003610| 20 3d 20 65 72 65 61 64 | 20 28 4d 53 47 5f 63 6d | = eread| (MSG_cm|
|00003620| 64 5f 74 5f 65 78 2c 20 | 78 6e 61 6d 65 2c 20 4e |d_t_ex, |xname, N|
|00003630| 58 4e 41 4d 45 2c 20 45 | 46 4e 45 57 20 7c 20 45 |XNAME, E|FNEW | E|
|00003640| 46 41 55 54 4f 2c 20 4e | 55 4c 4c 29 29 20 21 3d |FAUTO, N|ULL)) !=|
|00003650| 20 54 52 55 45 29 0a 58 | 20 20 20 20 20 20 20 20 | TRUE).X| |
|00003660| 72 65 74 75 72 6e 20 28 | 73 29 3b 0a 58 20 20 20 |return (|s);.X |
|00003670| 20 69 66 20 28 28 73 70 | 20 3d 20 73 79 6d 6c 6f | if ((sp| = symlo|
|00003680| 6f 6b 75 70 20 28 78 6e | 61 6d 65 29 29 20 21 3d |okup (xn|ame)) !=|
|00003690| 20 4e 55 4c 4c 29 0a 58 | 20 20 20 20 20 20 20 20 | NULL).X| |
|000036a0| 72 65 74 75 72 6e 20 28 | 28 2a 73 70 20 2d 3e 20 |return (|(*sp -> |
|000036b0| 73 5f 66 75 6e 63 70 29 | 20 28 66 2c 20 6e 2c 20 |s_funcp)| (f, n, |
|000036c0| 4b 52 41 4e 44 4f 4d 29 | 29 3b 0a 58 20 20 20 20 |KRANDOM)|);.X |
|000036d0| 77 72 69 74 5f 65 63 68 | 6f 20 28 4d 53 47 5f 75 |writ_ech|o (MSG_u|
|000036e0| 6e 6b 5f 65 78 74 29 3b | 0a 58 20 20 20 20 72 65 |nk_ext);|.X re|
|000036f0| 74 75 72 6e 20 28 41 42 | 4f 52 54 29 3b 0a 58 7d |turn (AB|ORT);.X}|
|00003700| 0a 58 0a 58 0a 58 2f 2a | 0a 58 2a 20 52 65 61 64 |.X.X.X/*|.X* Read|
|00003710| 20 61 20 6b 65 79 20 66 | 72 6f 6d 20 74 68 65 20 | a key f|rom the |
|00003720| 6b 65 79 62 6f 61 72 64 | 2c 20 61 6e 64 20 6c 6f |keyboard|, and lo|
|00003730| 6f 6b 20 69 74 0a 58 2a | 20 75 70 20 69 6e 20 74 |ok it.X*| up in t|
|00003740| 68 65 20 62 69 6e 64 69 | 6e 67 20 74 61 62 6c 65 |he bindi|ng table|
|00003750| 2e 20 44 69 73 70 6c 61 | 79 20 74 68 65 20 6e 61 |. Displa|y the na|
|00003760| 6d 65 20 6f 66 20 74 68 | 65 20 66 75 6e 63 74 69 |me of th|e functi|
|00003770| 6f 6e 0a 58 2a 20 63 75 | 72 72 65 6e 74 6c 79 20 |on.X* cu|rrently |
|00003780| 62 6f 75 6e 64 20 74 6f | 20 74 68 65 20 6b 65 79 |bound to| the key|
|00003790| 2e 20 53 61 79 20 74 68 | 61 74 20 74 68 65 20 6b |. Say th|at the k|
|000037a0| 65 79 20 69 73 20 6e 6f | 74 20 62 6f 75 6e 64 0a |ey is no|t bound.|
|000037b0| 58 2a 20 69 66 20 69 74 | 20 69 73 20 69 6e 64 65 |X* if it| is inde|
|000037c0| 65 64 20 6e 6f 74 20 62 | 6f 75 6e 64 2c 20 6f 72 |ed not b|ound, or|
|000037d0| 20 69 66 20 74 68 65 20 | 74 79 70 65 20 69 73 20 | if the |type is |
|000037e0| 6e 6f 74 20 61 0a 58 2a | 20 22 62 75 69 6c 74 69 |not a.X*| "builti|
|000037f0| 6e 22 2e 20 54 68 69 73 | 20 69 73 20 61 20 62 69 |n". This| is a bi|
|00003800| 74 20 6f 66 20 6f 76 65 | 72 6b 69 6c 6c 2c 20 62 |t of ove|rkill, b|
|00003810| 65 63 61 75 73 65 20 74 | 68 69 73 20 69 73 20 74 |ecause t|his is t|
|00003820| 68 65 0a 58 2a 20 6f 6e | 6c 79 20 6b 69 6e 64 20 |he.X* on|ly kind |
|00003830| 6f 66 20 66 75 6e 63 74 | 69 6f 6e 20 74 68 65 72 |of funct|ion ther|
|00003840| 65 20 69 73 2e 0a 58 2a | 2f 0a 58 62 6f 6f 6c 20 |e is..X*|/.Xbool |
|00003850| 68 65 6c 70 20 28 29 0a | 58 7b 0a 58 20 20 20 20 |help ().|X{.X |
|00003860| 72 65 67 69 73 74 65 72 | 20 20 20 20 53 59 4d 42 |register| SYMB|
|00003870| 4f 4c 20 2a 20 73 70 3b | 0a 58 20 20 20 20 72 65 |OL * sp;|.X re|
|00003880| 67 69 73 74 65 72 20 69 | 6e 74 20 20 20 20 63 3b |gister i|nt c;|
|00003890| 0a 58 20 20 20 20 63 68 | 61 72 20 20 20 20 62 5b |.X ch|ar b[|
|000038a0| 32 30 5d 3b 0a 58 20 20 | 20 20 63 68 61 72 20 20 |20];.X | char |
|000038b0| 20 20 62 75 66 5b 38 30 | 5d 3b 0a 58 0a 58 20 20 | buf[80|];.X.X |
|000038c0| 20 20 77 72 69 74 5f 65 | 63 68 6f 20 28 4d 53 47 | writ_e|cho (MSG|
|000038d0| 5f 64 5f 62 29 3b 0a 58 | 0a 58 20 20 20 20 63 20 |_d_b);.X|.X c |
|000038e0| 3d 20 67 65 74 6b 65 79 | 20 28 29 3b 0a 58 20 20 |= getkey| ();.X |
|000038f0| 20 20 6b 65 79 6e 61 6d | 65 20 28 62 2c 20 63 29 | keynam|e (b, c)|
|00003900| 3b 0a 58 20 20 20 20 69 | 66 20 28 28 73 70 20 3d |;.X i|f ((sp =|
|00003910| 20 62 69 6e 64 69 6e 67 | 5b 63 5d 29 20 3d 3d 20 | binding|[c]) == |
|00003920| 4e 55 4c 4c 29 0a 58 20 | 20 20 20 20 20 20 20 7b |NULL).X | {|
|00003930| 0a 58 20 20 20 20 20 20 | 20 20 73 70 72 69 6e 74 |.X | sprint|
|00003940| 66 20 28 62 75 66 2c 20 | 4d 53 47 5f 75 6e 62 64 |f (buf, |MSG_unbd|
|00003950| 2c 20 62 29 3b 0a 58 20 | 20 20 20 20 20 20 20 77 |, b);.X | w|
|00003960| 72 69 74 5f 65 63 68 6f | 20 28 62 75 66 29 3b 0a |rit_echo| (buf);.|
|00003970| 58 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 |X | }.X |
|00003980| 65 6c 73 65 0a 58 20 20 | 20 20 20 20 20 20 7b 0a |else.X | {.|
|00003990| 58 20 20 20 20 20 20 20 | 20 73 70 72 69 6e 74 66 |X | sprintf|
|000039a0| 20 28 62 75 66 2c 20 4d | 53 47 5f 62 6e 64 5f 74 | (buf, M|SG_bnd_t|
|000039b0| 6f 2c 20 62 2c 20 73 70 | 20 2d 3e 20 73 5f 6e 61 |o, b, sp| -> s_na|
|000039c0| 6d 65 29 3b 0a 58 20 20 | 20 20 20 20 20 20 77 72 |me);.X | wr|
|000039d0| 69 74 5f 65 63 68 6f 20 | 28 62 75 66 29 3b 0a 58 |it_echo |(buf);.X|
|000039e0| 20 20 20 20 20 20 20 20 | 7d 0a 58 20 20 20 20 72 | |}.X r|
|000039f0| 65 74 75 72 6e 20 28 54 | 52 55 45 29 3b 0a 58 7d |eturn (T|RUE);.X}|
|00003a00| 0a 58 0a 58 2f 2a 0a 58 | 2a 20 20 20 53 6f 72 74 |.X.X/*.X|* Sort|
|00003a10| 20 74 68 65 20 6c 69 6e | 65 73 20 69 6e 20 74 68 | the lin|es in th|
|00003a20| 65 20 62 75 66 66 65 72 | 2e 0a 58 2a 2f 0a 58 76 |e buffer|..X*/.Xv|
|00003a30| 6f 69 64 20 20 20 20 73 | 6f 72 74 5f 62 75 66 20 |oid s|ort_buf |
|00003a40| 28 62 5f 70 74 72 2c 20 | 63 6e 74 29 0a 58 42 55 |(b_ptr, |cnt).XBU|
|00003a50| 46 46 45 52 20 20 2a 62 | 5f 70 74 72 3b 0a 58 69 |FFER *b|_ptr;.Xi|
|00003a60| 6e 74 20 20 20 20 20 63 | 6e 74 3b 0a 58 20 20 20 |nt c|nt;.X |
|00003a70| 20 7b 0a 58 20 20 20 20 | 4c 49 4e 45 20 20 20 20 | {.X |LINE |
|00003a80| 2a 6c 70 31 2c 20 2a 6c | 70 32 3b 0a 58 20 20 20 |*lp1, *l|p2;.X |
|00003a90| 20 62 6f 6f 6c 20 20 20 | 20 6e 6f 5f 73 77 61 70 | bool | no_swap|
|00003aa0| 3b 0a 58 20 20 20 20 69 | 6e 74 20 20 20 20 20 6c |;.X i|nt l|
|00003ab0| 6f 6f 70 31 2c 20 6c 6f | 6f 70 32 3b 0a 58 0a 58 |oop1, lo|op2;.X.X|
|00003ac0| 20 20 20 20 66 6f 72 20 | 28 6c 6f 6f 70 31 20 3d | for |(loop1 =|
|00003ad0| 20 63 6e 74 3b 20 6c 6f | 6f 70 31 20 3e 20 30 3b | cnt; lo|op1 > 0;|
|00003ae0| 20 6c 6f 6f 70 31 2d 2d | 29 0a 58 20 20 20 20 20 | loop1--|).X |
|00003af0| 20 20 20 7b 0a 58 20 20 | 20 20 20 20 20 20 6e 6f | {.X | no|
|00003b00| 5f 73 77 61 70 20 3d 20 | 54 52 55 45 3b 0a 58 20 |_swap = |TRUE;.X |
|00003b10| 20 20 20 20 20 20 20 6c | 70 31 20 3d 20 62 5f 70 | l|p1 = b_p|
|00003b20| 74 72 20 2d 3e 20 62 5f | 6c 69 6e 65 70 20 2d 3e |tr -> b_|linep ->|
|00003b30| 20 6c 5f 66 70 3b 20 2f | 2a 20 70 6f 69 6e 74 20 | l_fp; /|* point |
|00003b40| 74 6f 20 66 69 72 73 74 | 20 6c 69 6e 65 20 2a 2f |to first| line */|
|00003b50| 0a 58 20 20 20 20 20 20 | 20 20 6c 70 32 20 3d 20 |.X | lp2 = |
|00003b60| 6c 70 31 20 2d 3e 20 6c | 5f 66 70 3b 20 20 20 20 |lp1 -> l|_fp; |
|00003b70| 20 20 2f 2a 20 70 6f 69 | 6e 74 20 74 6f 20 6e 65 | /* poi|nt to ne|
|00003b80| 78 74 20 6c 69 6e 65 20 | 2a 2f 0a 58 20 20 20 20 |xt line |*/.X |
|00003b90| 20 20 20 20 66 6f 72 20 | 28 6c 6f 6f 70 32 20 3d | for |(loop2 =|
|00003ba0| 20 30 3b 20 6c 6f 6f 70 | 32 20 3c 3d 20 6c 6f 6f | 0; loop|2 <= loo|
|00003bb0| 70 31 3b 20 6c 6f 6f 70 | 32 2b 2b 29 0a 58 20 20 |p1; loop|2++).X |
|00003bc0| 20 20 20 20 20 20 20 20 | 20 20 7b 0a 58 20 20 20 | | {.X |
|00003bd0| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 63 6f 6d 70 | | /* comp|
|00003be0| 61 72 65 20 73 74 72 69 | 6e 67 73 20 61 6e 64 20 |are stri|ngs and |
|00003bf0| 73 77 61 70 20 69 66 20 | 6e 65 63 65 73 73 61 72 |swap if |necessar|
|00003c00| 79 20 2a 2f 0a 58 20 20 | 20 20 20 20 20 20 20 20 |y */.X | |
|00003c10| 20 20 69 66 20 28 30 20 | 3c 20 73 74 72 63 6d 70 | if (0 |< strcmp|
|00003c20| 20 28 6c 70 31 20 2d 3e | 20 6c 5f 74 65 78 74 2c | (lp1 ->| l_text,|
|00003c30| 20 6c 70 32 20 2d 3e 20 | 6c 5f 74 65 78 74 29 29 | lp2 -> |l_text))|
|00003c40| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00003c50| 20 20 7b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00003c60| 20 20 20 20 20 6c 70 31 | 20 2d 3e 20 6c 5f 62 70 | lp1| -> l_bp|
|00003c70| 20 2d 3e 20 6c 5f 66 70 | 20 3d 20 6c 70 32 3b 20 | -> l_fp| = lp2; |
|00003c80| 20 2f 2a 20 67 65 74 20 | 70 6f 69 6e 74 65 72 20 | /* get |pointer |
|00003c90| 74 6f 20 66 69 72 73 74 | 20 73 74 72 69 6e 67 20 |to first| string |
|00003ca0| 2a 2f 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |*/.X | |
|00003cb0| 20 20 20 20 6c 70 32 20 | 2d 3e 20 6c 5f 66 70 20 | lp2 |-> l_fp |
|00003cc0| 2d 3e 20 6c 5f 62 70 20 | 3d 20 6c 70 31 3b 20 20 |-> l_bp |= lp1; |
|00003cd0| 2f 2a 20 6d 61 6b 65 20 | 69 74 20 70 6f 69 6e 74 |/* make |it point|
|00003ce0| 20 74 6f 20 73 65 63 6f | 6e 64 20 73 74 72 69 6e | to seco|nd strin|
|00003cf0| 67 20 2a 2f 0a 58 0a 58 | 20 20 20 20 20 20 20 20 |g */.X.X| |
|00003d00| 20 20 20 20 20 20 20 20 | 6c 70 31 20 2d 3e 20 6c | |lp1 -> l|
|00003d10| 5f 66 70 20 3d 20 6c 70 | 32 20 2d 3e 20 6c 5f 66 |_fp = lp|2 -> l_f|
|00003d20| 70 3b 20 20 0a 58 20 20 | 20 20 20 20 20 20 20 20 |p; .X | |
|00003d30| 20 20 20 20 20 20 6c 70 | 32 20 2d 3e 20 6c 5f 62 | lp|2 -> l_b|
|00003d40| 70 20 3d 20 6c 70 31 20 | 2d 3e 20 6c 5f 62 70 3b |p = lp1 |-> l_bp;|
|00003d50| 20 20 0a 58 0a 58 20 20 | 20 20 20 20 20 20 20 20 | .X.X | |
|00003d60| 20 20 20 20 20 20 6c 70 | 31 20 2d 3e 20 6c 5f 62 | lp|1 -> l_b|
|00003d70| 70 20 3d 20 6c 70 32 3b | 20 20 0a 58 20 20 20 20 |p = lp2;| .X |
|00003d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 6c 70 32 20 | | lp2 |
|00003d90| 2d 3e 20 6c 5f 66 70 20 | 3d 20 6c 70 31 3b 0a 58 |-> l_fp |= lp1;.X|
|00003da0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00003db0| 20 20 6c 70 32 20 2d 3e | 20 6c 5f 66 69 6c 65 5f | lp2 ->| l_file_|
|00003dc0| 6f 66 66 73 65 74 20 3d | 20 6c 70 31 20 2d 3e 20 |offset =| lp1 -> |
|00003dd0| 6c 5f 66 69 6c 65 5f 6f | 66 66 73 65 74 3b 0a 58 |l_file_o|ffset;.X|
|00003de0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003df0| 6c 70 31 20 2d 3e 20 6c | 5f 66 69 6c 65 5f 6f 66 |lp1 -> l|_file_of|
|00003e00| 66 73 65 74 20 3d 20 6c | 70 32 20 2d 3e 20 6c 5f |fset = l|p2 -> l_|
|00003e10| 66 69 6c 65 5f 6f 66 66 | 73 65 74 20 2b 20 6c 70 |file_off|set + lp|
|00003e20| 32 20 2d 3e 20 6c 5f 75 | 73 65 64 3b 0a 58 0a 58 |2 -> l_u|sed;.X.X|
|00003e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e40| 6e 6f 5f 73 77 61 70 20 | 3d 20 46 41 4c 53 45 3b |no_swap |= FALSE;|
|00003e50| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X | |
|00003e60| 20 20 7d 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | }.X | |
|00003e70| 20 65 6c 73 65 0a 58 20 | 20 20 20 20 20 20 20 20 | else.X | |
|00003e80| 20 20 20 20 20 20 20 7b | 0a 58 20 20 20 20 20 20 | {|.X |
|00003e90| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 69 66 20 | | /* if |
|00003ea0| 6e 6f 20 73 77 61 70 20 | 74 68 65 6e 20 61 64 76 |no swap |then adv|
|00003eb0| 61 6e 63 65 20 62 6f 74 | 68 20 70 6f 69 6e 74 65 |ance bot|h pointe|
|00003ec0| 72 73 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 20 |rs */.X | |
|00003ed0| 20 20 20 20 20 20 20 6c | 70 31 20 3d 20 6c 70 32 | l|p1 = lp2|
|00003ee0| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.X | |
|00003ef0| 20 20 20 7d 0a 58 20 20 | 20 20 20 20 20 20 20 20 | }.X | |
|00003f00| 20 20 6c 70 32 20 3d 20 | 6c 70 31 20 2d 3e 20 6c | lp2 = |lp1 -> l|
|00003f10| 5f 66 70 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |_fp;.X | |
|00003f20| 20 20 7d 0a 58 20 20 20 | 20 20 20 20 20 2f 2a 20 | }.X | /* |
|00003f30| 71 75 69 63 6b 20 65 78 | 69 74 20 69 66 20 73 6f |quick ex|it if so|
|00003f40| 72 74 20 69 73 20 66 69 | 6e 69 73 68 65 64 20 73 |rt is fi|nished s|
|00003f50| 6f 6f 6e 65 72 20 74 68 | 61 6e 20 65 78 70 65 63 |ooner th|an expec|
|00003f60| 74 65 64 20 2a 2f 0a 58 | 20 20 20 20 20 20 20 20 |ted */.X| |
|00003f70| 69 66 20 28 6e 6f 5f 73 | 77 61 70 29 0a 58 20 20 |if (no_s|wap).X |
|00003f80| 20 20 20 20 20 20 20 20 | 20 20 7b 20 20 20 0a 58 | | { .X|
|00003f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 65 74 75 | | retu|
|00003fa0| 72 6e 3b 20 0a 58 20 20 | 20 20 20 20 20 20 20 20 |rn; .X | |
|00003fb0| 20 20 7d 0a 58 20 20 20 | 20 20 20 20 20 7d 0a 58 | }.X | }.X|
|00003fc0| 20 20 20 20 7d 0a 58 0a | 58 2f 2a 0a 58 2a 20 54 | }.X.|X/*.X* T|
|00003fd0| 68 69 73 20 66 75 6e 63 | 74 69 6f 6e 20 63 72 65 |his func|tion cre|
|00003fe0| 61 74 65 73 20 61 20 74 | 61 62 6c 65 2c 20 6c 69 |ates a t|able, li|
|00003ff0| 73 74 69 6e 67 20 61 6c | 6c 0a 58 2a 20 6f 66 20 |sting al|l.X* of |
|00004000| 74 68 65 20 63 6f 6d 6d | 61 6e 64 20 6b 65 79 73 |the comm|and keys|
|00004010| 20 61 6e 64 20 74 68 65 | 69 72 20 63 75 72 72 65 | and the|ir curre|
|00004020| 6e 74 20 62 69 6e 64 69 | 6e 67 73 2c 20 61 6e 64 |nt bindi|ngs, and|
|00004030| 20 73 74 6f 72 65 73 0a | 58 2a 20 74 68 65 20 74 | stores.|X* the t|
|00004040| 61 62 6c 65 20 69 6e 20 | 74 68 65 20 73 74 61 6e |able in |the stan|
|00004050| 64 61 72 64 20 70 6f 70 | 2d 6f 70 20 62 75 66 66 |dard pop|-op buff|
|00004060| 65 72 20 28 74 68 65 20 | 6f 6e 65 20 75 73 65 64 |er (the |one used|
|00004070| 20 62 79 20 74 68 65 0a | 58 2a 20 64 69 72 65 63 | by the.|X* direc|
|00004080| 74 6f 72 79 20 6c 69 73 | 74 20 63 6f 6d 6d 61 6e |tory lis|t comman|
|00004090| 64 2c 20 74 68 65 20 62 | 75 66 66 65 72 20 6c 69 |d, the b|uffer li|
|000040a0| 73 74 20 63 6f 6d 6d 61 | 6e 64 2c 20 65 74 63 2e |st comma|nd, etc.|
|000040b0| 29 2e 20 54 68 69 73 0a | 58 2a 20 6c 65 74 73 20 |). This.|X* lets |
|000040c0| 74 68 65 20 65 64 69 74 | 6f 72 20 70 72 6f 64 75 |the edit|or produ|
|000040d0| 63 65 20 69 74 27 73 20 | 6f 77 6e 20 77 61 6c 6c |ce it's |own wall|
|000040e0| 20 63 68 61 72 74 2e 20 | 54 68 65 20 62 69 6e 64 | chart. |The bind|
|000040f0| 69 6e 67 73 20 74 6f 0a | 58 2a 20 22 69 6e 73 2d |ings to.|X* "ins-|
|00004100| 73 65 6c 66 22 20 61 72 | 65 20 6f 6e 6c 79 20 64 |self" ar|e only d|
|00004110| 69 73 70 6c 61 79 65 64 | 20 69 66 20 74 68 65 72 |isplayed| if ther|
|00004120| 65 20 69 73 20 61 6e 20 | 61 72 67 75 6d 65 6e 74 |e is an |argument|
|00004130| 2e 0a 58 2a 2f 0a 58 63 | 68 61 72 20 20 20 20 77 |..X*/.Xc|har w|
|00004140| 61 6c 6c 63 68 61 72 74 | 20 28 66 2c 20 6e 2c 20 |allchart| (f, n, |
|00004150| 6b 29 0a 58 7b 0a 58 0a | 58 20 20 20 20 72 65 67 |k).X{.X.|X reg|
|00004160| 69 73 74 65 72 20 63 68 | 61 72 20 20 20 73 3b 0a |ister ch|ar s;.|
|00004170| 58 20 20 20 20 72 65 67 | 69 73 74 65 72 20 69 6e |X reg|ister in|
|00004180| 74 20 20 20 20 6b 65 79 | 2c 20 69 3b 0a 58 20 20 |t key|, i;.X |
|00004190| 20 20 72 65 67 69 73 74 | 65 72 20 20 20 20 53 59 | regist|er SY|
|000041a0| 4d 42 4f 4c 20 2a 20 73 | 70 3b 0a 58 20 20 20 20 |MBOL * s|p;.X |
|000041b0| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 20 2a |register| char *|
|000041c0| 63 70 31 3b 0a 58 20 20 | 20 20 72 65 67 69 73 74 |cp1;.X | regist|
|000041d0| 65 72 20 63 68 61 72 20 | 20 2a 63 70 32 3b 0a 58 |er char | *cp2;.X|
|000041e0| 20 20 20 20 63 68 61 72 | 20 20 20 20 62 75 66 5b | char| buf[|
|000041f0| 36 34 5d 3b 0a 58 20 20 | 20 20 57 49 4e 44 4f 57 |64];.X | WINDOW|
|00004200| 20 20 2a 77 70 3b 0a 58 | 0a 58 20 20 20 20 69 66 | *wp;.X|.X if|
|00004210| 20 28 28 73 20 3d 20 62 | 63 6c 65 61 72 20 28 62 | ((s = b|clear (b|
|00004220| 6c 69 73 74 70 29 29 20 | 21 3d 20 54 52 55 45 29 |listp)) |!= TRUE)|
|00004230| 2f 2a 20 43 6c 65 61 72 | 20 69 74 20 6f 75 74 2e |/* Clear| it out.|
|00004240| 20 20 20 20 2a 2f 0a 58 | 20 20 20 20 20 20 20 20 | */.X| |
|00004250| 72 65 74 75 72 6e 20 28 | 73 29 3b 0a 58 20 20 20 |return (|s);.X |
|00004260| 20 69 20 3d 20 30 3b 0a | 58 20 20 20 20 28 76 6f | i = 0;.|X (vo|
|00004270| 69 64 29 20 73 74 72 63 | 70 79 20 28 62 6c 69 73 |id) strc|py (blis|
|00004280| 74 70 20 2d 3e 20 62 5f | 66 6e 61 6d 65 2c 20 4d |tp -> b_|fname, M|
|00004290| 53 47 5f 6e 75 6c 6c 29 | 3b 0a 58 20 20 20 20 62 |SG_null)|;.X b|
|000042a0| 6c 69 73 74 70 20 2d 3e | 20 62 5f 66 6c 61 67 20 |listp ->| b_flag |
|000042b0| 3d 20 42 46 56 49 45 57 | 3b 0a 58 20 20 20 20 77 |= BFVIEW|;.X w|
|000042c0| 72 69 74 5f 65 63 68 6f | 20 28 4d 53 47 5f 62 6c |rit_echo| (MSG_bl|
|000042d0| 64 5f 77 61 6c 6c 29 3b | 0a 58 20 20 20 20 66 6f |d_wall);|.X fo|
|000042e0| 72 20 28 6b 65 79 20 3d | 20 30 3b 20 6b 65 79 20 |r (key =| 0; key |
|000042f0| 3c 20 4e 4b 45 59 53 3b | 20 2b 2b 6b 65 79 29 0a |< NKEYS;| ++key).|
|00004300| 58 20 20 20 20 20 20 20 | 20 7b 0a 58 20 20 20 20 |X | {.X |
|00004310| 2f 2a 20 46 6f 72 20 61 | 6c 6c 20 6b 65 79 73 2e |/* For a|ll keys.|
|00004320| 20 20 20 20 2a 2f 0a 58 | 20 20 20 20 20 20 20 20 | */.X| |
|00004330| 73 70 20 3d 20 62 69 6e | 64 69 6e 67 5b 6b 65 79 |sp = bin|ding[key|
|00004340| 5d 3b 0a 58 20 20 20 20 | 20 20 20 20 69 66 20 28 |];.X | if (|
|00004350| 73 70 20 21 3d 20 4e 55 | 4c 4c 20 26 26 0a 58 20 |sp != NU|LL &&.X |
|00004360| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00004370| 66 20 21 3d 20 46 41 4c | 53 45 20 7c 7c 20 73 74 |f != FAL|SE || st|
|00004380| 72 63 6d 70 20 28 73 70 | 20 2d 3e 20 73 5f 6e 61 |rcmp (sp| -> s_na|
|00004390| 6d 65 2c 20 4d 53 47 5f | 69 6e 73 5f 73 65 6c 66 |me, MSG_|ins_self|
|000043a0| 29 20 21 3d 20 30 29 29 | 0a 58 20 20 20 20 20 20 |) != 0))|.X |
|000043b0| 20 20 20 20 20 20 7b 0a | 58 20 20 20 20 20 20 20 | {.|X |
|000043c0| 20 20 20 20 20 63 70 31 | 20 3d 20 26 62 75 66 5b | cp1| = &buf[|
|000043d0| 30 5d 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |0];.X | |
|000043e0| 20 63 70 32 20 3d 20 73 | 70 20 2d 3e 20 73 5f 6e | cp2 = s|p -> s_n|
|000043f0| 61 6d 65 3b 20 2f 2a 20 | 41 64 64 20 66 75 6e 63 |ame; /* |Add func|
|00004400| 74 69 6f 6e 20 6e 61 6d | 65 2e 20 20 20 2a 2f 0a |tion nam|e. */.|
|00004410| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 77 68 69 |X | whi|
|00004420| 6c 65 20 28 2a 63 70 31 | 2b 2b 20 3d 20 2a 63 70 |le (*cp1|++ = *cp|
|00004430| 32 2b 2b 29 0a 58 20 20 | 20 20 20 20 20 20 20 20 |2++).X | |
|00004440| 20 20 20 20 20 20 3b 0a | 58 20 20 20 20 20 20 20 | ;.|X |
|00004450| 20 20 20 20 20 63 70 31 | 2d 2d 3b 0a 58 20 20 20 | cp1|--;.X |
|00004460| 20 20 20 20 20 20 20 20 | 20 77 68 69 6c 65 20 28 | | while (|
|00004470| 63 70 31 20 3c 20 26 62 | 75 66 5b 33 32 5d 29 2f |cp1 < &b|uf[32])/|
|00004480| 2a 20 47 6f 74 6f 20 63 | 6f 6c 75 6d 6e 20 33 32 |* Goto c|olumn 32|
|00004490| 2e 20 20 2a 2f 0a 58 20 | 20 20 20 20 20 20 20 20 |. */.X | |
|000044a0| 20 20 20 20 20 20 20 2a | 63 70 31 2b 2b 20 3d 20 | *|cp1++ = |
|000044b0| 27 20 27 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |' ';.X | |
|000044c0| 20 20 6b 65 79 6e 61 6d | 65 20 28 26 62 75 66 5b | keynam|e (&buf[|
|000044d0| 33 32 5d 2c 20 6b 65 79 | 29 3b 0a 58 20 20 20 20 |32], key|);.X |
|000044e0| 20 20 20 20 20 20 20 20 | 69 66 20 28 61 64 64 6c | |if (addl|
|000044f0| 69 6e 65 20 28 62 75 66 | 29 20 3d 3d 20 46 41 4c |ine (buf|) == FAL|
|00004500| 53 45 29 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |SE).X | |
|00004510| 20 20 20 20 20 62 72 65 | 61 6b 3b 20 2f 2a 20 6c | bre|ak; /* l|
|00004520| 65 74 73 20 67 6f 20 77 | 69 74 68 20 77 68 61 74 |ets go w|ith what|
|00004530| 20 77 65 20 68 61 76 65 | 20 2a 2f 0a 58 20 20 20 | we have| */.X |
|00004540| 20 20 20 20 20 20 20 20 | 20 69 2b 2b 3b 0a 58 20 | | i++;.X |
|00004550| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0a 58 20 20 | | }.X |
|00004560| 20 20 20 20 20 20 7d 0a | 58 20 20 20 20 73 6f 72 | }.|X sor|
|00004570| 74 5f 62 75 66 20 28 62 | 6c 69 73 74 70 2c 20 69 |t_buf (b|listp, i|
|00004580| 29 3b 20 20 20 20 20 20 | 2f 2a 20 73 6f 72 74 20 |); |/* sort |
|00004590| 62 75 66 66 65 72 20 6c | 69 6e 65 73 20 2a 2f 0a |buffer l|ines */.|
|000045a0| 58 20 20 20 20 70 6f 70 | 62 6c 69 73 74 20 28 29 |X pop|blist ()|
|000045b0| 3b 0a 58 20 20 20 20 77 | 72 69 74 5f 65 63 68 6f |;.X w|rit_echo|
|000045c0| 20 28 4d 53 47 5f 6e 75 | 6c 6c 29 3b 0a 58 20 20 | (MSG_nu|ll);.X |
|000045d0| 20 20 2f 2a 20 6d 61 6b | 65 20 6e 65 77 20 77 69 | /* mak|e new wi|
|000045e0| 6e 64 6f 77 20 74 68 65 | 20 63 75 72 72 65 6e 74 |ndow the| current|
|000045f0| 20 77 69 6e 64 6f 77 20 | 2a 2f 0a 58 20 20 20 20 | window |*/.X |
|00004600| 77 70 20 3d 20 77 68 65 | 61 64 70 3b 0a 58 20 20 |wp = whe|adp;.X |
|00004610| 20 20 77 68 69 6c 65 20 | 28 77 70 20 21 3d 20 4e | while |(wp != N|
|00004620| 55 4c 4c 29 0a 58 20 20 | 20 20 20 20 20 20 7b 0a |ULL).X | {.|
|00004630| 58 20 20 20 20 20 20 20 | 20 69 66 20 28 77 70 20 |X | if (wp |
|00004640| 2d 3e 20 77 5f 62 75 66 | 70 20 3d 3d 20 62 6c 69 |-> w_buf|p == bli|
|00004650| 73 74 70 29 0a 58 20 20 | 20 20 20 20 20 20 20 20 |stp).X | |
|00004660| 20 20 7b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|00004670| 20 63 75 72 77 70 20 3d | 20 77 70 3b 0a 58 20 20 | curwp =| wp;.X |
|00004680| 20 20 20 20 20 20 20 20 | 20 20 63 75 72 62 70 20 | | curbp |
|00004690| 3d 20 77 70 20 2d 3e 20 | 77 5f 62 75 66 70 3b 0a |= wp -> |w_bufp;.|
|000046a0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 72 65 74 |X | ret|
|000046b0| 75 72 6e 20 28 54 52 55 | 45 29 3b 0a 58 20 20 20 |urn (TRU|E);.X |
|000046c0| 20 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 | | }.X |
|000046d0| 20 20 20 20 77 70 20 3d | 20 77 70 20 2d 3e 20 77 | wp =| wp -> w|
|000046e0| 5f 77 6e 64 70 3b 0a 58 | 20 20 20 20 20 20 20 20 |_wndp;.X| |
|000046f0| 7d 0a 58 20 20 20 20 72 | 65 74 75 72 6e 20 28 54 |}.X r|eturn (T|
|00004700| 52 55 45 29 3b 0a 58 7d | 0a 58 20 20 20 20 20 20 |RUE);.X}|.X |
|00004710| 20 20 20 20 20 20 0a 58 | 2f 2a 20 63 68 65 63 6b | .X|/* check|
|00004720| 20 66 6f 72 20 42 45 41 | 56 46 49 4c 20 61 6e 64 | for BEA|VFIL and|
|00004730| 20 72 65 61 64 20 69 74 | 20 69 6e 20 69 66 20 66 | read it| in if f|
|00004740| 6f 75 6e 64 0a 58 2a 20 | 2d 20 61 6c 73 6f 2c 20 |ound.X* |- also, |
|00004750| 73 65 74 20 6c 6f 63 61 | 6c 20 66 69 6c 65 20 76 |set loca|l file v|
|00004760| 61 72 69 61 62 6c 65 20 | 66 6f 72 20 62 69 6e 64 |ariable |for bind|
|00004770| 74 6f 6b 65 79 20 66 6f | 72 20 73 61 76 69 6e 67 |tokey fo|r saving|
|00004780| 20 6e 65 77 20 64 65 66 | 73 0a 58 2a 20 28 74 68 | new def|s.X* (th|
|00004790| 69 73 20 69 73 20 73 6f | 6d 65 20 77 68 61 74 20 |is is so|me what |
|000047a0| 6f 66 20 61 20 68 61 63 | 6b 20 61 73 20 69 74 20 |of a hac|k as it |
|000047b0| 6f 6e 6c 79 20 68 61 6e | 64 6c 65 73 20 27 62 69 |only han|dles 'bi|
|000047c0| 6e 64 74 6f 6b 65 79 27 | 20 63 68 61 6e 67 65 73 |ndtokey'| changes|
|000047d0| 20 61 74 20 0a 58 2a 20 | 74 68 69 73 20 74 69 6d | at .X* |this tim|
|000047e0| 65 20 2d 20 61 6c 73 6f | 20 6c 6f 63 61 6c 20 66 |e - also| local f|
|000047f0| 69 6c 65 20 69 6f 20 21 | 21 21 29 0a 58 2a 2f 0a |ile io !|!!).X*/.|
|00004800| 58 76 6f 69 64 20 63 68 | 65 63 6b 5f 65 78 74 65 |Xvoid ch|eck_exte|
|00004810| 6e 64 20 28 6e 6d 29 0a | 58 63 68 61 72 20 20 20 |nd (nm).|Xchar |
|00004820| 2a 6e 6d 3b 0a 58 7b 0a | 58 0a 58 23 69 66 64 65 |*nm;.X{.|X.X#ifde|
|00004830| 66 20 43 55 53 54 4f 4d | 49 5a 45 0a 58 20 20 20 |f CUSTOM|IZE.X |
|00004840| 20 72 65 67 69 73 74 65 | 72 20 20 20 20 53 59 4d | registe|r SYM|
|00004850| 42 4f 4c 20 2a 20 73 70 | 3b 0a 58 20 20 20 20 63 |BOL * sp|;.X c|
|00004860| 68 61 72 20 20 20 20 62 | 75 66 66 5b 4e 58 4e 41 |har b|uff[NXNA|
|00004870| 4d 45 20 2b 20 31 5d 3b | 0a 58 20 20 20 20 63 68 |ME + 1];|.X ch|
|00004880| 61 72 20 20 20 20 6b 65 | 79 62 75 66 5b 4e 58 4e |ar ke|ybuf[NXN|
|00004890| 41 4d 45 20 2b 20 31 5d | 3b 0a 58 20 20 20 20 69 |AME + 1]|;.X i|
|000048a0| 6e 74 20 20 20 20 20 6b | 65 79 76 61 6c 3b 0a 58 |nt k|eyval;.X|
|000048b0| 20 20 20 20 46 49 4c 45 | 20 2a 20 62 69 6e 64 66 | FILE| * bindf|
|000048c0| 3b 0a 58 0a 58 20 20 20 | 20 69 66 20 28 21 28 62 |;.X.X | if (!(b|
|000048d0| 69 6e 64 6e 6d 20 3d 20 | 6e 6d 29 29 0a 58 20 20 |indnm = |nm)).X |
|000048e0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 3b 0a 58 20 | re|turn;.X |
|000048f0| 20 20 20 69 66 20 28 21 | 28 62 69 6e 64 66 20 3d | if (!|(bindf =|
|00004900| 20 66 6f 70 65 6e 20 28 | 62 69 6e 64 6e 6d 2c 20 | fopen (|bindnm, |
|00004910| 22 72 22 29 29 29 0a 58 | 20 20 20 20 20 20 20 20 |"r"))).X| |
|00004920| 72 65 74 75 72 6e 3b 0a | 58 20 20 20 20 77 68 69 |return;.|X whi|
|00004930| 6c 65 20 28 66 73 63 61 | 6e 66 20 28 62 69 6e 64 |le (fsca|nf (bind|
|00004940| 66 2c 20 22 25 73 20 25 | 73 20 25 78 22 2c 20 6b |f, "%s %|s %x", k|
|00004950| 65 79 62 75 66 2c 20 62 | 75 66 66 2c 20 26 6b 65 |eybuf, b|uff, &ke|
|00004960| 79 76 61 6c 29 20 21 3d | 20 45 4f 46 29 0a 58 20 |yval) !=| EOF).X |
|00004970| 20 20 20 20 20 20 20 7b | 0a 58 20 20 20 20 20 20 | {|.X |
|00004980| 20 20 69 66 20 28 73 70 | 20 3d 20 73 79 6d 6c 6f | if (sp| = symlo|
|00004990| 6f 6b 75 70 20 28 62 75 | 66 66 29 29 0a 58 20 20 |okup (bu|ff)).X |
|000049a0| 20 20 20 20 20 20 20 20 | 20 20 7b 0a 58 20 20 20 | | {.X |
|000049b0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 62 69 6e | | if (bin|
|000049c0| 64 69 6e 67 5b 6b 65 79 | 76 61 6c 5d 20 21 3d 20 |ding[key|val] != |
|000049d0| 4e 55 4c 4c 29 2f 2a 20 | 55 6e 62 69 6e 64 20 6f |NULL)/* |Unbind o|
|000049e0| 6c 64 2c 20 61 6e 64 20 | 20 2a 2f 0a 58 20 20 20 |ld, and | */.X |
|000049f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2d 2d 62 | | --b|
|00004a00| 69 6e 64 69 6e 67 5b 6b | 65 79 76 61 6c 5d 20 2d |inding[k|eyval] -|
|00004a10| 3e 20 73 5f 6e 6b 65 79 | 3b 0a 58 20 20 20 20 20 |> s_nkey|;.X |
|00004a20| 20 20 20 20 20 20 20 62 | 69 6e 64 69 6e 67 5b 6b | b|inding[k|
|00004a30| 65 79 76 61 6c 5d 20 3d | 20 73 70 3b 2f 2a 20 72 |eyval] =| sp;/* r|
|00004a40| 65 62 69 6e 64 20 6e 65 | 77 2e 20 20 20 20 20 20 |ebind ne|w. |
|00004a50| 2a 2f 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |*/.X | |
|00004a60| 2b 2b 73 70 20 2d 3e 20 | 73 5f 6e 6b 65 79 3b 0a |++sp -> |s_nkey;.|
|00004a70| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 58 |X | }.X|
|00004a80| 20 20 20 20 20 20 20 20 | 7d 0a 58 0a 58 20 20 20 | |}.X.X |
|00004a90| 20 66 63 6c 6f 73 65 20 | 28 62 69 6e 64 66 29 3b | fclose |(bindf);|
|00004aa0| 0a 58 23 65 6e 64 69 66 | 0a 58 7d 0a 58 0a 58 0a |.X#endif|.X}.X.X.|
|00004ab0| 58 0a 58 2f 2a 20 69 6e | 74 65 72 61 63 74 69 76 |X.X/* in|teractiv|
|00004ac0| 65 20 6d 65 74 68 6f 64 | 20 66 6f 72 20 6c 6f 61 |e method| for loa|
|00004ad0| 64 69 6e 67 20 62 69 6e | 64 69 6e 67 20 66 69 6c |ding bin|ding fil|
|00004ae0| 65 0a 58 2a 20 28 75 73 | 65 73 20 61 62 6f 76 65 |e.X* (us|es above|
|00004af0| 20 72 6f 75 74 69 6e 65 | 2c 20 6f 62 76 69 6f 75 | routine|, obviou|
|00004b00| 73 6c 79 29 0a 58 2a 2f | 0a 58 63 68 61 72 20 20 |sly).X*/|.Xchar |
|00004b10| 20 20 6c 6f 61 64 5f 65 | 78 74 65 6e 64 20 28 29 | load_e|xtend ()|
|00004b20| 0a 58 7b 0a 58 0a 58 23 | 69 66 64 65 66 20 43 55 |.X{.X.X#|ifdef CU|
|00004b30| 53 54 4f 4d 49 5a 45 0a | 58 20 20 20 20 72 65 67 |STOMIZE.|X reg|
|00004b40| 69 73 74 65 72 20 63 68 | 61 72 20 20 20 73 3b 0a |ister ch|ar s;.|
|00004b50| 58 20 20 20 20 63 68 61 | 72 20 20 20 20 66 6e 61 |X cha|r fna|
|00004b60| 6d 65 5b 4e 46 49 4c 45 | 4e 5d 3b 0a 58 0a 58 20 |me[NFILE|N];.X.X |
|00004b70| 20 20 20 69 66 20 28 28 | 73 20 3d 20 65 72 65 70 | if ((|s = erep|
|00004b80| 6c 79 20 28 4d 53 47 5f | 62 6e 64 5f 66 69 6c 65 |ly (MSG_|bnd_file|
|00004b90| 2c 20 66 6e 61 6d 65 2c | 20 4e 46 49 4c 45 4e 2c |, fname,| NFILEN,|
|00004ba0| 20 4e 55 4c 4c 29 29 20 | 21 3d 20 54 52 55 45 29 | NULL)) |!= TRUE)|
|00004bb0| 0a 58 20 20 20 20 20 20 | 20 20 72 65 74 75 72 6e |.X | return|
|00004bc0| 20 28 73 29 3b 0a 58 20 | 20 20 20 63 68 65 63 6b | (s);.X | check|
|00004bd0| 5f 65 78 74 65 6e 64 20 | 28 66 6e 61 6d 65 29 3b |_extend |(fname);|
|00004be0| 0a 58 20 20 20 20 77 72 | 69 74 5f 65 63 68 6f 20 |.X wr|it_echo |
|00004bf0| 28 6f 6b 6d 73 67 29 3b | 0a 58 23 65 6e 64 69 66 |(okmsg);|.X#endif|
|00004c00| 0a 58 09 72 65 74 75 72 | 6e 20 28 54 52 55 45 29 |.X.retur|n (TRUE)|
|00004c10| 3b 0a 58 7d 0a 58 0a 58 | 69 6e 74 20 20 20 20 20 |;.X}.X.X|int |
|00004c20| 66 69 6e 64 5f 6b 65 79 | 76 61 6c 20 28 6e 61 6d |find_key|val (nam|
|00004c30| 65 29 0a 58 63 68 61 72 | 20 20 20 2a 6e 61 6d 65 |e).Xchar| *name|
|00004c40| 3b 0a 58 7b 0a 58 20 20 | 20 20 53 59 4d 42 4f 4c |;.X{.X | SYMBOL|
|00004c50| 20 2a 20 73 70 3b 0a 58 | 20 20 20 20 69 6e 74 20 | * sp;.X| int |
|00004c60| 20 20 20 20 6b 65 79 3b | 0a 58 0a 58 20 20 20 20 | key;|.X.X |
|00004c70| 66 6f 72 20 28 6b 65 79 | 20 3d 20 30 3b 20 6b 65 |for (key| = 0; ke|
|00004c80| 79 20 3c 20 4e 4b 45 59 | 53 3b 20 2b 2b 6b 65 79 |y < NKEY|S; ++key|
|00004c90| 29 0a 58 20 20 20 20 20 | 20 20 20 7b 0a 58 20 20 |).X | {.X |
|00004ca0| 20 20 2f 2a 20 46 6f 72 | 20 61 6c 6c 20 6b 65 79 | /* For| all key|
|00004cb0| 73 2e 20 20 20 20 2a 2f | 0a 58 20 20 20 20 20 20 |s. */|.X |
|00004cc0| 20 20 73 70 20 3d 20 62 | 69 6e 64 69 6e 67 5b 6b | sp = b|inding[k|
|00004cd0| 65 79 5d 3b 0a 58 20 20 | 20 20 20 20 20 20 69 66 |ey];.X | if|
|00004ce0| 20 28 73 70 20 21 3d 20 | 4e 55 4c 4c 20 26 26 20 | (sp != |NULL && |
|00004cf0| 28 73 74 72 63 6d 70 20 | 28 73 70 20 2d 3e 20 73 |(strcmp |(sp -> s|
|00004d00| 5f 6e 61 6d 65 2c 20 6e | 61 6d 65 29 20 3d 3d 20 |_name, n|ame) == |
|00004d10| 30 29 29 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |0)).X | |
|00004d20| 20 72 65 74 75 72 6e 20 | 28 6b 65 79 29 3b 0a 58 | return |(key);.X|
|00004d30| 20 20 20 20 20 20 20 20 | 7d 0a 58 20 20 20 20 72 | |}.X r|
|00004d40| 65 74 75 72 6e 20 28 30 | 29 3b 0a 58 7d 0a 45 4e |eturn (0|);.X}.EN|
|00004d50| 44 5f 4f 46 5f 46 49 4c | 45 0a 69 66 20 74 65 73 |D_OF_FIL|E.if tes|
|00004d60| 74 20 38 33 30 31 20 2d | 6e 65 20 60 77 63 20 2d |t 8301 -|ne `wc -|
|00004d70| 63 20 3c 27 65 78 74 65 | 6e 64 2e 63 27 60 3b 20 |c <'exte|nd.c'`; |
|00004d80| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|00004d90| 61 72 3a 20 5c 22 27 65 | 78 74 65 6e 64 2e 63 27 |ar: \"'e|xtend.c'|
|00004da0| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|00004db0| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 66 69 0a | wrong s|ize!.fi.|
|00004dc0| 63 68 6d 6f 64 20 2b 78 | 20 27 65 78 74 65 6e 64 |chmod +x| 'extend|
|00004dd0| 2e 63 27 0a 23 20 65 6e | 64 20 6f 66 20 27 65 78 |.c'.# en|d of 'ex|
|00004de0| 74 65 6e 64 2e 63 27 0a | 66 69 0a 69 66 20 74 65 |tend.c'.|fi.if te|
|00004df0| 73 74 20 2d 66 20 27 66 | 6f 72 6d 61 74 2e 63 27 |st -f 'f|ormat.c'|
|00004e00| 20 2d 61 20 22 24 7b 31 | 7d 22 20 21 3d 20 22 2d | -a "${1|}" != "-|
|00004e10| 63 22 20 3b 20 74 68 65 | 6e 20 0a 20 20 65 63 68 |c" ; the|n . ech|
|00004e20| 6f 20 73 68 61 72 3a 20 | 57 69 6c 6c 20 6e 6f 74 |o shar: |Will not|
|00004e30| 20 63 6c 6f 62 62 65 72 | 20 65 78 69 73 74 69 6e | clobber| existin|
|00004e40| 67 20 66 69 6c 65 20 5c | 22 27 66 6f 72 6d 61 74 |g file \|"'format|
|00004e50| 2e 63 27 5c 22 0a 65 6c | 73 65 0a 65 63 68 6f 20 |.c'\".el|se.echo |
|00004e60| 73 68 61 72 3a 20 45 78 | 74 72 61 63 74 69 6e 67 |shar: Ex|tracting|
|00004e70| 20 5c 22 27 66 6f 72 6d | 61 74 2e 63 27 5c 22 20 | \"'form|at.c'\" |
|00004e80| 5c 28 38 34 31 37 20 63 | 68 61 72 61 63 74 65 72 |\(8417 c|haracter|
|00004e90| 73 5c 29 0a 73 65 64 20 | 22 73 2f 5e 58 2f 2f 22 |s\).sed |"s/^X//"|
|00004ea0| 20 3e 27 66 6f 72 6d 61 | 74 2e 63 27 20 3c 3c 27 | >'forma|t.c' <<'|
|00004eb0| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 2f 2a |END_OF_F|ILE'.X/*|
|00004ec0| 0a 58 2a 20 54 68 65 20 | 6d 6f 64 75 6c 65 20 64 |.X* The |module d|
|00004ed0| 65 76 69 6e 65 73 20 74 | 68 65 20 66 6f 72 6d 61 |evines t|he forma|
|00004ee0| 74 20 6f 66 20 74 68 65 | 20 73 63 72 65 65 6e 20 |t of the| screen |
|00004ef0| 64 69 73 70 6c 61 79 2e | 0a 58 2a 2f 0a 58 0a 58 |display.|.X*/.X.X|
|00004f00| 23 64 65 66 69 6e 65 20 | 4c 49 4e 54 5f 41 52 47 |#define |LINT_ARG|
|00004f10| 53 20 20 20 31 20 20 20 | 20 20 20 20 20 20 20 20 |S 1 | |
|00004f20| 2f 2a 20 65 6e 61 62 6c | 65 20 6c 69 6e 74 20 74 |/* enabl|e lint t|
|00004f30| 79 70 65 20 63 68 65 63 | 6b 69 6e 67 20 2a 2f 0a |ype chec|king */.|
|00004f40| 58 23 69 6e 63 6c 75 64 | 65 20 20 20 20 22 64 65 |X#includ|e "de|
|00004f50| 66 2e 68 22 0a 58 23 69 | 6e 63 6c 75 64 65 20 20 |f.h".X#i|nclude |
|00004f60| 20 20 22 6c 69 6e 74 66 | 75 6e 63 2e 64 65 63 22 | "lintf|unc.dec"|
|00004f70| 0a 58 0a 58 0a 58 65 78 | 74 65 72 6e 20 20 20 20 |.X.X.Xex|tern |
|00004f80| 63 68 61 72 20 20 20 20 | 68 65 78 5f 73 74 72 5b |char |hex_str[|
|00004f90| 5d 3b 0a 58 65 78 74 65 | 72 6e 20 20 20 20 63 68 |];.Xexte|rn ch|
|00004fa0| 61 72 20 20 20 20 68 65 | 78 5f 6c 5f 73 74 72 5b |ar he|x_l_str[|
|00004fb0| 5d 3b 0a 58 65 78 74 65 | 72 6e 20 20 20 20 63 68 |];.Xexte|rn ch|
|00004fc0| 61 72 20 20 20 20 6f 63 | 74 61 6c 5f 73 74 72 5b |ar oc|tal_str[|
|00004fd0| 5d 3b 0a 58 65 78 74 65 | 72 6e 20 20 20 20 63 68 |];.Xexte|rn ch|
|00004fe0| 61 72 20 20 20 20 6f 63 | 74 61 6c 5f 6c 5f 73 74 |ar oc|tal_l_st|
|00004ff0| 72 5b 5d 3b 0a 58 65 78 | 74 65 72 6e 20 20 20 20 |r[];.Xex|tern |
|00005000| 63 68 61 72 20 20 20 20 | 64 65 63 69 6d 61 6c 5f |char |decimal_|
|00005010| 73 74 72 5b 5d 3b 0a 58 | 65 78 74 65 72 6e 20 20 |str[];.X|extern |
|00005020| 20 20 63 68 61 72 20 20 | 20 20 64 65 63 69 6d 61 | char | decima|
|00005030| 6c 5f 6c 5f 73 74 72 5b | 5d 3b 0a 58 65 78 74 65 |l_l_str[|];.Xexte|
|00005040| 72 6e 20 20 20 20 63 68 | 61 72 20 20 20 20 63 68 |rn ch|ar ch|
|00005050| 61 72 5f 73 74 72 5b 5d | 3b 0a 58 0a 58 0a 58 2f |ar_str[]|;.X.X.X/|
|00005060| 2a 20 54 68 65 73 65 20 | 73 74 72 75 63 74 75 72 |* These |structur|
|00005070| 65 73 20 63 6f 6e 74 61 | 69 6e 20 74 68 65 20 66 |es conta|in the f|
|00005080| 6f 72 6d 61 74 20 66 6f | 72 20 74 68 65 20 64 69 |ormat fo|r the di|
|00005090| 73 70 6c 61 79 65 64 20 | 6c 69 6e 65 20 2a 2f 0a |splayed |line */.|
|000050a0| 58 0a 58 0a 58 23 64 65 | 66 69 6e 65 20 46 43 20 |X.X.X#de|fine FC |
|000050b0| 31 33 0a 58 23 64 65 66 | 69 6e 65 20 46 53 20 30 |13.X#def|ine FS 0|
|000050c0| 0a 58 0a 58 75 63 68 61 | 72 20 20 20 20 61 73 63 |.X.Xucha|r asc|
|000050d0| 69 69 5f 73 5f 70 6f 73 | 6e 5b 5d 20 3d 0a 58 7b |ii_s_pos|n[] =.X{|
|000050e0| 46 53 2b 30 2c 20 46 53 | 2b 31 2c 20 46 53 2b 32 |FS+0, FS|+1, FS+2|
|000050f0| 2c 20 46 53 2b 33 2c 20 | 46 53 2b 34 2c 20 46 53 |, FS+3, |FS+4, FS|
|00005100| 2b 35 2c 20 46 53 2b 36 | 2c 20 46 53 2b 37 2c 20 |+5, FS+6|, FS+7, |
|00005110| 46 53 2b 38 2c 20 46 53 | 2b 39 2c 0a 58 46 53 2b |FS+8, FS|+9,.XFS+|
|00005120| 31 30 2c 20 46 53 2b 31 | 31 2c 20 46 53 2b 31 32 |10, FS+1|1, FS+12|
|00005130| 2c 20 46 53 2b 31 33 2c | 20 46 53 2b 31 34 2c 20 |, FS+13,| FS+14, |
|00005140| 46 53 2b 31 35 2c 20 46 | 53 2b 31 36 2c 20 46 53 |FS+15, F|S+16, FS|
|00005150| 2b 31 37 2c 20 46 53 2b | 31 38 2c 20 46 53 2b 31 |+17, FS+|18, FS+1|
|00005160| 39 2c 0a 58 46 53 2b 32 | 30 2c 20 46 53 2b 32 31 |9,.XFS+2|0, FS+21|
|00005170| 2c 20 46 53 2b 32 32 2c | 20 46 53 2b 32 33 2c 20 |, FS+22,| FS+23, |
|00005180| 46 53 2b 32 34 2c 20 46 | 53 2b 32 35 2c 20 46 53 |FS+24, F|S+25, FS|
|00005190| 2b 32 36 2c 20 46 53 2b | 32 37 2c 20 46 53 2b 32 |+26, FS+|27, FS+2|
|000051a0| 38 2c 20 46 53 2b 32 39 | 2c 0a 58 46 53 2b 33 30 |8, FS+29|,.XFS+30|
|000051b0| 2c 20 46 53 2b 33 31 2c | 20 46 53 2b 33 32 2c 20 |, FS+31,| FS+32, |
|000051c0| 46 53 2b 33 33 2c 20 46 | 53 2b 33 34 2c 20 46 53 |FS+33, F|S+34, FS|
|000051d0| 2b 33 35 2c 20 46 53 2b | 33 36 2c 20 46 53 2b 33 |+35, FS+|36, FS+3|
|000051e0| 37 2c 20 46 53 2b 33 38 | 2c 20 46 53 2b 33 39 2c |7, FS+38|, FS+39,|
|000051f0| 0a 58 46 53 2b 34 30 2c | 20 46 53 2b 34 31 2c 20 |.XFS+40,| FS+41, |
|00005200| 46 53 2b 34 32 2c 20 46 | 53 2b 34 33 2c 20 46 53 |FS+42, F|S+43, FS|
|00005210| 2b 34 34 2c 20 46 53 2b | 34 35 2c 20 46 53 2b 34 |+44, FS+|45, FS+4|
|00005220| 36 2c 20 46 53 2b 34 37 | 2c 20 46 53 2b 34 38 2c |6, FS+47|, FS+48,|
|00005230| 20 46 53 2b 34 39 2c 0a | 58 46 53 2b 35 30 2c 20 | FS+49,.|XFS+50, |
|00005240| 46 53 2b 35 31 2c 20 46 | 53 2b 35 32 2c 20 46 53 |FS+51, F|S+52, FS|
|00005250| 2b 35 33 2c 20 46 53 2b | 35 34 2c 20 46 53 2b 35 |+53, FS+|54, FS+5|
|00005260| 35 2c 20 46 53 2b 35 36 | 2c 20 46 53 2b 35 37 2c |5, FS+56|, FS+57,|
|00005270| 20 46 53 2b 35 38 2c 20 | 46 53 2b 35 39 2c 0a 58 | FS+58, |FS+59,.X|
|00005280| 46 53 2b 36 30 2c 20 46 | 53 2b 36 31 2c 20 46 53 |FS+60, F|S+61, FS|
|00005290| 2b 36 32 2c 20 46 53 2b | 36 33 2c 20 46 53 2b 36 |+62, FS+|63, FS+6|
|000052a0| 34 2c 20 46 53 2b 36 35 | 2c 20 46 53 2b 36 36 2c |4, FS+65|, FS+66,|
|000052b0| 20 46 53 2b 36 37 2c 20 | 46 53 2b 36 38 2c 20 46 | FS+67, |FS+68, F|
|000052c0| 53 2b 36 39 2c 0a 58 46 | 53 2b 37 30 2c 20 46 53 |S+69,.XF|S+70, FS|
|000052d0| 2b 37 31 2c 20 46 53 2b | 37 32 2c 20 46 53 2b 37 |+71, FS+|72, FS+7|
|000052e0| 33 2c 20 46 53 2b 37 34 | 2c 20 46 53 2b 37 35 2c |3, FS+74|, FS+75,|
|000052f0| 20 46 53 2b 37 36 2c 20 | 46 53 2b 37 37 2c 20 46 | FS+76, |FS+77, F|
|00005300| 53 2b 37 38 2c 20 46 53 | 2b 37 39 2c 0a 58 7d 3b |S+78, FS|+79,.X};|
|00005310| 0a 58 0a 58 52 4f 57 5f | 46 4d 54 20 74 65 78 74 |.X.XROW_|FMT text|
|00005320| 5f 66 6d 74 20 3d 0a 58 | 7b 54 45 58 54 2c 20 42 |_fmt =.X|{TEXT, B|
|00005330| 59 54 45 53 2c 20 31 32 | 38 2c 20 31 32 38 2c 20 |YTES, 12|8, 128, |
|00005340| 31 32 38 2c 20 31 2c 20 | 31 2c 20 46 41 4c 53 45 |128, 1, |1, FALSE|
|00005350| 2c 20 63 68 61 72 5f 73 | 74 72 2c 20 68 65 78 5f |, char_s|tr, hex_|
|00005360| 6c 5f 73 74 72 2c 20 68 | 65 78 5f 73 74 72 2c 0a |l_str, h|ex_str,.|
|00005370| 58 20 61 73 63 69 69 5f | 73 5f 70 6f 73 6e 2c 20 |X ascii_|s_posn, |
|00005380| 30 7d 3b 0a 58 0a 58 52 | 4f 57 5f 46 4d 54 20 61 |0};.X.XR|OW_FMT a|
|00005390| 73 63 69 69 5f 66 6d 74 | 20 3d 0a 58 7b 41 53 43 |scii_fmt| =.X{ASC|
|000053a0| 49 49 2c 20 42 59 54 45 | 53 2c 20 36 34 2c 20 36 |II, BYTE|S, 64, 6|
|000053b0| 34 2c 20 36 34 2c 20 31 | 2c 20 31 2c 20 46 41 4c |4, 64, 1|, 1, FAL|
|000053c0| 53 45 2c 20 63 68 61 72 | 5f 73 74 72 2c 20 68 65 |SE, char|_str, he|
|000053d0| 78 5f 6c 5f 73 74 72 2c | 20 68 65 78 5f 73 74 72 |x_l_str,| hex_str|
|000053e0| 2c 0a 58 20 26 61 73 63 | 69 69 5f 73 5f 70 6f 73 |,.X &asc|ii_s_pos|
|000053f0| 6e 5b 46 43 5d 2c 20 30 | 7d 3b 0a 58 0a 58 52 4f |n[FC], 0|};.X.XRO|
|00005400| 57 5f 46 4d 54 20 61 73 | 63 69 69 5f 73 5f 66 6d |W_FMT as|cii_s_fm|
|00005410| 74 20 3d 0a 58 7b 41 53 | 43 49 49 2c 20 42 59 54 |t =.X{AS|CII, BYT|
|00005420| 45 53 2c 20 33 32 2c 20 | 33 32 2c 20 31 2c 20 31 |ES, 32, |32, 1, 1|
|00005430| 2c 20 31 2c 20 46 41 4c | 53 45 2c 20 20 63 68 61 |, 1, FAL|SE, cha|
|00005440| 72 5f 73 74 72 2c 20 68 | 65 78 5f 6c 5f 73 74 72 |r_str, h|ex_l_str|
|00005450| 2c 20 68 65 78 5f 73 74 | 72 2c 0a 58 20 61 73 63 |, hex_st|r,.X asc|
|00005460| 69 69 5f 73 5f 70 6f 73 | 6e 2c 20 30 7d 3b 0a 58 |ii_s_pos|n, 0};.X|
|00005470| 0a 58 52 4f 57 5f 46 4d | 54 20 65 62 63 64 69 63 |.XROW_FM|T ebcdic|
|00005480| 5f 66 6d 74 20 3d 0a 58 | 7b 45 42 43 44 49 43 2c |_fmt =.X|{EBCDIC,|
|00005490| 20 42 59 54 45 53 2c 20 | 36 34 2c 20 36 34 2c 20 | BYTES, |64, 64, |
|000054a0| 36 34 2c 20 31 2c 20 31 | 2c 20 46 41 4c 53 45 2c |64, 1, 1|, FALSE,|
|000054b0| 20 63 68 61 72 5f 73 74 | 72 2c 20 68 65 78 5f 6c | char_st|r, hex_l|
|000054c0| 5f 73 74 72 2c 20 68 65 | 78 5f 73 74 72 2c 0a 58 |_str, he|x_str,.X|
|000054d0| 20 26 61 73 63 69 69 5f | 73 5f 70 6f 73 6e 5b 46 | &ascii_|s_posn[F|
|000054e0| 43 5d 2c 20 30 7d 3b 0a | 58 0a 58 52 4f 57 5f 46 |C], 0};.|X.XROW_F|
|000054f0| 4d 54 20 65 62 63 64 69 | 63 5f 73 5f 66 6d 74 20 |MT ebcdi|c_s_fmt |
|00005500| 3d 0a 58 7b 45 42 43 44 | 49 43 2c 20 42 59 54 45 |=.X{EBCD|IC, BYTE|
|00005510| 53 2c 20 33 32 2c 20 33 | 32 2c 20 31 2c 20 31 2c |S, 32, 3|2, 1, 1,|
|00005520| 20 31 2c 20 46 41 4c 53 | 45 2c 20 63 68 61 72 5f | 1, FALS|E, char_|
|00005530| 73 74 72 2c 20 68 65 78 | 5f 6c 5f 73 74 72 2c 20 |str, hex|_l_str, |
|00005540| 68 65 78 5f 73 74 72 2c | 0a 58 20 61 73 63 69 69 |hex_str,|.X ascii|
|00005550| 5f 73 5f 70 6f 73 6e 2c | 20 30 7d 3b 0a 58 0a 58 |_s_posn,| 0};.X.X|
|00005560| 75 63 68 61 72 20 20 20 | 20 6f 63 74 61 6c 5f 38 |uchar | octal_8|
|00005570| 5f 70 6f 73 6e 5b 5d 20 | 3d 0a 58 7b 46 43 2c 20 |_posn[] |=.X{FC, |
|00005580| 46 43 20 2b 20 34 2c 20 | 46 43 20 2b 20 38 2c 20 |FC + 4, |FC + 8, |
|00005590| 46 43 20 2b 20 31 32 2c | 20 46 43 20 2b 20 31 36 |FC + 12,| FC + 16|
|000055a0| 2c 20 46 43 20 2b 20 32 | 30 2c 0a 58 20 20 20 20 |, FC + 2|0,.X |
|000055b0| 46 43 20 2b 20 32 34 2c | 20 46 43 20 2b 20 32 38 |FC + 24,| FC + 28|
|000055c0| 2c 20 46 43 20 2b 20 33 | 33 2c 20 46 43 20 2b 20 |, FC + 3|3, FC + |
|000055d0| 33 37 2c 20 46 43 20 2b | 20 34 31 2c 0a 58 20 20 |37, FC +| 41,.X |
|000055e0| 20 20 46 43 20 2b 20 34 | 35 2c 20 46 43 20 2b 20 | FC + 4|5, FC + |
|000055f0| 34 39 2c 20 46 43 20 2b | 20 35 33 2c 20 46 43 20 |49, FC +| 53, FC |
|00005600| 2b 20 35 37 2c 20 46 43 | 20 2b 20 36 31 0a 58 7d |+ 57, FC| + 61.X}|
|00005610| 3b 0a 58 0a 58 52 4f 57 | 5f 46 4d 54 20 6f 63 74 |;.X.XROW|_FMT oct|
|00005620| 61 6c 5f 38 5f 66 6d 74 | 20 3d 0a 58 7b 4f 43 54 |al_8_fmt| =.X{OCT|
|00005630| 41 4c 2c 20 42 59 54 45 | 53 2c 20 31 36 2c 20 31 |AL, BYTE|S, 16, 1|
|00005640| 36 2c 20 31 36 2c 20 31 | 2c 20 33 2c 20 54 52 55 |6, 16, 1|, 3, TRU|
|00005650| 45 2c 20 6f 63 74 61 6c | 5f 73 74 72 2c 20 6f 63 |E, octal|_str, oc|
|00005660| 74 61 6c 5f 6c 5f 73 74 | 72 2c 20 6f 63 74 61 6c |tal_l_st|r, octal|
|00005670| 5f 73 74 72 2c 0a 58 20 | 6f 63 74 61 6c 5f 38 5f |_str,.X |octal_8_|
|00005680| 70 6f 73 6e 2c 20 30 7d | 3b 0a 58 0a 58 75 63 68 |posn, 0}|;.X.Xuch|
|00005690| 61 72 20 20 20 20 6f 63 | 74 61 6c 5f 73 5f 38 5f |ar oc|tal_s_8_|
|000056a0| 70 6f 73 6e 5b 5d 20 3d | 0a 58 7b 46 53 2c 20 46 |posn[] =|.X{FS, F|
|000056b0| 53 20 2b 20 34 2c 20 46 | 53 20 2b 20 38 2c 20 46 |S + 4, F|S + 8, F|
|000056c0| 53 20 2b 20 31 32 2c 20 | 46 53 20 2b 20 31 36 2c |S + 12, |FS + 16,|
|000056d0| 20 46 53 20 2b 20 32 30 | 2c 0a 58 20 20 20 20 46 | FS + 20|,.X F|
|000056e0| 53 20 2b 20 32 34 2c 20 | 46 53 20 2b 20 32 38 2c |S + 24, |FS + 28,|
|000056f0| 20 46 53 20 2b 20 33 32 | 2c 20 46 53 20 2b 20 33 | FS + 32|, FS + 3|
|00005700| 36 2c 20 46 53 20 2b 20 | 34 30 2c 0a 58 20 20 20 |6, FS + |40,.X |
|00005710| 20 46 53 20 2b 20 34 34 | 2c 20 46 53 20 2b 20 34 | FS + 44|, FS + 4|
|00005720| 38 2c 20 46 53 20 2b 20 | 35 32 2c 20 46 53 20 2b |8, FS + |52, FS +|
|00005730| 20 35 36 2c 20 46 53 20 | 2b 20 36 30 2c 0a 58 20 | 56, FS |+ 60,.X |
|00005740| 20 20 20 46 53 20 2b 20 | 36 34 2c 20 46 53 20 2b | FS + |64, FS +|
|00005750| 20 36 38 2c 20 46 53 20 | 2b 20 37 32 2c 20 46 53 | 68, FS |+ 72, FS|
|00005760| 20 2b 20 37 36 2c 20 46 | 53 20 2b 20 38 30 0a 58 | + 76, F|S + 80.X|
|00005770| 7d 3b 0a 58 52 4f 57 5f | 46 4d 54 20 6f 63 74 61 |};.XROW_|FMT octa|
|00005780| 6c 5f 73 5f 38 5f 66 6d | 74 20 3d 0a 58 7b 4f 43 |l_s_8_fm|t =.X{OC|
|00005790| 54 41 4c 2c 20 42 59 54 | 45 53 2c 20 38 2c 20 38 |TAL, BYT|ES, 8, 8|
|000057a0| 2c 20 31 2c 20 31 2c 20 | 33 2c 20 54 52 55 45 2c |, 1, 1, |3, TRUE,|
|000057b0| 20 6f 63 74 61 6c 5f 73 | 74 72 2c 20 6f 63 74 61 | octal_s|tr, octa|
|000057c0| 6c 5f 6c 5f 73 74 72 2c | 20 6f 63 74 61 6c 5f 73 |l_l_str,| octal_s|
|000057d0| 74 72 2c 0a 58 20 6f 63 | 74 61 6c 5f 73 5f 38 5f |tr,.X oc|tal_s_8_|
|000057e0| 70 6f 73 6e 2c 20 30 7d | 3b 0a 58 0a 58 75 63 68 |posn, 0}|;.X.Xuch|
|000057f0| 61 72 20 20 20 20 6f 63 | 74 61 6c 5f 31 36 5f 70 |ar oc|tal_16_p|
|00005800| 6f 73 6e 5b 5d 20 3d 0a | 58 7b 46 43 2c 20 46 43 |osn[] =.|X{FC, FC|
|00005810| 20 2b 20 37 2c 20 46 43 | 20 2b 20 31 34 2c 20 46 | + 7, FC| + 14, F|
|00005820| 43 20 2b 20 32 31 2c 20 | 46 43 20 2b 20 32 39 2c |C + 21, |FC + 29,|
|00005830| 20 46 43 20 2b 20 33 36 | 2c 20 46 43 20 2b 20 34 | FC + 36|, FC + 4|
|00005840| 33 2c 20 46 43 20 2b 20 | 35 30 0a 58 7d 3b 0a 58 |3, FC + |50.X};.X|
|00005850| 0a 58 52 4f 57 5f 46 4d | 54 20 6f 63 74 61 6c 5f |.XROW_FM|T octal_|
|00005860| 31 36 5f 66 6d 74 20 3d | 0a 58 7b 4f 43 54 41 4c |16_fmt =|.X{OCTAL|
|00005870| 2c 20 57 4f 52 44 53 2c | 20 38 2c 20 31 36 2c 20 |, WORDS,| 8, 16, |
|00005880| 31 36 2c 20 32 2c 20 36 | 2c 20 54 52 55 45 2c 20 |16, 2, 6|, TRUE, |
|00005890| 6f 63 74 61 6c 5f 73 74 | 72 2c 20 6f 63 74 61 6c |octal_st|r, octal|
|000058a0| 5f 6c 5f 73 74 72 2c 20 | 6f 63 74 61 6c 5f 73 74 |_l_str, |octal_st|
|000058b0| 72 2c 0a 58 20 6f 63 74 | 61 6c 5f 31 36 5f 70 6f |r,.X oct|al_16_po|
|000058c0| 73 6e 2c 20 30 7d 3b 0a | 58 0a 58 75 63 68 61 72 |sn, 0};.|X.Xuchar|
|000058d0| 20 20 20 20 6f 63 74 61 | 6c 5f 73 5f 31 36 5f 70 | octa|l_s_16_p|
|000058e0| 6f 73 6e 5b 5d 20 3d 0a | 58 7b 46 53 2c 20 46 53 |osn[] =.|X{FS, FS|
|000058f0| 20 2b 20 37 2c 20 46 53 | 20 2b 20 31 34 2c 20 46 | + 7, FS| + 14, F|
|00005900| 53 20 2b 20 32 31 2c 20 | 46 53 20 2b 20 32 38 2c |S + 21, |FS + 28,|
|00005910| 20 46 53 20 2b 20 33 35 | 2c 0a 58 20 46 53 20 2b | FS + 35|,.X FS +|
|00005920| 20 34 32 2c 20 46 53 20 | 2b 20 34 39 2c 20 46 53 | 42, FS |+ 49, FS|
|00005930| 20 2b 20 35 36 2c 20 46 | 53 20 2b 20 36 33 2c 20 | + 56, F|S + 63, |
|00005940| 46 53 20 2b 20 37 30 2c | 20 46 53 20 2b 20 37 37 |FS + 70,| FS + 77|
|00005950| 0a 58 7d 3b 0a 58 52 4f | 57 5f 46 4d 54 20 6f 63 |.X};.XRO|W_FMT oc|
|00005960| 74 61 6c 5f 73 5f 31 36 | 5f 66 6d 74 20 3d 0a 58 |tal_s_16|_fmt =.X|
|00005970| 7b 4f 43 54 41 4c 2c 20 | 57 4f 52 44 53 2c 20 34 |{OCTAL, |WORDS, 4|
|00005980| 2c 20 38 2c 20 32 2c 20 | 32 2c 20 36 2c 20 54 52 |, 8, 2, |2, 6, TR|
|00005990| 55 45 2c 20 6f 63 74 61 | 6c 5f 73 74 72 2c 20 6f |UE, octa|l_str, o|
|000059a0| 63 74 61 6c 5f 6c 5f 73 | 74 72 2c 20 6f 63 74 61 |ctal_l_s|tr, octa|
|000059b0| 6c 5f 73 74 72 2c 0a 58 | 20 6f 63 74 61 6c 5f 73 |l_str,.X| octal_s|
|000059c0| 5f 31 36 5f 70 6f 73 6e | 2c 20 30 7d 3b 0a 58 0a |_16_posn|, 0};.X.|
|000059d0| 58 75 63 68 61 72 20 20 | 20 20 6f 63 74 61 6c 5f |Xuchar | octal_|
|000059e0| 33 32 5f 70 6f 73 6e 5b | 5d 20 3d 0a 58 7b 46 43 |32_posn[|] =.X{FC|
|000059f0| 2c 20 46 43 20 2b 20 31 | 32 2c 20 46 43 20 2b 20 |, FC + 1|2, FC + |
|00005a00| 32 35 2c 20 46 43 20 2b | 20 33 37 0a 58 7d 3b 0a |25, FC +| 37.X};.|
|00005a10| 58 0a 58 52 4f 57 5f 46 | 4d 54 20 6f 63 74 61 6c |X.XROW_F|MT octal|
|00005a20| 5f 33 32 5f 66 6d 74 20 | 3d 0a 58 7b 4f 43 54 41 |_32_fmt |=.X{OCTA|
|00005a30| 4c 2c 20 44 57 4f 52 44 | 53 2c 20 34 2c 20 31 36 |L, DWORD|S, 4, 16|
|00005a40| 2c 20 31 36 2c 20 34 2c | 20 31 31 2c 20 54 52 55 |, 16, 4,| 11, TRU|
|00005a50| 45 2c 20 6f 63 74 61 6c | 5f 6c 5f 73 74 72 2c 20 |E, octal|_l_str, |
|00005a60| 6f 63 74 61 6c 5f 6c 5f | 73 74 72 2c 20 6f 63 74 |octal_l_|str, oct|
|00005a70| 61 6c 5f 73 74 72 2c 0a | 58 20 6f 63 74 61 6c 5f |al_str,.|X octal_|
|00005a80| 33 32 5f 70 6f 73 6e 2c | 20 30 7d 3b 0a 58 0a 58 |32_posn,| 0};.X.X|
|00005a90| 75 63 68 61 72 20 20 20 | 20 6f 63 74 61 6c 5f 73 |uchar | octal_s|
|00005aa0| 5f 33 32 5f 70 6f 73 6e | 5b 5d 20 3d 0a 58 7b 46 |_32_posn|[] =.X{F|
|00005ab0| 53 2c 20 46 53 20 2b 20 | 31 32 2c 20 46 53 20 2b |S, FS + |12, FS +|
|00005ac0| 20 32 34 2c 20 46 53 20 | 2b 20 33 36 2c 20 46 53 | 24, FS |+ 36, FS|
|00005ad0| 20 2b 20 34 38 2c 20 46 | 53 20 2b 20 36 30 2c 20 | + 48, F|S + 60, |
|00005ae0| 46 53 20 2b 20 37 32 0a | 58 7d 3b 0a 58 52 4f 57 |FS + 72.|X};.XROW|
|00005af0| 5f 46 4d 54 20 6f 63 74 | 61 6c 5f 73 5f 33 32 5f |_FMT oct|al_s_32_|
|00005b00| 66 6d 74 20 3d 0a 58 7b | 4f 43 54 41 4c 2c 20 44 |fmt =.X{|OCTAL, D|
|00005b10| 57 4f 52 44 53 2c 20 32 | 2c 20 38 2c 20 34 2c 20 |WORDS, 2|, 8, 4, |
|00005b20| 34 2c 20 31 31 2c 20 54 | 52 55 45 2c 20 6f 63 74 |4, 11, T|RUE, oct|
|00005b30| 61 6c 5f 6c 5f 73 74 72 | 2c 20 6f 63 74 61 6c 5f |al_l_str|, octal_|
|00005b40| 6c 5f 73 74 72 2c 20 6f | 63 74 61 6c 5f 73 74 72 |l_str, o|ctal_str|
|00005b50| 2c 0a 58 20 6f 63 74 61 | 6c 5f 73 5f 33 32 5f 70 |,.X octa|l_s_32_p|
|00005b60| 6f 73 6e 2c 20 7d 3b 0a | 58 0a 58 52 4f 57 5f 46 |osn, };.|X.XROW_F|
|00005b70| 4d 54 20 64 65 63 69 6d | 61 6c 5f 38 5f 66 6d 74 |MT decim|al_8_fmt|
|00005b80| 20 3d 0a 58 7b 44 45 43 | 49 4d 41 4c 2c 20 42 59 | =.X{DEC|IMAL, BY|
|00005b90| 54 45 53 2c 20 31 36 2c | 20 31 36 2c 20 31 36 2c |TES, 16,| 16, 16,|
|00005ba0| 20 31 2c 20 33 2c 20 54 | 52 55 45 2c 20 64 65 63 | 1, 3, T|RUE, dec|
|00005bb0| 69 6d 61 6c 5f 73 74 72 | 2c 20 64 65 63 69 6d 61 |imal_str|, decima|
|00005bc0| 6c 5f 6c 5f 73 74 72 2c | 20 64 65 63 69 6d 61 6c |l_l_str,| decimal|
|00005bd0| 5f 73 74 72 2c 0a 58 20 | 6f 63 74 61 6c 5f 38 5f |_str,.X |octal_8_|
|00005be0| 70 6f 73 6e 2c 20 30 7d | 3b 0a 58 0a 58 52 4f 57 |posn, 0}|;.X.XROW|
|00005bf0| 5f 46 4d 54 20 64 65 63 | 69 6d 61 6c 5f 73 5f 38 |_FMT dec|imal_s_8|
|00005c00| 5f 66 6d 74 20 3d 0a 58 | 7b 44 45 43 49 4d 41 4c |_fmt =.X|{DECIMAL|
|00005c10| 2c 20 42 59 54 45 53 2c | 20 38 2c 20 38 2c 20 31 |, BYTES,| 8, 8, 1|
|00005c20| 2c 20 31 2c 20 33 2c 20 | 54 52 55 45 2c 20 64 65 |, 1, 3, |TRUE, de|
|00005c30| 63 69 6d 61 6c 5f 73 74 | 72 2c 20 64 65 63 69 6d |cimal_st|r, decim|
|00005c40| 61 6c 5f 6c 5f 73 74 72 | 2c 20 64 65 63 69 6d 61 |al_l_str|, decima|
|00005c50| 6c 5f 73 74 72 2c 0a 58 | 20 6f 63 74 61 6c 5f 73 |l_str,.X| octal_s|
|00005c60| 5f 38 5f 70 6f 73 6e 2c | 20 30 7d 3b 0a 58 0a 58 |_8_posn,| 0};.X.X|
|00005c70| 75 63 68 61 72 20 20 20 | 20 64 65 63 69 6d 61 6c |uchar | decimal|
|00005c80| 5f 31 36 5f 70 6f 73 6e | 5b 5d 20 3d 0a 58 7b 46 |_16_posn|[] =.X{F|
|00005c90| 43 2c 20 46 43 20 2b 20 | 36 2c 20 46 43 20 2b 20 |C, FC + |6, FC + |
|00005ca0| 31 32 2c 20 46 43 20 2b | 20 31 38 2c 20 46 43 20 |12, FC +| 18, FC |
|00005cb0| 2b 20 32 35 2c 0a 58 20 | 20 20 20 46 43 20 2b 20 |+ 25,.X | FC + |
|00005cc0| 33 31 2c 20 46 43 20 2b | 20 33 37 2c 20 46 43 20 |31, FC +| 37, FC |
|00005cd0| 2b 20 34 33 0a 58 7d 3b | 0a 58 0a 58 52 4f 57 5f |+ 43.X};|.X.XROW_|
|00005ce0| 46 4d 54 20 64 65 63 69 | 6d 61 6c 5f 31 36 5f 66 |FMT deci|mal_16_f|
|00005cf0| 6d 74 20 3d 0a 58 7b 44 | 45 43 49 4d 41 4c 2c 20 |mt =.X{D|ECIMAL, |
|00005d00| 57 4f 52 44 53 2c 20 38 | 2c 20 31 36 2c 20 31 36 |WORDS, 8|, 16, 16|
|00005d10| 2c 20 32 2c 20 35 2c 20 | 54 52 55 45 2c 20 64 65 |, 2, 5, |TRUE, de|
|00005d20| 63 69 6d 61 6c 5f 73 74 | 72 2c 20 64 65 63 69 6d |cimal_st|r, decim|
|00005d30| 61 6c 5f 6c 5f 73 74 72 | 2c 20 64 65 63 69 6d 61 |al_l_str|, decima|
|00005d40| 6c 5f 73 74 72 2c 0a 58 | 20 64 65 63 69 6d 61 6c |l_str,.X| decimal|
|00005d50| 5f 31 36 5f 70 6f 73 6e | 2c 20 30 7d 3b 0a 58 0a |_16_posn|, 0};.X.|
|00005d60| 58 75 63 68 61 72 20 20 | 20 20 64 65 63 69 6d 61 |Xuchar | decima|
|00005d70| 6c 5f 73 5f 31 36 5f 70 | 6f 73 6e 5b 5d 20 3d 0a |l_s_16_p|osn[] =.|
|00005d80| 58 7b 46 53 2c 20 46 53 | 20 2b 20 36 2c 20 46 53 |X{FS, FS| + 6, FS|
|00005d90| 20 2b 20 31 32 2c 20 46 | 53 20 2b 20 31 38 2c 20 | + 12, F|S + 18, |
|00005da0| 46 53 20 2b 20 32 34 2c | 0a 58 20 20 20 20 46 53 |FS + 24,|.X FS|
|00005db0| 20 2b 20 33 30 2c 20 46 | 53 20 2b 20 33 36 2c 20 | + 30, F|S + 36, |
|00005dc0| 46 53 20 2b 20 34 32 2c | 20 46 53 20 2b 20 34 38 |FS + 42,| FS + 48|
|00005dd0| 2c 0a 58 20 20 20 20 46 | 53 20 2b 20 35 34 2c 20 |,.X F|S + 54, |
|00005de0| 46 53 20 2b 20 36 30 2c | 20 46 53 20 2b 20 36 36 |FS + 60,| FS + 66|
|00005df0| 2c 20 46 53 20 2b 20 37 | 32 2c 20 46 53 20 2b 20 |, FS + 7|2, FS + |
|00005e00| 37 38 0a 58 7d 3b 0a 58 | 52 4f 57 5f 46 4d 54 20 |78.X};.X|ROW_FMT |
|00005e10| 64 65 63 69 6d 61 6c 5f | 73 5f 31 36 5f 66 6d 74 |decimal_|s_16_fmt|
|00005e20| 20 3d 0a 58 7b 44 45 43 | 49 4d 41 4c 2c 20 57 4f | =.X{DEC|IMAL, WO|
|00005e30| 52 44 53 2c 20 34 2c 20 | 38 2c 20 32 2c 20 32 2c |RDS, 4, |8, 2, 2,|
|00005e40| 20 35 2c 20 54 52 55 45 | 2c 20 64 65 63 69 6d 61 | 5, TRUE|, decima|
|00005e50| 6c 5f 73 74 72 2c 20 64 | 65 63 69 6d 61 6c 5f 6c |l_str, d|ecimal_l|
|00005e60| 5f 73 74 72 2c 20 64 65 | 63 69 6d 61 6c 5f 73 74 |_str, de|cimal_st|
|00005e70| 72 2c 0a 58 20 64 65 63 | 69 6d 61 6c 5f 73 5f 31 |r,.X dec|imal_s_1|
|00005e80| 36 5f 70 6f 73 6e 2c 20 | 30 7d 3b 0a 58 0a 58 75 |6_posn, |0};.X.Xu|
|00005e90| 63 68 61 72 20 20 20 20 | 64 65 63 69 6d 61 6c 5f |char |decimal_|
|00005ea0| 33 32 5f 70 6f 73 6e 5b | 5d 20 3d 0a 58 7b 46 43 |32_posn[|] =.X{FC|
|00005eb0| 2c 20 46 43 20 2b 20 31 | 31 2c 20 46 43 20 2b 20 |, FC + 1|1, FC + |
|00005ec0| 32 33 2c 20 46 43 20 2b | 20 33 34 0a 58 7d 3b 0a |23, FC +| 34.X};.|
|00005ed0| 58 0a 58 52 4f 57 5f 46 | 4d 54 20 64 65 63 69 6d |X.XROW_F|MT decim|
|00005ee0| 61 6c 5f 33 32 5f 66 6d | 74 20 3d 0a 58 7b 44 45 |al_32_fm|t =.X{DE|
|00005ef0| 43 49 4d 41 4c 2c 20 44 | 57 4f 52 44 53 2c 20 34 |CIMAL, D|WORDS, 4|
|00005f00| 2c 20 31 36 2c 20 31 36 | 2c 20 34 2c 20 31 30 2c |, 16, 16|, 4, 10,|
|00005f10| 20 54 52 55 45 2c 20 64 | 65 63 69 6d 61 6c 5f 6c | TRUE, d|ecimal_l|
|00005f20| 5f 73 74 72 2c 20 64 65 | 63 69 6d 61 6c 5f 6c 5f |_str, de|cimal_l_|
|00005f30| 73 74 72 2c 20 64 65 63 | 69 6d 61 6c 5f 73 74 72 |str, dec|imal_str|
|00005f40| 2c 0a 58 20 64 65 63 69 | 6d 61 6c 5f 33 32 5f 70 |,.X deci|mal_32_p|
|00005f50| 6f 73 6e 2c 20 30 7d 3b | 0a 58 0a 58 75 63 68 61 |osn, 0};|.X.Xucha|
|00005f60| 72 20 20 20 20 64 65 63 | 69 6d 61 6c 5f 73 5f 33 |r dec|imal_s_3|
|00005f70| 32 5f 70 6f 73 6e 5b 5d | 20 3d 0a 58 7b 46 53 2c |2_posn[]| =.X{FS,|
|00005f80| 20 46 53 20 2b 20 31 31 | 2c 20 46 53 20 2b 20 32 | FS + 11|, FS + 2|
|00005f90| 32 2c 20 46 53 20 2b 20 | 33 33 2c 20 46 53 20 2b |2, FS + |33, FS +|
|00005fa0| 20 34 34 2c 20 46 53 20 | 2b 20 35 35 2c 20 46 53 | 44, FS |+ 55, FS|
|00005fb0| 20 2b 20 36 36 2c 20 46 | 53 20 2b 20 37 37 0a 58 | + 66, F|S + 77.X|
|00005fc0| 7d 3b 0a 58 52 4f 57 5f | 46 4d 54 20 64 65 63 69 |};.XROW_|FMT deci|
|00005fd0| 6d 61 6c 5f 73 5f 33 32 | 5f 66 6d 74 20 3d 0a 58 |mal_s_32|_fmt =.X|
|00005fe0| 7b 44 45 43 49 4d 41 4c | 2c 20 44 57 4f 52 44 53 |{DECIMAL|, DWORDS|
|00005ff0| 2c 20 34 2c 20 31 36 2c | 20 34 2c 20 34 2c 20 31 |, 4, 16,| 4, 4, 1|
|00006000| 30 2c 20 54 52 55 45 2c | 20 64 65 63 69 6d 61 6c |0, TRUE,| decimal|
|00006010| 5f 6c 5f 73 74 72 2c 20 | 64 65 63 69 6d 61 6c 5f |_l_str, |decimal_|
|00006020| 6c 5f 73 74 72 2c 20 64 | 65 63 69 6d 61 6c 5f 73 |l_str, d|ecimal_s|
|00006030| 74 72 2c 0a 58 20 64 65 | 63 69 6d 61 6c 5f 73 5f |tr,.X de|cimal_s_|
|00006040| 33 32 5f 70 6f 73 6e 2c | 20 30 7d 3b 0a 58 0a 58 |32_posn,| 0};.X.X|
|00006050| 75 63 68 61 72 20 20 20 | 20 68 65 78 5f 38 5f 70 |uchar | hex_8_p|
|00006060| 6f 73 6e 5b 5d 20 3d 0a | 58 7b 46 43 2c 20 46 43 |osn[] =.|X{FC, FC|
|00006070| 20 2b 20 33 2c 20 46 43 | 20 2b 20 36 2c 20 46 43 | + 3, FC| + 6, FC|
|00006080| 20 2b 20 39 2c 20 46 43 | 20 2b 20 31 32 2c 20 46 | + 9, FC| + 12, F|
|00006090| 43 20 2b 20 31 35 2c 0a | 58 20 20 20 20 46 43 20 |C + 15,.|X FC |
|000060a0| 2b 20 31 38 2c 20 46 43 | 20 2b 20 32 31 2c 20 46 |+ 18, FC| + 21, F|
|000060b0| 43 20 2b 20 32 35 2c 20 | 46 43 20 2b 20 32 38 2c |C + 25, |FC + 28,|
|000060c0| 20 46 43 20 2b 20 33 31 | 2c 0a 58 20 20 20 20 46 | FC + 31|,.X F|
|000060d0| 43 20 2b 20 33 34 2c 20 | 46 43 20 2b 20 33 37 2c |C + 34, |FC + 37,|
|000060e0| 20 46 43 20 2b 20 34 30 | 2c 20 46 43 20 2b 20 34 | FC + 40|, FC + 4|
|000060f0| 33 2c 20 46 43 20 2b 20 | 34 36 2c 0a 58 20 20 20 |3, FC + |46,.X |
|00006100| 20 46 43 20 2b 20 35 30 | 2c 20 46 43 20 2b 20 35 | FC + 50|, FC + 5|
|00006110| 31 2c 20 46 43 20 2b 20 | 35 32 2c 20 46 43 20 2b |1, FC + |52, FC +|
|00006120| 20 35 33 2c 20 46 43 20 | 2b 20 35 34 2c 0a 58 20 | 53, FC |+ 54,.X |
|00006130| 20 20 20 46 43 20 2b 20 | 35 35 2c 20 46 43 20 2b | FC + |55, FC +|
|00006140| 20 35 36 2c 20 46 43 20 | 2b 20 35 37 2c 20 46 43 | 56, FC |+ 57, FC|
|00006150| 20 2b 20 35 38 2c 20 46 | 43 20 2b 20 35 39 2c 0a | + 58, F|C + 59,.|
|00006160| 58 20 20 20 20 46 43 20 | 2b 20 36 30 2c 20 46 43 |X FC |+ 60, FC|
|00006170| 20 2b 20 36 31 2c 20 46 | 43 20 2b 20 36 32 2c 20 | + 61, F|C + 62, |
|00006180| 46 43 20 2b 20 36 33 2c | 20 46 43 20 2b 20 36 34 |FC + 63,| FC + 64|
|00006190| 2c 0a 58 20 20 20 20 46 | 43 20 2b 20 36 35 0a 58 |,.X F|C + 65.X|
|000061a0| 7d 3b 0a 58 0a 58 52 4f | 57 5f 46 4d 54 20 68 65 |};.X.XRO|W_FMT he|
|000061b0| 78 5f 38 5f 66 6d 74 20 | 3d 0a 58 7b 48 45 58 2c |x_8_fmt |=.X{HEX,|
|000061c0| 20 42 59 54 45 53 2c 20 | 31 36 2c 20 31 36 2c 20 | BYTES, |16, 16, |
|000061d0| 31 36 2c 20 31 2c 20 32 | 2c 20 54 52 55 45 2c 20 |16, 1, 2|, TRUE, |
|000061e0| 68 65 78 5f 73 74 72 2c | 20 68 65 78 5f 6c 5f 73 |hex_str,| hex_l_s|
|000061f0| 74 72 2c 20 68 65 78 5f | 73 74 72 2c 0a 58 20 68 |tr, hex_|str,.X h|
|00006200| 65 78 5f 38 5f 70 6f 73 | 6e 2c 20 30 7d 3b 0a 58 |ex_8_pos|n, 0};.X|
|00006210| 0a 58 0a 58 75 63 68 61 | 72 20 20 20 20 68 65 78 |.X.Xucha|r hex|
|00006220| 5f 73 5f 38 5f 70 6f 73 | 6e 5b 5d 20 3d 0a 58 7b |_s_8_pos|n[] =.X{|
|00006230| 46 53 2c 20 46 53 20 2b | 20 33 2c 20 46 53 20 2b |FS, FS +| 3, FS +|
|00006240| 20 36 2c 20 46 53 20 2b | 20 39 2c 20 46 53 20 2b | 6, FS +| 9, FS +|
|00006250| 20 31 32 2c 20 46 53 20 | 2b 20 31 35 2c 0a 58 20 | 12, FS |+ 15,.X |
|00006260| 20 20 20 46 53 20 2b 20 | 31 38 2c 20 46 53 20 2b | FS + |18, FS +|
|00006270| 20 32 31 2c 20 46 53 20 | 2b 20 32 34 2c 20 46 53 | 21, FS |+ 24, FS|
|00006280| 20 2b 20 32 37 2c 20 46 | 53 20 2b 20 33 30 2c 0a | + 27, F|S + 30,.|
|00006290| 58 20 20 20 20 46 53 20 | 2b 20 33 33 2c 20 46 53 |X FS |+ 33, FS|
|000062a0| 20 2b 20 33 36 2c 20 46 | 53 20 2b 20 33 39 2c 20 | + 36, F|S + 39, |
|000062b0| 46 53 20 2b 20 34 32 2c | 20 46 53 20 2b 20 34 35 |FS + 42,| FS + 45|
|000062c0| 2c 0a 58 20 20 20 20 46 | 53 20 2b 20 34 38 2c 20 |,.X F|S + 48, |
|000062d0| 46 53 20 2b 20 35 31 2c | 20 46 53 20 2b 20 35 34 |FS + 51,| FS + 54|
|000062e0| 2c 20 46 53 20 2b 20 35 | 37 2c 20 46 53 20 2b 20 |, FS + 5|7, FS + |
|000062f0| 36 30 2c 0a 58 20 20 20 | 20 46 53 20 2b 20 36 33 |60,.X | FS + 63|
|00006300| 2c 20 46 53 20 2b 20 36 | 36 2c 20 46 53 20 2b 20 |, FS + 6|6, FS + |
|00006310| 36 39 2c 20 46 53 20 2b | 20 37 32 2c 20 46 53 20 |69, FS +| 72, FS |
|00006320| 2b 20 37 35 2c 0a 58 20 | 20 20 20 46 53 20 2b 20 |+ 75,.X | FS + |
|00006330| 37 38 2c 20 46 53 20 2b | 20 38 30 2c 20 46 53 20 |78, FS +| 80, FS |
|00006340| 2b 20 38 30 2c 20 46 53 | 20 2b 20 38 30 2c 20 46 |+ 80, FS| + 80, F|
|00006350| 53 20 2b 20 38 30 2c 0a | 58 20 20 20 20 46 53 20 |S + 80,.|X FS |
|00006360| 2b 20 38 30 0a 58 7d 3b | 0a 58 52 4f 57 5f 46 4d |+ 80.X};|.XROW_FM|
|00006370| 54 20 68 65 78 5f 73 5f | 38 5f 66 6d 74 20 3d 0a |T hex_s_|8_fmt =.|
|00006380| 58 7b 48 45 58 2c 20 42 | 59 54 45 53 2c 20 38 2c |X{HEX, B|YTES, 8,|
|00006390| 20 38 2c 20 31 2c 20 31 | 2c 20 32 2c 20 54 52 55 | 8, 1, 1|, 2, TRU|
|000063a0| 45 2c 20 68 65 78 5f 73 | 74 72 2c 20 68 65 78 5f |E, hex_s|tr, hex_|
|000063b0| 6c 5f 73 74 72 2c 20 68 | 65 78 5f 73 74 72 2c 0a |l_str, h|ex_str,.|
|000063c0| 58 20 68 65 78 5f 73 5f | 38 5f 70 6f 73 6e 2c 20 |X hex_s_|8_posn, |
|000063d0| 30 7d 3b 0a 58 0a 58 75 | 63 68 61 72 20 20 20 20 |0};.X.Xu|char |
|000063e0| 68 65 78 5f 31 36 5f 70 | 6f 73 6e 5b 5d 20 3d 0a |hex_16_p|osn[] =.|
|000063f0| 58 7b 46 43 2c 20 46 43 | 20 2b 20 35 2c 20 46 43 |X{FC, FC| + 5, FC|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.