home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume26 / screen-3.5 / part06 < prev    next >
SHell self-extracting ARchive  |  1993-07-25  |  94.9 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


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

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file ASCII text default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 63 6f 6d 70 |Newsgrou|ps: comp|
|00000010| 2e 73 6f 75 72 63 65 73 | 2e 75 6e 69 78 0a 46 72 |.sources|.unix.Fr|
|00000020| 6f 6d 3a 20 6d 6c 73 63 | 68 72 6f 65 40 69 6d 6d |om: mlsc|hroe@imm|
|00000030| 64 34 2e 69 6e 66 6f 72 | 6d 61 74 69 6b 2e 75 6e |d4.infor|matik.un|
|00000040| 69 2d 65 72 6c 61 6e 67 | 65 6e 2e 64 65 20 28 4d |i-erlang|en.de (M|
|00000050| 69 63 68 61 65 6c 20 53 | 63 68 72 6f 65 64 65 72 |ichael S|chroeder|
|00000060| 29 0a 53 75 62 6a 65 63 | 74 3a 20 76 32 36 69 33 |).Subjec|t: v26i3|
|00000070| 30 35 3a 20 73 63 72 65 | 65 6e 2d 33 2e 35 20 2d |05: scre|en-3.5 -|
|00000080| 20 73 63 72 65 65 6e 20 | 6d 61 6e 61 67 65 72 20 | screen |manager |
|00000090| 77 69 74 68 20 56 54 31 | 30 30 2f 41 4e 53 49 20 |with VT1|00/ANSI |
|000000a0| 74 65 72 6d 69 6e 61 6c | 20 65 6d 75 6c 61 74 69 |terminal| emulati|
|000000b0| 6f 6e 2c 20 56 33 2e 35 | 2c 20 50 61 72 74 30 36 |on, V3.5|, Part06|
|000000c0| 2f 31 30 0a 53 65 6e 64 | 65 72 3a 20 75 6e 69 78 |/10.Send|er: unix|
|000000d0| 2d 73 6f 75 72 63 65 73 | 2d 6d 6f 64 65 72 61 74 |-sources|-moderat|
|000000e0| 6f 72 40 67 77 2e 68 6f | 6d 65 2e 76 69 78 2e 63 |or@gw.ho|me.vix.c|
|000000f0| 6f 6d 0a 41 70 70 72 6f | 76 65 64 3a 20 76 69 78 |om.Appro|ved: vix|
|00000100| 69 65 40 67 77 2e 68 6f | 6d 65 2e 76 69 78 2e 63 |ie@gw.ho|me.vix.c|
|00000110| 6f 6d 0a 0a 53 75 62 6d | 69 74 74 65 64 2d 42 79 |om..Subm|itted-By|
|00000120| 3a 20 6d 6c 73 63 68 72 | 6f 65 40 69 6d 6d 64 34 |: mlschr|oe@immd4|
|00000130| 2e 69 6e 66 6f 72 6d 61 | 74 69 6b 2e 75 6e 69 2d |.informa|tik.uni-|
|00000140| 65 72 6c 61 6e 67 65 6e | 2e 64 65 20 28 4d 69 63 |erlangen|.de (Mic|
|00000150| 68 61 65 6c 20 53 63 68 | 72 6f 65 64 65 72 29 0a |hael Sch|roeder).|
|00000160| 50 6f 73 74 69 6e 67 2d | 4e 75 6d 62 65 72 3a 20 |Posting-|Number: |
|00000170| 56 6f 6c 75 6d 65 20 32 | 36 2c 20 49 73 73 75 65 |Volume 2|6, Issue|
|00000180| 20 33 30 35 0a 41 72 63 | 68 69 76 65 2d 4e 61 6d | 305.Arc|hive-Nam|
|00000190| 65 3a 20 73 63 72 65 65 | 6e 2d 33 2e 35 2f 70 61 |e: scree|n-3.5/pa|
|000001a0| 72 74 30 36 0a 0a 23 21 | 20 2f 62 69 6e 2f 73 68 |rt06..#!| /bin/sh|
|000001b0| 0a 23 20 54 68 69 73 20 | 69 73 20 61 20 73 68 65 |.# This |is a she|
|000001c0| 6c 6c 20 61 72 63 68 69 | 76 65 2e 20 20 52 65 6d |ll archi|ve. Rem|
|000001d0| 6f 76 65 20 61 6e 79 74 | 68 69 6e 67 20 62 65 66 |ove anyt|hing bef|
|000001e0| 6f 72 65 20 74 68 69 73 | 20 6c 69 6e 65 2c 20 74 |ore this| line, t|
|000001f0| 68 65 6e 20 75 6e 70 61 | 63 6b 0a 23 20 69 74 20 |hen unpa|ck.# it |
|00000200| 62 79 20 73 61 76 69 6e | 67 20 69 74 20 69 6e 74 |by savin|g it int|
|00000210| 6f 20 61 20 66 69 6c 65 | 20 61 6e 64 20 74 79 70 |o a file| and typ|
|00000220| 69 6e 67 20 22 73 68 20 | 66 69 6c 65 22 2e 20 20 |ing "sh |file". |
|00000230| 54 6f 20 6f 76 65 72 77 | 72 69 74 65 20 65 78 69 |To overw|rite exi|
|00000240| 73 74 69 6e 67 0a 23 20 | 66 69 6c 65 73 2c 20 74 |sting.# |files, t|
|00000250| 79 70 65 20 22 73 68 20 | 66 69 6c 65 20 2d 63 22 |ype "sh |file -c"|
|00000260| 2e 20 20 59 6f 75 20 63 | 61 6e 20 61 6c 73 6f 20 |. You c|an also |
|00000270| 66 65 65 64 20 74 68 69 | 73 20 61 73 20 73 74 61 |feed thi|s as sta|
|00000280| 6e 64 61 72 64 20 69 6e | 70 75 74 20 76 69 61 0a |ndard in|put via.|
|00000290| 23 20 75 6e 73 68 61 72 | 2c 20 6f 72 20 62 79 20 |# unshar|, or by |
|000002a0| 74 79 70 69 6e 67 20 22 | 73 68 20 3c 66 69 6c 65 |typing "|sh <file|
|000002b0| 22 2c 20 65 2e 67 2e 2e | 20 20 49 66 20 74 68 69 |", e.g..| If thi|
|000002c0| 73 20 61 72 63 68 69 76 | 65 20 69 73 20 63 6f 6d |s archiv|e is com|
|000002d0| 70 6c 65 74 65 2c 20 79 | 6f 75 0a 23 20 77 69 6c |plete, y|ou.# wil|
|000002e0| 6c 20 73 65 65 20 74 68 | 65 20 66 6f 6c 6c 6f 77 |l see th|e follow|
|000002f0| 69 6e 67 20 6d 65 73 73 | 61 67 65 20 61 74 20 74 |ing mess|age at t|
|00000300| 68 65 20 65 6e 64 3a 0a | 23 09 09 22 45 6e 64 20 |he end:.|#.."End |
|00000310| 6f 66 20 61 72 63 68 69 | 76 65 20 36 20 28 6f 66 |of archi|ve 6 (of|
|00000320| 20 31 30 29 2e 22 0a 23 | 20 43 6f 6e 74 65 6e 74 | 10).".#| Content|
|00000330| 73 3a 20 20 61 6e 73 69 | 2e 63 20 73 63 72 65 65 |s: ansi|.c scree|
|00000340| 6e 2e 63 0a 23 20 57 72 | 61 70 70 65 64 20 62 79 |n.c.# Wr|apped by|
|00000350| 20 76 69 78 69 65 40 67 | 77 2e 68 6f 6d 65 2e 76 | vixie@g|w.home.v|
|00000360| 69 78 2e 63 6f 6d 20 6f | 6e 20 53 75 6e 20 4a 75 |ix.com o|n Sun Ju|
|00000370| 6c 20 32 35 20 31 32 3a | 35 37 3a 32 31 20 31 39 |l 25 12:|57:21 19|
|00000380| 39 33 0a 50 41 54 48 3d | 2f 62 69 6e 3a 2f 75 73 |93.PATH=|/bin:/us|
|00000390| 72 2f 62 69 6e 3a 2f 75 | 73 72 2f 75 63 62 20 3b |r/bin:/u|sr/ucb ;|
|000003a0| 20 65 78 70 6f 72 74 20 | 50 41 54 48 0a 69 66 20 | export |PATH.if |
|000003b0| 74 65 73 74 20 2d 66 20 | 27 61 6e 73 69 2e 63 27 |test -f |'ansi.c'|
|000003c0| 20 2d 61 20 22 24 7b 31 | 7d 22 20 21 3d 20 22 2d | -a "${1|}" != "-|
|000003d0| 63 22 20 3b 20 74 68 65 | 6e 20 0a 20 20 65 63 68 |c" ; the|n . ech|
|000003e0| 6f 20 73 68 61 72 3a 20 | 57 69 6c 6c 20 6e 6f 74 |o shar: |Will not|
|000003f0| 20 63 6c 6f 62 62 65 72 | 20 65 78 69 73 74 69 6e | clobber| existin|
|00000400| 67 20 66 69 6c 65 20 5c | 22 27 61 6e 73 69 2e 63 |g file \|"'ansi.c|
|00000410| 27 5c 22 0a 65 6c 73 65 | 0a 65 63 68 6f 20 73 68 |'\".else|.echo sh|
|00000420| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|00000430| 22 27 61 6e 73 69 2e 63 | 27 5c 22 20 5c 28 33 39 |"'ansi.c|'\" \(39|
|00000440| 39 39 36 20 63 68 61 72 | 61 63 74 65 72 73 5c 29 |996 char|acters\)|
|00000450| 0a 73 65 64 20 22 73 2f | 5e 58 2f 2f 22 20 3e 27 |.sed "s/|^X//" >'|
|00000460| 61 6e 73 69 2e 63 27 20 | 3c 3c 27 45 4e 44 5f 4f |ansi.c' |<<'END_O|
|00000470| 46 5f 46 49 4c 45 27 0a | 58 2f 2a 20 43 6f 70 79 |F_FILE'.|X/* Copy|
|00000480| 72 69 67 68 74 20 28 63 | 29 20 31 39 39 33 0a 58 |right (c|) 1993.X|
|00000490| 20 2a 20 20 20 20 20 20 | 4a 75 65 72 67 65 6e 20 | * |Juergen |
|000004a0| 57 65 69 67 65 72 74 20 | 28 6a 6e 77 65 69 67 65 |Weigert |(jnweige|
|000004b0| 72 40 69 6d 6d 64 34 2e | 69 6e 66 6f 72 6d 61 74 |r@immd4.|informat|
|000004c0| 69 6b 2e 75 6e 69 2d 65 | 72 6c 61 6e 67 65 6e 2e |ik.uni-e|rlangen.|
|000004d0| 64 65 29 0a 58 20 2a 20 | 20 20 20 20 20 4d 69 63 |de).X * | Mic|
|000004e0| 68 61 65 6c 20 53 63 68 | 72 6f 65 64 65 72 20 28 |hael Sch|roeder (|
|000004f0| 6d 6c 73 63 68 72 6f 65 | 40 69 6d 6d 64 34 2e 69 |mlschroe|@immd4.i|
|00000500| 6e 66 6f 72 6d 61 74 69 | 6b 2e 75 6e 69 2d 65 72 |nformati|k.uni-er|
|00000510| 6c 61 6e 67 65 6e 2e 64 | 65 29 0a 58 20 2a 20 43 |langen.d|e).X * C|
|00000520| 6f 70 79 72 69 67 68 74 | 20 28 63 29 20 31 39 38 |opyright| (c) 198|
|00000530| 37 20 4f 6c 69 76 65 72 | 20 4c 61 75 6d 61 6e 6e |7 Oliver| Laumann|
|00000540| 0a 58 20 2a 0a 58 20 2a | 20 54 68 69 73 20 70 72 |.X *.X *| This pr|
|00000550| 6f 67 72 61 6d 20 69 73 | 20 66 72 65 65 20 73 6f |ogram is| free so|
|00000560| 66 74 77 61 72 65 3b 20 | 79 6f 75 20 63 61 6e 20 |ftware; |you can |
|00000570| 72 65 64 69 73 74 72 69 | 62 75 74 65 20 69 74 20 |redistri|bute it |
|00000580| 61 6e 64 2f 6f 72 20 6d | 6f 64 69 66 79 0a 58 20 |and/or m|odify.X |
|00000590| 2a 20 69 74 20 75 6e 64 | 65 72 20 74 68 65 20 74 |* it und|er the t|
|000005a0| 65 72 6d 73 20 6f 66 20 | 74 68 65 20 47 4e 55 20 |erms of |the GNU |
|000005b0| 47 65 6e 65 72 61 6c 20 | 50 75 62 6c 69 63 20 4c |General |Public L|
|000005c0| 69 63 65 6e 73 65 20 61 | 73 20 70 75 62 6c 69 73 |icense a|s publis|
|000005d0| 68 65 64 20 62 79 0a 58 | 20 2a 20 74 68 65 20 46 |hed by.X| * the F|
|000005e0| 72 65 65 20 53 6f 66 74 | 77 61 72 65 20 46 6f 75 |ree Soft|ware Fou|
|000005f0| 6e 64 61 74 69 6f 6e 3b | 20 65 69 74 68 65 72 20 |ndation;| either |
|00000600| 76 65 72 73 69 6f 6e 20 | 32 2c 20 6f 72 20 28 61 |version |2, or (a|
|00000610| 74 20 79 6f 75 72 20 6f | 70 74 69 6f 6e 29 0a 58 |t your o|ption).X|
|00000620| 20 2a 20 61 6e 79 20 6c | 61 74 65 72 20 76 65 72 | * any l|ater ver|
|00000630| 73 69 6f 6e 2e 0a 58 20 | 2a 20 20 0a 58 20 2a 20 |sion..X |* .X * |
|00000640| 54 68 69 73 20 70 72 6f | 67 72 61 6d 20 69 73 20 |This pro|gram is |
|00000650| 64 69 73 74 72 69 62 75 | 74 65 64 20 69 6e 20 74 |distribu|ted in t|
|00000660| 68 65 20 68 6f 70 65 20 | 74 68 61 74 20 69 74 20 |he hope |that it |
|00000670| 77 69 6c 6c 20 62 65 20 | 75 73 65 66 75 6c 2c 0a |will be |useful,.|
|00000680| 58 20 2a 20 62 75 74 20 | 57 49 54 48 4f 55 54 20 |X * but |WITHOUT |
|00000690| 41 4e 59 20 57 41 52 52 | 41 4e 54 59 3b 20 77 69 |ANY WARR|ANTY; wi|
|000006a0| 74 68 6f 75 74 20 65 76 | 65 6e 20 74 68 65 20 69 |thout ev|en the i|
|000006b0| 6d 70 6c 69 65 64 20 77 | 61 72 72 61 6e 74 79 20 |mplied w|arranty |
|000006c0| 6f 66 0a 58 20 2a 20 4d | 45 52 43 48 41 4e 54 41 |of.X * M|ERCHANTA|
|000006d0| 42 49 4c 49 54 59 20 6f | 72 20 46 49 54 4e 45 53 |BILITY o|r FITNES|
|000006e0| 53 20 46 4f 52 20 41 20 | 50 41 52 54 49 43 55 4c |S FOR A |PARTICUL|
|000006f0| 41 52 20 50 55 52 50 4f | 53 45 2e 20 20 53 65 65 |AR PURPO|SE. See|
|00000700| 20 74 68 65 0a 58 20 2a | 20 47 4e 55 20 47 65 6e | the.X *| GNU Gen|
|00000710| 65 72 61 6c 20 50 75 62 | 6c 69 63 20 4c 69 63 65 |eral Pub|lic Lice|
|00000720| 6e 73 65 20 66 6f 72 20 | 6d 6f 72 65 20 64 65 74 |nse for |more det|
|00000730| 61 69 6c 73 2e 0a 58 20 | 2a 0a 58 20 2a 20 59 6f |ails..X |*.X * Yo|
|00000740| 75 20 73 68 6f 75 6c 64 | 20 68 61 76 65 20 72 65 |u should| have re|
|00000750| 63 65 69 76 65 64 20 61 | 20 63 6f 70 79 20 6f 66 |ceived a| copy of|
|00000760| 20 74 68 65 20 47 4e 55 | 20 47 65 6e 65 72 61 6c | the GNU| General|
|00000770| 20 50 75 62 6c 69 63 20 | 4c 69 63 65 6e 73 65 0a | Public |License.|
|00000780| 58 20 2a 20 61 6c 6f 6e | 67 20 77 69 74 68 20 74 |X * alon|g with t|
|00000790| 68 69 73 20 70 72 6f 67 | 72 61 6d 20 28 73 65 65 |his prog|ram (see|
|000007a0| 20 74 68 65 20 66 69 6c | 65 20 43 4f 50 59 49 4e | the fil|e COPYIN|
|000007b0| 47 29 3b 20 69 66 20 6e | 6f 74 2c 20 77 72 69 74 |G); if n|ot, writ|
|000007c0| 65 20 74 6f 20 74 68 65 | 0a 58 20 2a 20 46 72 65 |e to the|.X * Fre|
|000007d0| 65 20 53 6f 66 74 77 61 | 72 65 20 46 6f 75 6e 64 |e Softwa|re Found|
|000007e0| 61 74 69 6f 6e 2c 20 49 | 6e 63 2e 2c 20 36 37 35 |ation, I|nc., 675|
|000007f0| 20 4d 61 73 73 20 41 76 | 65 2c 20 43 61 6d 62 72 | Mass Av|e, Cambr|
|00000800| 69 64 67 65 2c 20 4d 41 | 20 30 32 31 33 39 2c 20 |idge, MA| 02139, |
|00000810| 55 53 41 2e 0a 58 20 2a | 0a 58 20 2a 2a 2a 2a 2a |USA..X *|.X *****|
|00000820| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000830| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000840| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000850| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 20 2a 2f |********|***.X */|
|00000860| 0a 58 0a 58 23 69 6e 63 | 6c 75 64 65 20 22 72 63 |.X.X#inc|lude "rc|
|00000870| 73 2e 68 22 0a 58 52 43 | 53 5f 49 44 28 22 24 49 |s.h".XRC|S_ID("$I|
|00000880| 64 3a 20 61 6e 73 69 2e | 63 2c 76 20 31 2e 31 32 |d: ansi.|c,v 1.12|
|00000890| 20 31 39 39 33 2f 30 37 | 2f 32 31 20 31 35 3a 34 | 1993/07|/21 15:4|
|000008a0| 32 3a 34 34 20 6d 6c 73 | 63 68 72 6f 65 20 45 78 |2:44 mls|chroe Ex|
|000008b0| 70 20 24 20 46 41 55 22 | 29 0a 58 0a 58 23 69 6e |p $ FAU"|).X.X#in|
|000008c0| 63 6c 75 64 65 20 3c 73 | 74 64 69 6f 2e 68 3e 0a |clude <s|tdio.h>.|
|000008d0| 58 23 69 6e 63 6c 75 64 | 65 20 3c 73 79 73 2f 74 |X#includ|e <sys/t|
|000008e0| 79 70 65 73 2e 68 3e 0a | 58 23 69 6e 63 6c 75 64 |ypes.h>.|X#includ|
|000008f0| 65 20 3c 66 63 6e 74 6c | 2e 68 3e 0a 58 23 69 66 |e <fcntl|.h>.X#if|
|00000900| 6e 64 65 66 20 73 75 6e | 09 2f 2a 20 77 65 20 77 |ndef sun|./* we w|
|00000910| 61 6e 74 20 74 6f 20 6b | 6e 6f 77 20 61 62 6f 75 |ant to k|now abou|
|00000920| 74 20 54 49 4f 43 50 4b | 54 2e 20 2a 2f 0a 58 23 |t TIOCPK|T. */.X#|
|00000930| 20 69 6e 63 6c 75 64 65 | 20 3c 73 79 73 2f 69 6f | include| <sys/io|
|00000940| 63 74 6c 2e 68 3e 0a 58 | 23 65 6e 64 69 66 0a 58 |ctl.h>.X|#endif.X|
|00000950| 23 69 6e 63 6c 75 64 65 | 20 22 63 6f 6e 66 69 67 |#include| "config|
|00000960| 2e 68 22 0a 58 23 69 6e | 63 6c 75 64 65 20 22 73 |.h".X#in|clude "s|
|00000970| 63 72 65 65 6e 2e 68 22 | 0a 58 23 69 6e 63 6c 75 |creen.h"|.X#inclu|
|00000980| 64 65 20 22 65 78 74 65 | 72 6e 2e 68 22 0a 58 0a |de "exte|rn.h".X.|
|00000990| 58 65 78 74 65 72 6e 20 | 63 68 61 72 20 2a 67 65 |Xextern |char *ge|
|000009a0| 74 65 6e 76 28 29 2c 20 | 2a 74 67 65 74 73 74 72 |tenv(), |*tgetstr|
|000009b0| 28 29 2c 20 2a 74 67 6f | 74 6f 28 29 3b 0a 58 23 |(), *tgo|to();.X#|
|000009c0| 69 66 6e 64 65 66 20 5f | 5f 53 54 44 43 5f 5f 0a |ifndef _|_STDC__.|
|000009d0| 58 65 78 74 65 72 6e 20 | 63 68 61 72 20 2a 6d 61 |Xextern |char *ma|
|000009e0| 6c 6c 6f 63 28 29 3b 0a | 58 23 65 6e 64 69 66 0a |lloc();.|X#endif.|
|000009f0| 58 0a 58 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |X.Xexter|n struct|
|00000a00| 20 77 69 6e 20 2a 77 69 | 6e 64 6f 77 73 3b 09 2f | win *wi|ndows;./|
|00000a10| 2a 20 6c 69 6e 6b 65 64 | 20 6c 69 73 74 20 6f 66 |* linked| list of|
|00000a20| 20 61 6c 6c 20 77 69 6e | 64 6f 77 73 20 2a 2f 0a | all win|dows */.|
|00000a30| 58 65 78 74 65 72 6e 20 | 73 74 72 75 63 74 20 77 |Xextern |struct w|
|00000a40| 69 6e 20 2a 66 6f 72 65 | 3b 0a 58 65 78 74 65 72 |in *fore|;.Xexter|
|00000a50| 6e 20 73 74 72 75 63 74 | 20 64 69 73 70 6c 61 79 |n struct| display|
|00000a60| 20 2a 64 69 73 70 6c 61 | 79 2c 20 2a 64 69 73 70 | *displa|y, *disp|
|00000a70| 6c 61 79 73 3b 0a 58 0a | 58 65 78 74 65 72 6e 20 |lays;.X.|Xextern |
|00000a80| 69 6e 74 20 20 66 6f 72 | 63 65 5f 76 74 3b 0a 58 |int for|ce_vt;.X|
|00000a90| 65 78 74 65 72 6e 20 69 | 6e 74 20 20 61 6c 6c 5f |extern i|nt all_|
|00000aa0| 6e 6f 72 65 66 72 65 73 | 68 3b 09 2f 2a 20 3d 3e |norefres|h;./* =>|
|00000ab0| 20 64 69 73 70 6c 61 79 | 20 2a 2f 0a 58 65 78 74 | display| */.Xext|
|00000ac0| 65 72 6e 20 63 68 61 72 | 20 45 73 63 2c 20 4d 65 |ern char| Esc, Me|
|00000ad0| 74 61 45 73 63 3b 09 2f | 2a 20 3d 3e 20 64 69 73 |taEsc;./|* => dis|
|00000ae0| 70 6c 61 79 20 2a 2f 0a | 58 65 78 74 65 72 6e 20 |play */.|Xextern |
|00000af0| 74 69 6d 65 5f 74 20 4e | 6f 77 3b 0a 58 0a 58 69 |time_t N|ow;.X.Xi|
|00000b00| 6e 74 20 6d 61 78 77 69 | 64 74 68 3b 09 09 09 2f |nt maxwi|dth;.../|
|00000b10| 2a 20 6d 61 78 69 6d 75 | 6d 20 6f 66 20 61 6c 6c |* maximu|m of all|
|00000b20| 20 77 69 64 74 68 73 20 | 73 6f 20 66 61 72 20 2a | widths |so far *|
|00000b30| 2f 0a 58 0a 58 69 6e 74 | 20 5a 30 77 69 64 74 68 |/.X.Xint| Z0width|
|00000b40| 2c 20 5a 31 77 69 64 74 | 68 3b 09 09 2f 2a 20 77 |, Z1widt|h;../* w|
|00000b50| 69 64 74 68 73 20 66 6f | 72 20 5a 30 2f 5a 31 20 |idths fo|r Z0/Z1 |
|00000b60| 73 77 69 74 63 68 69 6e | 67 20 2a 2f 0a 58 0a 58 |switchin|g */.X.X|
|00000b70| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 77 69 |static s|truct wi|
|00000b80| 6e 20 2a 63 75 72 72 3b | 09 2f 2a 20 77 69 6e 64 |n *curr;|./* wind|
|00000b90| 6f 77 20 77 65 20 61 72 | 65 20 77 6f 72 6b 69 6e |ow we ar|e workin|
|00000ba0| 67 20 6f 6e 20 2a 2f 0a | 58 73 74 61 74 69 63 20 |g on */.|Xstatic |
|00000bb0| 69 6e 74 20 72 6f 77 73 | 2c 20 63 6f 6c 73 3b 09 |int rows|, cols;.|
|00000bc0| 09 2f 2a 20 77 69 6e 64 | 6f 77 20 73 69 7a 65 20 |./* wind|ow size |
|00000bd0| 6f 66 20 74 68 65 20 63 | 75 72 72 20 77 69 6e 64 |of the c|urr wind|
|00000be0| 6f 77 20 2a 2f 0a 58 0a | 58 69 6e 74 20 64 65 66 |ow */.X.|Xint def|
|00000bf0| 61 75 6c 74 5f 77 72 61 | 70 20 3d 20 31 3b 09 09 |ault_wra|p = 1;..|
|00000c00| 2f 2a 20 64 65 66 61 75 | 6c 74 3a 20 77 72 61 70 |/* defau|lt: wrap|
|00000c10| 20 6f 6e 20 2a 2f 0a 58 | 69 6e 74 20 64 65 66 61 | on */.X|int defa|
|00000c20| 75 6c 74 5f 6d 6f 6e 69 | 74 6f 72 20 3d 20 30 3b |ult_moni|tor = 0;|
|00000c30| 20 0a 58 0a 58 69 6e 74 | 20 76 69 73 75 61 6c 5f | .X.Xint| visual_|
|00000c40| 62 65 6c 6c 20 3d 20 30 | 3b 0a 58 69 6e 74 20 75 |bell = 0|;.Xint u|
|00000c50| 73 65 5f 68 61 72 64 73 | 74 61 74 75 73 20 3d 20 |se_hards|tatus = |
|00000c60| 31 3b 0a 58 0a 58 63 68 | 61 72 20 2a 62 6c 61 6e |1;.X.Xch|ar *blan|
|00000c70| 6b 3b 09 09 09 2f 2a 20 | 6c 69 6e 65 20 66 69 6c |k;.../* |line fil|
|00000c80| 6c 65 64 20 77 69 74 68 | 20 73 70 61 63 65 73 20 |led with| spaces |
|00000c90| 2a 2f 0a 58 63 68 61 72 | 20 2a 6e 75 6c 6c 3b 09 |*/.Xchar| *null;.|
|00000ca0| 09 09 2f 2a 20 6c 69 6e | 65 20 66 69 6c 6c 65 64 |../* lin|e filled|
|00000cb0| 20 77 69 74 68 20 27 5c | 30 27 20 2a 2f 0a 58 63 | with '\|0' */.Xc|
|00000cc0| 68 61 72 20 2a 4f 6c 64 | 49 6d 61 67 65 2c 20 2a |har *Old|Image, *|
|00000cd0| 4f 6c 64 41 74 74 72 2c | 20 2a 4f 6c 64 46 6f 6e |OldAttr,| *OldFon|
|00000ce0| 74 3b 09 2f 2a 20 74 65 | 6d 70 6f 72 61 72 79 20 |t;./* te|mporary |
|00000cf0| 62 75 66 66 65 72 73 20 | 2a 2f 0a 58 0a 58 73 74 |buffers |*/.X.Xst|
|00000d00| 61 74 69 63 20 76 6f 69 | 64 20 57 69 6e 50 72 6f |atic voi|d WinPro|
|00000d10| 63 65 73 73 20 5f 5f 50 | 28 28 63 68 61 72 20 2a |cess __P|((char *|
|00000d20| 2a 2c 20 69 6e 74 20 2a | 29 29 3b 0a 58 73 74 61 |*, int *|));.Xsta|
|00000d30| 74 69 63 20 76 6f 69 64 | 20 57 69 6e 52 65 64 69 |tic void| WinRedi|
|00000d40| 73 70 6c 61 79 4c 69 6e | 65 20 5f 5f 50 28 28 69 |splayLin|e __P((i|
|00000d50| 6e 74 2c 20 69 6e 74 2c | 20 69 6e 74 2c 20 69 6e |nt, int,| int, in|
|00000d60| 74 29 29 3b 0a 58 73 74 | 61 74 69 63 20 76 6f 69 |t));.Xst|atic voi|
|00000d70| 64 20 57 69 6e 43 6c 65 | 61 72 4c 69 6e 65 20 5f |d WinCle|arLine _|
|00000d80| 5f 50 28 28 69 6e 74 2c | 20 69 6e 74 2c 20 69 6e |_P((int,| int, in|
|00000d90| 74 29 29 3b 0a 58 73 74 | 61 74 69 63 20 69 6e 74 |t));.Xst|atic int|
|00000da0| 20 20 57 69 6e 52 65 77 | 72 69 74 65 20 5f 5f 50 | WinRew|rite __P|
|00000db0| 28 28 69 6e 74 2c 20 69 | 6e 74 2c 20 69 6e 74 2c |((int, i|nt, int,|
|00000dc0| 20 69 6e 74 29 29 3b 0a | 58 73 74 61 74 69 63 20 | int));.|Xstatic |
|00000dd0| 76 6f 69 64 20 57 69 6e | 53 65 74 43 75 72 73 6f |void Win|SetCurso|
|00000de0| 72 20 5f 5f 50 28 28 76 | 6f 69 64 29 29 3b 0a 58 |r __P((v|oid));.X|
|00000df0| 73 74 61 74 69 63 20 69 | 6e 74 20 20 57 69 6e 52 |static i|nt WinR|
|00000e00| 65 73 69 7a 65 20 5f 5f | 50 28 28 69 6e 74 2c 20 |esize __|P((int, |
|00000e10| 69 6e 74 29 29 3b 0a 58 | 73 74 61 74 69 63 20 76 |int));.X|static v|
|00000e20| 6f 69 64 20 57 69 6e 52 | 65 73 74 6f 72 65 20 5f |oid WinR|estore _|
|00000e30| 5f 50 28 28 76 6f 69 64 | 29 29 3b 0a 58 73 74 61 |_P((void|));.Xsta|
|00000e40| 74 69 63 20 69 6e 74 20 | 20 53 70 65 63 69 61 6c |tic int | Special|
|00000e50| 20 5f 5f 50 28 28 69 6e | 74 29 29 3b 0a 58 73 74 | __P((in|t));.Xst|
|00000e60| 61 74 69 63 20 76 6f 69 | 64 20 44 6f 45 53 43 20 |atic voi|d DoESC |
|00000e70| 5f 5f 50 28 28 69 6e 74 | 2c 20 69 6e 74 20 29 29 |__P((int|, int ))|
|00000e80| 3b 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 20 44 |;.Xstati|c void D|
|00000e90| 6f 43 53 49 20 5f 5f 50 | 28 28 69 6e 74 2c 20 69 |oCSI __P|((int, i|
|00000ea0| 6e 74 20 29 29 3b 0a 58 | 73 74 61 74 69 63 20 76 |nt ));.X|static v|
|00000eb0| 6f 69 64 20 53 65 74 43 | 68 61 72 20 5f 5f 50 28 |oid SetC|har __P(|
|00000ec0| 28 69 6e 74 29 29 3b 0a | 58 73 74 61 74 69 63 20 |(int));.|Xstatic |
|00000ed0| 76 6f 69 64 20 53 74 61 | 72 74 53 74 72 69 6e 67 |void Sta|rtString|
|00000ee0| 20 5f 5f 50 28 28 65 6e | 75 6d 20 73 74 72 69 6e | __P((en|um strin|
|00000ef0| 67 5f 74 29 29 3b 0a 58 | 73 74 61 74 69 63 20 76 |g_t));.X|static v|
|00000f00| 6f 69 64 20 53 61 76 65 | 43 68 61 72 20 5f 5f 50 |oid Save|Char __P|
|00000f10| 28 28 69 6e 74 20 29 29 | 3b 0a 58 73 74 61 74 69 |((int ))|;.Xstati|
|00000f20| 63 20 76 6f 69 64 20 50 | 72 69 6e 74 43 68 61 72 |c void P|rintChar|
|00000f30| 20 5f 5f 50 28 28 69 6e | 74 20 29 29 3b 0a 58 73 | __P((in|t ));.Xs|
|00000f40| 74 61 74 69 63 20 76 6f | 69 64 20 50 72 69 6e 74 |tatic vo|id Print|
|00000f50| 46 6c 75 73 68 20 5f 5f | 50 28 28 76 6f 69 64 29 |Flush __|P((void)|
|00000f60| 29 3b 0a 58 73 74 61 74 | 69 63 20 76 6f 69 64 20 |);.Xstat|ic void |
|00000f70| 44 65 73 69 67 6e 61 74 | 65 43 68 61 72 73 65 74 |Designat|eCharset|
|00000f80| 20 5f 5f 50 28 28 69 6e | 74 2c 20 69 6e 74 20 29 | __P((in|t, int )|
|00000f90| 29 3b 0a 58 73 74 61 74 | 69 63 20 76 6f 69 64 20 |);.Xstat|ic void |
|00000fa0| 4d 61 70 43 68 61 72 73 | 65 74 20 5f 5f 50 28 28 |MapChars|et __P((|
|00000fb0| 69 6e 74 29 29 3b 0a 58 | 73 74 61 74 69 63 20 76 |int));.X|static v|
|00000fc0| 6f 69 64 20 53 61 76 65 | 43 75 72 73 6f 72 20 5f |oid Save|Cursor _|
|00000fd0| 5f 50 28 28 76 6f 69 64 | 29 29 3b 0a 58 73 74 61 |_P((void|));.Xsta|
|00000fe0| 74 69 63 20 76 6f 69 64 | 20 52 65 73 74 6f 72 65 |tic void| Restore|
|00000ff0| 43 75 72 73 6f 72 20 5f | 5f 50 28 28 76 6f 69 64 |Cursor _|_P((void|
|00001000| 29 29 3b 0a 58 73 74 61 | 74 69 63 20 76 6f 69 64 |));.Xsta|tic void|
|00001010| 20 42 61 63 6b 53 70 61 | 63 65 20 5f 5f 50 28 28 | BackSpa|ce __P((|
|00001020| 76 6f 69 64 29 29 3b 0a | 58 73 74 61 74 69 63 20 |void));.|Xstatic |
|00001030| 76 6f 69 64 20 52 65 74 | 75 72 6e 20 5f 5f 50 28 |void Ret|urn __P(|
|00001040| 28 76 6f 69 64 29 29 3b | 0a 58 73 74 61 74 69 63 |(void));|.Xstatic|
|00001050| 20 76 6f 69 64 20 4c 69 | 6e 65 46 65 65 64 20 5f | void Li|neFeed _|
|00001060| 5f 50 28 28 69 6e 74 29 | 29 3b 0a 58 73 74 61 74 |_P((int)|);.Xstat|
|00001070| 69 63 20 76 6f 69 64 20 | 52 65 76 65 72 73 65 4c |ic void |ReverseL|
|00001080| 69 6e 65 46 65 65 64 20 | 5f 5f 50 28 28 76 6f 69 |ineFeed |__P((voi|
|00001090| 64 29 29 3b 0a 58 73 74 | 61 74 69 63 20 76 6f 69 |d));.Xst|atic voi|
|000010a0| 64 20 49 6e 73 65 72 74 | 41 43 68 61 72 20 5f 5f |d Insert|AChar __|
|000010b0| 50 28 28 69 6e 74 29 29 | 3b 0a 58 73 74 61 74 69 |P((int))|;.Xstati|
|000010c0| 63 20 76 6f 69 64 20 49 | 6e 73 65 72 74 43 68 61 |c void I|nsertCha|
|000010d0| 72 20 5f 5f 50 28 28 69 | 6e 74 29 29 3b 0a 58 73 |r __P((i|nt));.Xs|
|000010e0| 74 61 74 69 63 20 76 6f | 69 64 20 44 65 6c 65 74 |tatic vo|id Delet|
|000010f0| 65 43 68 61 72 20 5f 5f | 50 28 28 69 6e 74 29 29 |eChar __|P((int))|
|00001100| 3b 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 20 44 |;.Xstati|c void D|
|00001110| 65 6c 65 74 65 4c 69 6e | 65 20 5f 5f 50 28 28 69 |eleteLin|e __P((i|
|00001120| 6e 74 29 29 3b 0a 58 73 | 74 61 74 69 63 20 76 6f |nt));.Xs|tatic vo|
|00001130| 69 64 20 49 6e 73 65 72 | 74 4c 69 6e 65 20 5f 5f |id Inser|tLine __|
|00001140| 50 28 28 69 6e 74 29 29 | 3b 0a 58 73 74 61 74 69 |P((int))|;.Xstati|
|00001150| 63 20 76 6f 69 64 20 53 | 63 72 6f 6c 6c 55 70 4d |c void S|crollUpM|
|00001160| 61 70 20 5f 5f 50 28 28 | 69 6e 74 29 29 3b 0a 58 |ap __P((|int));.X|
|00001170| 73 74 61 74 69 63 20 76 | 6f 69 64 20 53 63 72 6f |static v|oid Scro|
|00001180| 6c 6c 44 6f 77 6e 4d 61 | 70 20 5f 5f 50 28 28 69 |llDownMa|p __P((i|
|00001190| 6e 74 29 29 3b 0a 58 73 | 74 61 74 69 63 20 76 6f |nt));.Xs|tatic vo|
|000011a0| 69 64 20 53 63 72 6f 6c | 6c 20 5f 5f 50 28 28 63 |id Scrol|l __P((c|
|000011b0| 68 61 72 20 2a 2c 20 69 | 6e 74 2c 20 69 6e 74 2c |har *, i|nt, int,|
|000011c0| 20 63 68 61 72 20 2a 29 | 29 3b 0a 58 73 74 61 74 | char *)|);.Xstat|
|000011d0| 69 63 20 76 6f 69 64 20 | 46 6f 72 77 61 72 64 54 |ic void |ForwardT|
|000011e0| 61 62 20 5f 5f 50 28 28 | 76 6f 69 64 29 29 3b 0a |ab __P((|void));.|
|000011f0| 58 73 74 61 74 69 63 20 | 76 6f 69 64 20 42 61 63 |Xstatic |void Bac|
|00001200| 6b 77 61 72 64 54 61 62 | 20 5f 5f 50 28 28 76 6f |kwardTab| __P((vo|
|00001210| 69 64 29 29 3b 0a 58 73 | 74 61 74 69 63 20 76 6f |id));.Xs|tatic vo|
|00001220| 69 64 20 43 6c 65 61 72 | 53 63 72 65 65 6e 20 5f |id Clear|Screen _|
|00001230| 5f 50 28 28 76 6f 69 64 | 29 29 3b 0a 58 73 74 61 |_P((void|));.Xsta|
|00001240| 74 69 63 20 76 6f 69 64 | 20 43 6c 65 61 72 46 72 |tic void| ClearFr|
|00001250| 6f 6d 42 4f 53 20 5f 5f | 50 28 28 76 6f 69 64 29 |omBOS __|P((void)|
|00001260| 29 3b 0a 58 73 74 61 74 | 69 63 20 76 6f 69 64 20 |);.Xstat|ic void |
|00001270| 43 6c 65 61 72 54 6f 45 | 4f 53 20 5f 5f 50 28 28 |ClearToE|OS __P((|
|00001280| 76 6f 69 64 29 29 3b 0a | 58 73 74 61 74 69 63 20 |void));.|Xstatic |
|00001290| 76 6f 69 64 20 43 6c 65 | 61 72 46 75 6c 6c 4c 69 |void Cle|arFullLi|
|000012a0| 6e 65 20 5f 5f 50 28 28 | 76 6f 69 64 29 29 3b 0a |ne __P((|void));.|
|000012b0| 58 73 74 61 74 69 63 20 | 76 6f 69 64 20 43 6c 65 |Xstatic |void Cle|
|000012c0| 61 72 54 6f 45 4f 4c 20 | 5f 5f 50 28 28 76 6f 69 |arToEOL |__P((voi|
|000012d0| 64 29 29 3b 0a 58 73 74 | 61 74 69 63 20 76 6f 69 |d));.Xst|atic voi|
|000012e0| 64 20 43 6c 65 61 72 46 | 72 6f 6d 42 4f 4c 20 5f |d ClearF|romBOL _|
|000012f0| 5f 50 28 28 76 6f 69 64 | 29 29 3b 0a 58 73 74 61 |_P((void|));.Xsta|
|00001300| 74 69 63 20 76 6f 69 64 | 20 43 6c 65 61 72 49 6e |tic void| ClearIn|
|00001310| 4c 69 6e 65 20 5f 5f 50 | 28 28 69 6e 74 2c 20 69 |Line __P|((int, i|
|00001320| 6e 74 2c 20 69 6e 74 29 | 29 3b 0a 58 73 74 61 74 |nt, int)|);.Xstat|
|00001330| 69 63 20 76 6f 69 64 20 | 43 75 72 73 6f 72 52 69 |ic void |CursorRi|
|00001340| 67 68 74 20 5f 5f 50 28 | 28 69 6e 74 29 29 3b 0a |ght __P(|(int));.|
|00001350| 58 73 74 61 74 69 63 20 | 76 6f 69 64 20 43 75 72 |Xstatic |void Cur|
|00001360| 73 6f 72 55 70 20 5f 5f | 50 28 28 69 6e 74 29 29 |sorUp __|P((int))|
|00001370| 3b 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 20 43 |;.Xstati|c void C|
|00001380| 75 72 73 6f 72 44 6f 77 | 6e 20 5f 5f 50 28 28 69 |ursorDow|n __P((i|
|00001390| 6e 74 29 29 3b 0a 58 73 | 74 61 74 69 63 20 76 6f |nt));.Xs|tatic vo|
|000013a0| 69 64 20 43 75 72 73 6f | 72 4c 65 66 74 20 5f 5f |id Curso|rLeft __|
|000013b0| 50 28 28 69 6e 74 29 29 | 3b 0a 58 73 74 61 74 69 |P((int))|;.Xstati|
|000013c0| 63 20 76 6f 69 64 20 41 | 53 65 74 4d 6f 64 65 20 |c void A|SetMode |
|000013d0| 5f 5f 50 28 28 69 6e 74 | 29 29 3b 0a 58 73 74 61 |__P((int|));.Xsta|
|000013e0| 74 69 63 20 76 6f 69 64 | 20 53 65 6c 65 63 74 52 |tic void| SelectR|
|000013f0| 65 6e 64 69 74 69 6f 6e | 20 5f 5f 50 28 28 76 6f |endition| __P((vo|
|00001400| 69 64 29 29 3b 0a 58 73 | 74 61 74 69 63 20 76 6f |id));.Xs|tatic vo|
|00001410| 69 64 20 52 65 73 74 6f | 72 65 50 6f 73 41 74 74 |id Resto|rePosAtt|
|00001420| 72 46 6f 6e 74 20 5f 5f | 50 28 28 76 6f 69 64 29 |rFont __|P((void)|
|00001430| 29 3b 0a 58 73 74 61 74 | 69 63 20 76 6f 69 64 20 |);.Xstat|ic void |
|00001440| 46 69 6c 6c 57 69 74 68 | 45 73 20 5f 5f 50 28 28 |FillWith|Es __P((|
|00001450| 76 6f 69 64 29 29 3b 0a | 58 73 74 61 74 69 63 20 |void));.|Xstatic |
|00001460| 76 6f 69 64 20 55 70 64 | 61 74 65 4c 69 6e 65 20 |void Upd|ateLine |
|00001470| 5f 5f 50 28 28 63 68 61 | 72 20 2a 2c 20 63 68 61 |__P((cha|r *, cha|
|00001480| 72 20 2a 2c 20 63 68 61 | 72 20 2a 2c 20 69 6e 74 |r *, cha|r *, int|
|00001490| 2c 20 69 6e 74 2c 20 69 | 6e 74 20 29 29 3b 0a 58 |, int, i|nt ));.X|
|000014a0| 73 74 61 74 69 63 20 76 | 6f 69 64 20 46 69 6e 64 |static v|oid Find|
|000014b0| 41 4b 41 20 5f 5f 50 28 | 28 76 6f 69 64 29 29 3b |AKA __P(|(void));|
|000014c0| 0a 58 73 74 61 74 69 63 | 20 76 6f 69 64 20 52 65 |.Xstatic| void Re|
|000014d0| 70 6f 72 74 20 5f 5f 50 | 28 28 63 68 61 72 20 2a |port __P|((char *|
|000014e0| 2c 20 69 6e 74 2c 20 69 | 6e 74 29 29 3b 0a 58 0a |, int, i|nt));.X.|
|000014f0| 58 0a 58 2f 2a 0a 58 20 | 2a 20 20 54 68 65 20 77 |X.X/*.X |* The w|
|00001500| 69 6e 64 6f 77 20 6c 61 | 79 65 72 20 66 75 6e 63 |indow la|yer func|
|00001510| 74 69 6f 6e 73 0a 58 20 | 2a 2f 0a 58 0a 58 73 74 |tions.X |*/.X.Xst|
|00001520| 72 75 63 74 20 4c 61 79 | 46 75 6e 63 73 20 57 69 |ruct Lay|Funcs Wi|
|00001530| 6e 4c 66 20 3d 0a 58 7b | 0a 58 20 20 57 69 6e 50 |nLf =.X{|.X WinP|
|00001540| 72 6f 63 65 73 73 2c 0a | 58 20 20 30 2c 0a 58 20 |rocess,.|X 0,.X |
|00001550| 20 57 69 6e 52 65 64 69 | 73 70 6c 61 79 4c 69 6e | WinRedi|splayLin|
|00001560| 65 2c 0a 58 20 20 57 69 | 6e 43 6c 65 61 72 4c 69 |e,.X Wi|nClearLi|
|00001570| 6e 65 2c 0a 58 20 20 57 | 69 6e 52 65 77 72 69 74 |ne,.X W|inRewrit|
|00001580| 65 2c 0a 58 20 20 57 69 | 6e 53 65 74 43 75 72 73 |e,.X Wi|nSetCurs|
|00001590| 6f 72 2c 0a 58 20 20 57 | 69 6e 52 65 73 69 7a 65 |or,.X W|inResize|
|000015a0| 2c 0a 58 20 20 57 69 6e | 52 65 73 74 6f 72 65 0a |,.X Win|Restore.|
|000015b0| 58 7d 3b 0a 58 0a 58 73 | 74 61 74 69 63 20 76 6f |X};.X.Xs|tatic vo|
|000015c0| 69 64 0a 58 57 69 6e 50 | 72 6f 63 65 73 73 28 62 |id.XWinP|rocess(b|
|000015d0| 75 66 70 70 2c 20 6c 65 | 6e 70 29 0a 58 63 68 61 |ufpp, le|np).Xcha|
|000015e0| 72 20 2a 2a 62 75 66 70 | 70 3b 0a 58 69 6e 74 20 |r **bufp|p;.Xint |
|000015f0| 2a 6c 65 6e 70 3b 0a 58 | 7b 0a 58 20 20 69 6e 74 |*lenp;.X|{.X int|
|00001600| 20 66 2c 20 2a 69 6c 65 | 6e 2c 20 6c 20 3d 20 2a | f, *ile|n, l = *|
|00001610| 6c 65 6e 70 3b 0a 58 20 | 20 63 68 61 72 20 2a 69 |lenp;.X | char *i|
|00001620| 62 75 66 3b 0a 58 20 20 | 0a 58 20 20 66 6f 72 65 |buf;.X |.X fore|
|00001630| 20 3d 20 64 5f 66 6f 72 | 65 3b 0a 58 23 69 66 64 | = d_for|e;.X#ifd|
|00001640| 65 66 20 4d 55 4c 54 49 | 55 53 45 52 0a 58 20 20 |ef MULTI|USER.X |
|00001650| 2f 2a 20 69 66 20 77 5f | 77 6c 6f 63 6b 20 69 73 |/* if w_|wlock is|
|00001660| 20 73 65 74 2c 20 6f 6e | 6c 79 20 6f 6e 65 20 75 | set, on|ly one u|
|00001670| 73 65 72 20 6d 61 79 20 | 77 72 69 74 65 2c 20 65 |ser may |write, e|
|00001680| 6c 73 65 20 77 65 20 63 | 68 65 63 6b 20 61 63 6c |lse we c|heck acl|
|00001690| 73 20 2a 2f 0a 58 20 20 | 69 66 20 28 28 66 6f 72 |s */.X |if ((for|
|000016a0| 65 2d 3e 77 5f 77 6c 6f | 63 6b 20 3d 3d 20 57 4c |e->w_wlo|ck == WL|
|000016b0| 4f 43 4b 5f 4f 46 46 29 | 20 3f 20 0a 58 20 20 20 |OCK_OFF)| ? .X |
|000016c0| 20 20 20 41 63 6c 43 68 | 65 63 6b 50 65 72 6d 57 | AclCh|eckPermW|
|000016d0| 69 6e 28 64 5f 75 73 65 | 72 2c 20 41 43 4c 5f 57 |in(d_use|r, ACL_W|
|000016e0| 52 49 54 45 2c 20 66 6f | 72 65 29 20 3a 0a 58 20 |RITE, fo|re) :.X |
|000016f0| 20 20 20 20 20 28 64 5f | 75 73 65 72 20 21 3d 20 | (d_|user != |
|00001700| 66 6f 72 65 2d 3e 77 5f | 77 6c 6f 63 6b 75 73 65 |fore->w_|wlockuse|
|00001710| 72 29 29 0a 58 20 20 20 | 20 7b 0a 58 20 20 20 20 |r)).X | {.X |
|00001720| 20 20 53 65 74 43 75 72 | 72 28 66 6f 72 65 29 3b | SetCur|r(fore);|
|00001730| 0a 58 20 20 20 20 20 20 | 53 70 65 63 69 61 6c 28 |.X |Special(|
|00001740| 27 5c 30 30 37 27 29 3b | 0a 58 20 20 20 20 20 20 |'\007');|.X |
|00001750| 2a 62 75 66 70 70 20 2b | 3d 20 2a 6c 65 6e 70 3b |*bufpp +|= *lenp;|
|00001760| 0a 58 20 20 20 20 20 20 | 2a 6c 65 6e 70 20 3d 20 |.X |*lenp = |
|00001770| 30 3b 0a 58 20 20 20 20 | 20 20 72 65 74 75 72 6e |0;.X | return|
|00001780| 3b 0a 58 20 20 20 20 7d | 0a 58 23 65 6e 64 69 66 |;.X }|.X#endif|
|00001790| 20 2f 2a 20 4d 55 4c 54 | 49 55 53 45 52 20 2a 2f | /* MULT|IUSER */|
|000017a0| 0a 58 23 69 66 64 65 66 | 20 50 53 45 55 44 4f 53 |.X#ifdef| PSEUDOS|
|000017b0| 0a 58 20 20 69 66 20 28 | 57 5f 55 57 50 28 66 6f |.X if (|W_UWP(fo|
|000017c0| 72 65 29 29 0a 58 20 20 | 20 20 7b 0a 58 20 20 20 |re)).X | {.X |
|000017d0| 20 20 20 2f 2a 20 77 65 | 20 73 65 6e 64 20 74 68 | /* we| send th|
|000017e0| 65 20 75 73 65 72 20 69 | 6e 70 75 74 20 74 6f 20 |e user i|nput to |
|000017f0| 6f 75 72 20 70 73 65 75 | 64 6f 77 69 6e 20 2a 2f |our pseu|dowin */|
|00001800| 0a 58 20 20 20 20 20 20 | 69 62 75 66 20 3d 20 66 |.X |ibuf = f|
|00001810| 6f 72 65 2d 3e 77 5f 70 | 77 69 6e 2d 3e 70 5f 69 |ore->w_p|win->p_i|
|00001820| 6e 62 75 66 3b 20 69 6c | 65 6e 20 3d 20 26 66 6f |nbuf; il|en = &fo|
|00001830| 72 65 2d 3e 77 5f 70 77 | 69 6e 2d 3e 70 5f 69 6e |re->w_pw|in->p_in|
|00001840| 6c 65 6e 3b 0a 58 20 20 | 20 20 20 20 66 20 3d 20 |len;.X | f = |
|00001850| 73 69 7a 65 6f 66 28 66 | 6f 72 65 2d 3e 77 5f 70 |sizeof(f|ore->w_p|
|00001860| 77 69 6e 2d 3e 70 5f 69 | 6e 62 75 66 29 20 2d 20 |win->p_i|nbuf) - |
|00001870| 2a 69 6c 65 6e 3b 0a 58 | 20 20 20 20 7d 0a 58 20 |*ilen;.X| }.X |
|00001880| 20 65 6c 73 65 0a 58 23 | 65 6e 64 69 66 20 2f 2a | else.X#|endif /*|
|00001890| 20 50 53 45 55 44 4f 53 | 20 2a 2f 0a 58 20 20 20 | PSEUDOS| */.X |
|000018a0| 20 7b 0a 58 20 20 20 20 | 20 20 2f 2a 20 77 65 20 | {.X | /* we |
|000018b0| 73 65 6e 64 20 74 68 65 | 20 75 73 65 72 20 69 6e |send the| user in|
|000018c0| 70 75 74 20 74 6f 20 74 | 68 65 20 77 69 6e 64 6f |put to t|he windo|
|000018d0| 77 20 2a 2f 0a 58 20 20 | 20 20 20 20 69 62 75 66 |w */.X | ibuf|
|000018e0| 20 3d 20 66 6f 72 65 2d | 3e 77 5f 69 6e 62 75 66 | = fore-|>w_inbuf|
|000018f0| 3b 20 69 6c 65 6e 20 3d | 20 26 66 6f 72 65 2d 3e |; ilen =| &fore->|
|00001900| 77 5f 69 6e 6c 65 6e 3b | 0a 58 20 20 20 20 20 20 |w_inlen;|.X |
|00001910| 66 20 3d 20 73 69 7a 65 | 6f 66 28 66 6f 72 65 2d |f = size|of(fore-|
|00001920| 3e 77 5f 69 6e 62 75 66 | 29 20 2d 20 2a 69 6c 65 |>w_inbuf|) - *ile|
|00001930| 6e 3b 0a 58 20 20 20 20 | 7d 0a 58 20 20 69 66 20 |n;.X |}.X if |
|00001940| 28 6c 20 3e 20 66 29 0a | 58 20 20 20 20 7b 0a 58 |(l > f).|X {.X|
|00001950| 20 20 20 20 20 20 64 65 | 62 75 67 31 28 22 59 75 | de|bug1("Yu|
|00001960| 63 6b 21 20 70 74 79 20 | 62 75 66 66 65 72 20 66 |ck! pty |buffer f|
|00001970| 75 6c 6c 20 28 25 64 20 | 63 68 61 72 73 20 6d 69 |ull (%d |chars mi|
|00001980| 73 73 69 6e 67 29 2e 20 | 6c 65 74 73 20 62 65 65 |ssing). |lets bee|
|00001990| 70 5c 6e 22 2c 20 6c 20 | 2d 20 66 29 3b 0a 58 20 |p\n", l |- f);.X |
|000019a0| 20 20 20 20 20 53 65 74 | 43 75 72 72 28 66 6f 72 | Set|Curr(for|
|000019b0| 65 29 3b 0a 58 20 20 20 | 20 20 20 53 70 65 63 69 |e);.X | Speci|
|000019c0| 61 6c 28 27 5c 30 30 37 | 27 29 3b 0a 58 20 20 20 |al('\007|');.X |
|000019d0| 20 20 20 6c 20 3d 20 66 | 3b 0a 58 20 20 20 20 7d | l = f|;.X }|
|000019e0| 0a 58 20 20 69 66 20 28 | 6c 20 3e 20 30 29 0a 58 |.X if (|l > 0).X|
|000019f0| 20 20 20 20 7b 0a 58 20 | 20 20 20 20 20 62 63 6f | {.X | bco|
|00001a00| 70 79 28 2a 62 75 66 70 | 70 2c 20 69 62 75 66 20 |py(*bufp|p, ibuf |
|00001a10| 2b 20 2a 69 6c 65 6e 2c | 20 6c 29 3b 0a 58 20 20 |+ *ilen,| l);.X |
|00001a20| 20 20 20 20 2a 69 6c 65 | 6e 20 2b 3d 20 6c 3b 0a | *ile|n += l;.|
|00001a30| 58 20 20 20 20 7d 0a 58 | 20 20 2a 62 75 66 70 70 |X }.X| *bufpp|
|00001a40| 20 2b 3d 20 2a 6c 65 6e | 70 3b 0a 58 20 20 2a 6c | += *len|p;.X *l|
|00001a50| 65 6e 70 20 3d 20 30 3b | 0a 58 7d 0a 58 0a 58 73 |enp = 0;|.X}.X.Xs|
|00001a60| 74 61 74 69 63 20 76 6f | 69 64 0a 58 57 69 6e 52 |tatic vo|id.XWinR|
|00001a70| 65 64 69 73 70 6c 61 79 | 4c 69 6e 65 28 79 2c 20 |edisplay|Line(y, |
|00001a80| 66 72 6f 6d 2c 20 74 6f | 2c 20 69 73 62 6c 61 6e |from, to|, isblan|
|00001a90| 6b 29 0a 58 69 6e 74 20 | 79 2c 20 66 72 6f 6d 2c |k).Xint |y, from,|
|00001aa0| 20 74 6f 2c 20 69 73 62 | 6c 61 6e 6b 3b 0a 58 7b | to, isb|lank;.X{|
|00001ab0| 0a 58 20 20 69 66 20 28 | 79 20 3c 20 30 29 0a 58 |.X if (|y < 0).X|
|00001ac0| 20 20 20 20 72 65 74 75 | 72 6e 3b 0a 58 20 20 66 | retu|rn;.X f|
|00001ad0| 6f 72 65 20 3d 20 64 5f | 66 6f 72 65 3b 0a 58 20 |ore = d_|fore;.X |
|00001ae0| 20 44 69 73 70 6c 61 79 | 4c 69 6e 65 28 69 73 62 | Display|Line(isb|
|00001af0| 6c 61 6e 6b 20 3f 20 62 | 6c 61 6e 6b 3a 20 6e 75 |lank ? b|lank: nu|
|00001b00| 6c 6c 2c 20 6e 75 6c 6c | 2c 20 6e 75 6c 6c 2c 20 |ll, null|, null, |
|00001b10| 66 6f 72 65 2d 3e 77 5f | 69 6d 61 67 65 5b 79 5d |fore->w_|image[y]|
|00001b20| 2c 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,.X | |
|00001b30| 20 66 6f 72 65 2d 3e 77 | 5f 61 74 74 72 5b 79 5d | fore->w|_attr[y]|
|00001b40| 2c 20 66 6f 72 65 2d 3e | 77 5f 66 6f 6e 74 5b 79 |, fore->|w_font[y|
|00001b50| 5d 2c 20 79 2c 20 66 72 | 6f 6d 2c 20 74 6f 29 3b |], y, fr|om, to);|
|00001b60| 0a 58 7d 0a 58 0a 58 73 | 74 61 74 69 63 20 69 6e |.X}.X.Xs|tatic in|
|00001b70| 74 0a 58 57 69 6e 52 65 | 77 72 69 74 65 28 79 2c |t.XWinRe|write(y,|
|00001b80| 20 78 31 2c 20 78 32 2c | 20 64 6f 69 74 29 0a 58 | x1, x2,| doit).X|
|00001b90| 69 6e 74 20 79 2c 20 78 | 31 2c 20 78 32 2c 20 64 |int y, x|1, x2, d|
|00001ba0| 6f 69 74 3b 0a 58 7b 0a | 58 20 20 72 65 67 69 73 |oit;.X{.|X regis|
|00001bb0| 74 65 72 20 69 6e 74 20 | 63 6f 73 74 2c 20 64 78 |ter int |cost, dx|
|00001bc0| 3b 0a 58 20 20 72 65 67 | 69 73 74 65 72 20 63 68 |;.X reg|ister ch|
|00001bd0| 61 72 20 2a 70 2c 20 2a | 66 2c 20 2a 69 3b 0a 58 |ar *p, *|f, *i;.X|
|00001be0| 0a 58 20 20 66 6f 72 65 | 20 3d 20 64 5f 66 6f 72 |.X fore| = d_for|
|00001bf0| 65 3b 0a 58 20 20 64 78 | 20 3d 20 78 32 20 2d 20 |e;.X dx| = x2 - |
|00001c00| 78 31 3b 0a 58 20 20 69 | 66 20 28 64 6f 69 74 29 |x1;.X i|f (doit)|
|00001c10| 0a 58 20 20 20 20 7b 0a | 58 20 20 20 20 20 20 69 |.X {.|X i|
|00001c20| 20 3d 20 66 6f 72 65 2d | 3e 77 5f 69 6d 61 67 65 | = fore-|>w_image|
|00001c30| 5b 79 5d 20 2b 20 78 31 | 3b 0a 58 20 20 20 20 20 |[y] + x1|;.X |
|00001c40| 20 77 68 69 6c 65 20 28 | 64 78 2d 2d 20 3e 20 30 | while (|dx-- > 0|
|00001c50| 29 0a 58 09 50 55 54 43 | 48 41 52 28 2a 69 2b 2b |).X.PUTC|HAR(*i++|
|00001c60| 29 3b 0a 58 20 20 20 20 | 20 20 72 65 74 75 72 6e |);.X | return|
|00001c70| 28 30 29 3b 0a 58 20 20 | 20 20 7d 0a 58 20 20 70 |(0);.X | }.X p|
|00001c80| 20 3d 20 66 6f 72 65 2d | 3e 77 5f 61 74 74 72 5b | = fore-|>w_attr[|
|00001c90| 79 5d 20 2b 20 78 31 3b | 0a 58 20 20 66 20 3d 20 |y] + x1;|.X f = |
|00001ca0| 66 6f 72 65 2d 3e 77 5f | 66 6f 6e 74 5b 79 5d 20 |fore->w_|font[y] |
|00001cb0| 2b 20 78 31 3b 0a 58 0a | 58 20 20 63 6f 73 74 20 |+ x1;.X.|X cost |
|00001cc0| 3d 20 64 78 20 3d 20 78 | 32 20 2d 20 78 31 3b 0a |= dx = x|2 - x1;.|
|00001cd0| 58 20 20 69 66 20 28 64 | 5f 69 6e 73 65 72 74 29 |X if (d|_insert)|
|00001ce0| 0a 58 20 20 20 20 63 6f | 73 74 20 2b 3d 20 64 5f |.X co|st += d_|
|00001cf0| 45 49 63 6f 73 74 20 2b | 20 64 5f 49 4d 63 6f 73 |EIcost +| d_IMcos|
|00001d00| 74 3b 0a 58 20 20 77 68 | 69 6c 65 28 64 78 2d 2d |t;.X wh|ile(dx--|
|00001d10| 20 3e 20 30 29 0a 58 20 | 20 20 20 7b 0a 58 20 20 | > 0).X | {.X |
|00001d20| 20 20 20 20 69 66 20 28 | 2a 70 2b 2b 20 21 3d 20 | if (|*p++ != |
|00001d30| 64 5f 61 74 74 72 20 7c | 7c 20 2a 66 2b 2b 20 21 |d_attr ||| *f++ !|
|00001d40| 3d 20 64 5f 66 6f 6e 74 | 29 0a 58 09 72 65 74 75 |= d_font|).X.retu|
|00001d50| 72 6e 20 45 58 50 45 4e | 53 49 56 45 3b 0a 58 20 |rn EXPEN|SIVE;.X |
|00001d60| 20 20 20 7d 0a 58 20 20 | 72 65 74 75 72 6e 20 63 | }.X |return c|
|00001d70| 6f 73 74 3b 0a 58 7d 0a | 58 0a 58 73 74 61 74 69 |ost;.X}.|X.Xstati|
|00001d80| 63 20 76 6f 69 64 0a 58 | 57 69 6e 43 6c 65 61 72 |c void.X|WinClear|
|00001d90| 4c 69 6e 65 28 79 2c 20 | 78 73 2c 20 78 65 29 0a |Line(y, |xs, xe).|
|00001da0| 58 69 6e 74 20 79 2c 20 | 78 73 2c 20 78 65 3b 0a |Xint y, |xs, xe;.|
|00001db0| 58 7b 0a 58 20 20 66 6f | 72 65 20 3d 20 64 5f 66 |X{.X fo|re = d_f|
|00001dc0| 6f 72 65 3b 0a 58 20 20 | 44 69 73 70 6c 61 79 4c |ore;.X |DisplayL|
|00001dd0| 69 6e 65 28 66 6f 72 65 | 2d 3e 77 5f 69 6d 61 67 |ine(fore|->w_imag|
|00001de0| 65 5b 79 5d 2c 20 66 6f | 72 65 2d 3e 77 5f 61 74 |e[y], fo|re->w_at|
|00001df0| 74 72 5b 79 5d 2c 20 66 | 6f 72 65 2d 3e 77 5f 66 |tr[y], f|ore->w_f|
|00001e00| 6f 6e 74 5b 79 5d 2c 0a | 58 09 20 20 20 20 20 20 |ont[y],.|X. |
|00001e10| 62 6c 61 6e 6b 2c 20 6e | 75 6c 6c 2c 20 6e 75 6c |blank, n|ull, nul|
|00001e20| 6c 2c 20 79 2c 20 78 73 | 2c 20 78 65 29 3b 0a 58 |l, y, xs|, xe);.X|
|00001e30| 7d 0a 58 0a 58 73 74 61 | 74 69 63 20 76 6f 69 64 |}.X.Xsta|tic void|
|00001e40| 0a 58 57 69 6e 53 65 74 | 43 75 72 73 6f 72 28 29 |.XWinSet|Cursor()|
|00001e50| 0a 58 7b 0a 58 20 20 66 | 6f 72 65 20 3d 20 64 5f |.X{.X f|ore = d_|
|00001e60| 66 6f 72 65 3b 0a 58 20 | 20 47 6f 74 6f 50 6f 73 |fore;.X | GotoPos|
|00001e70| 28 66 6f 72 65 2d 3e 77 | 5f 78 2c 20 66 6f 72 65 |(fore->w|_x, fore|
|00001e80| 2d 3e 77 5f 79 29 3b 0a | 58 7d 0a 58 0a 58 73 74 |->w_y);.|X}.X.Xst|
|00001e90| 61 74 69 63 20 69 6e 74 | 0a 58 57 69 6e 52 65 73 |atic int|.XWinRes|
|00001ea0| 69 7a 65 28 77 69 2c 20 | 68 65 29 0a 58 69 6e 74 |ize(wi, |he).Xint|
|00001eb0| 20 77 69 2c 20 68 65 3b | 0a 58 7b 0a 58 20 20 66 | wi, he;|.X{.X f|
|00001ec0| 6f 72 65 20 3d 20 64 5f | 66 6f 72 65 3b 0a 58 20 |ore = d_|fore;.X |
|00001ed0| 20 69 66 20 28 66 6f 72 | 65 29 0a 58 20 20 20 20 | if (for|e).X |
|00001ee0| 43 68 61 6e 67 65 57 69 | 6e 64 6f 77 53 69 7a 65 |ChangeWi|ndowSize|
|00001ef0| 28 66 6f 72 65 2c 20 77 | 69 2c 20 68 65 29 3b 0a |(fore, w|i, he);.|
|00001f00| 58 20 20 72 65 74 75 72 | 6e 20 30 3b 0a 58 7d 0a |X retur|n 0;.X}.|
|00001f10| 58 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 0a 58 |X.Xstati|c void.X|
|00001f20| 57 69 6e 52 65 73 74 6f | 72 65 28 29 0a 58 7b 0a |WinResto|re().X{.|
|00001f30| 58 20 20 66 6f 72 65 20 | 3d 20 64 5f 66 6f 72 65 |X fore |= d_fore|
|00001f40| 3b 0a 58 20 20 43 68 61 | 6e 67 65 53 63 72 6f 6c |;.X Cha|ngeScrol|
|00001f50| 6c 52 65 67 69 6f 6e 28 | 66 6f 72 65 2d 3e 77 5f |lRegion(|fore->w_|
|00001f60| 74 6f 70 2c 20 66 6f 72 | 65 2d 3e 77 5f 62 6f 74 |top, for|e->w_bot|
|00001f70| 29 3b 0a 58 20 20 4b 65 | 79 70 61 64 4d 6f 64 65 |);.X Ke|ypadMode|
|00001f80| 28 66 6f 72 65 2d 3e 77 | 5f 6b 65 79 70 61 64 29 |(fore->w|_keypad)|
|00001f90| 3b 0a 58 20 20 43 75 72 | 73 6f 72 6b 65 79 73 4d |;.X Cur|sorkeysM|
|00001fa0| 6f 64 65 28 66 6f 72 65 | 2d 3e 77 5f 63 75 72 73 |ode(fore|->w_curs|
|00001fb0| 6f 72 6b 65 79 73 29 3b | 0a 58 20 20 53 65 74 46 |orkeys);|.X SetF|
|00001fc0| 6c 6f 77 28 66 6f 72 65 | 2d 3e 77 5f 66 6c 6f 77 |low(fore|->w_flow|
|00001fd0| 20 26 20 46 4c 4f 57 5f | 4e 4f 57 29 3b 0a 58 20 | & FLOW_|NOW);.X |
|00001fe0| 20 49 6e 73 65 72 74 4d | 6f 64 65 28 66 6f 72 65 | InsertM|ode(fore|
|00001ff0| 2d 3e 77 5f 69 6e 73 65 | 72 74 29 3b 0a 58 20 20 |->w_inse|rt);.X |
|00002000| 66 6f 72 65 2d 3e 77 5f | 61 63 74 69 76 65 20 3d |fore->w_|active =|
|00002010| 20 31 3b 0a 58 7d 0a 58 | 0a 58 2f 2a 20 0a 58 20 | 1;.X}.X|.X/* .X |
|00002020| 2a 20 20 41 63 74 69 76 | 61 74 65 20 2d 20 6d 61 |* Activ|ate - ma|
|00002030| 6b 65 20 66 6f 72 65 20 | 77 69 6e 64 6f 77 20 61 |ke fore |window a|
|00002040| 63 74 69 76 65 0a 58 20 | 2a 20 20 6e 6f 72 65 66 |ctive.X |* noref|
|00002050| 72 65 73 68 20 3d 20 2d | 31 20 66 6f 72 63 65 73 |resh = -|1 forces|
|00002060| 20 61 20 72 65 66 72 65 | 73 68 2c 20 64 69 73 72 | a refre|sh, disr|
|00002070| 65 67 61 72 64 20 61 6c | 6c 5f 6e 6f 72 65 66 72 |egard al|l_norefr|
|00002080| 65 73 68 20 74 68 65 6e | 2e 0a 58 20 2a 2f 0a 58 |esh then|..X */.X|
|00002090| 76 6f 69 64 0a 58 41 63 | 74 69 76 61 74 65 28 6e |void.XAc|tivate(n|
|000020a0| 6f 72 65 66 72 65 73 68 | 29 0a 58 69 6e 74 20 6e |orefresh|).Xint n|
|000020b0| 6f 72 65 66 72 65 73 68 | 3b 0a 58 7b 0a 58 20 20 |orefresh|;.X{.X |
|000020c0| 64 65 62 75 67 31 28 22 | 41 63 74 69 76 61 74 65 |debug1("|Activate|
|000020d0| 28 25 64 29 5c 6e 22 2c | 20 6e 6f 72 65 66 72 65 |(%d)\n",| norefre|
|000020e0| 73 68 29 3b 0a 58 20 20 | 69 66 20 28 64 69 73 70 |sh);.X |if (disp|
|000020f0| 6c 61 79 20 3d 3d 20 30 | 29 0a 58 20 20 20 20 72 |lay == 0|).X r|
|00002100| 65 74 75 72 6e 3b 0a 58 | 20 20 52 65 6d 6f 76 65 |eturn;.X| Remove|
|00002110| 53 74 61 74 75 73 28 29 | 3b 0a 58 20 20 66 6f 72 |Status()|;.X for|
|00002120| 65 20 3d 20 64 5f 66 6f | 72 65 3b 0a 58 20 20 69 |e = d_fo|re;.X i|
|00002130| 66 20 28 66 6f 72 65 29 | 0a 58 20 20 20 20 7b 0a |f (fore)|.X {.|
|00002140| 58 20 20 20 20 20 20 41 | 53 53 45 52 54 28 66 6f |X A|SSERT(fo|
|00002150| 72 65 2d 3e 77 5f 64 69 | 73 70 6c 61 79 20 3d 3d |re->w_di|splay ==|
|00002160| 20 64 69 73 70 6c 61 79 | 29 3b 0a 58 20 20 20 20 | display|);.X |
|00002170| 20 20 66 6f 72 65 2d 3e | 77 5f 61 63 74 69 76 65 | fore->|w_active|
|00002180| 20 3d 20 64 5f 6c 61 79 | 66 6e 20 3d 3d 20 26 57 | = d_lay|fn == &W|
|00002190| 69 6e 4c 66 3b 0a 58 20 | 20 20 20 20 20 69 66 20 |inLf;.X | if |
|000021a0| 28 66 6f 72 65 2d 3e 77 | 5f 6d 6f 6e 69 74 6f 72 |(fore->w|_monitor|
|000021b0| 20 21 3d 20 4d 4f 4e 5f | 4f 46 46 29 0a 58 09 66 | != MON_|OFF).X.f|
|000021c0| 6f 72 65 2d 3e 77 5f 6d | 6f 6e 69 74 6f 72 20 3d |ore->w_m|onitor =|
|000021d0| 20 4d 4f 4e 5f 4f 4e 3b | 0a 58 20 20 20 20 20 20 | MON_ON;|.X |
|000021e0| 66 6f 72 65 2d 3e 77 5f | 62 65 6c 6c 20 3d 20 42 |fore->w_|bell = B|
|000021f0| 45 4c 4c 5f 4f 46 46 3b | 0a 58 20 20 20 20 20 20 |ELL_OFF;|.X |
|00002200| 69 66 20 28 52 65 73 69 | 7a 65 44 69 73 70 6c 61 |if (Resi|zeDispla|
|00002210| 79 28 66 6f 72 65 2d 3e | 77 5f 77 69 64 74 68 2c |y(fore->|w_width,|
|00002220| 20 66 6f 72 65 2d 3e 77 | 5f 68 65 69 67 68 74 29 | fore->w|_height)|
|00002230| 29 0a 58 09 7b 0a 58 09 | 20 20 64 65 62 75 67 32 |).X.{.X.| debug2|
|00002240| 28 22 43 61 6e 6e 6f 74 | 20 72 65 73 69 7a 65 20 |("Cannot| resize |
|00002250| 66 72 6f 6d 20 28 25 64 | 2c 25 64 29 22 2c 20 64 |from (%d|,%d)", d|
|00002260| 5f 77 69 64 74 68 2c 20 | 64 5f 68 65 69 67 68 74 |_width, |d_height|
|00002270| 29 3b 0a 58 09 20 20 64 | 65 62 75 67 32 28 22 20 |);.X. d|ebug2(" |
|00002280| 74 6f 20 28 25 64 2c 25 | 64 29 20 2d 3e 20 72 65 |to (%d,%|d) -> re|
|00002290| 73 69 7a 65 20 77 69 6e | 64 6f 77 5c 6e 22 2c 20 |size win|dow\n", |
|000022a0| 66 6f 72 65 2d 3e 77 5f | 77 69 64 74 68 2c 20 66 |fore->w_|width, f|
|000022b0| 6f 72 65 2d 3e 77 5f 68 | 65 69 67 68 74 29 3b 0a |ore->w_h|eight);.|
|000022c0| 58 09 20 20 44 6f 52 65 | 73 69 7a 65 28 64 5f 77 |X. DoRe|size(d_w|
|000022d0| 69 64 74 68 2c 20 64 5f | 68 65 69 67 68 74 29 3b |idth, d_|height);|
|000022e0| 0a 58 09 7d 0a 58 20 20 | 20 20 7d 0a 58 20 20 52 |.X.}.X | }.X R|
|000022f0| 65 64 69 73 70 6c 61 79 | 28 6e 6f 72 65 66 72 65 |edisplay|(norefre|
|00002300| 73 68 20 2b 20 61 6c 6c | 5f 6e 6f 72 65 66 72 65 |sh + all|_norefre|
|00002310| 73 68 29 3b 0a 58 7d 0a | 58 0a 58 76 6f 69 64 0a |sh);.X}.|X.Xvoid.|
|00002320| 58 52 65 73 65 74 57 69 | 6e 64 6f 77 28 70 29 0a |XResetWi|ndow(p).|
|00002330| 58 72 65 67 69 73 74 65 | 72 20 73 74 72 75 63 74 |Xregiste|r struct|
|00002340| 20 77 69 6e 20 2a 70 3b | 0a 58 7b 0a 58 20 20 72 | win *p;|.X{.X r|
|00002350| 65 67 69 73 74 65 72 20 | 69 6e 74 20 69 3b 0a 58 |egister |int i;.X|
|00002360| 0a 58 20 20 70 2d 3e 77 | 5f 77 72 61 70 20 3d 20 |.X p->w|_wrap = |
|00002370| 64 65 66 61 75 6c 74 5f | 77 72 61 70 3b 0a 58 20 |default_|wrap;.X |
|00002380| 20 70 2d 3e 77 5f 6f 72 | 69 67 69 6e 20 3d 20 30 | p->w_or|igin = 0|
|00002390| 3b 0a 58 20 20 70 2d 3e | 77 5f 69 6e 73 65 72 74 |;.X p->|w_insert|
|000023a0| 20 3d 20 30 3b 0a 58 20 | 20 70 2d 3e 77 5f 76 62 | = 0;.X | p->w_vb|
|000023b0| 77 61 69 74 20 3d 20 30 | 3b 0a 58 20 20 70 2d 3e |wait = 0|;.X p->|
|000023c0| 77 5f 6b 65 79 70 61 64 | 20 3d 20 30 3b 0a 58 20 |w_keypad| = 0;.X |
|000023d0| 20 70 2d 3e 77 5f 63 75 | 72 73 6f 72 6b 65 79 73 | p->w_cu|rsorkeys|
|000023e0| 20 3d 20 30 3b 0a 58 20 | 20 70 2d 3e 77 5f 74 6f | = 0;.X | p->w_to|
|000023f0| 70 20 3d 20 30 3b 0a 58 | 20 20 70 2d 3e 77 5f 62 |p = 0;.X| p->w_b|
|00002400| 6f 74 20 3d 20 70 2d 3e | 77 5f 68 65 69 67 68 74 |ot = p->|w_height|
|00002410| 20 2d 20 31 3b 0a 58 20 | 20 70 2d 3e 77 5f 73 61 | - 1;.X | p->w_sa|
|00002420| 76 65 64 20 3d 20 30 3b | 0a 58 20 20 70 2d 3e 77 |ved = 0;|.X p->w|
|00002430| 5f 41 74 74 72 20 3d 20 | 30 3b 0a 58 20 20 70 2d |_Attr = |0;.X p-|
|00002440| 3e 77 5f 46 6f 6e 74 20 | 3d 20 30 3b 0a 58 20 20 |>w_Font |= 0;.X |
|00002450| 70 2d 3e 77 5f 78 20 3d | 20 70 2d 3e 77 5f 79 20 |p->w_x =| p->w_y |
|00002460| 3d 20 30 3b 0a 58 20 20 | 70 2d 3e 77 5f 73 74 61 |= 0;.X |p->w_sta|
|00002470| 74 65 20 3d 20 4c 49 54 | 3b 0a 58 20 20 70 2d 3e |te = LIT|;.X p->|
|00002480| 77 5f 53 74 72 69 6e 67 | 54 79 70 65 20 3d 20 4e |w_String|Type = N|
|00002490| 4f 4e 45 3b 0a 58 20 20 | 70 2d 3e 77 5f 73 73 20 |ONE;.X |p->w_ss |
|000024a0| 3d 20 30 3b 0a 58 20 20 | 70 2d 3e 77 5f 43 68 61 |= 0;.X |p->w_Cha|
|000024b0| 72 73 65 74 20 3d 20 47 | 30 3b 0a 58 20 20 62 7a |rset = G|0;.X bz|
|000024c0| 65 72 6f 28 70 2d 3e 77 | 5f 74 61 62 73 2c 20 70 |ero(p->w|_tabs, p|
|000024d0| 2d 3e 77 5f 77 69 64 74 | 68 29 3b 0a 58 20 20 66 |->w_widt|h);.X f|
|000024e0| 6f 72 20 28 69 20 3d 20 | 38 3b 20 69 20 3c 20 70 |or (i = |8; i < p|
|000024f0| 2d 3e 77 5f 77 69 64 74 | 68 3b 20 69 20 2b 3d 20 |->w_widt|h; i += |
|00002500| 38 29 0a 58 20 20 20 20 | 70 2d 3e 77 5f 74 61 62 |8).X |p->w_tab|
|00002510| 73 5b 69 5d 20 3d 20 31 | 3b 0a 58 20 20 66 6f 72 |s[i] = 1|;.X for|
|00002520| 20 28 69 20 3d 20 47 30 | 3b 20 69 20 3c 3d 20 47 | (i = G0|; i <= G|
|00002530| 33 3b 20 69 2b 2b 29 0a | 58 20 20 20 20 70 2d 3e |3; i++).|X p->|
|00002540| 77 5f 63 68 61 72 73 65 | 74 73 5b 69 5d 20 3d 20 |w_charse|ts[i] = |
|00002550| 41 53 43 49 49 3b 0a 58 | 7d 0a 58 0a 58 0a 58 2f |ASCII;.X|}.X.X.X/|
|00002560| 2a 0a 58 20 2a 20 20 48 | 65 72 65 20 63 6f 6d 65 |*.X * H|ere come|
|00002570| 73 20 74 68 65 20 76 74 | 31 30 30 20 65 6d 75 6c |s the vt|100 emul|
|00002580| 61 74 6f 72 0a 58 20 2a | 2f 0a 58 76 6f 69 64 0a |ator.X *|/.Xvoid.|
|00002590| 58 57 72 69 74 65 53 74 | 72 69 6e 67 28 77 70 2c |XWriteSt|ring(wp,|
|000025a0| 20 62 75 66 2c 20 6c 65 | 6e 29 0a 58 73 74 72 75 | buf, le|n).Xstru|
|000025b0| 63 74 20 77 69 6e 20 2a | 77 70 3b 0a 58 72 65 67 |ct win *|wp;.Xreg|
|000025c0| 69 73 74 65 72 20 63 68 | 61 72 20 2a 62 75 66 3b |ister ch|ar *buf;|
|000025d0| 0a 58 72 65 67 69 73 74 | 65 72 20 69 6e 74 20 6c |.Xregist|er int l|
|000025e0| 65 6e 3b 0a 58 7b 0a 58 | 20 20 72 65 67 69 73 74 |en;.X{.X| regist|
|000025f0| 65 72 20 69 6e 74 20 63 | 3b 0a 58 0a 58 20 20 69 |er int c|;.X.X i|
|00002600| 66 20 28 21 6c 65 6e 29 | 0a 58 20 20 20 20 72 65 |f (!len)|.X re|
|00002610| 74 75 72 6e 3b 0a 58 20 | 20 69 66 20 28 77 70 2d |turn;.X | if (wp-|
|00002620| 3e 77 5f 6c 6f 67 66 70 | 20 21 3d 20 4e 55 4c 4c |>w_logfp| != NULL|
|00002630| 29 0a 58 20 20 20 20 69 | 66 20 28 28 69 6e 74 29 |).X i|f ((int)|
|00002640| 66 77 72 69 74 65 28 62 | 75 66 2c 20 6c 65 6e 2c |fwrite(b|uf, len,|
|00002650| 20 31 2c 20 77 70 2d 3e | 77 5f 6c 6f 67 66 70 29 | 1, wp->|w_logfp)|
|00002660| 20 3c 20 31 29 0a 58 20 | 20 20 20 20 20 7b 0a 58 | < 1).X | {.X|
|00002670| 09 4d 73 67 28 65 72 72 | 6e 6f 2c 20 22 45 72 72 |.Msg(err|no, "Err|
|00002680| 6f 72 20 77 72 69 74 69 | 6e 67 20 6c 6f 67 66 69 |or writi|ng logfi|
|00002690| 6c 65 22 29 3b 0a 58 09 | 66 63 6c 6f 73 65 28 77 |le");.X.|fclose(w|
|000026a0| 70 2d 3e 77 5f 6c 6f 67 | 66 70 29 3b 0a 58 09 77 |p->w_log|fp);.X.w|
|000026b0| 70 2d 3e 77 5f 6c 6f 67 | 66 70 20 3d 20 4e 55 4c |p->w_log|fp = NUL|
|000026c0| 4c 3b 0a 58 20 20 20 20 | 20 20 7d 0a 58 20 20 2f |L;.X | }.X /|
|000026d0| 2a 0a 58 20 20 20 2a 20 | 53 65 74 43 75 72 72 28 |*.X * |SetCurr(|
|000026e0| 29 20 68 65 72 65 20 6d | 61 79 20 70 72 65 76 65 |) here m|ay preve|
|000026f0| 6e 74 20 6f 75 74 70 75 | 74 2c 20 61 73 20 69 74 |nt outpu|t, as it|
|00002700| 20 6d 61 79 20 73 65 74 | 20 64 69 73 70 6c 61 79 | may set| display|
|00002710| 20 3d 20 30 0a 58 20 20 | 20 2a 2f 0a 58 20 20 53 | = 0.X | */.X S|
|00002720| 65 74 43 75 72 72 28 77 | 70 29 3b 0a 58 20 20 69 |etCurr(w|p);.X i|
|00002730| 66 20 28 64 69 73 70 6c | 61 79 29 0a 58 20 20 20 |f (displ|ay).X |
|00002740| 20 7b 0a 58 20 20 20 20 | 20 20 69 66 20 28 64 5f | {.X | if (d_|
|00002750| 73 74 61 74 75 73 20 26 | 26 20 21 28 75 73 65 5f |status &|& !(use_|
|00002760| 68 61 72 64 73 74 61 74 | 75 73 20 26 26 20 48 53 |hardstat|us && HS|
|00002770| 29 29 0a 58 09 52 65 6d | 6f 76 65 53 74 61 74 75 |)).X.Rem|oveStatu|
|00002780| 73 28 29 3b 0a 58 20 20 | 20 20 7d 0a 58 20 20 65 |s();.X | }.X e|
|00002790| 6c 73 65 0a 58 20 20 20 | 20 7b 0a 58 20 20 20 20 |lse.X | {.X |
|000027a0| 20 20 69 66 20 28 63 75 | 72 72 2d 3e 77 5f 74 73 | if (cu|rr->w_ts|
|000027b0| 74 61 6d 70 2e 73 65 63 | 6f 6e 64 73 29 0a 58 20 |tamp.sec|onds).X |
|000027c0| 20 20 20 20 20 20 20 63 | 75 72 72 2d 3e 77 5f 74 | c|urr->w_t|
|000027d0| 73 74 61 6d 70 2e 6c 61 | 73 74 69 6f 20 3d 20 4e |stamp.la|stio = N|
|000027e0| 6f 77 3b 0a 58 0a 58 20 | 20 20 20 20 20 69 66 20 |ow;.X.X | if |
|000027f0| 28 63 75 72 72 2d 3e 77 | 5f 6d 6f 6e 69 74 6f 72 |(curr->w|_monitor|
|00002800| 20 3d 3d 20 4d 4f 4e 5f | 4f 4e 20 7c 7c 20 63 75 | == MON_|ON || cu|
|00002810| 72 72 2d 3e 77 5f 6d 6f | 6e 69 74 6f 72 20 3d 3d |rr->w_mo|nitor ==|
|00002820| 20 4d 4f 4e 5f 44 4f 4e | 45 29 0a 58 09 7b 0a 58 | MON_DON|E).X.{.X|
|00002830| 20 20 20 20 20 20 20 20 | 20 20 64 65 62 75 67 32 | | debug2|
|00002840| 28 22 41 43 54 49 56 49 | 54 59 20 25 64 20 25 64 |("ACTIVI|TY %d %d|
|00002850| 5c 6e 22 2c 20 63 75 72 | 72 2d 3e 77 5f 6d 6f 6e |\n", cur|r->w_mon|
|00002860| 69 74 6f 72 2c 20 63 75 | 72 72 2d 3e 77 5f 62 65 |itor, cu|rr->w_be|
|00002870| 6c 6c 29 3b 0a 58 20 20 | 20 20 20 20 20 20 20 20 |ll);.X | |
|00002880| 63 75 72 72 2d 3e 77 5f | 6d 6f 6e 69 74 6f 72 20 |curr->w_|monitor |
|00002890| 3d 20 4d 4f 4e 5f 46 4f | 55 4e 44 3b 0a 58 09 7d |= MON_FO|UND;.X.}|
|000028a0| 0a 58 20 20 20 20 7d 0a | 58 20 20 64 6f 0a 58 20 |.X }.|X do.X |
|000028b0| 20 20 20 7b 0a 58 20 20 | 20 20 20 20 69 66 20 28 | {.X | if (|
|000028c0| 63 75 72 72 2d 3e 77 5f | 41 74 74 72 20 26 26 20 |curr->w_|Attr && |
|000028d0| 63 75 72 72 2d 3e 77 5f | 61 74 74 72 5b 63 75 72 |curr->w_|attr[cur|
|000028e0| 72 2d 3e 77 5f 79 5d 20 | 3d 3d 20 6e 75 6c 6c 29 |r->w_y] |== null)|
|000028f0| 0a 58 09 7b 0a 58 09 20 | 20 69 66 20 28 28 63 75 |.X.{.X. | if ((cu|
|00002900| 72 72 2d 3e 77 5f 61 74 | 74 72 5b 63 75 72 72 2d |rr->w_at|tr[curr-|
|00002910| 3e 77 5f 79 5d 20 3d 20 | 28 63 68 61 72 20 2a 29 |>w_y] = |(char *)|
|00002920| 6d 61 6c 6c 6f 63 28 63 | 75 72 72 2d 3e 77 5f 77 |malloc(c|urr->w_w|
|00002930| 69 64 74 68 20 2b 20 31 | 29 29 20 3d 3d 20 30 29 |idth + 1|)) == 0)|
|00002940| 0a 58 09 20 20 20 20 7b | 0a 58 09 20 20 20 20 20 |.X. {|.X. |
|00002950| 20 63 75 72 72 2d 3e 77 | 5f 61 74 74 72 5b 63 75 | curr->w|_attr[cu|
|00002960| 72 72 2d 3e 77 5f 79 5d | 20 3d 20 6e 75 6c 6c 3b |rr->w_y]| = null;|
|00002970| 0a 58 09 20 20 20 20 20 | 20 63 75 72 72 2d 3e 77 |.X. | curr->w|
|00002980| 5f 41 74 74 72 20 3d 20 | 30 3b 0a 58 09 20 20 20 |_Attr = |0;.X. |
|00002990| 20 20 20 4d 73 67 28 30 | 2c 20 22 57 61 72 6e 69 | Msg(0|, "Warni|
|000029a0| 6e 67 3a 20 6e 6f 20 73 | 70 61 63 65 20 66 6f 72 |ng: no s|pace for|
|000029b0| 20 61 74 74 72 20 2d 20 | 74 75 72 6e 65 64 20 6f | attr - |turned o|
|000029c0| 66 66 22 29 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 |ff");.X.| }.X.|
|000029d0| 20 20 65 6c 73 65 0a 58 | 09 20 20 20 20 62 7a 65 | else.X|. bze|
|000029e0| 72 6f 28 63 75 72 72 2d | 3e 77 5f 61 74 74 72 5b |ro(curr-|>w_attr[|
|000029f0| 63 75 72 72 2d 3e 77 5f | 79 5d 2c 20 63 75 72 72 |curr->w_|y], curr|
|00002a00| 2d 3e 77 5f 77 69 64 74 | 68 20 2b 20 31 29 3b 0a |->w_widt|h + 1);.|
|00002a10| 58 09 7d 0a 58 20 20 20 | 20 20 20 69 66 20 28 63 |X.}.X | if (c|
|00002a20| 75 72 72 2d 3e 77 5f 46 | 6f 6e 74 20 26 26 20 63 |urr->w_F|ont && c|
|00002a30| 75 72 72 2d 3e 77 5f 66 | 6f 6e 74 5b 63 75 72 72 |urr->w_f|ont[curr|
|00002a40| 2d 3e 77 5f 79 5d 20 3d | 3d 20 6e 75 6c 6c 29 0a |->w_y] =|= null).|
|00002a50| 58 09 7b 0a 58 09 20 20 | 69 66 20 28 28 63 75 72 |X.{.X. |if ((cur|
|00002a60| 72 2d 3e 77 5f 66 6f 6e | 74 5b 63 75 72 72 2d 3e |r->w_fon|t[curr->|
|00002a70| 77 5f 79 5d 20 3d 20 28 | 63 68 61 72 20 2a 29 6d |w_y] = (|char *)m|
|00002a80| 61 6c 6c 6f 63 28 63 75 | 72 72 2d 3e 77 5f 77 69 |alloc(cu|rr->w_wi|
|00002a90| 64 74 68 20 2b 20 31 29 | 29 20 3d 3d 20 30 29 0a |dth + 1)|) == 0).|
|00002aa0| 58 09 20 20 20 20 7b 0a | 58 09 20 20 20 20 20 20 |X. {.|X. |
|00002ab0| 63 75 72 72 2d 3e 77 5f | 66 6f 6e 74 5b 63 75 72 |curr->w_|font[cur|
|00002ac0| 72 2d 3e 77 5f 79 5d 20 | 3d 20 6e 75 6c 6c 3b 0a |r->w_y] |= null;.|
|00002ad0| 58 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 63 |X | c|
|00002ae0| 75 72 72 2d 3e 77 5f 46 | 6f 6e 74 20 3d 20 63 75 |urr->w_F|ont = cu|
|00002af0| 72 72 2d 3e 77 5f 63 68 | 61 72 73 65 74 73 5b 63 |rr->w_ch|arsets[c|
|00002b00| 75 72 72 2d 3e 77 5f 73 | 73 20 3f 20 63 75 72 72 |urr->w_s|s ? curr|
|00002b10| 2d 3e 77 5f 73 73 20 3a | 20 63 75 72 72 2d 3e 77 |->w_ss :| curr->w|
|00002b20| 5f 43 68 61 72 73 65 74 | 5d 20 3d 20 30 3b 0a 58 |_Charset|] = 0;.X|
|00002b30| 09 20 20 20 20 20 20 4d | 73 67 28 30 2c 20 22 57 |. M|sg(0, "W|
|00002b40| 61 72 6e 69 6e 67 3a 20 | 6e 6f 20 73 70 61 63 65 |arning: |no space|
|00002b50| 20 66 6f 72 20 66 6f 6e | 74 20 2d 20 74 75 72 6e | for fon|t - turn|
|00002b60| 65 64 20 6f 66 66 22 29 | 3b 0a 58 09 20 20 20 20 |ed off")|;.X. |
|00002b70| 7d 0a 58 09 20 20 65 6c | 73 65 0a 58 09 20 20 20 |}.X. el|se.X. |
|00002b80| 20 62 7a 65 72 6f 28 63 | 75 72 72 2d 3e 77 5f 66 | bzero(c|urr->w_f|
|00002b90| 6f 6e 74 5b 63 75 72 72 | 2d 3e 77 5f 79 5d 2c 20 |ont[curr|->w_y], |
|00002ba0| 63 75 72 72 2d 3e 77 5f | 77 69 64 74 68 20 2b 20 |curr->w_|width + |
|00002bb0| 31 29 3b 0a 58 09 7d 0a | 58 0a 58 20 20 20 20 20 |1);.X.}.|X.X |
|00002bc0| 20 63 20 3d 20 28 75 6e | 73 69 67 6e 65 64 20 63 | c = (un|signed c|
|00002bd0| 68 61 72 29 2a 62 75 66 | 2b 2b 3b 0a 58 20 20 20 |har)*buf|++;.X |
|00002be0| 20 20 20 69 66 20 28 63 | 20 3d 3d 20 27 5c 31 37 | if (c| == '\17|
|00002bf0| 37 27 29 0a 58 09 63 6f | 6e 74 69 6e 75 65 3b 0a |7').X.co|ntinue;.|
|00002c00| 58 0a 58 20 20 20 20 20 | 20 2f 2a 20 54 68 65 20 |X.X | /* The |
|00002c10| 6e 65 78 74 20 70 61 72 | 74 20 69 73 20 6f 6e 6c |next par|t is onl|
|00002c20| 79 20 66 6f 72 20 73 70 | 65 65 64 75 70 20 2a 2f |y for sp|eedup */|
|00002c30| 0a 58 20 20 20 20 20 20 | 69 66 20 28 63 75 72 72 |.X |if (curr|
|00002c40| 2d 3e 77 5f 73 74 61 74 | 65 20 3d 3d 20 4c 49 54 |->w_stat|e == LIT|
|00002c50| 20 26 26 0a 58 20 20 20 | 20 20 20 20 20 20 20 63 | &&.X | c|
|00002c60| 20 3e 3d 20 27 20 27 20 | 26 26 20 28 28 63 20 26 | >= ' ' |&& ((c &|
|00002c70| 20 30 78 38 30 29 20 3d | 3d 20 30 20 7c 7c 20 64 | 0x80) =|= 0 || d|
|00002c80| 69 73 70 6c 61 79 20 3d | 3d 20 30 20 7c 7c 20 21 |isplay =|= 0 || !|
|00002c90| 43 42 38 29 20 26 26 0a | 58 20 20 20 20 20 20 20 |CB8) &&.|X |
|00002ca0| 20 20 20 21 63 75 72 72 | 2d 3e 77 5f 69 6e 73 65 | !curr|->w_inse|
|00002cb0| 72 74 20 26 26 20 21 63 | 75 72 72 2d 3e 77 5f 73 |rt && !c|urr->w_s|
|00002cc0| 73 29 0a 58 09 7b 0a 58 | 09 20 20 72 65 67 69 73 |s).X.{.X|. regis|
|00002cd0| 74 65 72 20 69 6e 74 20 | 63 75 72 72 78 3b 0a 58 |ter int |currx;.X|
|00002ce0| 09 20 20 72 65 67 69 73 | 74 65 72 20 63 68 61 72 |. regis|ter char|
|00002cf0| 20 2a 69 6d 70 2c 20 2a | 61 74 70 2c 20 2a 66 6f | *imp, *|atp, *fo|
|00002d00| 70 2c 20 61 74 2c 20 66 | 6f 3b 0a 58 0a 58 09 20 |p, at, f|o;.X.X. |
|00002d10| 20 63 75 72 72 78 20 3d | 20 63 75 72 72 2d 3e 77 | currx =| curr->w|
|00002d20| 5f 78 3b 0a 58 09 20 20 | 69 6d 70 20 3d 20 63 75 |_x;.X. |imp = cu|
|00002d30| 72 72 2d 3e 77 5f 69 6d | 61 67 65 5b 63 75 72 72 |rr->w_im|age[curr|
|00002d40| 2d 3e 77 5f 79 5d 20 2b | 20 63 75 72 72 78 3b 0a |->w_y] +| currx;.|
|00002d50| 58 09 20 20 61 74 70 20 | 3d 20 63 75 72 72 2d 3e |X. atp |= curr->|
|00002d60| 77 5f 61 74 74 72 5b 63 | 75 72 72 2d 3e 77 5f 79 |w_attr[c|urr->w_y|
|00002d70| 5d 20 2b 20 63 75 72 72 | 78 3b 0a 58 09 20 20 66 |] + curr|x;.X. f|
|00002d80| 6f 70 20 3d 20 63 75 72 | 72 2d 3e 77 5f 66 6f 6e |op = cur|r->w_fon|
|00002d90| 74 5b 63 75 72 72 2d 3e | 77 5f 79 5d 20 2b 20 63 |t[curr->|w_y] + c|
|00002da0| 75 72 72 78 3b 0a 58 09 | 20 20 61 74 20 3d 20 63 |urrx;.X.| at = c|
|00002db0| 75 72 72 2d 3e 77 5f 41 | 74 74 72 3b 0a 58 09 20 |urr->w_A|ttr;.X. |
|00002dc0| 20 66 6f 20 3d 20 63 75 | 72 72 2d 3e 77 5f 46 6f | fo = cu|rr->w_Fo|
|00002dd0| 6e 74 3b 0a 58 09 20 20 | 69 66 20 28 64 69 73 70 |nt;.X. |if (disp|
|00002de0| 6c 61 79 29 0a 58 09 20 | 20 20 20 7b 0a 58 09 20 |lay).X. | {.X. |
|00002df0| 20 20 20 20 20 69 66 20 | 28 64 5f 78 20 21 3d 20 | if |(d_x != |
|00002e00| 63 75 72 72 78 20 7c 7c | 20 64 5f 79 20 21 3d 20 |currx ||| d_y != |
|00002e10| 63 75 72 72 2d 3e 77 5f | 79 29 0a 58 09 09 47 6f |curr->w_|y).X..Go|
|00002e20| 74 6f 50 6f 73 28 63 75 | 72 72 78 2c 20 63 75 72 |toPos(cu|rrx, cur|
|00002e30| 72 2d 3e 77 5f 79 29 3b | 0a 58 09 20 20 20 20 20 |r->w_y);|.X. |
|00002e40| 20 69 66 20 28 61 74 20 | 21 3d 20 64 5f 61 74 74 | if (at |!= d_att|
|00002e50| 72 29 0a 58 09 09 53 65 | 74 41 74 74 72 28 61 74 |r).X..Se|tAttr(at|
|00002e60| 29 3b 0a 58 09 20 20 20 | 20 20 20 69 66 20 28 66 |);.X. | if (f|
|00002e70| 6f 20 21 3d 20 64 5f 66 | 6f 6e 74 29 0a 58 09 09 |o != d_f|ont).X..|
|00002e80| 53 65 74 46 6f 6e 74 28 | 66 6f 29 3b 0a 58 09 20 |SetFont(|fo);.X. |
|00002e90| 20 20 20 20 20 69 66 20 | 28 64 5f 69 6e 73 65 72 | if |(d_inser|
|00002ea0| 74 29 0a 58 09 09 49 6e | 73 65 72 74 4d 6f 64 65 |t).X..In|sertMode|
|00002eb0| 28 30 29 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 20 |(0);.X. | }.X. |
|00002ec0| 20 77 68 69 6c 65 20 28 | 63 75 72 72 78 20 3c 20 | while (|currx < |
|00002ed0| 63 6f 6c 73 20 2d 20 31 | 29 0a 58 09 20 20 20 20 |cols - 1|).X. |
|00002ee0| 7b 0a 58 09 20 20 20 20 | 20 20 69 66 20 28 64 69 |{.X. | if (di|
|00002ef0| 73 70 6c 61 79 29 0a 58 | 09 09 41 64 64 43 68 61 |splay).X|..AddCha|
|00002f00| 72 28 64 5f 66 6f 6e 74 | 20 21 3d 20 27 30 27 20 |r(d_font| != '0' |
|00002f10| 3f 20 63 20 3a 20 64 5f | 63 30 5f 74 61 62 5b 63 |? c : d_|c0_tab[c|
|00002f20| 5d 29 3b 0a 58 09 20 20 | 20 20 20 20 2a 69 6d 70 |]);.X. | *imp|
|00002f30| 2b 2b 20 3d 20 63 3b 0a | 58 09 20 20 20 20 20 20 |++ = c;.|X. |
|00002f40| 2a 61 74 70 2b 2b 20 3d | 20 61 74 3b 0a 58 09 20 |*atp++ =| at;.X. |
|00002f50| 20 20 20 20 20 2a 66 6f | 70 2b 2b 20 3d 20 66 6f | *fo|p++ = fo|
|00002f60| 3b 0a 58 09 20 20 20 20 | 20 20 63 75 72 72 78 2b |;.X. | currx+|
|00002f70| 2b 3b 0a 58 73 6b 69 70 | 3a 09 20 20 20 20 20 20 |+;.Xskip|:. |
|00002f80| 69 66 20 28 2d 2d 6c 65 | 6e 20 3d 3d 20 30 29 0a |if (--le|n == 0).|
|00002f90| 58 09 09 62 72 65 61 6b | 3b 0a 58 20 20 20 20 20 |X..break|;.X |
|00002fa0| 20 20 20 20 20 20 20 20 | 20 63 20 3d 20 28 75 6e | | c = (un|
|00002fb0| 73 69 67 6e 65 64 20 63 | 68 61 72 29 2a 62 75 66 |signed c|har)*buf|
|00002fc0| 2b 2b 3b 0a 58 09 20 20 | 20 20 20 20 69 66 20 28 |++;.X. | if (|
|00002fd0| 63 20 3d 3d 20 27 5c 31 | 37 37 27 29 0a 58 09 09 |c == '\1|77').X..|
|00002fe0| 67 6f 74 6f 20 73 6b 69 | 70 3b 0a 58 09 20 20 20 |goto ski|p;.X. |
|00002ff0| 20 20 20 69 66 20 28 63 | 20 3c 20 27 20 27 20 7c | if (c| < ' ' ||
|00003000| 7c 20 28 28 63 20 26 20 | 30 78 38 30 29 20 26 26 || ((c & |0x80) &&|
|00003010| 20 64 69 73 70 6c 61 79 | 20 26 26 20 43 42 38 29 | display| && CB8)|
|00003020| 29 0a 58 09 09 62 72 65 | 61 6b 3b 0a 58 09 20 20 |).X..bre|ak;.X. |
|00003030| 20 20 7d 0a 58 09 20 20 | 63 75 72 72 2d 3e 77 5f | }.X. |curr->w_|
|00003040| 78 20 3d 20 63 75 72 72 | 78 3b 0a 58 09 20 20 69 |x = curr|x;.X. i|
|00003050| 66 20 28 64 69 73 70 6c | 61 79 29 0a 58 09 20 20 |f (displ|ay).X. |
|00003060| 20 20 64 5f 78 20 3d 20 | 63 75 72 72 78 3b 0a 58 | d_x = |currx;.X|
|00003070| 09 20 20 69 66 20 28 6c | 65 6e 20 3d 3d 20 30 29 |. if (l|en == 0)|
|00003080| 0a 58 09 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 09 |.X. b|reak;.X.|
|00003090| 7d 0a 58 20 20 20 20 20 | 20 2f 2a 20 65 6e 64 20 |}.X | /* end |
|000030a0| 6f 66 20 73 70 65 65 64 | 75 70 20 63 6f 64 65 20 |of speed|up code |
|000030b0| 2a 2f 0a 58 0a 58 20 20 | 20 20 20 20 69 66 20 28 |*/.X.X | if (|
|000030c0| 28 63 20 26 20 30 78 38 | 30 29 20 26 26 20 64 69 |(c & 0x8|0) && di|
|000030d0| 73 70 6c 61 79 20 26 26 | 20 43 42 38 29 0a 58 09 |splay &&| CB8).X.|
|000030e0| 7b 0a 58 09 20 20 46 49 | 4c 45 20 2a 6c 6f 67 66 |{.X. FI|LE *logf|
|000030f0| 70 20 3d 20 77 70 2d 3e | 77 5f 6c 6f 67 66 70 3b |p = wp->|w_logfp;|
|00003100| 0a 58 09 20 20 63 68 61 | 72 20 2a 63 62 38 20 3d |.X. cha|r *cb8 =|
|00003110| 20 43 42 38 3b 0a 58 09 | 0a 58 09 20 20 77 70 2d | CB8;.X.|.X. wp-|
|00003120| 3e 77 5f 6c 6f 67 66 70 | 20 3d 20 4e 55 4c 4c 3b |>w_logfp| = NULL;|
|00003130| 09 2f 2a 20 61 20 6c 69 | 74 74 6c 65 20 68 61 63 |./* a li|ttle hac|
|00003140| 6b 20 2a 2f 0a 58 09 20 | 20 43 42 38 20 3d 20 4e |k */.X. | CB8 = N|
|00003150| 55 4c 4c 3b 09 09 2f 2a | 20 64 69 74 6f 20 2a 2f |ULL;../*| dito */|
|00003160| 0a 58 09 20 20 57 72 69 | 74 65 53 74 72 69 6e 67 |.X. Wri|teString|
|00003170| 28 77 70 2c 20 63 62 38 | 2c 20 28 69 6e 74 29 73 |(wp, cb8|, (int)s|
|00003180| 74 72 6c 65 6e 28 63 62 | 38 29 29 3b 0a 58 09 20 |trlen(cb|8));.X. |
|00003190| 20 77 70 2d 3e 77 5f 6c | 6f 67 66 70 20 3d 20 6c | wp->w_l|ogfp = l|
|000031a0| 6f 67 66 70 3b 0a 58 09 | 20 20 43 42 38 20 3d 20 |ogfp;.X.| CB8 = |
|000031b0| 63 62 38 3b 0a 58 09 20 | 20 63 20 26 3d 20 30 78 |cb8;.X. | c &= 0x|
|000031c0| 37 66 3b 0a 58 09 7d 0a | 58 20 20 20 20 74 72 79 |7f;.X.}.|X try|
|000031d0| 61 67 61 69 6e 3a 0a 58 | 20 20 20 20 20 20 73 77 |again:.X| sw|
|000031e0| 69 74 63 68 20 28 63 75 | 72 72 2d 3e 77 5f 73 74 |itch (cu|rr->w_st|
|000031f0| 61 74 65 29 0a 58 09 7b | 0a 58 09 63 61 73 65 20 |ate).X.{|.X.case |
|00003200| 50 52 49 4e 3a 0a 58 09 | 20 20 73 77 69 74 63 68 |PRIN:.X.| switch|
|00003210| 20 28 63 29 0a 58 09 20 | 20 20 20 7b 0a 58 09 20 | (c).X. | {.X. |
|00003220| 20 20 20 63 61 73 65 20 | 27 5c 30 33 33 27 3a 0a | case |'\033':.|
|00003230| 58 09 20 20 20 20 20 20 | 63 75 72 72 2d 3e 77 5f |X. |curr->w_|
|00003240| 73 74 61 74 65 20 3d 20 | 50 52 49 4e 45 53 43 3b |state = |PRINESC;|
|00003250| 0a 58 09 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a |.X. | break;.|
|00003260| 58 09 20 20 20 20 64 65 | 66 61 75 6c 74 3a 0a 58 |X. de|fault:.X|
|00003270| 09 20 20 20 20 20 20 50 | 72 69 6e 74 43 68 61 72 |. P|rintChar|
|00003280| 28 63 29 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 20 |(c);.X. | }.X. |
|00003290| 20 62 72 65 61 6b 3b 0a | 58 09 63 61 73 65 20 50 | break;.|X.case P|
|000032a0| 52 49 4e 45 53 43 3a 0a | 58 09 20 20 73 77 69 74 |RINESC:.|X. swit|
|000032b0| 63 68 20 28 63 29 0a 58 | 09 20 20 20 20 7b 0a 58 |ch (c).X|. {.X|
|000032c0| 09 20 20 20 20 63 61 73 | 65 20 27 5b 27 3a 0a 58 |. cas|e '[':.X|
|000032d0| 09 20 20 20 20 20 20 63 | 75 72 72 2d 3e 77 5f 73 |. c|urr->w_s|
|000032e0| 74 61 74 65 20 3d 20 50 | 52 49 4e 43 53 49 3b 0a |tate = P|RINCSI;.|
|000032f0| 58 09 20 20 20 20 20 20 | 62 72 65 61 6b 3b 0a 58 |X. |break;.X|
|00003300| 09 20 20 20 20 64 65 66 | 61 75 6c 74 3a 0a 58 09 |. def|ault:.X.|
|00003310| 20 20 20 20 20 20 50 72 | 69 6e 74 43 68 61 72 28 | Pr|intChar(|
|00003320| 27 5c 30 33 33 27 29 3b | 0a 58 09 20 20 20 20 20 |'\033');|.X. |
|00003330| 20 50 72 69 6e 74 43 68 | 61 72 28 63 29 3b 0a 58 | PrintCh|ar(c);.X|
|00003340| 09 20 20 20 20 20 20 63 | 75 72 72 2d 3e 77 5f 73 |. c|urr->w_s|
|00003350| 74 61 74 65 20 3d 20 50 | 52 49 4e 3b 0a 58 09 20 |tate = P|RIN;.X. |
|00003360| 20 20 20 7d 0a 58 09 20 | 20 62 72 65 61 6b 3b 0a | }.X. | break;.|
|00003370| 58 09 63 61 73 65 20 50 | 52 49 4e 43 53 49 3a 0a |X.case P|RINCSI:.|
|00003380| 58 09 20 20 73 77 69 74 | 63 68 20 28 63 29 0a 58 |X. swit|ch (c).X|
|00003390| 09 20 20 20 20 7b 0a 58 | 09 20 20 20 20 63 61 73 |. {.X|. cas|
|000033a0| 65 20 27 34 27 3a 0a 58 | 09 20 20 20 20 20 20 63 |e '4':.X|. c|
|000033b0| 75 72 72 2d 3e 77 5f 73 | 74 61 74 65 20 3d 20 50 |urr->w_s|tate = P|
|000033c0| 52 49 4e 34 3b 0a 58 09 | 20 20 20 20 20 20 62 72 |RIN4;.X.| br|
|000033d0| 65 61 6b 3b 0a 58 09 20 | 20 20 20 64 65 66 61 75 |eak;.X. | defau|
|000033e0| 6c 74 3a 0a 58 09 20 20 | 20 20 20 20 50 72 69 6e |lt:.X. | Prin|
|000033f0| 74 43 68 61 72 28 27 5c | 30 33 33 27 29 3b 0a 58 |tChar('\|033');.X|
|00003400| 09 20 20 20 20 20 20 50 | 72 69 6e 74 43 68 61 72 |. P|rintChar|
|00003410| 28 27 5b 27 29 3b 0a 58 | 09 20 20 20 20 20 20 50 |('[');.X|. P|
|00003420| 72 69 6e 74 43 68 61 72 | 28 63 29 3b 0a 58 09 20 |rintChar|(c);.X. |
|00003430| 20 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 73 74 61 | cur|r->w_sta|
|00003440| 74 65 20 3d 20 50 52 49 | 4e 3b 0a 58 09 20 20 20 |te = PRI|N;.X. |
|00003450| 20 7d 0a 58 09 20 20 62 | 72 65 61 6b 3b 0a 58 09 | }.X. b|reak;.X.|
|00003460| 63 61 73 65 20 50 52 49 | 4e 34 3a 0a 58 09 20 20 |case PRI|N4:.X. |
|00003470| 73 77 69 74 63 68 20 28 | 63 29 0a 58 09 20 20 20 |switch (|c).X. |
|00003480| 20 7b 0a 58 09 20 20 20 | 20 63 61 73 65 20 27 69 | {.X. | case 'i|
|00003490| 27 3a 0a 58 09 20 20 20 | 20 20 20 63 75 72 72 2d |':.X. | curr-|
|000034a0| 3e 77 5f 73 74 61 74 65 | 20 3d 20 4c 49 54 3b 0a |>w_state| = LIT;.|
|000034b0| 58 09 20 20 20 20 20 20 | 50 72 69 6e 74 46 6c 75 |X. |PrintFlu|
|000034c0| 73 68 28 29 3b 0a 58 09 | 20 20 20 20 20 20 62 72 |sh();.X.| br|
|000034d0| 65 61 6b 3b 0a 58 09 20 | 20 20 20 64 65 66 61 75 |eak;.X. | defau|
|000034e0| 6c 74 3a 0a 58 09 20 20 | 20 20 20 20 50 72 69 6e |lt:.X. | Prin|
|000034f0| 74 43 68 61 72 28 27 5c | 30 33 33 27 29 3b 0a 58 |tChar('\|033');.X|
|00003500| 09 20 20 20 20 20 20 50 | 72 69 6e 74 43 68 61 72 |. P|rintChar|
|00003510| 28 27 5b 27 29 3b 0a 58 | 09 20 20 20 20 20 20 50 |('[');.X|. P|
|00003520| 72 69 6e 74 43 68 61 72 | 28 27 34 27 29 3b 0a 58 |rintChar|('4');.X|
|00003530| 09 20 20 20 20 20 20 50 | 72 69 6e 74 43 68 61 72 |. P|rintChar|
|00003540| 28 63 29 3b 0a 58 09 20 | 20 20 20 20 20 63 75 72 |(c);.X. | cur|
|00003550| 72 2d 3e 77 5f 73 74 61 | 74 65 20 3d 20 50 52 49 |r->w_sta|te = PRI|
|00003560| 4e 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 20 20 62 |N;.X. | }.X. b|
|00003570| 72 65 61 6b 3b 0a 58 09 | 63 61 73 65 20 53 54 52 |reak;.X.|case STR|
|00003580| 45 53 43 3a 0a 58 09 20 | 20 73 77 69 74 63 68 20 |ESC:.X. | switch |
|00003590| 28 63 29 0a 58 09 20 20 | 20 20 7b 0a 58 09 20 20 |(c).X. | {.X. |
|000035a0| 20 20 63 61 73 65 20 27 | 5c 5c 27 3a 0a 58 09 20 | case '|\\':.X. |
|000035b0| 20 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 73 74 61 | cur|r->w_sta|
|000035c0| 74 65 20 3d 20 4c 49 54 | 3b 0a 58 09 20 20 20 20 |te = LIT|;.X. |
|000035d0| 20 20 2a 28 63 75 72 72 | 2d 3e 77 5f 73 74 72 69 | *(curr|->w_stri|
|000035e0| 6e 67 70 29 20 3d 20 27 | 5c 30 27 3b 0a 58 09 20 |ngp) = '|\0';.X. |
|000035f0| 20 20 20 20 20 73 77 69 | 74 63 68 20 28 63 75 72 | swi|tch (cur|
|00003600| 72 2d 3e 77 5f 53 74 72 | 69 6e 67 54 79 70 65 29 |r->w_Str|ingType)|
|00003610| 0a 58 09 09 7b 0a 58 09 | 09 63 61 73 65 20 47 4d |.X..{.X.|.case GM|
|00003620| 3a 0a 58 09 09 20 20 20 | 20 7b 0a 58 09 09 20 20 |:.X.. | {.X.. |
|00003630| 20 20 20 20 73 74 72 75 | 63 74 20 64 69 73 70 6c | stru|ct displ|
|00003640| 61 79 20 2a 6f 6c 64 20 | 3d 20 64 69 73 70 6c 61 |ay *old |= displa|
|00003650| 79 3b 0a 58 09 09 20 20 | 20 20 20 20 66 6f 72 20 |y;.X.. | for |
|00003660| 28 64 69 73 70 6c 61 79 | 20 3d 20 64 69 73 70 6c |(display| = displ|
|00003670| 61 79 73 3b 20 64 69 73 | 70 6c 61 79 3b 20 64 69 |ays; dis|play; di|
|00003680| 73 70 6c 61 79 20 3d 20 | 64 69 73 70 6c 61 79 2d |splay = |display-|
|00003690| 3e 5f 64 5f 6e 65 78 74 | 29 0a 58 09 09 09 69 66 |>_d_next|).X...if|
|000036a0| 20 28 64 69 73 70 6c 61 | 79 20 21 3d 20 6f 6c 64 | (displa|y != old|
|000036b0| 29 0a 58 09 09 09 20 20 | 4d 61 6b 65 53 74 61 74 |).X... |MakeStat|
|000036c0| 75 73 28 63 75 72 72 2d | 3e 77 5f 73 74 72 69 6e |us(curr-|>w_strin|
|000036d0| 67 29 3b 0a 58 09 09 20 | 20 20 20 20 20 64 69 73 |g);.X.. | dis|
|000036e0| 70 6c 61 79 20 3d 20 6f | 6c 64 3b 0a 58 09 09 20 |play = o|ld;.X.. |
|000036f0| 20 20 20 7d 0a 58 09 09 | 20 20 2f 2a 46 41 4c 4c | }.X..| /*FALL|
|00003700| 54 48 52 4f 55 47 48 2a | 2f 0a 58 09 09 63 61 73 |THROUGH*|/.X..cas|
|00003710| 65 20 50 4d 3a 0a 58 09 | 09 20 20 69 66 20 28 21 |e PM:.X.|. if (!|
|00003720| 64 69 73 70 6c 61 79 29 | 0a 58 09 09 20 20 20 20 |display)|.X.. |
|00003730| 62 72 65 61 6b 3b 0a 58 | 09 09 20 20 4d 61 6b 65 |break;.X|.. Make|
|00003740| 53 74 61 74 75 73 28 63 | 75 72 72 2d 3e 77 5f 73 |Status(c|urr->w_s|
|00003750| 74 72 69 6e 67 29 3b 0a | 58 09 09 20 20 69 66 20 |tring);.|X.. if |
|00003760| 28 64 5f 73 74 61 74 75 | 73 20 26 26 20 21 28 75 |(d_statu|s && !(u|
|00003770| 73 65 5f 68 61 72 64 73 | 74 61 74 75 73 20 26 26 |se_hards|tatus &&|
|00003780| 20 48 53 29 20 26 26 20 | 6c 65 6e 20 3e 20 31 29 | HS) && |len > 1)|
|00003790| 0a 58 09 09 20 20 20 20 | 7b 0a 58 09 09 20 20 20 |.X.. |{.X.. |
|000037a0| 20 20 20 63 75 72 72 2d | 3e 77 5f 6f 75 74 6c 65 | curr-|>w_outle|
|000037b0| 6e 20 3d 20 6c 65 6e 20 | 2d 20 31 3b 0a 58 09 09 |n = len |- 1;.X..|
|000037c0| 20 20 20 20 20 20 62 63 | 6f 70 79 28 62 75 66 2c | bc|opy(buf,|
|000037d0| 20 63 75 72 72 2d 3e 77 | 5f 6f 75 74 62 75 66 2c | curr->w|_outbuf,|
|000037e0| 20 63 75 72 72 2d 3e 77 | 5f 6f 75 74 6c 65 6e 29 | curr->w|_outlen)|
|000037f0| 3b 0a 58 09 09 20 20 20 | 20 20 20 72 65 74 75 72 |;.X.. | retur|
|00003800| 6e 3b 0a 58 09 09 20 20 | 20 20 7d 0a 58 09 09 20 |n;.X.. | }.X.. |
|00003810| 20 62 72 65 61 6b 3b 0a | 58 09 09 63 61 73 65 20 | break;.|X..case |
|00003820| 44 43 53 3a 0a 58 09 09 | 20 20 69 66 20 28 64 69 |DCS:.X..| if (di|
|00003830| 73 70 6c 61 79 29 0a 58 | 09 09 20 20 20 20 41 64 |splay).X|.. Ad|
|00003840| 64 53 74 72 28 63 75 72 | 72 2d 3e 77 5f 73 74 72 |dStr(cur|r->w_str|
|00003850| 69 6e 67 29 3b 0a 58 09 | 09 20 20 62 72 65 61 6b |ing);.X.|. break|
|00003860| 3b 0a 58 09 09 63 61 73 | 65 20 41 4b 41 3a 0a 58 |;.X..cas|e AKA:.X|
|00003870| 09 09 20 20 69 66 20 28 | 63 75 72 72 2d 3e 77 5f |.. if (|curr->w_|
|00003880| 61 6b 61 20 3d 3d 20 63 | 75 72 72 2d 3e 77 5f 61 |aka == c|urr->w_a|
|00003890| 6b 61 62 75 66 20 26 26 | 20 21 2a 63 75 72 72 2d |kabuf &&| !*curr-|
|000038a0| 3e 77 5f 73 74 72 69 6e | 67 29 0a 58 09 09 20 20 |>w_strin|g).X.. |
|000038b0| 20 20 62 72 65 61 6b 3b | 0a 58 09 09 20 20 43 68 | break;|.X.. Ch|
|000038c0| 61 6e 67 65 41 4b 41 28 | 63 75 72 72 2c 20 63 75 |angeAKA(|curr, cu|
|000038d0| 72 72 2d 3e 77 5f 73 74 | 72 69 6e 67 2c 20 32 30 |rr->w_st|ring, 20|
|000038e0| 29 3b 0a 58 09 09 20 20 | 69 66 20 28 21 2a 63 75 |);.X.. |if (!*cu|
|000038f0| 72 72 2d 3e 77 5f 73 74 | 72 69 6e 67 29 0a 58 09 |rr->w_st|ring).X.|
|00003900| 09 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 61 75 74 |. cur|r->w_aut|
|00003910| 6f 61 6b 61 20 3d 20 63 | 75 72 72 2d 3e 77 5f 79 |oaka = c|urr->w_y|
|00003920| 20 2b 20 31 3b 0a 58 09 | 09 20 20 62 72 65 61 6b | + 1;.X.|. break|
|00003930| 3b 0a 58 09 09 64 65 66 | 61 75 6c 74 3a 0a 58 09 |;.X..def|ault:.X.|
|00003940| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 09 7d 0a 58 |. break|;.X..}.X|
|00003950| 09 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 09 |. b|reak;.X.|
|00003960| 20 20 20 20 64 65 66 61 | 75 6c 74 3a 0a 58 09 20 | defa|ult:.X. |
|00003970| 20 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 73 74 61 | cur|r->w_sta|
|00003980| 74 65 20 3d 20 41 53 54 | 52 3b 0a 58 09 20 20 20 |te = AST|R;.X. |
|00003990| 20 20 20 53 61 76 65 43 | 68 61 72 28 27 5c 30 33 | SaveC|har('\03|
|000039a0| 33 27 29 3b 0a 58 09 20 | 20 20 20 20 20 53 61 76 |3');.X. | Sav|
|000039b0| 65 43 68 61 72 28 63 29 | 3b 0a 58 09 20 20 20 20 |eChar(c)|;.X. |
|000039c0| 7d 0a 58 09 20 20 62 72 | 65 61 6b 3b 0a 58 09 63 |}.X. br|eak;.X.c|
|000039d0| 61 73 65 20 41 53 54 52 | 3a 0a 58 09 20 20 73 77 |ase ASTR|:.X. sw|
|000039e0| 69 74 63 68 20 28 63 29 | 0a 58 09 20 20 20 20 7b |itch (c)|.X. {|
|000039f0| 0a 58 09 20 20 20 20 63 | 61 73 65 20 27 5c 30 27 |.X. c|ase '\0'|
|00003a00| 3a 0a 58 09 20 20 20 20 | 20 20 62 72 65 61 6b 3b |:.X. | break;|
|00003a10| 0a 58 09 20 20 20 20 63 | 61 73 65 20 27 5c 30 33 |.X. c|ase '\03|
|00003a20| 33 27 3a 0a 58 09 20 20 | 20 20 20 20 63 75 72 72 |3':.X. | curr|
|00003a30| 2d 3e 77 5f 73 74 61 74 | 65 20 3d 20 53 54 52 45 |->w_stat|e = STRE|
|00003a40| 53 43 3b 0a 58 09 20 20 | 20 20 20 20 62 72 65 61 |SC;.X. | brea|
|00003a50| 6b 3b 0a 58 09 20 20 20 | 20 64 65 66 61 75 6c 74 |k;.X. | default|
|00003a60| 3a 0a 58 09 20 20 20 20 | 20 20 53 61 76 65 43 68 |:.X. | SaveCh|
|00003a70| 61 72 28 63 29 3b 0a 58 | 09 20 20 20 20 7d 0a 58 |ar(c);.X|. }.X|
|00003a80| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00003a90| 20 45 53 43 3a 0a 58 09 | 20 20 73 77 69 74 63 68 | ESC:.X.| switch|
|00003aa0| 20 28 63 29 0a 58 09 20 | 20 20 20 7b 0a 58 09 20 | (c).X. | {.X. |
|00003ab0| 20 20 20 63 61 73 65 20 | 27 5b 27 3a 0a 58 09 20 | case |'[':.X. |
|00003ac0| 20 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 4e 75 6d | cur|r->w_Num|
|00003ad0| 41 72 67 73 20 3d 20 30 | 3b 0a 58 09 20 20 20 20 |Args = 0|;.X. |
|00003ae0| 20 20 63 75 72 72 2d 3e | 77 5f 69 6e 74 65 72 6d | curr->|w_interm|
|00003af0| 65 64 69 61 74 65 20 3d | 20 30 3b 0a 58 09 20 20 |ediate =| 0;.X. |
|00003b00| 20 20 20 20 62 7a 65 72 | 6f 28 28 63 68 61 72 20 | bzer|o((char |
|00003b10| 2a 29 20 63 75 72 72 2d | 3e 77 5f 61 72 67 73 2c |*) curr-|>w_args,|
|00003b20| 20 4d 41 58 41 52 47 53 | 20 2a 20 73 69 7a 65 6f | MAXARGS| * sizeo|
|00003b30| 66 28 69 6e 74 29 29 3b | 0a 58 09 20 20 20 20 20 |f(int));|.X. |
|00003b40| 20 63 75 72 72 2d 3e 77 | 5f 73 74 61 74 65 20 3d | curr->w|_state =|
|00003b50| 20 43 53 49 3b 0a 58 09 | 20 20 20 20 20 20 62 72 | CSI;.X.| br|
|00003b60| 65 61 6b 3b 0a 58 09 20 | 20 20 20 63 61 73 65 20 |eak;.X. | case |
|00003b70| 27 5d 27 3a 0a 58 09 20 | 20 20 20 20 20 53 74 61 |']':.X. | Sta|
|00003b80| 72 74 53 74 72 69 6e 67 | 28 4f 53 43 29 3b 0a 58 |rtString|(OSC);.X|
|00003b90| 09 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 09 |. b|reak;.X.|
|00003ba0| 20 20 20 20 63 61 73 65 | 20 27 5f 27 3a 0a 58 09 | case| '_':.X.|
|00003bb0| 20 20 20 20 20 20 53 74 | 61 72 74 53 74 72 69 6e | St|artStrin|
|00003bc0| 67 28 41 50 43 29 3b 0a | 58 09 20 20 20 20 20 20 |g(APC);.|X. |
|00003bd0| 62 72 65 61 6b 3b 0a 58 | 09 20 20 20 20 63 61 73 |break;.X|. cas|
|00003be0| 65 20 27 50 27 3a 0a 58 | 09 20 20 20 20 20 20 53 |e 'P':.X|. S|
|00003bf0| 74 61 72 74 53 74 72 69 | 6e 67 28 44 43 53 29 3b |tartStri|ng(DCS);|
|00003c00| 0a 58 09 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a |.X. | break;.|
|00003c10| 58 09 20 20 20 20 63 61 | 73 65 20 27 5e 27 3a 0a |X. ca|se '^':.|
|00003c20| 58 09 20 20 20 20 20 20 | 53 74 61 72 74 53 74 72 |X. |StartStr|
|00003c30| 69 6e 67 28 50 4d 29 3b | 0a 58 09 20 20 20 20 20 |ing(PM);|.X. |
|00003c40| 20 62 72 65 61 6b 3b 0a | 58 09 20 20 20 20 63 61 | break;.|X. ca|
|00003c50| 73 65 20 27 21 27 3a 0a | 58 09 20 20 20 20 20 20 |se '!':.|X. |
|00003c60| 53 74 61 72 74 53 74 72 | 69 6e 67 28 47 4d 29 3b |StartStr|ing(GM);|
|00003c70| 0a 58 09 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a |.X. | break;.|
|00003c80| 58 09 20 20 20 20 63 61 | 73 65 20 27 22 27 3a 0a |X. ca|se '"':.|
|00003c90| 58 09 20 20 20 20 63 61 | 73 65 20 27 6b 27 3a 0a |X. ca|se 'k':.|
|00003ca0| 58 09 20 20 20 20 20 20 | 53 74 61 72 74 53 74 72 |X. |StartStr|
|00003cb0| 69 6e 67 28 41 4b 41 29 | 3b 0a 58 09 20 20 20 20 |ing(AKA)|;.X. |
|00003cc0| 20 20 62 72 65 61 6b 3b | 0a 58 09 20 20 20 20 64 | break;|.X. d|
|00003cd0| 65 66 61 75 6c 74 3a 0a | 58 09 20 20 20 20 20 20 |efault:.|X. |
|00003ce0| 69 66 20 28 53 70 65 63 | 69 61 6c 28 63 29 29 0a |if (Spec|ial(c)).|
|00003cf0| 58 09 09 62 72 65 61 6b | 3b 0a 58 09 20 20 20 20 |X..break|;.X. |
|00003d00| 20 20 64 65 62 75 67 31 | 28 22 6e 6f 74 20 73 70 | debug1|("not sp|
|00003d10| 65 63 69 61 6c 2e 20 63 | 20 3d 20 25 78 5c 6e 22 |ecial. c| = %x\n"|
|00003d20| 2c 20 63 29 3b 0a 58 09 | 20 20 20 20 20 20 69 66 |, c);.X.| if|
|00003d30| 20 28 63 20 3e 3d 20 27 | 20 27 20 26 26 20 63 20 | (c >= '| ' && c |
|00003d40| 3c 3d 20 27 2f 27 29 0a | 58 09 09 63 75 72 72 2d |<= '/').|X..curr-|
|00003d50| 3e 77 5f 69 6e 74 65 72 | 6d 65 64 69 61 74 65 20 |>w_inter|mediate |
|00003d60| 3d 20 63 75 72 72 2d 3e | 77 5f 69 6e 74 65 72 6d |= curr->|w_interm|
|00003d70| 65 64 69 61 74 65 20 3f | 20 2d 31 20 3a 20 63 3b |ediate ?| -1 : c;|
|00003d80| 0a 58 09 20 20 20 20 20 | 20 65 6c 73 65 20 69 66 |.X. | else if|
|00003d90| 20 28 63 20 3e 3d 20 27 | 30 27 20 26 26 20 63 20 | (c >= '|0' && c |
|00003da0| 3c 3d 20 27 7e 27 29 0a | 58 09 09 7b 0a 58 09 09 |<= '~').|X..{.X..|
|00003db0| 20 20 44 6f 45 53 43 28 | 63 2c 20 63 75 72 72 2d | DoESC(|c, curr-|
|00003dc0| 3e 77 5f 69 6e 74 65 72 | 6d 65 64 69 61 74 65 29 |>w_inter|mediate)|
|00003dd0| 3b 0a 58 09 09 20 20 63 | 75 72 72 2d 3e 77 5f 73 |;.X.. c|urr->w_s|
|00003de0| 74 61 74 65 20 3d 20 4c | 49 54 3b 0a 58 09 09 7d |tate = L|IT;.X..}|
|00003df0| 0a 58 09 20 20 20 20 20 | 20 65 6c 73 65 0a 58 09 |.X. | else.X.|
|00003e00| 09 7b 0a 58 09 09 20 20 | 63 75 72 72 2d 3e 77 5f |.{.X.. |curr->w_|
|00003e10| 73 74 61 74 65 20 3d 20 | 4c 49 54 3b 0a 58 09 09 |state = |LIT;.X..|
|00003e20| 20 20 67 6f 74 6f 20 74 | 72 79 61 67 61 69 6e 3b | goto t|ryagain;|
|00003e30| 0a 58 09 09 7d 0a 58 09 | 20 20 20 20 7d 0a 58 09 |.X..}.X.| }.X.|
|00003e40| 20 20 62 72 65 61 6b 3b | 0a 58 09 63 61 73 65 20 | break;|.X.case |
|00003e50| 43 53 49 3a 0a 58 09 20 | 20 73 77 69 74 63 68 20 |CSI:.X. | switch |
|00003e60| 28 63 29 0a 58 09 20 20 | 20 20 7b 0a 58 09 20 20 |(c).X. | {.X. |
|00003e70| 20 20 63 61 73 65 20 27 | 30 27 3a 0a 58 09 20 20 | case '|0':.X. |
|00003e80| 20 20 63 61 73 65 20 27 | 31 27 3a 0a 58 09 20 20 | case '|1':.X. |
|00003e90| 20 20 63 61 73 65 20 27 | 32 27 3a 0a 58 09 20 20 | case '|2':.X. |
|00003ea0| 20 20 63 61 73 65 20 27 | 33 27 3a 0a 58 09 20 20 | case '|3':.X. |
|00003eb0| 20 20 63 61 73 65 20 27 | 34 27 3a 0a 58 09 20 20 | case '|4':.X. |
|00003ec0| 20 20 63 61 73 65 20 27 | 35 27 3a 0a 58 09 20 20 | case '|5':.X. |
|00003ed0| 20 20 63 61 73 65 20 27 | 36 27 3a 0a 58 09 20 20 | case '|6':.X. |
|00003ee0| 20 20 63 61 73 65 20 27 | 37 27 3a 0a 58 09 20 20 | case '|7':.X. |
|00003ef0| 20 20 63 61 73 65 20 27 | 38 27 3a 0a 58 09 20 20 | case '|8':.X. |
|00003f00| 20 20 63 61 73 65 20 27 | 39 27 3a 0a 58 09 20 20 | case '|9':.X. |
|00003f10| 20 20 20 20 69 66 20 28 | 63 75 72 72 2d 3e 77 5f | if (|curr->w_|
|00003f20| 4e 75 6d 41 72 67 73 20 | 3c 20 4d 41 58 41 52 47 |NumArgs |< MAXARG|
|00003f30| 53 29 0a 58 09 09 7b 0a | 58 09 09 20 20 63 75 72 |S).X..{.|X.. cur|
|00003f40| 72 2d 3e 77 5f 61 72 67 | 73 5b 63 75 72 72 2d 3e |r->w_arg|s[curr->|
|00003f50| 77 5f 4e 75 6d 41 72 67 | 73 5d 20 3d 0a 58 09 09 |w_NumArg|s] =.X..|
|00003f60| 20 20 20 20 31 30 20 2a | 20 63 75 72 72 2d 3e 77 | 10 *| curr->w|
|00003f70| 5f 61 72 67 73 5b 63 75 | 72 72 2d 3e 77 5f 4e 75 |_args[cu|rr->w_Nu|
|00003f80| 6d 41 72 67 73 5d 20 2b | 20 63 20 2d 20 27 30 27 |mArgs] +| c - '0'|
|00003f90| 3b 0a 58 09 09 7d 0a 58 | 09 20 20 20 20 20 20 62 |;.X..}.X|. b|
|00003fa0| 72 65 61 6b 3b 0a 58 09 | 20 20 20 20 63 61 73 65 |reak;.X.| case|
|00003fb0| 20 27 3b 27 3a 0a 58 09 | 20 20 20 20 63 61 73 65 | ';':.X.| case|
|00003fc0| 20 27 3a 27 3a 0a 58 09 | 20 20 20 20 20 20 63 75 | ':':.X.| cu|
|00003fd0| 72 72 2d 3e 77 5f 4e 75 | 6d 41 72 67 73 2b 2b 3b |rr->w_Nu|mArgs++;|
|00003fe0| 0a 58 09 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a |.X. | break;.|
|00003ff0| 58 09 20 20 20 20 64 65 | 66 61 75 6c 74 3a 0a 58 |X. de|fault:.X|
|00004000| 09 20 20 20 20 20 20 69 | 66 20 28 53 70 65 63 69 |. i|f (Speci|
|00004010| 61 6c 28 63 29 29 0a 58 | 09 09 62 72 65 61 6b 3b |al(c)).X|..break;|
|00004020| 0a 58 09 20 20 20 20 20 | 20 69 66 20 28 63 20 3e |.X. | if (c >|
|00004030| 3d 20 27 40 27 20 26 26 | 20 63 20 3c 3d 20 27 7e |= '@' &&| c <= '~|
|00004040| 27 29 0a 58 09 09 7b 0a | 58 09 09 20 20 63 75 72 |').X..{.|X.. cur|
|00004050| 72 2d 3e 77 5f 4e 75 6d | 41 72 67 73 2b 2b 3b 0a |r->w_Num|Args++;.|
|00004060| 58 09 09 20 20 44 6f 43 | 53 49 28 63 2c 20 63 75 |X.. DoC|SI(c, cu|
|00004070| 72 72 2d 3e 77 5f 69 6e | 74 65 72 6d 65 64 69 61 |rr->w_in|termedia|
|00004080| 74 65 29 3b 0a 58 09 09 | 20 20 69 66 20 28 63 75 |te);.X..| if (cu|
|00004090| 72 72 2d 3e 77 5f 73 74 | 61 74 65 20 21 3d 20 50 |rr->w_st|ate != P|
|000040a0| 52 49 4e 29 0a 58 09 09 | 20 20 20 20 63 75 72 72 |RIN).X..| curr|
|000040b0| 2d 3e 77 5f 73 74 61 74 | 65 20 3d 20 4c 49 54 3b |->w_stat|e = LIT;|
|000040c0| 0a 58 09 09 7d 0a 58 09 | 20 20 20 20 20 20 65 6c |.X..}.X.| el|
|000040d0| 73 65 20 69 66 20 28 28 | 63 20 3e 3d 20 27 20 27 |se if ((|c >= ' '|
|000040e0| 20 26 26 20 63 20 3c 3d | 20 27 2f 27 29 20 7c 7c | && c <=| '/') |||
|000040f0| 20 28 63 20 3e 3d 20 27 | 3c 27 20 26 26 20 63 20 | (c >= '|<' && c |
|00004100| 3c 3d 20 27 3f 27 29 29 | 0a 58 09 09 63 75 72 72 |<= '?'))|.X..curr|
|00004110| 2d 3e 77 5f 69 6e 74 65 | 72 6d 65 64 69 61 74 65 |->w_inte|rmediate|
|00004120| 20 3d 20 63 75 72 72 2d | 3e 77 5f 69 6e 74 65 72 | = curr-|>w_inter|
|00004130| 6d 65 64 69 61 74 65 20 | 3f 20 2d 31 20 3a 20 63 |mediate |? -1 : c|
|00004140| 3b 0a 58 09 20 20 20 20 | 20 20 65 6c 73 65 0a 58 |;.X. | else.X|
|00004150| 09 09 7b 0a 58 09 09 20 | 20 63 75 72 72 2d 3e 77 |..{.X.. | curr->w|
|00004160| 5f 73 74 61 74 65 20 3d | 20 4c 49 54 3b 0a 58 09 |_state =| LIT;.X.|
|00004170| 09 20 20 67 6f 74 6f 20 | 74 72 79 61 67 61 69 6e |. goto |tryagain|
|00004180| 3b 0a 58 09 09 7d 0a 58 | 09 20 20 20 20 7d 0a 58 |;.X..}.X|. }.X|
|00004190| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|000041a0| 20 4c 49 54 3a 0a 58 09 | 64 65 66 61 75 6c 74 3a | LIT:.X.|default:|
|000041b0| 0a 58 09 20 20 69 66 20 | 28 63 20 3c 20 27 20 27 |.X. if |(c < ' '|
|000041c0| 29 0a 58 09 20 20 20 20 | 7b 0a 58 09 20 20 20 20 |).X. |{.X. |
|000041d0| 20 20 69 66 20 28 63 20 | 3d 3d 20 27 5c 30 33 33 | if (c |== '\033|
|000041e0| 27 29 0a 58 09 09 7b 0a | 58 09 09 20 20 63 75 72 |').X..{.|X.. cur|
|000041f0| 72 2d 3e 77 5f 69 6e 74 | 65 72 6d 65 64 69 61 74 |r->w_int|ermediat|
|00004200| 65 20 3d 20 30 3b 0a 58 | 09 09 20 20 63 75 72 72 |e = 0;.X|.. curr|
|00004210| 2d 3e 77 5f 73 74 61 74 | 65 20 3d 20 45 53 43 3b |->w_stat|e = ESC;|
|00004220| 0a 58 09 09 20 20 69 66 | 20 28 64 69 73 70 6c 61 |.X.. if| (displa|
|00004230| 79 20 26 26 20 64 5f 6c | 70 5f 6d 69 73 73 69 6e |y && d_l|p_missin|
|00004240| 67 20 26 26 20 28 43 49 | 43 20 7c 7c 20 49 43 20 |g && (CI|C || IC |
|00004250| 7c 7c 20 49 4d 29 29 0a | 58 09 09 20 20 20 20 55 ||| IM)).|X.. U|
|00004260| 70 64 61 74 65 4c 69 6e | 65 28 62 6c 61 6e 6b 2c |pdateLin|e(blank,|
|00004270| 20 6e 75 6c 6c 2c 20 6e | 75 6c 6c 2c 20 64 5f 62 | null, n|ull, d_b|
|00004280| 6f 74 2c 20 63 6f 6c 73 | 20 2d 20 32 2c 20 63 6f |ot, cols| - 2, co|
|00004290| 6c 73 20 2d 20 31 29 3b | 0a 58 09 09 20 20 69 66 |ls - 1);|.X.. if|
|000042a0| 20 28 63 75 72 72 2d 3e | 77 5f 61 75 74 6f 61 6b | (curr->|w_autoak|
|000042b0| 61 20 3c 20 30 29 0a 58 | 09 09 20 20 20 20 63 75 |a < 0).X|.. cu|
|000042c0| 72 72 2d 3e 77 5f 61 75 | 74 6f 61 6b 61 20 3d 20 |rr->w_au|toaka = |
|000042d0| 30 3b 0a 58 09 09 7d 0a | 58 09 20 20 20 20 20 20 |0;.X..}.|X. |
|000042e0| 65 6c 73 65 0a 58 09 09 | 53 70 65 63 69 61 6c 28 |else.X..|Special(|
|000042f0| 63 29 3b 0a 58 09 20 20 | 20 20 20 20 62 72 65 61 |c);.X. | brea|
|00004300| 6b 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 20 20 69 |k;.X. | }.X. i|
|00004310| 66 20 28 64 69 73 70 6c | 61 79 29 0a 58 09 20 20 |f (displ|ay).X. |
|00004320| 20 20 7b 0a 58 09 20 20 | 20 20 20 20 69 66 20 28 | {.X. | if (|
|00004330| 64 5f 61 74 74 72 20 21 | 3d 20 63 75 72 72 2d 3e |d_attr !|= curr->|
|00004340| 77 5f 41 74 74 72 29 0a | 58 09 09 53 65 74 41 74 |w_Attr).|X..SetAt|
|00004350| 74 72 28 63 75 72 72 2d | 3e 77 5f 41 74 74 72 29 |tr(curr-|>w_Attr)|
|00004360| 3b 0a 58 09 20 20 20 20 | 20 20 69 66 20 28 64 5f |;.X. | if (d_|
|00004370| 66 6f 6e 74 20 21 3d 20 | 63 75 72 72 2d 3e 77 5f |font != |curr->w_|
|00004380| 46 6f 6e 74 29 0a 58 09 | 09 53 65 74 46 6f 6e 74 |Font).X.|.SetFont|
|00004390| 28 63 75 72 72 2d 3e 77 | 5f 46 6f 6e 74 29 3b 0a |(curr->w|_Font);.|
|000043a0| 58 09 20 20 20 20 7d 0a | 58 09 20 20 69 66 20 28 |X. }.|X. if (|
|000043b0| 63 75 72 72 2d 3e 77 5f | 78 20 3c 20 63 6f 6c 73 |curr->w_|x < cols|
|000043c0| 20 2d 20 31 29 0a 58 09 | 20 20 20 20 7b 0a 58 09 | - 1).X.| {.X.|
|000043d0| 20 20 20 20 20 20 69 66 | 20 28 63 75 72 72 2d 3e | if| (curr->|
|000043e0| 77 5f 69 6e 73 65 72 74 | 29 0a 58 09 09 49 6e 73 |w_insert|).X..Ins|
|000043f0| 65 72 74 41 43 68 61 72 | 28 63 29 3b 0a 58 09 20 |ertAChar|(c);.X. |
|00004400| 20 20 20 20 20 65 6c 73 | 65 0a 58 09 09 7b 0a 58 | els|e.X..{.X|
|00004410| 09 09 20 20 69 66 20 28 | 64 69 73 70 6c 61 79 29 |.. if (|display)|
|00004420| 0a 58 09 09 20 20 20 20 | 50 55 54 43 48 41 52 28 |.X.. |PUTCHAR(|
|00004430| 63 29 3b 0a 58 09 09 20 | 20 53 65 74 43 68 61 72 |c);.X.. | SetChar|
|00004440| 28 63 29 3b 0a 58 09 09 | 20 20 63 75 72 72 2d 3e |(c);.X..| curr->|
|00004450| 77 5f 78 2b 2b 3b 0a 58 | 09 09 7d 0a 58 09 20 20 |w_x++;.X|..}.X. |
|00004460| 20 20 7d 0a 58 09 20 20 | 65 6c 73 65 20 69 66 20 | }.X. |else if |
|00004470| 28 63 75 72 72 2d 3e 77 | 5f 78 20 3d 3d 20 63 6f |(curr->w|_x == co|
|00004480| 6c 73 20 2d 20 31 29 0a | 58 09 20 20 20 20 7b 0a |ls - 1).|X. {.|
|00004490| 58 09 20 20 20 20 20 20 | 69 66 20 28 64 69 73 70 |X. |if (disp|
|000044a0| 6c 61 79 20 26 26 20 63 | 75 72 72 2d 3e 77 5f 77 |lay && c|urr->w_w|
|000044b0| 72 61 70 20 26 26 20 28 | 43 4c 50 20 7c 7c 20 21 |rap && (|CLP || !|
|000044c0| 66 6f 72 63 65 5f 76 74 | 20 7c 7c 20 43 4f 50 29 |force_vt| || COP)|
|000044d0| 29 0a 58 09 09 7b 0a 58 | 09 09 20 20 52 41 57 5f |).X..{.X|.. RAW_|
|000044e0| 50 55 54 43 48 41 52 28 | 63 29 3b 09 2f 2a 20 64 |PUTCHAR(|c);./* d|
|000044f0| 6f 6e 27 74 20 63 61 72 | 65 20 61 62 6f 75 74 20 |on't car|e about |
|00004500| 64 5f 69 6e 73 65 72 74 | 20 2a 2f 0a 58 09 09 20 |d_insert| */.X.. |
|00004510| 20 53 65 74 43 68 61 72 | 28 63 29 3b 0a 58 09 09 | SetChar|(c);.X..|
|00004520| 20 20 69 66 20 28 41 4d | 20 26 26 20 21 43 4c 50 | if (AM| && !CLP|
|00004530| 29 0a 58 09 09 20 20 20 | 20 4c 69 6e 65 46 65 65 |).X.. | LineFee|
|00004540| 64 28 30 29 3b 09 2f 2a | 20 74 65 72 6d 69 6e 61 |d(0);./*| termina|
|00004550| 6c 20 61 75 74 6f 2d 77 | 72 61 70 70 65 64 20 2a |l auto-w|rapped *|
|00004560| 2f 0a 58 09 09 20 20 65 | 6c 73 65 0a 58 09 09 20 |/.X.. e|lse.X.. |
|00004570| 20 20 20 63 75 72 72 2d | 3e 77 5f 78 2b 2b 3b 0a | curr-|>w_x++;.|
|00004580| 58 09 09 7d 0a 58 09 20 | 20 20 20 20 20 65 6c 73 |X..}.X. | els|
|00004590| 65 0a 58 09 09 7b 0a 58 | 09 09 20 20 69 66 20 28 |e.X..{.X|.. if (|
|000045a0| 64 69 73 70 6c 61 79 29 | 0a 58 09 09 20 20 20 20 |display)|.X.. |
|000045b0| 7b 0a 58 09 09 20 20 20 | 20 20 20 69 66 20 28 43 |{.X.. | if (C|
|000045c0| 4c 50 20 7c 7c 20 63 75 | 72 72 2d 3e 77 5f 79 20 |LP || cu|rr->w_y |
|000045d0| 21 3d 20 64 5f 62 6f 74 | 29 0a 58 09 09 09 7b 0a |!= d_bot|).X...{.|
|000045e0| 58 09 09 09 20 20 52 41 | 57 5f 50 55 54 43 48 41 |X... RA|W_PUTCHA|
|000045f0| 52 28 63 29 3b 0a 58 09 | 09 09 20 20 47 6f 74 6f |R(c);.X.|.. Goto|
|00004600| 50 6f 73 28 63 75 72 72 | 2d 3e 77 5f 78 2c 20 63 |Pos(curr|->w_x, c|
|00004610| 75 72 72 2d 3e 77 5f 79 | 29 3b 0a 58 09 09 09 7d |urr->w_y|);.X...}|
|00004620| 0a 58 09 09 20 20 20 20 | 20 20 65 6c 73 65 0a 58 |.X.. | else.X|
|00004630| 09 09 09 43 68 65 63 6b | 4c 50 28 63 29 3b 0a 58 |...Check|LP(c);.X|
|00004640| 09 09 20 20 20 20 7d 0a | 58 09 09 20 20 53 65 74 |.. }.|X.. Set|
|00004650| 43 68 61 72 28 63 29 3b | 0a 58 09 09 20 20 69 66 |Char(c);|.X.. if|
|00004660| 20 28 63 75 72 72 2d 3e | 77 5f 77 72 61 70 29 0a | (curr->|w_wrap).|
|00004670| 58 09 09 20 20 20 20 63 | 75 72 72 2d 3e 77 5f 78 |X.. c|urr->w_x|
|00004680| 2b 2b 3b 0a 58 09 09 7d | 0a 58 09 20 20 20 20 7d |++;.X..}|.X. }|
|00004690| 0a 58 09 20 20 65 6c 73 | 65 20 2f 2a 20 63 75 72 |.X. els|e /* cur|
|000046a0| 72 2d 3e 77 5f 78 20 3e | 20 63 6f 6c 73 20 2d 20 |r->w_x >| cols - |
|000046b0| 31 20 2a 2f 0a 58 09 20 | 20 20 20 7b 0a 58 20 20 |1 */.X. | {.X |
|000046c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 53 65 74 43 | | SetC|
|000046d0| 68 61 72 28 30 29 3b 09 | 09 2f 2a 20 77 65 20 77 |har(0);.|./* we w|
|000046e0| 72 61 70 70 65 64 20 2a | 2f 0a 58 09 20 20 20 20 |rapped *|/.X. |
|000046f0| 20 20 69 66 20 28 63 75 | 72 72 2d 3e 77 5f 69 6e | if (cu|rr->w_in|
|00004700| 73 65 72 74 29 0a 58 09 | 09 7b 0a 58 09 09 20 20 |sert).X.|.{.X.. |
|00004710| 4c 69 6e 65 46 65 65 64 | 28 32 29 3b 09 09 2f 2a |LineFeed|(2);../*|
|00004720| 20 63 72 2b 6c 66 2c 20 | 68 61 6e 64 6c 65 20 4c | cr+lf, |handle L|
|00004730| 50 20 2a 2f 0a 58 09 09 | 20 20 49 6e 73 65 72 74 |P */.X..| Insert|
|00004740| 41 43 68 61 72 28 63 29 | 3b 0a 58 09 09 7d 0a 58 |AChar(c)|;.X..}.X|
|00004750| 09 20 20 20 20 20 20 65 | 6c 73 65 0a 58 09 09 7b |. e|lse.X..{|
|00004760| 0a 58 09 09 20 20 4c 69 | 6e 65 46 65 65 64 28 64 |.X.. Li|neFeed(d|
|00004770| 69 73 70 6c 61 79 20 3d | 3d 20 30 20 7c 7c 20 41 |isplay =|= 0 || A|
|00004780| 4d 20 3f 20 30 20 3a 20 | 32 29 3b 0a 58 09 09 20 |M ? 0 : |2);.X.. |
|00004790| 20 69 66 20 28 64 69 73 | 70 6c 61 79 29 0a 58 09 | if (dis|play).X.|
|000047a0| 09 20 20 20 20 50 55 54 | 43 48 41 52 28 63 29 3b |. PUT|CHAR(c);|
|000047b0| 0a 58 09 09 20 20 53 65 | 74 43 68 61 72 28 63 29 |.X.. Se|tChar(c)|
|000047c0| 3b 0a 58 09 09 20 20 63 | 75 72 72 2d 3e 77 5f 78 |;.X.. c|urr->w_x|
|000047d0| 20 3d 20 31 3b 0a 58 09 | 09 7d 0a 58 09 20 20 20 | = 1;.X.|.}.X. |
|000047e0| 20 7d 0a 58 09 20 20 69 | 66 20 28 63 75 72 72 2d | }.X. i|f (curr-|
|000047f0| 3e 77 5f 73 73 29 0a 58 | 09 20 20 20 20 7b 0a 58 |>w_ss).X|. {.X|
|00004800| 09 20 20 20 20 20 20 53 | 65 74 46 6f 6e 74 28 63 |. S|etFont(c|
|00004810| 75 72 72 2d 3e 77 5f 46 | 6f 6e 74 20 3d 20 63 75 |urr->w_F|ont = cu|
|00004820| 72 72 2d 3e 77 5f 63 68 | 61 72 73 65 74 73 5b 63 |rr->w_ch|arsets[c|
|00004830| 75 72 72 2d 3e 77 5f 43 | 68 61 72 73 65 74 5d 29 |urr->w_C|harset])|
|00004840| 3b 0a 58 09 20 20 20 20 | 20 20 63 75 72 72 2d 3e |;.X. | curr->|
|00004850| 77 5f 73 73 20 3d 20 30 | 3b 0a 58 09 20 20 20 20 |w_ss = 0|;.X. |
|00004860| 7d 0a 58 09 20 20 62 72 | 65 61 6b 3b 0a 58 09 7d |}.X. br|eak;.X.}|
|00004870| 0a 58 20 20 20 20 7d 0a | 58 20 20 77 68 69 6c 65 |.X }.|X while|
|00004880| 20 28 2d 2d 6c 65 6e 29 | 3b 0a 58 20 20 63 75 72 | (--len)|;.X cur|
|00004890| 72 2d 3e 77 5f 6f 75 74 | 6c 65 6e 20 3d 20 30 3b |r->w_out|len = 0;|
|000048a0| 0a 58 20 20 69 66 20 28 | 63 75 72 72 2d 3e 77 5f |.X if (|curr->w_|
|000048b0| 73 74 61 74 65 20 3d 3d | 20 50 52 49 4e 29 0a 58 |state ==| PRIN).X|
|000048c0| 20 20 20 20 50 72 69 6e | 74 46 6c 75 73 68 28 29 | Prin|tFlush()|
|000048d0| 3b 0a 58 7d 0a 58 0a 58 | 73 74 61 74 69 63 20 69 |;.X}.X.X|static i|
|000048e0| 6e 74 0a 58 53 70 65 63 | 69 61 6c 28 63 29 0a 58 |nt.XSpec|ial(c).X|
|000048f0| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 63 3b 0a |register| int c;.|
|00004900| 58 7b 0a 58 20 20 73 77 | 69 74 63 68 20 28 63 29 |X{.X sw|itch (c)|
|00004910| 0a 58 20 20 20 20 7b 0a | 58 20 20 20 20 63 61 73 |.X {.|X cas|
|00004920| 65 20 27 5c 62 27 3a 0a | 58 20 20 20 20 20 20 42 |e '\b':.|X B|
|00004930| 61 63 6b 53 70 61 63 65 | 28 29 3b 0a 58 20 20 20 |ackSpace|();.X |
|00004940| 20 20 20 72 65 74 75 72 | 6e 20 31 3b 0a 58 20 20 | retur|n 1;.X |
|00004950| 20 20 63 61 73 65 20 27 | 5c 72 27 3a 0a 58 20 20 | case '|\r':.X |
|00004960| 20 20 20 20 52 65 74 75 | 72 6e 28 29 3b 0a 58 20 | Retu|rn();.X |
|00004970| 20 20 20 20 20 72 65 74 | 75 72 6e 20 31 3b 0a 58 | ret|urn 1;.X|
|00004980| 20 20 20 20 63 61 73 65 | 20 27 5c 6e 27 3a 0a 58 | case| '\n':.X|
|00004990| 20 20 20 20 20 20 69 66 | 20 28 63 75 72 72 2d 3e | if| (curr->|
|000049a0| 77 5f 61 75 74 6f 61 6b | 61 29 0a 58 09 46 69 6e |w_autoak|a).X.Fin|
|000049b0| 64 41 4b 41 28 29 3b 0a | 58 20 20 20 20 20 20 4c |dAKA();.|X L|
|000049c0| 69 6e 65 46 65 65 64 28 | 31 29 3b 0a 58 20 20 20 |ineFeed(|1);.X |
|000049d0| 20 20 20 72 65 74 75 72 | 6e 20 31 3b 0a 58 20 20 | retur|n 1;.X |
|000049e0| 20 20 63 61 73 65 20 27 | 5c 30 30 37 27 3a 0a 58 | case '|\007':.X|
|000049f0| 20 20 20 20 20 20 69 66 | 20 28 64 69 73 70 6c 61 | if| (displa|
|00004a00| 79 20 3d 3d 20 30 29 0a | 58 09 63 75 72 72 2d 3e |y == 0).|X.curr->|
|00004a10| 77 5f 62 65 6c 6c 20 3d | 20 42 45 4c 4c 5f 4f 4e |w_bell =| BELL_ON|
|00004a20| 3b 0a 58 20 20 20 20 20 | 20 65 6c 73 65 0a 58 09 |;.X | else.X.|
|00004a30| 7b 0a 58 09 20 20 69 66 | 20 28 21 76 69 73 75 61 |{.X. if| (!visua|
|00004a40| 6c 5f 62 65 6c 6c 29 0a | 58 09 20 20 20 20 50 75 |l_bell).|X. Pu|
|00004a50| 74 53 74 72 28 42 4c 29 | 3b 0a 58 09 20 20 65 6c |tStr(BL)|;.X. el|
|00004a60| 73 65 0a 58 09 20 20 20 | 20 7b 0a 58 09 20 20 20 |se.X. | {.X. |
|00004a70| 20 20 20 69 66 20 28 21 | 56 42 29 0a 58 09 09 63 | if (!|VB).X..c|
|00004a80| 75 72 72 2d 3e 77 5f 62 | 65 6c 6c 20 3d 20 42 45 |urr->w_b|ell = BE|
|00004a90| 4c 4c 5f 56 49 53 55 41 | 4c 3b 0a 58 09 20 20 20 |LL_VISUA|L;.X. |
|00004aa0| 20 20 20 65 6c 73 65 0a | 58 09 09 50 75 74 53 74 | else.|X..PutSt|
|00004ab0| 72 28 56 42 29 3b 0a 58 | 09 20 20 20 20 7d 0a 58 |r(VB);.X|. }.X|
|00004ac0| 09 7d 0a 58 20 20 20 20 | 20 20 72 65 74 75 72 6e |.}.X | return|
|00004ad0| 20 31 3b 0a 58 20 20 20 | 20 63 61 73 65 20 27 5c | 1;.X | case '\|
|00004ae0| 74 27 3a 0a 58 20 20 20 | 20 20 20 46 6f 72 77 61 |t':.X | Forwa|
|00004af0| 72 64 54 61 62 28 29 3b | 0a 58 20 20 20 20 20 20 |rdTab();|.X |
|00004b00| 72 65 74 75 72 6e 20 31 | 3b 0a 58 20 20 20 20 63 |return 1|;.X c|
|00004b10| 61 73 65 20 27 5c 30 31 | 37 27 3a 09 09 2f 2a 20 |ase '\01|7':../* |
|00004b20| 53 49 20 2a 2f 0a 58 20 | 20 20 20 20 20 4d 61 70 |SI */.X | Map|
|00004b30| 43 68 61 72 73 65 74 28 | 47 30 29 3b 0a 58 20 20 |Charset(|G0);.X |
|00004b40| 20 20 20 20 72 65 74 75 | 72 6e 20 31 3b 0a 58 20 | retu|rn 1;.X |
|00004b50| 20 20 20 63 61 73 65 20 | 27 5c 30 31 36 27 3a 09 | case |'\016':.|
|00004b60| 09 2f 2a 20 53 4f 20 2a | 2f 0a 58 20 20 20 20 20 |./* SO *|/.X |
|00004b70| 20 4d 61 70 43 68 61 72 | 73 65 74 28 47 31 29 3b | MapChar|set(G1);|
|00004b80| 0a 58 20 20 20 20 20 20 | 72 65 74 75 72 6e 20 31 |.X |return 1|
|00004b90| 3b 0a 58 20 20 20 20 7d | 0a 58 20 20 72 65 74 75 |;.X }|.X retu|
|00004ba0| 72 6e 20 30 3b 0a 58 7d | 0a 58 0a 58 73 74 61 74 |rn 0;.X}|.X.Xstat|
|00004bb0| 69 63 20 76 6f 69 64 0a | 58 44 6f 45 53 43 28 63 |ic void.|XDoESC(c|
|00004bc0| 2c 20 69 6e 74 65 72 6d | 65 64 69 61 74 65 29 0a |, interm|ediate).|
|00004bd0| 58 69 6e 74 20 63 2c 20 | 69 6e 74 65 72 6d 65 64 |Xint c, |intermed|
|00004be0| 69 61 74 65 3b 0a 58 7b | 0a 58 20 20 64 65 62 75 |iate;.X{|.X debu|
|00004bf0| 67 32 28 22 44 6f 45 53 | 43 3a 20 25 78 20 2d 20 |g2("DoES|C: %x - |
|00004c00| 69 6e 74 65 72 20 3d 20 | 25 78 5c 6e 22 2c 20 63 |inter = |%x\n", c|
|00004c10| 2c 20 69 6e 74 65 72 6d | 65 64 69 61 74 65 29 3b |, interm|ediate);|
|00004c20| 0a 58 20 20 73 77 69 74 | 63 68 20 28 69 6e 74 65 |.X swit|ch (inte|
|00004c30| 72 6d 65 64 69 61 74 65 | 29 0a 58 20 20 20 20 7b |rmediate|).X {|
|00004c40| 0a 58 20 20 20 20 63 61 | 73 65 20 30 3a 0a 58 20 |.X ca|se 0:.X |
|00004c50| 20 20 20 20 20 73 77 69 | 74 63 68 20 28 63 29 0a | swi|tch (c).|
|00004c60| 58 09 7b 0a 58 09 63 61 | 73 65 20 27 45 27 3a 0a |X.{.X.ca|se 'E':.|
|00004c70| 58 09 20 20 4c 69 6e 65 | 46 65 65 64 28 32 29 3b |X. Line|Feed(2);|
|00004c80| 0a 58 09 20 20 62 72 65 | 61 6b 3b 0a 58 09 63 61 |.X. bre|ak;.X.ca|
|00004c90| 73 65 20 27 44 27 3a 0a | 58 09 20 20 4c 69 6e 65 |se 'D':.|X. Line|
|00004ca0| 46 65 65 64 28 31 29 3b | 0a 58 09 20 20 62 72 65 |Feed(1);|.X. bre|
|00004cb0| 61 6b 3b 0a 58 09 63 61 | 73 65 20 27 4d 27 3a 0a |ak;.X.ca|se 'M':.|
|00004cc0| 58 09 20 20 52 65 76 65 | 72 73 65 4c 69 6e 65 46 |X. Reve|rseLineF|
|00004cd0| 65 65 64 28 29 3b 0a 58 | 09 20 20 62 72 65 61 6b |eed();.X|. break|
|00004ce0| 3b 0a 58 09 63 61 73 65 | 20 27 48 27 3a 0a 58 09 |;.X.case| 'H':.X.|
|00004cf0| 20 20 63 75 72 72 2d 3e | 77 5f 74 61 62 73 5b 63 | curr->|w_tabs[c|
|00004d00| 75 72 72 2d 3e 77 5f 78 | 5d 20 3d 20 31 3b 0a 58 |urr->w_x|] = 1;.X|
|00004d10| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00004d20| 20 27 5a 27 3a 09 09 2f | 2a 20 6a 70 68 3a 20 49 | 'Z':../|* jph: I|
|00004d30| 64 65 6e 74 69 66 79 20 | 61 73 20 56 54 31 30 30 |dentify |as VT100|
|00004d40| 20 2a 2f 0a 58 09 20 20 | 52 65 70 6f 72 74 28 22 | */.X. |Report("|
|00004d50| 5c 30 33 33 5b 3f 25 64 | 3b 25 64 63 22 2c 20 31 |\033[?%d|;%dc", 1|
|00004d60| 2c 20 32 29 3b 0a 58 09 | 20 20 62 72 65 61 6b 3b |, 2);.X.| break;|
|00004d70| 0a 58 09 63 61 73 65 20 | 27 37 27 3a 0a 58 09 20 |.X.case |'7':.X. |
|00004d80| 20 53 61 76 65 43 75 72 | 73 6f 72 28 29 3b 0a 58 | SaveCur|sor();.X|
|00004d90| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00004da0| 20 27 38 27 3a 0a 58 09 | 20 20 52 65 73 74 6f 72 | '8':.X.| Restor|
|00004db0| 65 43 75 72 73 6f 72 28 | 29 3b 0a 58 09 20 20 62 |eCursor(|);.X. b|
|00004dc0| 72 65 61 6b 3b 0a 58 09 | 63 61 73 65 20 27 63 27 |reak;.X.|case 'c'|
|00004dd0| 3a 0a 58 09 20 20 43 6c | 65 61 72 53 63 72 65 65 |:.X. Cl|earScree|
|00004de0| 6e 28 29 3b 0a 58 09 20 | 20 52 65 73 65 74 57 69 |n();.X. | ResetWi|
|00004df0| 6e 64 6f 77 28 63 75 72 | 72 29 3b 0a 58 09 20 20 |ndow(cur|r);.X. |
|00004e00| 53 65 74 41 74 74 72 46 | 6f 6e 74 28 30 2c 20 41 |SetAttrF|ont(0, A|
|00004e10| 53 43 49 49 29 3b 0a 58 | 09 20 20 49 6e 73 65 72 |SCII);.X|. Inser|
|00004e20| 74 4d 6f 64 65 28 30 29 | 3b 0a 58 09 20 20 4b 65 |tMode(0)|;.X. Ke|
|00004e30| 79 70 61 64 4d 6f 64 65 | 28 30 29 3b 0a 58 09 20 |ypadMode|(0);.X. |
|00004e40| 20 43 75 72 73 6f 72 6b | 65 79 73 4d 6f 64 65 28 | Cursork|eysMode(|
|00004e50| 30 29 3b 0a 58 09 20 20 | 43 68 61 6e 67 65 53 63 |0);.X. |ChangeSc|
|00004e60| 72 6f 6c 6c 52 65 67 69 | 6f 6e 28 30 2c 20 72 6f |rollRegi|on(0, ro|
|00004e70| 77 73 20 2d 20 31 29 3b | 0a 58 09 20 20 62 72 65 |ws - 1);|.X. bre|
|00004e80| 61 6b 3b 0a 58 09 63 61 | 73 65 20 27 3d 27 3a 0a |ak;.X.ca|se '=':.|
|00004e90| 58 09 20 20 4b 65 79 70 | 61 64 4d 6f 64 65 28 63 |X. Keyp|adMode(c|
|00004ea0| 75 72 72 2d 3e 77 5f 6b | 65 79 70 61 64 20 3d 20 |urr->w_k|eypad = |
|00004eb0| 31 29 3b 0a 58 23 69 66 | 6e 64 65 66 20 54 49 4f |1);.X#if|ndef TIO|
|00004ec0| 43 50 4b 54 0a 58 09 20 | 20 4e 65 77 41 75 74 6f |CPKT.X. | NewAuto|
|00004ed0| 46 6c 6f 77 28 63 75 72 | 72 2c 20 30 29 3b 0a 58 |Flow(cur|r, 0);.X|
|00004ee0| 23 65 6e 64 69 66 20 2f | 2a 20 21 54 49 4f 43 50 |#endif /|* !TIOCP|
|00004ef0| 4b 54 20 2a 2f 0a 58 09 | 20 20 62 72 65 61 6b 3b |KT */.X.| break;|
|00004f00| 0a 58 09 63 61 73 65 20 | 27 3e 27 3a 0a 58 09 20 |.X.case |'>':.X. |
|00004f10| 20 4b 65 79 70 61 64 4d | 6f 64 65 28 63 75 72 72 | KeypadM|ode(curr|
|00004f20| 2d 3e 77 5f 6b 65 79 70 | 61 64 20 3d 20 30 29 3b |->w_keyp|ad = 0);|
|00004f30| 0a 58 23 69 66 6e 64 65 | 66 20 54 49 4f 43 50 4b |.X#ifnde|f TIOCPK|
|00004f40| 54 0a 58 09 20 20 4e 65 | 77 41 75 74 6f 46 6c 6f |T.X. Ne|wAutoFlo|
|00004f50| 77 28 63 75 72 72 2c 20 | 31 29 3b 0a 58 23 65 6e |w(curr, |1);.X#en|
|00004f60| 64 69 66 20 2f 2a 20 21 | 54 49 4f 43 50 4b 54 20 |dif /* !|TIOCPKT |
|00004f70| 2a 2f 0a 58 09 20 20 62 | 72 65 61 6b 3b 0a 58 09 |*/.X. b|reak;.X.|
|00004f80| 63 61 73 65 20 27 6e 27 | 3a 09 09 2f 2a 20 4c 53 |case 'n'|:../* LS|
|00004f90| 32 20 2a 2f 0a 58 09 20 | 20 4d 61 70 43 68 61 72 |2 */.X. | MapChar|
|00004fa0| 73 65 74 28 47 32 29 3b | 0a 58 09 20 20 62 72 65 |set(G2);|.X. bre|
|00004fb0| 61 6b 3b 0a 58 09 63 61 | 73 65 20 27 6f 27 3a 09 |ak;.X.ca|se 'o':.|
|00004fc0| 09 2f 2a 20 4c 53 33 20 | 2a 2f 0a 58 09 20 20 4d |./* LS3 |*/.X. M|
|00004fd0| 61 70 43 68 61 72 73 65 | 74 28 47 33 29 3b 0a 58 |apCharse|t(G3);.X|
|00004fe0| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00004ff0| 20 27 4e 27 3a 09 09 2f | 2a 20 53 53 32 20 2a 2f | 'N':../|* SS2 */|
|00005000| 0a 58 09 20 20 69 66 20 | 28 63 75 72 72 2d 3e 77 |.X. if |(curr->w|
|00005010| 5f 63 68 61 72 73 65 74 | 73 5b 63 75 72 72 2d 3e |_charset|s[curr->|
|00005020| 77 5f 43 68 61 72 73 65 | 74 5d 20 21 3d 20 63 75 |w_Charse|t] != cu|
|00005030| 72 72 2d 3e 77 5f 63 68 | 61 72 73 65 74 73 5b 47 |rr->w_ch|arsets[G|
|00005040| 32 5d 29 0a 58 09 20 20 | 20 20 63 75 72 72 2d 3e |2]).X. | curr->|
|00005050| 77 5f 46 6f 6e 74 20 3d | 20 63 75 72 72 2d 3e 77 |w_Font =| curr->w|
|00005060| 5f 63 68 61 72 73 65 74 | 73 5b 63 75 72 72 2d 3e |_charset|s[curr->|
|00005070| 77 5f 73 73 20 3d 20 47 | 32 5d 3b 0a 58 09 20 20 |w_ss = G|2];.X. |
|00005080| 65 6c 73 65 0a 58 09 20 | 20 20 20 63 75 72 72 2d |else.X. | curr-|
|00005090| 3e 77 5f 73 73 20 3d 20 | 30 3b 0a 58 09 20 20 62 |>w_ss = |0;.X. b|
|000050a0| 72 65 61 6b 3b 0a 58 09 | 63 61 73 65 20 27 4f 27 |reak;.X.|case 'O'|
|000050b0| 3a 09 09 2f 2a 20 53 53 | 33 20 2a 2f 0a 58 09 20 |:../* SS|3 */.X. |
|000050c0| 20 69 66 20 28 63 75 72 | 72 2d 3e 77 5f 63 68 61 | if (cur|r->w_cha|
|000050d0| 72 73 65 74 73 5b 63 75 | 72 72 2d 3e 77 5f 43 68 |rsets[cu|rr->w_Ch|
|000050e0| 61 72 73 65 74 5d 20 21 | 3d 20 63 75 72 72 2d 3e |arset] !|= curr->|
|000050f0| 77 5f 63 68 61 72 73 65 | 74 73 5b 47 33 5d 29 0a |w_charse|ts[G3]).|
|00005100| 58 09 20 20 20 20 63 75 | 72 72 2d 3e 77 5f 46 6f |X. cu|rr->w_Fo|
|00005110| 6e 74 20 3d 20 63 75 72 | 72 2d 3e 77 5f 63 68 61 |nt = cur|r->w_cha|
|00005120| 72 73 65 74 73 5b 63 75 | 72 72 2d 3e 77 5f 73 73 |rsets[cu|rr->w_ss|
|00005130| 20 3d 20 47 33 5d 3b 0a | 58 09 20 20 65 6c 73 65 | = G3];.|X. else|
|00005140| 0a 58 09 20 20 20 20 63 | 75 72 72 2d 3e 77 5f 73 |.X. c|urr->w_s|
|00005150| 73 20 3d 20 30 3b 0a 58 | 09 20 20 62 72 65 61 6b |s = 0;.X|. break|
|00005160| 3b 0a 58 09 7d 0a 58 20 | 20 20 20 20 20 62 72 65 |;.X.}.X | bre|
|00005170| 61 6b 3b 0a 58 20 20 20 | 20 63 61 73 65 20 27 23 |ak;.X | case '#|
|00005180| 27 3a 0a 58 20 20 20 20 | 20 20 73 77 69 74 63 68 |':.X | switch|
|00005190| 20 28 63 29 0a 58 09 7b | 0a 58 09 63 61 73 65 20 | (c).X.{|.X.case |
|000051a0| 27 38 27 3a 0a 58 09 20 | 20 46 69 6c 6c 57 69 74 |'8':.X. | FillWit|
|000051b0| 68 45 73 28 29 3b 0a 58 | 09 20 20 62 72 65 61 6b |hEs();.X|. break|
|000051c0| 3b 0a 58 09 7d 0a 58 20 | 20 20 20 20 20 62 72 65 |;.X.}.X | bre|
|000051d0| 61 6b 3b 0a 58 20 20 20 | 20 63 61 73 65 20 27 28 |ak;.X | case '(|
|000051e0| 27 3a 0a 58 20 20 20 20 | 20 20 44 65 73 69 67 6e |':.X | Design|
|000051f0| 61 74 65 43 68 61 72 73 | 65 74 28 63 2c 20 47 30 |ateChars|et(c, G0|
|00005200| 29 3b 0a 58 20 20 20 20 | 20 20 62 72 65 61 6b 3b |);.X | break;|
|00005210| 0a 58 20 20 20 20 63 61 | 73 65 20 27 29 27 3a 0a |.X ca|se ')':.|
|00005220| 58 20 20 20 20 20 20 44 | 65 73 69 67 6e 61 74 65 |X D|esignate|
|00005230| 43 68 61 72 73 65 74 28 | 63 2c 20 47 31 29 3b 0a |Charset(|c, G1);.|
|00005240| 58 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 20 |X b|reak;.X |
|00005250| 20 20 20 63 61 73 65 20 | 27 2a 27 3a 0a 58 20 20 | case |'*':.X |
|00005260| 20 20 20 20 44 65 73 69 | 67 6e 61 74 65 43 68 61 | Desi|gnateCha|
|00005270| 72 73 65 74 28 63 2c 20 | 47 32 29 3b 0a 58 20 20 |rset(c, |G2);.X |
|00005280| 20 20 20 20 62 72 65 61 | 6b 3b 0a 58 20 20 20 20 | brea|k;.X |
|00005290| 63 61 73 65 20 27 2b 27 | 3a 0a 58 20 20 20 20 20 |case '+'|:.X |
|000052a0| 20 44 65 73 69 67 6e 61 | 74 65 43 68 61 72 73 65 | Designa|teCharse|
|000052b0| 74 28 63 2c 20 47 33 29 | 3b 0a 58 20 20 20 20 20 |t(c, G3)|;.X |
|000052c0| 20 62 72 65 61 6b 3b 0a | 58 20 20 20 20 7d 0a 58 | break;.|X }.X|
|000052d0| 7d 0a 58 0a 58 73 74 61 | 74 69 63 20 76 6f 69 64 |}.X.Xsta|tic void|
|000052e0| 0a 58 44 6f 43 53 49 28 | 63 2c 20 69 6e 74 65 72 |.XDoCSI(|c, inter|
|000052f0| 6d 65 64 69 61 74 65 29 | 0a 58 69 6e 74 20 63 2c |mediate)|.Xint c,|
|00005300| 20 69 6e 74 65 72 6d 65 | 64 69 61 74 65 3b 0a 58 | interme|diate;.X|
|00005310| 7b 0a 58 20 20 72 65 67 | 69 73 74 65 72 20 69 6e |{.X reg|ister in|
|00005320| 74 20 69 2c 20 61 31 20 | 3d 20 63 75 72 72 2d 3e |t i, a1 |= curr->|
|00005330| 77 5f 61 72 67 73 5b 30 | 5d 2c 20 61 32 20 3d 20 |w_args[0|], a2 = |
|00005340| 63 75 72 72 2d 3e 77 5f | 61 72 67 73 5b 31 5d 3b |curr->w_|args[1];|
|00005350| 0a 58 0a 58 20 20 69 66 | 20 28 63 75 72 72 2d 3e |.X.X if| (curr->|
|00005360| 77 5f 4e 75 6d 41 72 67 | 73 20 3e 20 4d 41 58 41 |w_NumArg|s > MAXA|
|00005370| 52 47 53 29 0a 58 20 20 | 20 20 63 75 72 72 2d 3e |RGS).X | curr->|
|00005380| 77 5f 4e 75 6d 41 72 67 | 73 20 3d 20 4d 41 58 41 |w_NumArg|s = MAXA|
|00005390| 52 47 53 3b 0a 58 20 20 | 73 77 69 74 63 68 20 28 |RGS;.X |switch (|
|000053a0| 69 6e 74 65 72 6d 65 64 | 69 61 74 65 29 0a 58 20 |intermed|iate).X |
|000053b0| 20 20 20 7b 0a 58 20 20 | 20 20 63 61 73 65 20 30 | {.X | case 0|
|000053c0| 3a 0a 58 20 20 20 20 20 | 20 73 77 69 74 63 68 20 |:.X | switch |
|000053d0| 28 63 29 0a 58 09 7b 0a | 58 09 63 61 73 65 20 27 |(c).X.{.|X.case '|
|000053e0| 48 27 3a 0a 58 09 63 61 | 73 65 20 27 66 27 3a 0a |H':.X.ca|se 'f':.|
|000053f0| 58 09 20 20 69 66 20 28 | 61 31 20 3c 20 31 29 0a |X. if (|a1 < 1).|
|00005400| 58 09 20 20 20 20 61 31 | 20 3d 20 31 3b 0a 58 09 |X. a1| = 1;.X.|
|00005410| 20 20 69 66 20 28 63 75 | 72 72 2d 3e 77 5f 6f 72 | if (cu|rr->w_or|
|00005420| 69 67 69 6e 29 0a 58 09 | 20 20 20 20 61 31 20 2b |igin).X.| a1 +|
|00005430| 3d 20 63 75 72 72 2d 3e | 77 5f 74 6f 70 3b 0a 58 |= curr->|w_top;.X|
|00005440| 09 20 20 69 66 20 28 61 | 31 20 3e 20 72 6f 77 73 |. if (a|1 > rows|
|00005450| 29 0a 58 09 20 20 20 20 | 61 31 20 3d 20 72 6f 77 |).X. |a1 = row|
|00005460| 73 3b 0a 58 09 20 20 69 | 66 20 28 61 32 20 3c 20 |s;.X. i|f (a2 < |
|00005470| 31 29 0a 58 09 20 20 20 | 20 61 32 20 3d 20 31 3b |1).X. | a2 = 1;|
|00005480| 0a 58 09 20 20 69 66 20 | 28 61 32 20 3e 20 63 6f |.X. if |(a2 > co|
|00005490| 6c 73 29 0a 58 09 20 20 | 20 20 61 32 20 3d 20 63 |ls).X. | a2 = c|
|000054a0| 6f 6c 73 3b 0a 58 09 20 | 20 47 6f 74 6f 50 6f 73 |ols;.X. | GotoPos|
|000054b0| 28 2d 2d 61 32 2c 20 2d | 2d 61 31 29 3b 0a 58 09 |(--a2, -|-a1);.X.|
|000054c0| 20 20 63 75 72 72 2d 3e | 77 5f 78 20 3d 20 61 32 | curr->|w_x = a2|
|000054d0| 3b 0a 58 09 20 20 63 75 | 72 72 2d 3e 77 5f 79 20 |;.X. cu|rr->w_y |
|000054e0| 3d 20 61 31 3b 0a 58 09 | 20 20 69 66 20 28 63 75 |= a1;.X.| if (cu|
|000054f0| 72 72 2d 3e 77 5f 61 75 | 74 6f 61 6b 61 29 0a 58 |rr->w_au|toaka).X|
|00005500| 09 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 61 75 74 |. cur|r->w_aut|
|00005510| 6f 61 6b 61 20 3d 20 61 | 31 20 2b 20 31 3b 0a 58 |oaka = a|1 + 1;.X|
|00005520| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00005530| 20 27 4a 27 3a 0a 58 09 | 20 20 69 66 20 28 61 31 | 'J':.X.| if (a1|
|00005540| 20 3c 20 30 20 7c 7c 20 | 61 31 20 3e 20 32 29 0a | < 0 || |a1 > 2).|
|00005550| 58 09 20 20 20 20 61 31 | 20 3d 20 30 3b 0a 58 09 |X. a1| = 0;.X.|
|00005560| 20 20 73 77 69 74 63 68 | 20 28 61 31 29 0a 58 09 | switch| (a1).X.|
|00005570| 20 20 20 20 7b 0a 58 09 | 20 20 20 20 63 61 73 65 | {.X.| case|
|00005580| 20 30 3a 0a 58 09 20 20 | 20 20 20 20 43 6c 65 61 | 0:.X. | Clea|
|00005590| 72 54 6f 45 4f 53 28 29 | 3b 0a 58 09 20 20 20 20 |rToEOS()|;.X. |
|000055a0| 20 20 62 72 65 61 6b 3b | 0a 58 09 20 20 20 20 63 | break;|.X. c|
|000055b0| 61 73 65 20 31 3a 0a 58 | 09 20 20 20 20 20 20 43 |ase 1:.X|. C|
|000055c0| 6c 65 61 72 46 72 6f 6d | 42 4f 53 28 29 3b 0a 58 |learFrom|BOS();.X|
|000055d0| 09 20 20 20 20 20 20 62 | 72 65 61 6b 3b 0a 58 09 |. b|reak;.X.|
|000055e0| 20 20 20 20 63 61 73 65 | 20 32 3a 0a 58 09 20 20 | case| 2:.X. |
|000055f0| 20 20 20 20 43 6c 65 61 | 72 53 63 72 65 65 6e 28 | Clea|rScreen(|
|00005600| 29 3b 0a 58 09 20 20 20 | 20 20 20 47 6f 74 6f 50 |);.X. | GotoP|
|00005610| 6f 73 28 63 75 72 72 2d | 3e 77 5f 78 2c 20 63 75 |os(curr-|>w_x, cu|
|00005620| 72 72 2d 3e 77 5f 79 29 | 3b 0a 58 09 20 20 20 20 |rr->w_y)|;.X. |
|00005630| 20 20 62 72 65 61 6b 3b | 0a 58 09 20 20 20 20 7d | break;|.X. }|
|00005640| 0a 58 09 20 20 62 72 65 | 61 6b 3b 0a 58 09 63 61 |.X. bre|ak;.X.ca|
|00005650| 73 65 20 27 4b 27 3a 0a | 58 09 20 20 69 66 20 28 |se 'K':.|X. if (|
|00005660| 61 31 20 3c 20 30 20 7c | 7c 20 61 31 20 3e 20 32 |a1 < 0 ||| a1 > 2|
|00005670| 29 0a 58 09 20 20 20 20 | 61 31 20 25 3d 20 33 3b |).X. |a1 %= 3;|
|00005680| 0a 58 09 20 20 73 77 69 | 74 63 68 20 28 61 31 29 |.X. swi|tch (a1)|
|00005690| 0a 58 09 20 20 20 20 7b | 0a 58 09 20 20 20 20 63 |.X. {|.X. c|
|000056a0| 61 73 65 20 30 3a 0a 58 | 09 20 20 20 20 20 20 43 |ase 0:.X|. C|
|000056b0| 6c 65 61 72 54 6f 45 4f | 4c 28 29 3b 0a 58 09 20 |learToEO|L();.X. |
|000056c0| 20 20 20 20 20 62 72 65 | 61 6b 3b 0a 58 09 20 20 | bre|ak;.X. |
|000056d0| 20 20 63 61 73 65 20 31 | 3a 0a 58 09 20 20 20 20 | case 1|:.X. |
|000056e0| 20 20 43 6c 65 61 72 46 | 72 6f 6d 42 4f 4c 28 29 | ClearF|romBOL()|
|000056f0| 3b 0a 58 09 20 20 20 20 | 20 20 62 72 65 61 6b 3b |;.X. | break;|
|00005700| 0a 58 09 20 20 20 20 63 | 61 73 65 20 32 3a 0a 58 |.X. c|ase 2:.X|
|00005710| 09 20 20 20 20 20 20 43 | 6c 65 61 72 46 75 6c 6c |. C|learFull|
|00005720| 4c 69 6e 65 28 29 3b 0a | 58 09 20 20 20 20 20 20 |Line();.|X. |
|00005730| 62 72 65 61 6b 3b 0a 58 | 09 20 20 20 20 7d 0a 58 |break;.X|. }.X|
|00005740| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00005750| 20 27 41 27 3a 0a 58 09 | 20 20 43 75 72 73 6f 72 | 'A':.X.| Cursor|
|00005760| 55 70 28 61 31 20 3f 20 | 61 31 20 3a 20 31 29 3b |Up(a1 ? |a1 : 1);|
|00005770| 0a 58 09 20 20 62 72 65 | 61 6b 3b 0a 58 09 63 61 |.X. bre|ak;.X.ca|
|00005780| 73 65 20 27 42 27 3a 0a | 58 09 20 20 43 75 72 73 |se 'B':.|X. Curs|
|00005790| 6f 72 44 6f 77 6e 28 61 | 31 20 3f 20 61 31 20 3a |orDown(a|1 ? a1 :|
|000057a0| 20 31 29 3b 0a 58 09 20 | 20 62 72 65 61 6b 3b 0a | 1);.X. | break;.|
|000057b0| 58 09 63 61 73 65 20 27 | 43 27 3a 0a 58 09 20 20 |X.case '|C':.X. |
|000057c0| 43 75 72 73 6f 72 52 69 | 67 68 74 28 61 31 20 3f |CursorRi|ght(a1 ?|
|000057d0| 20 61 31 20 3a 20 31 29 | 3b 0a 58 09 20 20 62 72 | a1 : 1)|;.X. br|
|000057e0| 65 61 6b 3b 0a 58 09 63 | 61 73 65 20 27 44 27 3a |eak;.X.c|ase 'D':|
|000057f0| 0a 58 09 20 20 43 75 72 | 73 6f 72 4c 65 66 74 28 |.X. Cur|sorLeft(|
|00005800| 61 31 20 3f 20 61 31 20 | 3a 20 31 29 3b 0a 58 09 |a1 ? a1 |: 1);.X.|
|00005810| 20 20 62 72 65 61 6b 3b | 0a 58 09 63 61 73 65 20 | break;|.X.case |
|00005820| 27 6d 27 3a 0a 58 09 20 | 20 53 65 6c 65 63 74 52 |'m':.X. | SelectR|
|00005830| 65 6e 64 69 74 69 6f 6e | 28 29 3b 0a 58 09 20 20 |endition|();.X. |
|00005840| 62 72 65 61 6b 3b 0a 58 | 09 63 61 73 65 20 27 67 |break;.X|.case 'g|
|00005850| 27 3a 0a 58 09 20 20 69 | 66 20 28 61 31 20 3d 3d |':.X. i|f (a1 ==|
|00005860| 20 30 29 0a 58 09 20 20 | 20 20 63 75 72 72 2d 3e | 0).X. | curr->|
|00005870| 77 5f 74 61 62 73 5b 63 | 75 72 72 2d 3e 77 5f 78 |w_tabs[c|urr->w_x|
|00005880| 5d 20 3d 20 30 3b 0a 58 | 09 20 20 65 6c 73 65 20 |] = 0;.X|. else |
|00005890| 69 66 20 28 61 31 20 3d | 3d 20 33 29 0a 58 09 20 |if (a1 =|= 3).X. |
|000058a0| 20 20 20 62 7a 65 72 6f | 28 63 75 72 72 2d 3e 77 | bzero|(curr->w|
|000058b0| 5f 74 61 62 73 2c 20 63 | 6f 6c 73 29 3b 0a 58 09 |_tabs, c|ols);.X.|
|000058c0| 20 20 62 72 65 61 6b 3b | 0a 58 09 63 61 73 65 20 | break;|.X.case |
|000058d0| 27 72 27 3a 0a 58 09 20 | 20 69 66 20 28 21 61 31 |'r':.X. | if (!a1|
|000058e0| 29 0a 58 09 20 20 20 20 | 61 31 20 3d 20 31 3b 0a |).X. |a1 = 1;.|
|000058f0| 58 09 20 20 69 66 20 28 | 21 61 32 29 0a 58 09 20 |X. if (|!a2).X. |
|00005900| 20 20 20 61 32 20 3d 20 | 72 6f 77 73 3b 0a 58 09 | a2 = |rows;.X.|
|00005910| 20 20 69 66 20 28 61 31 | 20 3c 20 31 20 7c 7c 20 | if (a1| < 1 || |
|00005920| 61 32 20 3e 20 72 6f 77 | 73 20 7c 7c 20 61 31 20 |a2 > row|s || a1 |
|00005930| 3e 3d 20 61 32 29 0a 58 | 09 20 20 20 20 62 72 65 |>= a2).X|. bre|
|00005940| 61 6b 3b 0a 58 09 20 20 | 63 75 72 72 2d 3e 77 5f |ak;.X. |curr->w_|
|00005950| 74 6f 70 20 3d 20 61 31 | 20 2d 20 31 3b 0a 58 09 |top = a1| - 1;.X.|
|00005960| 20 20 63 75 72 72 2d 3e | 77 5f 62 6f 74 20 3d 20 | curr->|w_bot = |
|00005970| 61 32 20 2d 20 31 3b 0a | 58 09 20 20 43 68 61 6e |a2 - 1;.|X. Chan|
|00005980| 67 65 53 63 72 6f 6c 6c | 52 65 67 69 6f 6e 28 63 |geScroll|Region(c|
|00005990| 75 72 72 2d 3e 77 5f 74 | 6f 70 2c 20 63 75 72 72 |urr->w_t|op, curr|
|000059a0| 2d 3e 77 5f 62 6f 74 29 | 3b 0a 58 09 20 20 69 66 |->w_bot)|;.X. if|
|000059b0| 20 28 63 75 72 72 2d 3e | 77 5f 6f 72 69 67 69 6e | (curr->|w_origin|
|000059c0| 29 0a 58 09 20 20 20 20 | 7b 0a 58 09 20 20 20 20 |).X. |{.X. |
|000059d0| 20 20 47 6f 74 6f 50 6f | 73 28 30 2c 20 63 75 72 | GotoPo|s(0, cur|
|000059e0| 72 2d 3e 77 5f 74 6f 70 | 29 3b 0a 58 09 20 20 20 |r->w_top|);.X. |
|000059f0| 20 20 20 63 75 72 72 2d | 3e 77 5f 79 20 3d 20 63 | curr-|>w_y = c|
|00005a00| 75 72 72 2d 3e 77 5f 74 | 6f 70 3b 0a 58 09 20 20 |urr->w_t|op;.X. |
|00005a10| 20 20 20 20 63 75 72 72 | 2d 3e 77 5f 78 20 3d 20 | curr|->w_x = |
|00005a20| 30 3b 0a 58 09 20 20 20 | 20 7d 0a 58 09 20 20 65 |0;.X. | }.X. e|
|00005a30| 6c 73 65 0a 58 09 20 20 | 20 20 7b 0a 58 09 20 20 |lse.X. | {.X. |
|00005a40| 20 20 20 20 47 6f 74 6f | 50 6f 73 28 30 2c 20 30 | Goto|Pos(0, 0|
|00005a50| 29 3b 0a 58 09 20 20 20 | 20 20 20 63 75 72 72 2d |);.X. | curr-|
|00005a60| 3e 77 5f 79 20 3d 20 63 | 75 72 72 2d 3e 77 5f 78 |>w_y = c|urr->w_x|
|00005a70| 20 3d 20 30 3b 0a 58 09 | 20 20 20 20 7d 0a 58 09 | = 0;.X.| }.X.|
|00005a80| 20 20 62 72 65 61 6b 3b | 0a 58 09 63 61 73 65 20 | break;|.X.case |
|00005a90| 27 73 27 3a 0a 58 09 20 | 20 53 61 76 65 43 75 72 |'s':.X. | SaveCur|
|00005aa0| 73 6f 72 28 29 3b 0a 58 | 09 20 20 62 72 65 61 6b |sor();.X|. break|
|00005ab0| 3b 0a 58 09 63 61 73 65 | 20 27 74 27 3a 0a 58 09 |;.X.case| 't':.X.|
|00005ac0| 20 20 69 66 20 28 61 31 | 20 21 3d 20 38 29 0a 58 | if (a1| != 8).X|
|00005ad0| 09 20 20 20 20 62 72 65 | 61 6b 3b 0a 58 09 20 20 |. bre|ak;.X. |
|00005ae0| 61 31 20 3d 20 63 75 72 | 72 2d 3e 77 5f 61 72 67 |a1 = cur|r->w_arg|
|00005af0| 73 5b 32 5d 3b 0a 58 09 | 20 20 69 66 20 28 61 31 |s[2];.X.| if (a1|
|00005b00| 20 3c 20 31 29 0a 58 09 | 20 20 20 20 61 31 20 3d | < 1).X.| a1 =|
|00005b10| 20 63 75 72 72 2d 3e 77 | 5f 77 69 64 74 68 3b 0a | curr->w|_width;.|
|00005b20| 58 09 20 20 69 66 20 28 | 61 32 20 3c 20 31 29 0a |X. if (|a2 < 1).|
|00005b30| 58 09 20 20 20 20 61 32 | 20 3d 20 63 75 72 72 2d |X. a2| = curr-|
|00005b40| 3e 77 5f 68 65 69 67 68 | 74 3b 0a 58 09 20 20 69 |>w_heigh|t;.X. i|
|00005b50| 66 20 28 64 69 73 70 6c | 61 79 20 26 26 20 43 57 |f (displ|ay && CW|
|00005b60| 53 20 3d 3d 20 4e 55 4c | 4c 29 0a 58 09 20 20 20 |S == NUL|L).X. |
|00005b70| 20 7b 0a 58 09 20 20 20 | 20 20 20 61 32 20 3d 20 | {.X. | a2 = |
|00005b80| 63 75 72 72 2d 3e 77 5f | 68 65 69 67 68 74 3b 0a |curr->w_|height;.|
|00005b90| 58 09 20 20 20 20 20 20 | 69 66 20 28 43 5a 30 20 |X. |if (CZ0 |
|00005ba0| 3d 3d 20 4e 55 4c 4c 20 | 7c 7c 20 28 61 31 20 21 |== NULL ||| (a1 !|
|00005bb0| 3d 20 5a 30 77 69 64 74 | 68 20 26 26 20 61 31 20 |= Z0widt|h && a1 |
|00005bc0| 21 3d 20 5a 31 77 69 64 | 74 68 29 29 0a 58 09 20 |!= Z1wid|th)).X. |
|00005bd0| 20 20 20 20 20 20 20 61 | 31 20 3d 20 63 75 72 72 | a|1 = curr|
|00005be0| 2d 3e 77 5f 77 69 64 74 | 68 3b 0a 58 20 09 20 20 |->w_widt|h;.X . |
|00005bf0| 20 20 7d 0a 58 09 20 20 | 69 66 20 28 61 31 20 3d | }.X. |if (a1 =|
|00005c00| 3d 20 63 75 72 72 2d 3e | 77 5f 77 69 64 74 68 20 |= curr->|w_width |
|00005c10| 26 26 20 61 32 20 3d 3d | 20 63 75 72 72 2d 3e 77 |&& a2 ==| curr->w|
|00005c20| 5f 68 65 69 67 68 74 29 | 0a 58 09 20 20 20 20 62 |_height)|.X. b|
|00005c30| 72 65 61 6b 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |reak;.X | |
|00005c40| 20 43 68 61 6e 67 65 57 | 69 6e 64 6f 77 53 69 7a | ChangeW|indowSiz|
|00005c50| 65 28 63 75 72 72 2c 20 | 61 31 2c 20 61 32 29 3b |e(curr, |a1, a2);|
|00005c60| 0a 58 09 20 20 53 65 74 | 43 75 72 72 28 63 75 72 |.X. Set|Curr(cur|
|00005c70| 72 29 3b 0a 58 09 20 20 | 69 66 20 28 64 69 73 70 |r);.X. |if (disp|
|00005c80| 6c 61 79 29 0a 58 09 20 | 20 20 20 41 63 74 69 76 |lay).X. | Activ|
|00005c90| 61 74 65 28 30 29 3b 0a | 58 09 20 20 62 72 65 61 |ate(0);.|X. brea|
|00005ca0| 6b 3b 0a 58 09 63 61 73 | 65 20 27 75 27 3a 0a 58 |k;.X.cas|e 'u':.X|
|00005cb0| 09 20 20 52 65 73 74 6f | 72 65 43 75 72 73 6f 72 |. Resto|reCursor|
|00005cc0| 28 29 3b 0a 58 09 20 20 | 62 72 65 61 6b 3b 0a 58 |();.X. |break;.X|
|00005cd0| 09 63 61 73 65 20 27 49 | 27 3a 0a 58 09 20 20 69 |.case 'I|':.X. i|
|00005ce0| 66 20 28 21 61 31 29 0a | 58 09 20 20 20 20 61 31 |f (!a1).|X. a1|
|00005cf0| 20 3d 20 31 3b 0a 58 09 | 20 20 77 68 69 6c 65 20 | = 1;.X.| while |
|00005d00| 28 61 31 2d 2d 29 0a 58 | 09 20 20 20 20 46 6f 72 |(a1--).X|. For|
|00005d10| 77 61 72 64 54 61 62 28 | 29 3b 0a 58 09 20 20 62 |wardTab(|);.X. b|
|00005d20| 72 65 61 6b 3b 0a 58 09 | 63 61 73 65 20 27 5a 27 |reak;.X.|case 'Z'|
|00005d30| 3a 0a 58 09 20 20 69 66 | 20 28 21 61 31 29 0a 58 |:.X. if| (!a1).X|
|00005d40| 09 20 20 20 20 61 31 20 | 3d 20 31 3b 0a 58 09 20 |. a1 |= 1;.X. |
|00005d50| 20 77 68 69 6c 65 20 28 | 61 31 2d 2d 29 0a 58 09 | while (|a1--).X.|
|00005d60| 20 20 20 20 42 61 63 6b | 77 61 72 64 54 61 62 28 | Back|wardTab(|
|00005d70| 29 3b 0a 58 09 20 20 62 | 72 65 61 6b 3b 0a 58 09 |);.X. b|reak;.X.|
|00005d80| 63 61 73 65 20 27 4c 27 | 3a 0a 58 09 20 20 49 6e |case 'L'|:.X. In|
|00005d90| 73 65 72 74 4c 69 6e 65 | 28 61 31 20 3f 20 61 31 |sertLine|(a1 ? a1|
|00005da0| 20 3a 20 31 29 3b 0a 58 | 09 20 20 62 72 65 61 6b | : 1);.X|. break|
|00005db0| 3b 0a 58 09 63 61 73 65 | 20 27 4d 27 3a 0a 58 09 |;.X.case| 'M':.X.|
|00005dc0| 20 20 44 65 6c 65 74 65 | 4c 69 6e 65 28 61 31 20 | Delete|Line(a1 |
|00005dd0| 3f 20 61 31 20 3a 20 31 | 29 3b 0a 58 09 20 20 62 |? a1 : 1|);.X. b|
|00005de0| 72 65 61 6b 3b 0a 58 09 | 63 61 73 65 20 27 50 27 |reak;.X.|case 'P'|
|00005df0| 3a 0a 58 09 20 20 44 65 | 6c 65 74 65 43 68 61 72 |:.X. De|leteChar|
|00005e00| 28 61 31 20 3f 20 61 31 | 20 3a 20 31 29 3b 0a 58 |(a1 ? a1| : 1);.X|
|00005e10| 09 20 20 62 72 65 61 6b | 3b 0a 58 09 63 61 73 65 |. break|;.X.case|
|00005e20| 20 27 40 27 3a 0a 58 09 | 20 20 49 6e 73 65 72 74 | '@':.X.| Insert|
|00005e30| 43 68 61 72 28 61 31 20 | 3f 20 61 31 20 3a 20 31 |Char(a1 |? a1 : 1|
|00005e40| 29 3b 0a 58 09 20 20 62 | 72 65 61 6b 3b 0a 58 09 |);.X. b|reak;.X.|
|00005e50| 63 61 73 65 20 27 68 27 | 3a 0a 58 09 20 20 41 53 |case 'h'|:.X. AS|
|00005e60| 65 74 4d 6f 64 65 28 31 | 29 3b 0a 58 09 20 20 62 |etMode(1|);.X. b|
|00005e70| 72 65 61 6b 3b 0a 58 09 | 63 61 73 65 20 27 6c 27 |reak;.X.|case 'l'|
|00005e80| 3a 0a 58 09 20 20 41 53 | 65 74 4d 6f 64 65 28 30 |:.X. AS|etMode(0|
|00005e90| 29 3b 0a 58 09 20 20 62 | 72 65 61 6b 3b 0a 58 09 |);.X. b|reak;.X.|
|00005ea0| 63 61 73 65 20 27 69 27 | 3a 0a 58 09 20 20 69 66 |case 'i'|:.X. if|
|00005eb0| 20 28 64 69 73 70 6c 61 | 79 20 26 26 20 50 4f 20 | (displa|y && PO |
|00005ec0| 26 26 20 61 31 20 3d 3d | 20 35 29 0a 58 09 20 20 |&& a1 ==| 5).X. |
|00005ed0| 20 20 7b 0a 58 09 20 20 | 20 20 20 20 63 75 72 72 | {.X. | curr|
|00005ee0| 2d 3e 77 5f 73 74 72 69 | 6e 67 70 20 3d 20 63 75 |->w_stri|ngp = cu|
|00005ef0| 72 72 2d 3e 77 5f 73 74 | 72 69 6e 67 3b 0a 58 09 |rr->w_st|ring;.X.|
|00005f00| 20 20 20 20 20 20 63 75 | 72 72 2d 3e 77 5f 73 74 | cu|rr->w_st|
|00005f10| 61 74 65 20 3d 20 50 52 | 49 4e 3b 0a 58 09 20 20 |ate = PR|IN;.X. |
|00005f20| 20 20 7d 0a 58 09 20 20 | 62 72 65 61 6b 3b 0a 58 | }.X. |break;.X|
|00005f30| 09 63 61 73 65 20 27 6e | 27 3a 0a 58 09 20 20 69 |.case 'n|':.X. i|
|00005f40| 66 20 28 61 31 20 3d 3d | 20 36 29 09 09 2f 2a 20 |f (a1 ==| 6)../* |
|00005f50| 52 65 70 6f 72 74 20 63 | 75 72 73 6f 72 20 70 6f |Report c|ursor po|
|00005f60| 73 69 74 69 6f 6e 20 2a | 2f 0a 58 09 20 20 20 20 |sition *|/.X. |
|00005f70| 52 65 70 6f 72 74 28 22 | 5c 30 33 33 5b 25 64 3b |Report("|\033[%d;|
|00005f80| 25 64 52 22 2c 20 63 75 | 72 72 2d 3e 77 5f 79 20 |%dR", cu|rr->w_y |
|00005f90| 2b 20 31 2c 20 63 75 72 | 72 2d 3e 77 5f 78 20 2b |+ 1, cur|r->w_x +|
|00005fa0| 20 31 29 3b 0a 58 09 20 | 20 62 72 65 61 6b 3b 0a | 1);.X. | break;.|
|00005fb0| 58 09 63 61 73 65 20 27 | 63 27 3a 09 09 2f 2a 20 |X.case '|c':../* |
|00005fc0| 49 64 65 6e 74 69 66 79 | 20 61 73 20 56 54 31 30 |Identify| as VT10|
|00005fd0| 30 20 2a 2f 0a 58 09 20 | 20 52 65 70 6f 72 74 28 |0 */.X. | Report(|
|00005fe0| 22 5c 30 33 33 5b 3f 25 | 64 3b 25 64 63 22 2c 20 |"\033[?%|d;%dc", |
|00005ff0| 31 2c 20 32 29 3b 0a 58 | 09 20 20 62 72 65 61 6b |1, 2);.X|. break|
|00006000| 3b 0a 58 09 7d 0a 58 20 | 20 20 20 20 20 62 72 65 |;.X.}.X | bre|
|00006010| 61 6b 3b 0a 58 20 20 20 | 20 63 61 73 65 20 27 3f |ak;.X | case '?|
|00006020| 27 3a 0a 58 20 20 20 20 | 20 20 64 65 62 75 67 32 |':.X | debug2|
|00006030| 28 22 5c 5c 45 5b 3f 25 | 64 25 63 5c 6e 22 2c 61 |("\\E[?%|d%c\n",a|
|00006040| 31 2c 63 29 3b 0a 58 20 | 20 20 20 20 20 69 66 20 |1,c);.X | if |
|00006050| 28 63 20 21 3d 20 27 68 | 27 20 26 26 20 63 20 21 |(c != 'h|' && c !|
|00006060| 3d 20 27 6c 27 29 0a 58 | 09 62 72 65 61 6b 3b 0a |= 'l').X|.break;.|
|00006070| 58 20 20 20 20 20 20 69 | 20 3d 20 28 63 20 3d 3d |X i| = (c ==|
|00006080| 20 27 68 27 29 3b 0a 58 | 20 20 20 20 20 20 73 77 | 'h');.X| sw|
|00006090| 69 74 63 68 20 28 61 31 | 29 0a 58 09 7b 0a 58 09 |itch (a1|).X.{.X.|
|000060a0| 63 61 73 65 20 31 3a 0a | 58 09 20 20 43 75 72 73 |case 1:.|X. Curs|
|000060b0| 6f 72 6b 65 79 73 4d 6f | 64 65 28 63 75 72 72 2d |orkeysMo|de(curr-|
|000060c0| 3e 77 5f 63 75 72 73 6f | 72 6b 65 79 73 20 3d 20 |>w_curso|rkeys = |
|000060d0| 69 29 3b 0a 58 23 69 66 | 6e 64 65 66 20 54 49 4f |i);.X#if|ndef TIO|
|000060e0| 43 50 4b 54 0a 58 09 20 | 20 4e 65 77 41 75 74 6f |CPKT.X. | NewAuto|
|000060f0| 46 6c 6f 77 28 63 75 72 | 72 2c 20 21 69 29 3b 0a |Flow(cur|r, !i);.|
|00006100| 58 23 65 6e 64 69 66 20 | 2f 2a 20 21 54 49 4f 43 |X#endif |/* !TIOC|
|00006110| 50 4b 54 20 2a 2f 0a 58 | 09 20 20 62 72 65 61 6b |PKT */.X|. break|
|00006120| 3b 0a 58 09 63 61 73 65 | 20 33 3a 0a 58 09 20 20 |;.X.case| 3:.X. |
|00006130| 69 20 3d 20 28 69 20 3f | 20 5a 30 77 69 64 74 68 |i = (i ?| Z0width|
|00006140| 20 3a 20 5a 31 77 69 64 | 74 68 29 3b 0a 58 09 20 | : Z1wid|th);.X. |
|00006150| 20 69 66 20 28 63 75 72 | 72 2d 3e 77 5f 77 69 64 | if (cur|r->w_wid|
|00006160| 74 68 20 21 3d 20 69 20 | 26 26 20 28 64 69 73 70 |th != i |&& (disp|
|00006170| 6c 61 79 20 3d 3d 20 30 | 20 7c 7c 20 28 43 5a 30 |lay == 0| || (CZ0|
|00006180| 20 7c 7c 20 43 57 53 29 | 29 29 0a 58 09 20 20 20 | || CWS)|)).X. |
|00006190| 20 7b 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 | {.X | |
|000061a0| 20 20 43 68 61 6e 67 65 | 57 69 6e 64 6f 77 53 69 | Change|WindowSi|
|000061b0| 7a 65 28 63 75 72 72 2c | 20 69 2c 20 63 75 72 72 |ze(curr,| i, curr|
|000061c0| 2d 3e 77 5f 68 65 69 67 | 68 74 29 3b 0a 58 09 20 |->w_heig|ht);.X. |
|000061d0| 20 20 20 20 20 53 65 74 | 43 75 72 72 28 63 75 72 | Set|Curr(cur|
|000061e0| 72 29 3b 09 2f 2a 20 75 | 70 64 61 74 65 20 72 6f |r);./* u|pdate ro|
|000061f0| 77 73 2f 63 6f 6c 73 20 | 2a 2f 0a 58 09 20 20 20 |ws/cols |*/.X. |
|00006200| 20 20 20 69 66 20 28 64 | 69 73 70 6c 61 79 29 0a | if (d|isplay).|
|00006210| 58 09 09 41 63 74 69 76 | 61 74 65 28 30 29 3b 0a |X..Activ|ate(0);.|
|00006220| 58 09 20 20 20 20 7d 0a | 58 09 20 20 62 72 65 61 |X. }.|X. brea|
|00006230| 6b 3b 0a 58 09 63 61 73 | 65 20 35 3a 0a 58 09 20 |k;.X.cas|e 5:.X. |
|00006240| 20 69 66 20 28 69 29 0a | 58 09 20 20 20 20 63 75 | if (i).|X. cu|
|00006250| 72 72 2d 3e 77 5f 76 62 | 77 61 69 74 20 3d 20 31 |rr->w_vb|wait = 1|
|00006260| 3b 0a 58 09 20 20 65 6c | 73 65 0a 58 09 20 20 20 |;.X. el|se.X. |
|00006270| 20 7b 0a 58 09 20 20 20 | 20 20 20 69 66 20 28 64 | {.X. | if (d|
|00006280| 69 73 70 6c 61 79 20 26 | 26 20 63 75 72 72 2d 3e |isplay &|& curr->|
|00006290| 77 5f 76 62 77 61 69 74 | 29 0a 58 09 09 50 75 74 |w_vbwait|).X..Put|
|000062a0| 53 74 72 28 56 42 29 3b | 0a 58 09 20 20 20 20 20 |Str(VB);|.X. |
|000062b0| 20 63 75 72 72 2d 3e 77 | 5f 76 62 77 61 69 74 20 | curr->w|_vbwait |
|000062c0| 3d 20 30 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 20 |= 0;.X. | }.X. |
|000062d0| 20 62 72 65 61 6b 3b 0a | 58 09 63 61 73 65 20 36 | break;.|X.case 6|
|000062e0| 3a 0a 58 09 20 20 69 66 | 20 28 28 63 75 72 72 2d |:.X. if| ((curr-|
|000062f0| 3e 77 5f 6f 72 69 67 69 | 6e 20 3d 20 69 29 20 21 |>w_origi|n = i) !|
|00006300| 3d 20 30 29 0a 58 09 20 | 20 20 20 7b 0a 58 09 20 |= 0).X. | {.X. |
|00006310| 20 20 20 20 20 63 75 72 | 72 2d 3e 77 5f 79 20 3d | cur|r->w_y =|
|00006320| 20 63 75 72 72 2d 3e 77 | 5f 74 6f 70 3b 0a 58 09 | curr->w|_top;.X.|
|00006330| 20 20 20 20 20 20 63 75 | 72 72 2d 3e 77 5f 78 20 | cu|rr->w_x |
|00006340| 3d 20 30 3b 0a 58 09 20 | 20 20 20 7d 0a 58 09 20 |= 0;.X. | }.X. |
|00006350| 20 65 6c 73 65 0a 58 09 | 20 20 20 20 63 75 72 72 | else.X.| curr|
|00006360| 2d 3e 77 5f 79 20 3d 20 | 63 75 72 72 2d 3e 77 5f |->w_y = |curr->w_|
|00006370| 78 20 3d 20 30 3b 0a 58 | 09 20 20 69 66 20 28 64 |x = 0;.X|. if (d|
|00006380| 69 73 70 6c 61 79 29 0a | 58 09 20 20 20 20 47 6f |isplay).|X. Go|
|00006390| 74 6f 50 6f 73 28 63 75 | 72 72 2d 3e 77 5f 78 2c |toPos(cu|rr->w_x,|
|000063a0| 20 63 75 72 72 2d 3e 77 | 5f 79 29 3b 0a 58 09 20 | curr->w|_y);.X. |
|000063b0| 20 62 72 65 61 6b 3b 0a | 58 09 63 61 73 65 20 37 | break;.|X.case 7|
|000063c0| 3a 0a 58 09 20 20 63 75 | 72 72 2d 3e 77 5f 77 72 |:.X. cu|rr->w_wr|
|000063d0| 61 70 20 3d 20 69 3b 0a | 58 09 20 20 62 72 65 61 |ap = i;.|X. brea|
|000063e0| 6b 3b 0a 58 09 63 61 73 | 65 20 33 35 3a 0a 58 09 |k;.X.cas|e 35:.X.|
|000063f0| 20 20 64 65 62 75 67 31 | 28 22 43 75 72 73 6f 72 | debug1|("Cursor|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.