home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume9 / xterm / part04 < prev    next >
SHell self-extracting ARchive  |  1987-04-20  |  60.4 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 Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail text default
99% file C source text default
98% file C source, ASCII text default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 30 39 69 30 35 |Subject:| v09i05|
|00000010| 37 3a 20 20 54 65 72 6d | 69 6e 61 6c 20 65 6d 75 |7: Term|inal emu|
|00000020| 6c 61 74 6f 72 20 66 6f | 72 20 58 20 77 69 6e 64 |lator fo|r X wind|
|00000030| 6f 77 20 73 79 73 74 65 | 6d 2c 20 50 61 72 74 30 |ow syste|m, Part0|
|00000040| 34 2f 30 37 0a 4e 65 77 | 73 67 72 6f 75 70 73 3a |4/07.New|sgroups:|
|00000050| 20 6d 6f 64 2e 73 6f 75 | 72 63 65 73 0a 41 70 70 | mod.sou|rces.App|
|00000060| 72 6f 76 65 64 3a 20 72 | 73 40 6d 69 72 72 6f 72 |roved: r|s@mirror|
|00000070| 2e 54 4d 43 2e 43 4f 4d | 0a 0a 53 75 62 6d 69 74 |.TMC.COM|..Submit|
|00000080| 74 65 64 20 62 79 3a 20 | 65 64 6d 6f 79 25 6f 70 |ted by: |edmoy%op|
|00000090| 61 6c 2e 42 65 72 6b 65 | 6c 65 79 2e 45 44 55 40 |al.Berke|ley.EDU@|
|000000a0| 62 65 72 6b 65 6c 65 79 | 2e 65 64 75 0a 4d 6f 64 |berkeley|.edu.Mod|
|000000b0| 2e 73 6f 75 72 63 65 73 | 3a 20 56 6f 6c 75 6d 65 |.sources|: Volume|
|000000c0| 20 39 2c 20 49 73 73 75 | 65 20 35 37 0a 41 72 63 | 9, Issu|e 57.Arc|
|000000d0| 68 69 76 65 2d 6e 61 6d | 65 3a 20 78 74 65 72 6d |hive-nam|e: xterm|
|000000e0| 36 2e 36 62 2f 50 61 72 | 74 30 34 0a 0a 23 21 20 |6.6b/Par|t04..#! |
|000000f0| 2f 62 69 6e 2f 73 68 0a | 23 20 54 68 69 73 20 69 |/bin/sh.|# This i|
|00000100| 73 20 61 20 73 68 65 6c | 6c 20 61 72 63 68 69 76 |s a shel|l archiv|
|00000110| 65 2c 20 6d 65 61 6e 69 | 6e 67 3a 0a 23 20 31 2e |e, meani|ng:.# 1.|
|00000120| 20 52 65 6d 6f 76 65 20 | 65 76 65 72 79 74 68 69 | Remove |everythi|
|00000130| 6e 67 20 61 62 6f 76 65 | 20 74 68 65 20 23 21 20 |ng above| the #! |
|00000140| 2f 62 69 6e 2f 73 68 20 | 6c 69 6e 65 2e 0a 23 20 |/bin/sh |line..# |
|00000150| 32 2e 20 53 61 76 65 20 | 74 68 65 20 72 65 73 75 |2. Save |the resu|
|00000160| 6c 74 69 6e 67 20 74 65 | 78 74 20 69 6e 20 61 20 |lting te|xt in a |
|00000170| 66 69 6c 65 2e 0a 23 20 | 33 2e 20 45 78 65 63 75 |file..# |3. Execu|
|00000180| 74 65 20 74 68 65 20 66 | 69 6c 65 20 77 69 74 68 |te the f|ile with|
|00000190| 20 2f 62 69 6e 2f 73 68 | 20 28 6e 6f 74 20 63 73 | /bin/sh| (not cs|
|000001a0| 68 29 20 74 6f 20 63 72 | 65 61 74 65 20 74 68 65 |h) to cr|eate the|
|000001b0| 20 66 69 6c 65 73 3a 0a | 23 09 63 68 61 72 70 72 | files:.|#.charpr|
|000001c0| 6f 63 2e 63 20 64 61 74 | 61 2e 63 0a 69 66 20 74 |oc.c dat|a.c.if t|
|000001d0| 65 73 74 20 2d 66 20 63 | 68 61 72 70 72 6f 63 2e |est -f c|harproc.|
|000001e0| 63 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |c.then..|echo sha|
|000001f0| 72 3a 20 77 69 6c 6c 20 | 6e 6f 74 20 6f 76 65 72 |r: will |not over|
|00000200| 77 72 69 74 65 20 65 78 | 69 73 74 69 6e 67 20 66 |write ex|isting f|
|00000210| 69 6c 65 20 22 27 63 68 | 61 72 70 72 6f 63 2e 63 |ile "'ch|arproc.c|
|00000220| 27 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 27 78 20 |'".else.|echo 'x |
|00000230| 2d 20 63 68 61 72 70 72 | 6f 63 2e 63 27 0a 63 61 |- charpr|oc.c'.ca|
|00000240| 74 20 3c 3c 20 5c 52 41 | 5a 5a 4c 45 21 44 41 5a |t << \RA|ZZLE!DAZ|
|00000250| 5a 4c 45 20 3e 20 63 68 | 61 72 70 72 6f 63 2e 63 |ZLE > ch|arproc.c|
|00000260| 0a 2f 2a 0a 20 2a 09 24 | 53 6f 75 72 63 65 3a 20 |./*. *.$|Source: |
|00000270| 2f 75 31 2f 58 2f 78 74 | 65 72 6d 2f 52 43 53 2f |/u1/X/xt|erm/RCS/|
|00000280| 63 68 61 72 70 72 6f 63 | 2e 63 2c 76 20 24 0a 20 |charproc|.c,v $. |
|00000290| 2a 09 24 48 65 61 64 65 | 72 3a 20 63 68 61 72 70 |*.$Heade|r: charp|
|000002a0| 72 6f 63 2e 63 2c 76 20 | 31 30 2e 31 30 32 20 38 |roc.c,v |10.102 8|
|000002b0| 36 2f 31 32 2f 30 32 20 | 31 31 3a 33 37 3a 32 35 |6/12/02 |11:37:25|
|000002c0| 20 73 77 69 63 6b 20 45 | 78 70 20 24 0a 20 2a 2f | swick E|xp $. */|
|000002d0| 0a 0a 23 69 6e 63 6c 75 | 64 65 20 3c 58 2f 6d 69 |..#inclu|de <X/mi|
|000002e0| 74 2d 63 6f 70 79 72 69 | 67 68 74 2e 68 3e 0a 0a |t-copyri|ght.h>..|
|000002f0| 2f 2a 20 43 6f 70 79 72 | 69 67 68 74 20 28 63 29 |/* Copyr|ight (c)|
|00000300| 20 31 39 38 35 20 4d 61 | 73 73 61 63 68 75 73 65 | 1985 Ma|ssachuse|
|00000310| 74 74 73 20 49 6e 73 74 | 69 74 75 74 65 20 6f 66 |tts Inst|itute of|
|00000320| 20 54 65 63 68 6e 6f 6c | 6f 67 79 09 09 2a 2f 0a | Technol|ogy..*/.|
|00000330| 2f 2a 20 43 6f 70 79 72 | 69 67 68 74 20 28 63 29 |/* Copyr|ight (c)|
|00000340| 20 31 39 38 35 09 44 69 | 67 69 74 61 6c 20 45 71 | 1985.Di|gital Eq|
|00000350| 75 69 70 6d 65 6e 74 20 | 43 6f 72 70 6f 72 61 74 |uipment |Corporat|
|00000360| 69 6f 6e 09 09 09 2a 2f | 0a 0a 2f 2a 20 63 68 61 |ion...*/|../* cha|
|00000370| 72 70 72 6f 63 2e 63 20 | 2a 2f 0a 0a 23 69 6e 63 |rproc.c |*/..#inc|
|00000380| 6c 75 64 65 20 3c 73 74 | 64 69 6f 2e 68 3e 0a 23 |lude <st|dio.h>.#|
|00000390| 69 6e 63 6c 75 64 65 20 | 3c 73 67 74 74 79 2e 68 |include |<sgtty.h|
|000003a0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 63 74 79 70 |>.#inclu|de <ctyp|
|000003b0| 65 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 65 |e.h>.#in|clude <e|
|000003c0| 72 72 6e 6f 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |rrno.h>.|#include|
|000003d0| 20 3c 73 65 74 6a 6d 70 | 2e 68 3e 0a 23 69 6e 63 | <setjmp|.h>.#inc|
|000003e0| 6c 75 64 65 20 3c 73 79 | 73 2f 69 6f 63 74 6c 2e |lude <sy|s/ioctl.|
|000003f0| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 3c 73 79 73 |h>.#incl|ude <sys|
|00000400| 2f 74 69 6d 65 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |/time.h>|.#includ|
|00000410| 65 20 3c 58 2f 58 6c 69 | 62 2e 68 3e 0a 23 69 6e |e <X/Xli|b.h>.#in|
|00000420| 63 6c 75 64 65 20 22 73 | 63 72 6f 6c 6c 62 61 72 |clude "s|crollbar|
|00000430| 2e 68 22 0a 23 69 6e 63 | 6c 75 64 65 20 22 70 74 |.h".#inc|lude "pt|
|00000440| 79 78 2e 68 22 0a 23 69 | 6e 63 6c 75 64 65 20 22 |yx.h".#i|nclude "|
|00000450| 56 54 70 61 72 73 65 2e | 68 22 0a 23 69 6e 63 6c |VTparse.|h".#incl|
|00000460| 75 64 65 20 22 64 61 74 | 61 2e 68 22 0a 23 69 6e |ude "dat|a.h".#in|
|00000470| 63 6c 75 64 65 20 22 65 | 72 72 6f 72 2e 68 22 0a |clude "e|rror.h".|
|00000480| 23 69 66 64 65 66 20 4d | 4f 44 45 4d 45 4e 55 0a |#ifdef M|ODEMENU.|
|00000490| 23 69 6e 63 6c 75 64 65 | 20 22 6d 65 6e 75 2e 68 |#include| "menu.h|
|000004a0| 22 0a 23 65 6e 64 69 66 | 20 4d 4f 44 45 4d 45 4e |".#endif| MODEMEN|
|000004b0| 55 0a 0a 23 64 65 66 69 | 6e 65 09 44 45 46 41 55 |U..#defi|ne.DEFAU|
|000004c0| 4c 54 09 09 2d 31 0a 23 | 64 65 66 69 6e 65 09 54 |LT..-1.#|define.T|
|000004d0| 45 58 54 5f 42 55 46 5f | 53 49 5a 45 09 32 35 36 |EXT_BUF_|SIZE.256|
|000004e0| 0a 0a 23 64 65 66 69 6e | 65 09 69 6e 70 75 74 28 |..#defin|e.input(|
|000004f0| 29 09 09 28 62 63 6e 74 | 2d 2d 20 3e 20 30 20 3f |)..(bcnt|-- > 0 ?|
|00000500| 20 2a 62 70 74 72 2b 2b | 20 3a 20 69 6e 5f 70 75 | *bptr++| : in_pu|
|00000510| 74 28 29 29 0a 0a 23 69 | 66 6e 64 65 66 20 6c 69 |t())..#i|fndef li|
|00000520| 6e 74 0a 73 74 61 74 69 | 63 20 63 68 61 72 20 73 |nt.stati|c char s|
|00000530| 63 63 73 5f 69 64 5b 5d | 20 3d 20 22 40 28 23 29 |ccs_id[]| = "@(#)|
|00000540| 63 68 61 72 70 72 6f 63 | 2e 63 5c 74 58 31 30 2f |charproc|.c\tX10/|
|00000550| 36 2e 36 42 5c 74 31 2f | 39 2f 38 37 22 3b 0a 23 |6.6B\t1/|9/87";.#|
|00000560| 65 6e 64 69 66 20 6c 69 | 6e 74 0a 0a 73 74 61 74 |endif li|nt..stat|
|00000570| 69 63 20 6c 6f 6e 67 20 | 61 72 67 3b 0a 73 74 61 |ic long |arg;.sta|
|00000580| 74 69 63 20 69 6e 74 20 | 63 68 3b 0a 73 74 61 74 |tic int |ch;.stat|
|00000590| 69 63 20 69 6e 74 20 6e | 70 61 72 61 6d 3b 0a 73 |ic int n|param;.s|
|000005a0| 74 61 74 69 63 20 41 4e | 53 49 20 72 65 70 6c 79 |tatic AN|SI reply|
|000005b0| 3b 0a 73 74 61 74 69 63 | 20 69 6e 74 20 70 61 72 |;.static| int par|
|000005c0| 61 6d 5b 4e 50 41 52 41 | 4d 5d 3b 0a 0a 73 74 61 |am[NPARA|M];..sta|
|000005d0| 74 69 63 20 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e |tic unsi|gned lon|
|000005e0| 67 20 63 74 6f 74 61 6c | 3b 0a 73 74 61 74 69 63 |g ctotal|;.static|
|000005f0| 20 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 20 6e | unsigne|d long n|
|00000600| 74 6f 74 61 6c 3b 0a 73 | 74 61 74 69 63 20 6a 6d |total;.s|tatic jm|
|00000610| 70 5f 62 75 66 20 76 74 | 6a 6d 70 62 75 66 3b 0a |p_buf vt|jmpbuf;.|
|00000620| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 67 72 6f 75 |.extern |int grou|
|00000630| 6e 64 74 61 62 6c 65 5b | 5d 3b 0a 65 78 74 65 72 |ndtable[|];.exter|
|00000640| 6e 20 69 6e 74 20 63 73 | 69 74 61 62 6c 65 5b 5d |n int cs|itable[]|
|00000650| 3b 0a 65 78 74 65 72 6e | 20 69 6e 74 20 64 65 63 |;.extern| int dec|
|00000660| 74 61 62 6c 65 5b 5d 3b | 0a 65 78 74 65 72 6e 20 |table[];|.extern |
|00000670| 69 6e 74 20 65 69 67 74 | 61 62 6c 65 5b 5d 3b 0a |int eigt|able[];.|
|00000680| 65 78 74 65 72 6e 20 69 | 6e 74 20 65 73 63 74 61 |extern i|nt escta|
|00000690| 62 6c 65 5b 5d 3b 0a 65 | 78 74 65 72 6e 20 69 6e |ble[];.e|xtern in|
|000006a0| 74 20 69 65 73 74 61 62 | 6c 65 5b 5d 3b 0a 65 78 |t iestab|le[];.ex|
|000006b0| 74 65 72 6e 20 69 6e 74 | 20 69 67 6e 74 61 62 6c |tern int| igntabl|
|000006c0| 65 5b 5d 3b 0a 65 78 74 | 65 72 6e 20 69 6e 74 20 |e[];.ext|ern int |
|000006d0| 73 63 72 74 61 62 6c 65 | 5b 5d 3b 0a 65 78 74 65 |scrtable|[];.exte|
|000006e0| 72 6e 20 69 6e 74 20 73 | 63 73 74 61 62 6c 65 5b |rn int s|cstable[|
|000006f0| 5d 3b 0a 0a 56 54 70 61 | 72 73 65 28 29 0a 7b 0a |];..VTpa|rse().{.|
|00000700| 09 72 65 67 69 73 74 65 | 72 20 53 63 72 65 65 6e |.registe|r Screen|
|00000710| 20 2a 73 63 72 65 65 6e | 20 3d 20 26 74 65 72 6d | *screen| = &term|
|00000720| 2e 73 63 72 65 65 6e 3b | 0a 09 72 65 67 69 73 74 |.screen;|..regist|
|00000730| 65 72 20 69 6e 74 20 2a | 70 61 72 73 65 73 74 61 |er int *|parsesta|
|00000740| 74 65 20 3d 20 67 72 6f | 75 6e 64 74 61 62 6c 65 |te = gro|undtable|
|00000750| 3b 0a 09 72 65 67 69 73 | 74 65 72 20 69 6e 74 20 |;..regis|ter int |
|00000760| 63 3b 0a 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |c;..regi|ster cha|
|00000770| 72 20 2a 63 70 3b 0a 09 | 72 65 67 69 73 74 65 72 |r *cp;..|register|
|00000780| 20 69 6e 74 20 72 6f 77 | 2c 20 63 6f 6c 2c 20 74 | int row|, col, t|
|00000790| 6f 70 2c 20 62 6f 74 2c | 20 73 63 73 74 79 70 65 |op, bot,| scstype|
|000007a0| 3b 0a 09 57 69 6e 64 6f | 77 49 6e 66 6f 20 77 69 |;..Windo|wInfo wi|
|000007b0| 6e 69 6e 66 6f 3b 0a 09 | 65 78 74 65 72 6e 20 69 |ninfo;..|extern i|
|000007c0| 6e 74 20 62 69 74 73 65 | 74 28 29 2c 20 62 69 74 |nt bitse|t(), bit|
|000007d0| 63 6c 72 28 29 2c 20 66 | 69 6e 70 75 74 28 29 3b |clr(), f|input();|
|000007e0| 0a 0a 09 69 66 28 73 65 | 74 6a 6d 70 28 76 74 6a |...if(se|tjmp(vtj|
|000007f0| 6d 70 62 75 66 29 29 0a | 09 09 70 61 72 73 65 73 |mpbuf)).|..parses|
|00000800| 74 61 74 65 20 3d 20 67 | 72 6f 75 6e 64 74 61 62 |tate = g|roundtab|
|00000810| 6c 65 3b 0a 09 66 6f 72 | 28 20 3b 20 3b 20 29 0a |le;..for|( ; ; ).|
|00000820| 09 09 73 77 69 74 63 68 | 28 70 61 72 73 65 73 74 |..switch|(parsest|
|00000830| 61 74 65 5b 63 20 3d 20 | 69 6e 70 75 74 28 29 5d |ate[c = |input()]|
|00000840| 29 20 7b 0a 09 09 20 63 | 61 73 65 20 43 41 53 45 |) {... c|ase CASE|
|00000850| 5f 47 52 4f 55 4e 44 5f | 53 54 41 54 45 3a 0a 09 |_GROUND_|STATE:..|
|00000860| 09 09 2f 2a 20 65 78 69 | 74 20 69 67 6e 6f 72 65 |../* exi|t ignore|
|00000870| 20 6d 6f 64 65 20 2a 2f | 0a 09 09 09 70 61 72 73 | mode */|....pars|
|00000880| 65 73 74 61 74 65 20 3d | 20 67 72 6f 75 6e 64 74 |estate =| groundt|
|00000890| 61 62 6c 65 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |able;...|.break;.|
|000008a0| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 49 47 |... case| CASE_IG|
|000008b0| 4e 4f 52 45 5f 53 54 41 | 54 45 3a 0a 09 09 09 2f |NORE_STA|TE:..../|
|000008c0| 2a 20 49 65 73 3a 20 69 | 67 6e 6f 72 65 20 61 6e |* Ies: i|gnore an|
|000008d0| 79 74 68 69 6e 67 20 65 | 6c 73 65 20 2a 2f 0a 09 |ything e|lse */..|
|000008e0| 09 09 70 61 72 73 65 73 | 74 61 74 65 20 3d 20 69 |..parses|tate = i|
|000008f0| 67 6e 74 61 62 6c 65 3b | 0a 09 09 09 62 72 65 61 |gntable;|....brea|
|00000900| 6b 3b 0a 0a 09 09 20 63 | 61 73 65 20 43 41 53 45 |k;.... c|ase CASE|
|00000910| 5f 49 47 4e 4f 52 45 5f | 45 53 43 3a 0a 09 09 09 |_IGNORE_|ESC:....|
|00000920| 2f 2a 20 49 67 6e 3a 20 | 65 73 63 61 70 65 20 2a |/* Ign: |escape *|
|00000930| 2f 0a 09 09 09 70 61 72 | 73 65 73 74 61 74 65 20 |/....par|sestate |
|00000940| 3d 20 69 65 73 74 61 62 | 6c 65 3b 0a 09 09 09 62 |= iestab|le;....b|
|00000950| 72 65 61 6b 3b 0a 0a 09 | 09 20 63 61 73 65 20 43 |reak;...|. case C|
|00000960| 41 53 45 5f 49 47 4e 4f | 52 45 3a 0a 09 09 09 2f |ASE_IGNO|RE:..../|
|00000970| 2a 20 49 67 6e 6f 72 65 | 20 63 68 61 72 61 63 74 |* Ignore| charact|
|00000980| 65 72 20 2a 2f 0a 09 09 | 09 62 72 65 61 6b 3b 0a |er */...|.break;.|
|00000990| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 42 45 |... case| CASE_BE|
|000009a0| 4c 4c 3a 0a 09 09 09 2f | 2a 20 62 65 6c 6c 20 2a |LL:..../|* bell *|
|000009b0| 2f 0a 09 09 09 42 65 6c | 6c 28 29 3b 0a 09 09 09 |/....Bel|l();....|
|000009c0| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|000009d0| 43 41 53 45 5f 42 53 3a | 0a 09 09 09 2f 2a 20 62 |CASE_BS:|..../* b|
|000009e0| 61 63 6b 73 70 61 63 65 | 20 2a 2f 0a 09 09 09 43 |ackspace| */....C|
|000009f0| 75 72 73 6f 72 42 61 63 | 6b 28 73 63 72 65 65 6e |ursorBac|k(screen|
|00000a00| 2c 20 31 29 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |, 1);...|.break;.|
|00000a10| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 43 52 |... case| CASE_CR|
|00000a20| 3a 0a 09 09 09 2f 2a 20 | 63 61 72 72 69 61 67 65 |:..../* |carriage|
|00000a30| 20 72 65 74 75 72 6e 20 | 2a 2f 0a 09 09 09 43 61 | return |*/....Ca|
|00000a40| 72 72 69 61 67 65 52 65 | 74 75 72 6e 28 73 63 72 |rriageRe|turn(scr|
|00000a50| 65 65 6e 29 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |een);...|.break;.|
|00000a60| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 45 53 |... case| CASE_ES|
|00000a70| 43 3a 0a 09 09 09 2f 2a | 20 65 73 63 61 70 65 20 |C:..../*| escape |
|00000a80| 2a 2f 0a 09 09 09 70 61 | 72 73 65 73 74 61 74 65 |*/....pa|rsestate|
|00000a90| 20 3d 20 65 73 63 74 61 | 62 6c 65 3b 0a 09 09 09 | = escta|ble;....|
|00000aa0| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|00000ab0| 43 41 53 45 5f 56 4d 4f | 54 3a 0a 09 09 09 2f 2a |CASE_VMO|T:..../*|
|00000ac0| 0a 09 09 09 20 2a 20 66 | 6f 72 6d 20 66 65 65 64 |.... * f|orm feed|
|00000ad0| 2c 20 6c 69 6e 65 20 66 | 65 65 64 2c 20 76 65 72 |, line f|eed, ver|
|00000ae0| 74 69 63 61 6c 20 74 61 | 62 2c 20 62 75 74 20 6e |tical ta|b, but n|
|00000af0| 6f 74 20 69 6e 0a 09 09 | 09 20 2a 20 73 74 61 74 |ot in...|. * stat|
|00000b00| 75 73 20 6c 69 6e 65 0a | 09 09 09 20 2a 2f 0a 09 |us line.|... */..|
|00000b10| 09 09 69 66 28 21 73 63 | 72 65 65 6e 2d 3e 69 6e |..if(!sc|reen->in|
|00000b20| 73 74 61 74 75 73 29 0a | 09 09 09 09 49 6e 64 65 |status).|....Inde|
|00000b30| 78 28 73 63 72 65 65 6e | 2c 20 31 29 3b 0a 09 09 |x(screen|, 1);...|
|00000b40| 09 69 66 20 28 74 65 72 | 6d 2e 66 6c 61 67 73 20 |.if (ter|m.flags |
|00000b50| 26 20 4c 49 4e 45 46 45 | 45 44 29 0a 09 09 09 09 |& LINEFE|ED).....|
|00000b60| 43 61 72 72 69 61 67 65 | 52 65 74 75 72 6e 28 73 |Carriage|Return(s|
|00000b70| 63 72 65 65 6e 29 3b 0a | 09 09 09 69 66 28 73 63 |creen);.|...if(sc|
|00000b80| 72 65 65 6e 2d 3e 64 69 | 73 70 6c 61 79 2d 3e 71 |reen->di|splay->q|
|00000b90| 6c 65 6e 20 3e 20 30 20 | 7c 7c 0a 09 09 09 20 28 |len > 0 |||.... (|
|00000ba0| 69 6f 63 74 6c 28 73 63 | 72 65 65 6e 2d 3e 64 69 |ioctl(sc|reen->di|
|00000bb0| 73 70 6c 61 79 2d 3e 66 | 64 2c 20 46 49 4f 4e 52 |splay->f|d, FIONR|
|00000bc0| 45 41 44 2c 20 26 61 72 | 67 29 2c 20 61 72 67 29 |EAD, &ar|g), arg)|
|00000bd0| 20 3e 20 30 29 0a 09 09 | 09 09 78 65 76 65 6e 74 | > 0)...|..xevent|
|00000be0| 73 28 29 3b 0a 09 09 09 | 62 72 65 61 6b 3b 0a 0a |s();....|break;..|
|00000bf0| 09 09 20 63 61 73 65 20 | 43 41 53 45 5f 54 41 42 |.. case |CASE_TAB|
|00000c00| 3a 0a 09 09 09 2f 2a 20 | 74 61 62 20 2a 2f 0a 09 |:..../* |tab */..|
|00000c10| 09 09 73 63 72 65 65 6e | 2d 3e 63 75 72 5f 63 6f |..screen|->cur_co|
|00000c20| 6c 20 3d 20 54 61 62 4e | 65 78 74 28 74 65 72 6d |l = TabN|ext(term|
|00000c30| 2e 74 61 62 73 2c 20 73 | 63 72 65 65 6e 2d 3e 63 |.tabs, s|creen->c|
|00000c40| 75 72 5f 63 6f 6c 29 3b | 0a 09 09 09 69 66 20 28 |ur_col);|....if (|
|00000c50| 73 63 72 65 65 6e 2d 3e | 63 75 72 5f 63 6f 6c 20 |screen->|cur_col |
|00000c60| 3e 20 73 63 72 65 65 6e | 2d 3e 6d 61 78 5f 63 6f |> screen|->max_co|
|00000c70| 6c 29 0a 09 09 09 09 73 | 63 72 65 65 6e 2d 3e 63 |l).....s|creen->c|
|00000c80| 75 72 5f 63 6f 6c 20 3d | 20 73 63 72 65 65 6e 2d |ur_col =| screen-|
|00000c90| 3e 6d 61 78 5f 63 6f 6c | 3b 0a 09 09 09 62 72 65 |>max_col|;....bre|
|00000ca0| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 43 41 53 |ak;.... |case CAS|
|00000cb0| 45 5f 53 49 3a 0a 09 09 | 09 73 63 72 65 65 6e 2d |E_SI:...|.screen-|
|00000cc0| 3e 63 75 72 67 6c 20 3d | 20 30 3b 0a 09 09 09 62 |>curgl =| 0;....b|
|00000cd0| 72 65 61 6b 3b 0a 0a 09 | 09 20 63 61 73 65 20 43 |reak;...|. case C|
|00000ce0| 41 53 45 5f 53 4f 3a 0a | 09 09 09 73 63 72 65 65 |ASE_SO:.|...scree|
|00000cf0| 6e 2d 3e 63 75 72 67 6c | 20 3d 20 31 3b 0a 09 09 |n->curgl| = 1;...|
|00000d00| 09 62 72 65 61 6b 3b 0a | 0a 09 09 20 63 61 73 65 |.break;.|... case|
|00000d10| 20 43 41 53 45 5f 53 43 | 52 5f 53 54 41 54 45 3a | CASE_SC|R_STATE:|
|00000d20| 0a 09 09 09 2f 2a 20 65 | 6e 74 65 72 20 73 63 72 |..../* e|nter scr|
|00000d30| 20 73 74 61 74 65 20 2a | 2f 0a 09 09 09 70 61 72 | state *|/....par|
|00000d40| 73 65 73 74 61 74 65 20 | 3d 20 73 63 72 74 61 62 |sestate |= scrtab|
|00000d50| 6c 65 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |le;....b|reak;...|
|00000d60| 09 20 63 61 73 65 20 43 | 41 53 45 5f 53 43 53 30 |. case C|ASE_SCS0|
|00000d70| 5f 53 54 41 54 45 3a 0a | 09 09 09 2f 2a 20 65 6e |_STATE:.|.../* en|
|00000d80| 74 65 72 20 73 63 73 20 | 73 74 61 74 65 20 30 20 |ter scs |state 0 |
|00000d90| 2a 2f 0a 09 09 09 73 63 | 73 74 79 70 65 20 3d 20 |*/....sc|stype = |
|00000da0| 30 3b 0a 09 09 09 70 61 | 72 73 65 73 74 61 74 65 |0;....pa|rsestate|
|00000db0| 20 3d 20 73 63 73 74 61 | 62 6c 65 3b 0a 09 09 09 | = scsta|ble;....|
|00000dc0| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|00000dd0| 43 41 53 45 5f 53 43 53 | 31 5f 53 54 41 54 45 3a |CASE_SCS|1_STATE:|
|00000de0| 0a 09 09 09 2f 2a 20 65 | 6e 74 65 72 20 73 63 73 |..../* e|nter scs|
|00000df0| 20 73 74 61 74 65 20 31 | 20 2a 2f 0a 09 09 09 73 | state 1| */....s|
|00000e00| 63 73 74 79 70 65 20 3d | 20 31 3b 0a 09 09 09 70 |cstype =| 1;....p|
|00000e10| 61 72 73 65 73 74 61 74 | 65 20 3d 20 73 63 73 74 |arsestat|e = scst|
|00000e20| 61 62 6c 65 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |able;...|.break;.|
|00000e30| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 53 43 |... case| CASE_SC|
|00000e40| 53 32 5f 53 54 41 54 45 | 3a 0a 09 09 09 2f 2a 20 |S2_STATE|:..../* |
|00000e50| 65 6e 74 65 72 20 73 63 | 73 20 73 74 61 74 65 20 |enter sc|s state |
|00000e60| 32 20 2a 2f 0a 09 09 09 | 73 63 73 74 79 70 65 20 |2 */....|scstype |
|00000e70| 3d 20 32 3b 0a 09 09 09 | 70 61 72 73 65 73 74 61 |= 2;....|parsesta|
|00000e80| 74 65 20 3d 20 73 63 73 | 74 61 62 6c 65 3b 0a 09 |te = scs|table;..|
|00000e90| 09 09 62 72 65 61 6b 3b | 0a 0a 09 09 20 63 61 73 |..break;|.... cas|
|00000ea0| 65 20 43 41 53 45 5f 53 | 43 53 33 5f 53 54 41 54 |e CASE_S|CS3_STAT|
|00000eb0| 45 3a 0a 09 09 09 2f 2a | 20 65 6e 74 65 72 20 73 |E:..../*| enter s|
|00000ec0| 63 73 20 73 74 61 74 65 | 20 33 20 2a 2f 0a 09 09 |cs state| 3 */...|
|00000ed0| 09 73 63 73 74 79 70 65 | 20 3d 20 33 3b 0a 09 09 |.scstype| = 3;...|
|00000ee0| 09 70 61 72 73 65 73 74 | 61 74 65 20 3d 20 73 63 |.parsest|ate = sc|
|00000ef0| 73 74 61 62 6c 65 3b 0a | 09 09 09 62 72 65 61 6b |stable;.|...break|
|00000f00| 3b 0a 0a 09 09 20 63 61 | 73 65 20 43 41 53 45 5f |;.... ca|se CASE_|
|00000f10| 45 53 43 5f 49 47 4e 4f | 52 45 3a 0a 09 09 09 2f |ESC_IGNO|RE:..../|
|00000f20| 2a 20 75 6e 6b 6e 6f 77 | 6e 20 65 73 63 61 70 65 |* unknow|n escape|
|00000f30| 20 73 65 71 75 65 6e 63 | 65 20 2a 2f 0a 09 09 09 | sequenc|e */....|
|00000f40| 70 61 72 73 65 73 74 61 | 74 65 20 3d 20 65 69 67 |parsesta|te = eig|
|00000f50| 74 61 62 6c 65 3b 0a 09 | 09 09 62 72 65 61 6b 3b |table;..|..break;|
|00000f60| 0a 0a 09 09 20 63 61 73 | 65 20 43 41 53 45 5f 45 |.... cas|e CASE_E|
|00000f70| 53 43 5f 44 49 47 49 54 | 3a 0a 09 09 09 2f 2a 20 |SC_DIGIT|:..../* |
|00000f80| 64 69 67 69 74 20 69 6e | 20 63 73 69 20 6f 72 20 |digit in| csi or |
|00000f90| 64 65 63 20 6d 6f 64 65 | 20 2a 2f 0a 09 09 09 69 |dec mode| */....i|
|00000fa0| 66 28 28 72 6f 77 20 3d | 20 70 61 72 61 6d 5b 6e |f((row =| param[n|
|00000fb0| 70 61 72 61 6d 20 2d 20 | 31 5d 29 20 3d 3d 20 44 |param - |1]) == D|
|00000fc0| 45 46 41 55 4c 54 29 0a | 09 09 09 09 72 6f 77 20 |EFAULT).|....row |
|00000fd0| 3d 20 30 3b 0a 09 09 09 | 70 61 72 61 6d 5b 6e 70 |= 0;....|param[np|
|00000fe0| 61 72 61 6d 20 2d 20 31 | 5d 20 3d 20 31 30 20 2a |aram - 1|] = 10 *|
|00000ff0| 20 72 6f 77 20 2b 20 28 | 63 20 2d 20 27 30 27 29 | row + (|c - '0')|
|00001000| 3b 0a 09 09 09 62 72 65 | 61 6b 3b 0a 0a 09 09 20 |;....bre|ak;.... |
|00001010| 63 61 73 65 20 43 41 53 | 45 5f 45 53 43 5f 53 45 |case CAS|E_ESC_SE|
|00001020| 4d 49 3a 0a 09 09 09 2f | 2a 20 73 65 6d 69 63 6f |MI:..../|* semico|
|00001030| 6c 6f 6e 20 69 6e 20 63 | 73 69 20 6f 72 20 64 65 |lon in c|si or de|
|00001040| 63 20 6d 6f 64 65 20 2a | 2f 0a 09 09 09 70 61 72 |c mode *|/....par|
|00001050| 61 6d 5b 6e 70 61 72 61 | 6d 2b 2b 5d 20 3d 20 44 |am[npara|m++] = D|
|00001060| 45 46 41 55 4c 54 3b 0a | 09 09 09 62 72 65 61 6b |EFAULT;.|...break|
|00001070| 3b 0a 0a 09 09 20 63 61 | 73 65 20 43 41 53 45 5f |;.... ca|se CASE_|
|00001080| 44 45 43 5f 53 54 41 54 | 45 3a 0a 09 09 09 2f 2a |DEC_STAT|E:..../*|
|00001090| 20 65 6e 74 65 72 20 64 | 65 63 20 6d 6f 64 65 20 | enter d|ec mode |
|000010a0| 2a 2f 0a 09 09 09 70 61 | 72 73 65 73 74 61 74 65 |*/....pa|rsestate|
|000010b0| 20 3d 20 64 65 63 74 61 | 62 6c 65 3b 0a 09 09 09 | = decta|ble;....|
|000010c0| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|000010d0| 43 41 53 45 5f 49 43 48 | 3a 0a 09 09 09 2f 2a 20 |CASE_ICH|:..../* |
|000010e0| 49 43 48 20 2a 2f 0a 09 | 09 09 69 66 28 28 63 20 |ICH */..|..if((c |
|000010f0| 3d 20 70 61 72 61 6d 5b | 30 5d 29 20 3c 20 31 29 |= param[|0]) < 1)|
|00001100| 0a 09 09 09 09 63 20 3d | 20 31 3b 0a 09 09 09 49 |.....c =| 1;....I|
|00001110| 6e 73 65 72 74 43 68 61 | 72 28 73 63 72 65 65 6e |nsertCha|r(screen|
|00001120| 2c 20 63 29 3b 0a 09 09 | 09 70 61 72 73 65 73 74 |, c);...|.parsest|
|00001130| 61 74 65 20 3d 20 67 72 | 6f 75 6e 64 74 61 62 6c |ate = gr|oundtabl|
|00001140| 65 3b 0a 09 09 09 62 72 | 65 61 6b 3b 0a 0a 09 09 |e;....br|eak;....|
|00001150| 20 63 61 73 65 20 43 41 | 53 45 5f 43 55 55 3a 0a | case CA|SE_CUU:.|
|00001160| 09 09 09 2f 2a 20 43 55 | 55 20 2a 2f 0a 09 09 09 |.../* CU|U */....|
|00001170| 2f 2a 20 6f 6e 6c 79 20 | 69 66 20 6e 6f 74 20 69 |/* only |if not i|
|00001180| 6e 20 73 74 61 74 75 73 | 20 6c 69 6e 65 20 2a 2f |n status| line */|
|00001190| 0a 09 09 09 69 66 28 21 | 73 63 72 65 65 6e 2d 3e |....if(!|screen->|
|000011a0| 69 6e 73 74 61 74 75 73 | 29 20 7b 0a 09 09 09 09 |instatus|) {.....|
|000011b0| 69 66 28 28 63 20 3d 20 | 70 61 72 61 6d 5b 30 5d |if((c = |param[0]|
|000011c0| 29 20 3c 20 31 29 0a 09 | 09 09 09 09 63 20 3d 20 |) < 1)..|....c = |
|000011d0| 31 3b 0a 09 09 09 09 43 | 75 72 73 6f 72 55 70 28 |1;.....C|ursorUp(|
|000011e0| 73 63 72 65 65 6e 2c 20 | 63 29 3b 0a 09 09 09 7d |screen, |c);....}|
|000011f0| 0a 09 09 09 70 61 72 73 | 65 73 74 61 74 65 20 3d |....pars|estate =|
|00001200| 20 67 72 6f 75 6e 64 74 | 61 62 6c 65 3b 0a 09 09 | groundt|able;...|
|00001210| 09 62 72 65 61 6b 3b 0a | 0a 09 09 20 63 61 73 65 |.break;.|... case|
|00001220| 20 43 41 53 45 5f 43 55 | 44 3a 0a 09 09 09 2f 2a | CASE_CU|D:..../*|
|00001230| 20 43 55 44 20 2a 2f 0a | 09 09 09 2f 2a 20 6f 6e | CUD */.|.../* on|
|00001240| 6c 79 20 69 66 20 6e 6f | 74 20 69 6e 20 73 74 61 |ly if no|t in sta|
|00001250| 74 75 73 20 6c 69 6e 65 | 20 2a 2f 0a 09 09 09 69 |tus line| */....i|
|00001260| 66 28 21 73 63 72 65 65 | 6e 2d 3e 69 6e 73 74 61 |f(!scree|n->insta|
|00001270| 74 75 73 29 20 7b 0a 09 | 09 09 09 69 66 28 28 63 |tus) {..|...if((c|
|00001280| 20 3d 20 70 61 72 61 6d | 5b 30 5d 29 20 3c 20 31 | = param|[0]) < 1|
|00001290| 29 0a 09 09 09 09 09 63 | 20 3d 20 31 3b 0a 09 09 |)......c| = 1;...|
|000012a0| 09 09 43 75 72 73 6f 72 | 44 6f 77 6e 28 73 63 72 |..Cursor|Down(scr|
|000012b0| 65 65 6e 2c 20 63 29 3b | 0a 09 09 09 7d 0a 09 09 |een, c);|....}...|
|000012c0| 09 70 61 72 73 65 73 74 | 61 74 65 20 3d 20 67 72 |.parsest|ate = gr|
|000012d0| 6f 75 6e 64 74 61 62 6c | 65 3b 0a 09 09 09 62 72 |oundtabl|e;....br|
|000012e0| 65 61 6b 3b 0a 0a 09 09 | 20 63 61 73 65 20 43 41 |eak;....| case CA|
|000012f0| 53 45 5f 43 55 46 3a 0a | 09 09 09 2f 2a 20 43 55 |SE_CUF:.|.../* CU|
|00001300| 46 20 2a 2f 0a 09 09 09 | 69 66 28 28 63 20 3d 20 |F */....|if((c = |
|00001310| 70 61 72 61 6d 5b 30 5d | 29 20 3c 20 31 29 0a 09 |param[0]|) < 1)..|
|00001320| 09 09 09 63 20 3d 20 31 | 3b 0a 09 09 09 43 75 72 |...c = 1|;....Cur|
|00001330| 73 6f 72 46 6f 72 77 61 | 72 64 28 73 63 72 65 65 |sorForwa|rd(scree|
|00001340| 6e 2c 20 63 29 3b 0a 09 | 09 09 70 61 72 73 65 73 |n, c);..|..parses|
|00001350| 74 61 74 65 20 3d 20 67 | 72 6f 75 6e 64 74 61 62 |tate = g|roundtab|
|00001360| 6c 65 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |le;....b|reak;...|
|00001370| 09 20 63 61 73 65 20 43 | 41 53 45 5f 43 55 42 3a |. case C|ASE_CUB:|
|00001380| 0a 09 09 09 2f 2a 20 43 | 55 42 20 2a 2f 0a 09 09 |..../* C|UB */...|
|00001390| 09 69 66 28 28 63 20 3d | 20 70 61 72 61 6d 5b 30 |.if((c =| param[0|
|000013a0| 5d 29 20 3c 20 31 29 0a | 09 09 09 09 63 20 3d 20 |]) < 1).|....c = |
|000013b0| 31 3b 0a 09 09 09 43 75 | 72 73 6f 72 42 61 63 6b |1;....Cu|rsorBack|
|000013c0| 28 73 63 72 65 65 6e 2c | 20 63 29 3b 0a 09 09 09 |(screen,| c);....|
|000013d0| 70 61 72 73 65 73 74 61 | 74 65 20 3d 20 67 72 6f |parsesta|te = gro|
|000013e0| 75 6e 64 74 61 62 6c 65 | 3b 0a 09 09 09 62 72 65 |undtable|;....bre|
|000013f0| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 43 41 53 |ak;.... |case CAS|
|00001400| 45 5f 43 55 50 3a 0a 09 | 09 09 2f 2a 20 43 55 50 |E_CUP:..|../* CUP|
|00001410| 20 7c 20 48 56 50 20 2a | 2f 0a 09 09 09 2f 2a 20 | | HVP *|/..../* |
|00001420| 6f 6e 6c 79 20 69 66 20 | 6e 6f 74 20 69 6e 20 73 |only if |not in s|
|00001430| 74 61 74 75 73 20 6c 69 | 6e 65 20 2a 2f 0a 09 09 |tatus li|ne */...|
|00001440| 09 69 66 28 21 73 63 72 | 65 65 6e 2d 3e 69 6e 73 |.if(!scr|een->ins|
|00001450| 74 61 74 75 73 29 20 7b | 0a 09 09 09 09 69 66 28 |tatus) {|.....if(|
|00001460| 28 72 6f 77 20 3d 20 70 | 61 72 61 6d 5b 30 5d 29 |(row = p|aram[0])|
|00001470| 20 3c 20 31 29 0a 09 09 | 09 09 09 72 6f 77 20 3d | < 1)...|...row =|
|00001480| 20 31 3b 0a 09 09 09 09 | 69 66 28 6e 70 61 72 61 | 1;.....|if(npara|
|00001490| 6d 20 3c 20 32 20 7c 7c | 20 28 63 6f 6c 20 3d 20 |m < 2 ||| (col = |
|000014a0| 70 61 72 61 6d 5b 31 5d | 29 20 3c 20 31 29 0a 09 |param[1]|) < 1)..|
|000014b0| 09 09 09 09 63 6f 6c 20 | 3d 20 31 3b 0a 09 09 09 |....col |= 1;....|
|000014c0| 09 43 75 72 73 6f 72 53 | 65 74 28 73 63 72 65 65 |.CursorS|et(scree|
|000014d0| 6e 2c 20 72 6f 77 2d 31 | 2c 20 63 6f 6c 2d 31 2c |n, row-1|, col-1,|
|000014e0| 20 74 65 72 6d 2e 66 6c | 61 67 73 29 3b 0a 09 09 | term.fl|ags);...|
|000014f0| 09 7d 0a 09 09 09 70 61 | 72 73 65 73 74 61 74 65 |.}....pa|rsestate|
|00001500| 20 3d 20 67 72 6f 75 6e | 64 74 61 62 6c 65 3b 0a | = groun|dtable;.|
|00001510| 09 09 09 62 72 65 61 6b | 3b 0a 0a 09 09 20 63 61 |...break|;.... ca|
|00001520| 73 65 20 43 41 53 45 5f | 45 44 3a 0a 09 09 09 2f |se CASE_|ED:..../|
|00001530| 2a 20 45 44 20 2a 2f 0a | 09 09 09 73 77 69 74 63 |* ED */.|...switc|
|00001540| 68 20 28 70 61 72 61 6d | 5b 30 5d 29 20 7b 0a 09 |h (param|[0]) {..|
|00001550| 09 09 20 63 61 73 65 20 | 44 45 46 41 55 4c 54 3a |.. case |DEFAULT:|
|00001560| 0a 09 09 09 20 63 61 73 | 65 20 30 3a 0a 09 09 09 |.... cas|e 0:....|
|00001570| 09 69 66 28 73 63 72 65 | 65 6e 2d 3e 69 6e 73 74 |.if(scre|en->inst|
|00001580| 61 74 75 73 29 0a 09 09 | 09 09 09 43 6c 65 61 72 |atus)...|...Clear|
|00001590| 52 69 67 68 74 28 73 63 | 72 65 65 6e 29 3b 0a 09 |Right(sc|reen);..|
|000015a0| 09 09 09 65 6c 73 65 0a | 09 09 09 09 09 43 6c 65 |...else.|.....Cle|
|000015b0| 61 72 42 65 6c 6f 77 28 | 73 63 72 65 65 6e 29 3b |arBelow(|screen);|
|000015c0| 0a 09 09 09 09 62 72 65 | 61 6b 3b 0a 0a 09 09 09 |.....bre|ak;.....|
|000015d0| 20 63 61 73 65 20 31 3a | 0a 09 09 09 09 69 66 28 | case 1:|.....if(|
|000015e0| 73 63 72 65 65 6e 2d 3e | 69 6e 73 74 61 74 75 73 |screen->|instatus|
|000015f0| 29 0a 09 09 09 09 09 43 | 6c 65 61 72 4c 65 66 74 |)......C|learLeft|
|00001600| 28 73 63 72 65 65 6e 29 | 3b 0a 09 09 09 09 65 6c |(screen)|;.....el|
|00001610| 73 65 0a 09 09 09 09 09 | 43 6c 65 61 72 41 62 6f |se......|ClearAbo|
|00001620| 76 65 28 73 63 72 65 65 | 6e 29 3b 0a 09 09 09 09 |ve(scree|n);.....|
|00001630| 62 72 65 61 6b 3b 0a 0a | 09 09 09 20 63 61 73 65 |break;..|... case|
|00001640| 20 32 3a 0a 09 09 09 09 | 69 66 28 73 63 72 65 65 | 2:.....|if(scree|
|00001650| 6e 2d 3e 69 6e 73 74 61 | 74 75 73 29 0a 09 09 09 |n->insta|tus)....|
|00001660| 09 09 43 6c 65 61 72 4c | 69 6e 65 28 73 63 72 65 |..ClearL|ine(scre|
|00001670| 65 6e 29 3b 0a 09 09 09 | 09 65 6c 73 65 0a 09 09 |en);....|.else...|
|00001680| 09 09 09 43 6c 65 61 72 | 53 63 72 65 65 6e 28 73 |...Clear|Screen(s|
|00001690| 63 72 65 65 6e 29 3b 0a | 09 09 09 09 62 72 65 61 |creen);.|....brea|
|000016a0| 6b 3b 0a 09 09 09 7d 0a | 09 09 09 70 61 72 73 65 |k;....}.|...parse|
|000016b0| 73 74 61 74 65 20 3d 20 | 67 72 6f 75 6e 64 74 61 |state = |groundta|
|000016c0| 62 6c 65 3b 0a 09 09 09 | 62 72 65 61 6b 3b 0a 0a |ble;....|break;..|
|000016d0| 09 09 20 63 61 73 65 20 | 43 41 53 45 5f 45 4c 3a |.. case |CASE_EL:|
|000016e0| 0a 09 09 09 2f 2a 20 45 | 4c 20 2a 2f 0a 09 09 09 |..../* E|L */....|
|000016f0| 73 77 69 74 63 68 20 28 | 70 61 72 61 6d 5b 30 5d |switch (|param[0]|
|00001700| 29 20 7b 0a 09 09 09 20 | 63 61 73 65 20 44 45 46 |) {.... |case DEF|
|00001710| 41 55 4c 54 3a 0a 09 09 | 09 20 63 61 73 65 20 30 |AULT:...|. case 0|
|00001720| 3a 0a 09 09 09 09 43 6c | 65 61 72 52 69 67 68 74 |:.....Cl|earRight|
|00001730| 28 73 63 72 65 65 6e 29 | 3b 0a 09 09 09 09 62 72 |(screen)|;.....br|
|00001740| 65 61 6b 3b 0a 09 09 09 | 20 63 61 73 65 20 31 3a |eak;....| case 1:|
|00001750| 0a 09 09 09 09 43 6c 65 | 61 72 4c 65 66 74 28 73 |.....Cle|arLeft(s|
|00001760| 63 72 65 65 6e 29 3b 0a | 09 09 09 09 62 72 65 61 |creen);.|....brea|
|00001770| 6b 3b 0a 09 09 09 20 63 | 61 73 65 20 32 3a 0a 09 |k;.... c|ase 2:..|
|00001780| 09 09 09 43 6c 65 61 72 | 4c 69 6e 65 28 73 63 72 |...Clear|Line(scr|
|00001790| 65 65 6e 29 3b 0a 09 09 | 09 09 62 72 65 61 6b 3b |een);...|..break;|
|000017a0| 0a 09 09 09 7d 0a 09 09 | 09 70 61 72 73 65 73 74 |....}...|.parsest|
|000017b0| 61 74 65 20 3d 20 67 72 | 6f 75 6e 64 74 61 62 6c |ate = gr|oundtabl|
|000017c0| 65 3b 0a 09 09 09 62 72 | 65 61 6b 3b 0a 0a 09 09 |e;....br|eak;....|
|000017d0| 20 63 61 73 65 20 43 41 | 53 45 5f 49 4c 3a 0a 09 | case CA|SE_IL:..|
|000017e0| 09 09 2f 2a 20 49 4c 20 | 2a 2f 0a 09 09 09 2f 2a |../* IL |*/..../*|
|000017f0| 20 6f 6e 6c 79 20 69 66 | 20 6e 6f 74 20 69 6e 20 | only if| not in |
|00001800| 73 74 61 74 75 73 20 6c | 69 6e 65 20 2a 2f 0a 09 |status l|ine */..|
|00001810| 09 09 69 66 28 21 73 63 | 72 65 65 6e 2d 3e 69 6e |..if(!sc|reen->in|
|00001820| 73 74 61 74 75 73 29 20 | 7b 0a 09 09 09 09 69 66 |status) |{.....if|
|00001830| 28 28 63 20 3d 20 70 61 | 72 61 6d 5b 30 5d 29 20 |((c = pa|ram[0]) |
|00001840| 3c 20 31 29 0a 09 09 09 | 09 09 63 20 3d 20 31 3b |< 1)....|..c = 1;|
|00001850| 0a 09 09 09 09 49 6e 73 | 65 72 74 4c 69 6e 65 28 |.....Ins|ertLine(|
|00001860| 73 63 72 65 65 6e 2c 20 | 63 29 3b 0a 09 09 09 7d |screen, |c);....}|
|00001870| 0a 09 09 09 70 61 72 73 | 65 73 74 61 74 65 20 3d |....pars|estate =|
|00001880| 20 67 72 6f 75 6e 64 74 | 61 62 6c 65 3b 0a 09 09 | groundt|able;...|
|00001890| 09 62 72 65 61 6b 3b 0a | 0a 09 09 20 63 61 73 65 |.break;.|... case|
|000018a0| 20 43 41 53 45 5f 44 4c | 3a 0a 09 09 09 2f 2a 20 | CASE_DL|:..../* |
|000018b0| 44 4c 20 2a 2f 0a 09 09 | 09 2f 2a 20 6f 6e 6c 79 |DL */...|./* only|
|000018c0| 20 69 66 20 6e 6f 74 20 | 69 6e 20 73 74 61 74 75 | if not |in statu|
|000018d0| 73 20 6c 69 6e 65 20 2a | 2f 0a 09 09 09 69 66 28 |s line *|/....if(|
|000018e0| 21 73 63 72 65 65 6e 2d | 3e 69 6e 73 74 61 74 75 |!screen-|>instatu|
|000018f0| 73 29 20 7b 0a 09 09 09 | 09 69 66 28 28 63 20 3d |s) {....|.if((c =|
|00001900| 20 70 61 72 61 6d 5b 30 | 5d 29 20 3c 20 31 29 0a | param[0|]) < 1).|
|00001910| 09 09 09 09 09 63 20 3d | 20 31 3b 0a 09 09 09 09 |.....c =| 1;.....|
|00001920| 44 65 6c 65 74 65 4c 69 | 6e 65 28 73 63 72 65 65 |DeleteLi|ne(scree|
|00001930| 6e 2c 20 63 29 3b 0a 09 | 09 09 7d 0a 09 09 09 70 |n, c);..|..}....p|
|00001940| 61 72 73 65 73 74 61 74 | 65 20 3d 20 67 72 6f 75 |arsestat|e = grou|
|00001950| 6e 64 74 61 62 6c 65 3b | 0a 09 09 09 62 72 65 61 |ndtable;|....brea|
|00001960| 6b 3b 0a 0a 09 09 20 63 | 61 73 65 20 43 41 53 45 |k;.... c|ase CASE|
|00001970| 5f 44 43 48 3a 0a 09 09 | 09 2f 2a 20 44 43 48 20 |_DCH:...|./* DCH |
|00001980| 2a 2f 0a 09 09 09 69 66 | 28 28 63 20 3d 20 70 61 |*/....if|((c = pa|
|00001990| 72 61 6d 5b 30 5d 29 20 | 3c 20 31 29 0a 09 09 09 |ram[0]) |< 1)....|
|000019a0| 09 63 20 3d 20 31 3b 0a | 09 09 09 44 65 6c 65 74 |.c = 1;.|...Delet|
|000019b0| 65 43 68 61 72 28 73 63 | 72 65 65 6e 2c 20 63 29 |eChar(sc|reen, c)|
|000019c0| 3b 0a 09 09 09 70 61 72 | 73 65 73 74 61 74 65 20 |;....par|sestate |
|000019d0| 3d 20 67 72 6f 75 6e 64 | 74 61 62 6c 65 3b 0a 09 |= ground|table;..|
|000019e0| 09 09 62 72 65 61 6b 3b | 0a 0a 09 09 20 63 61 73 |..break;|.... cas|
|000019f0| 65 20 43 41 53 45 5f 44 | 41 31 3a 0a 09 09 09 2f |e CASE_D|A1:..../|
|00001a00| 2a 20 44 41 31 20 2a 2f | 0a 09 09 09 69 66 20 28 |* DA1 */|....if (|
|00001a10| 70 61 72 61 6d 5b 30 5d | 20 3c 3d 20 30 29 20 7b |param[0]| <= 0) {|
|00001a20| 09 2f 2a 20 6c 65 73 73 | 20 74 68 61 6e 20 6d 65 |./* less| than me|
|00001a30| 61 6e 73 20 44 45 46 41 | 55 4c 54 20 2a 2f 0a 09 |ans DEFA|ULT */..|
|00001a40| 09 09 09 72 65 70 6c 79 | 2e 61 5f 74 79 70 65 20 |...reply|.a_type |
|00001a50| 20 20 3d 20 43 53 49 3b | 0a 09 09 09 09 72 65 70 | = CSI;|.....rep|
|00001a60| 6c 79 2e 61 5f 70 69 6e | 74 72 6f 20 3d 20 27 3f |ly.a_pin|tro = '?|
|00001a70| 27 3b 0a 09 09 09 09 72 | 65 70 6c 79 2e 61 5f 6e |';.....r|eply.a_n|
|00001a80| 70 61 72 61 6d 20 3d 20 | 32 3b 0a 09 09 09 09 72 |param = |2;.....r|
|00001a90| 65 70 6c 79 2e 61 5f 70 | 61 72 61 6d 5b 30 5d 20 |eply.a_p|aram[0] |
|00001aa0| 3d 20 31 3b 09 09 2f 2a | 20 56 54 31 30 32 20 2a |= 1;../*| VT102 *|
|00001ab0| 2f 0a 09 09 09 09 72 65 | 70 6c 79 2e 61 5f 70 61 |/.....re|ply.a_pa|
|00001ac0| 72 61 6d 5b 31 5d 20 3d | 20 32 3b 09 09 2f 2a 20 |ram[1] =| 2;../* |
|00001ad0| 56 54 31 30 32 20 2a 2f | 0a 09 09 09 09 72 65 70 |VT102 */|.....rep|
|00001ae0| 6c 79 2e 61 5f 69 6e 74 | 65 72 73 20 3d 20 30 3b |ly.a_int|ers = 0;|
|00001af0| 0a 09 09 09 09 72 65 70 | 6c 79 2e 61 5f 66 69 6e |.....rep|ly.a_fin|
|00001b00| 61 6c 20 20 3d 20 27 63 | 27 3b 0a 09 09 09 09 75 |al = 'c|';.....u|
|00001b10| 6e 70 61 72 73 65 73 65 | 71 28 26 72 65 70 6c 79 |nparsese|q(&reply|
|00001b20| 2c 20 73 63 72 65 65 6e | 2d 3e 72 65 73 70 6f 6e |, screen|->respon|
|00001b30| 64 29 3b 0a 09 09 09 7d | 0a 09 09 09 70 61 72 73 |d);....}|....pars|
|00001b40| 65 73 74 61 74 65 20 3d | 20 67 72 6f 75 6e 64 74 |estate =| groundt|
|00001b50| 61 62 6c 65 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |able;...|.break;.|
|00001b60| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 54 42 |... case| CASE_TB|
|00001b70| 43 3a 0a 09 09 09 2f 2a | 20 54 42 43 20 2a 2f 0a |C:..../*| TBC */.|
|00001b80| 09 09 09 69 66 20 28 28 | 63 20 3d 20 70 61 72 61 |...if ((|c = para|
|00001b90| 6d 5b 30 5d 29 20 3c 3d | 20 30 29 20 2f 2a 20 6c |m[0]) <=| 0) /* l|
|00001ba0| 65 73 73 20 74 68 61 6e | 20 6d 65 61 6e 73 20 64 |ess than| means d|
|00001bb0| 65 66 61 75 6c 74 20 2a | 2f 0a 09 09 09 09 54 61 |efault *|/.....Ta|
|00001bc0| 62 43 6c 65 61 72 28 74 | 65 72 6d 2e 74 61 62 73 |bClear(t|erm.tabs|
|00001bd0| 2c 20 73 63 72 65 65 6e | 2d 3e 63 75 72 5f 63 6f |, screen|->cur_co|
|00001be0| 6c 29 3b 0a 09 09 09 65 | 6c 73 65 20 69 66 20 28 |l);....e|lse if (|
|00001bf0| 63 20 3d 3d 20 33 29 0a | 09 09 09 09 54 61 62 5a |c == 3).|....TabZ|
|00001c00| 6f 6e 6b 28 74 65 72 6d | 2e 74 61 62 73 29 3b 0a |onk(term|.tabs);.|
|00001c10| 09 09 09 70 61 72 73 65 | 73 74 61 74 65 20 3d 20 |...parse|state = |
|00001c20| 67 72 6f 75 6e 64 74 61 | 62 6c 65 3b 0a 09 09 09 |groundta|ble;....|
|00001c30| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|00001c40| 43 41 53 45 5f 53 45 54 | 3a 0a 09 09 09 2f 2a 20 |CASE_SET|:..../* |
|00001c50| 53 45 54 20 2a 2f 0a 09 | 09 09 6d 6f 64 65 73 28 |SET */..|..modes(|
|00001c60| 26 74 65 72 6d 2c 20 62 | 69 74 73 65 74 29 3b 0a |&term, b|itset);.|
|00001c70| 09 09 09 70 61 72 73 65 | 73 74 61 74 65 20 3d 20 |...parse|state = |
|00001c80| 67 72 6f 75 6e 64 74 61 | 62 6c 65 3b 0a 09 09 09 |groundta|ble;....|
|00001c90| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|00001ca0| 43 41 53 45 5f 52 53 54 | 3a 0a 09 09 09 2f 2a 20 |CASE_RST|:..../* |
|00001cb0| 52 53 54 20 2a 2f 0a 09 | 09 09 6d 6f 64 65 73 28 |RST */..|..modes(|
|00001cc0| 26 74 65 72 6d 2c 20 62 | 69 74 63 6c 72 29 3b 0a |&term, b|itclr);.|
|00001cd0| 09 09 09 70 61 72 73 65 | 73 74 61 74 65 20 3d 20 |...parse|state = |
|00001ce0| 67 72 6f 75 6e 64 74 61 | 62 6c 65 3b 0a 09 09 09 |groundta|ble;....|
|00001cf0| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|00001d00| 43 41 53 45 5f 53 47 52 | 3a 0a 09 09 09 2f 2a 20 |CASE_SGR|:..../* |
|00001d10| 53 47 52 20 2a 2f 0a 09 | 09 09 66 6f 72 20 28 63 |SGR */..|..for (c|
|00001d20| 3d 30 3b 20 63 3c 6e 70 | 61 72 61 6d 3b 20 2b 2b |=0; c<np|aram; ++|
|00001d30| 63 29 20 7b 0a 09 09 09 | 09 73 77 69 74 63 68 20 |c) {....|.switch |
|00001d40| 28 70 61 72 61 6d 5b 63 | 5d 29 20 7b 0a 09 09 09 |(param[c|]) {....|
|00001d50| 09 20 63 61 73 65 20 44 | 45 46 41 55 4c 54 3a 0a |. case D|EFAULT:.|
|00001d60| 09 09 09 09 20 63 61 73 | 65 20 30 3a 0a 09 09 09 |.... cas|e 0:....|
|00001d70| 09 09 74 65 72 6d 2e 66 | 6c 61 67 73 20 26 3d 20 |..term.f|lags &= |
|00001d80| 7e 28 49 4e 56 45 52 53 | 45 7c 42 4f 4c 44 7c 55 |~(INVERS|E|BOLD|U|
|00001d90| 4e 44 45 52 4c 49 4e 45 | 29 3b 0a 09 09 09 09 09 |NDERLINE|);......|
|00001da0| 62 72 65 61 6b 3b 0a 09 | 09 09 09 20 63 61 73 65 |break;..|... case|
|00001db0| 20 31 3a 0a 09 09 09 09 | 20 63 61 73 65 20 35 3a | 1:.....| case 5:|
|00001dc0| 09 2f 2a 20 42 6c 69 6e | 6b 2c 20 72 65 61 6c 6c |./* Blin|k, reall|
|00001dd0| 79 2e 09 2a 2f 0a 09 09 | 09 09 09 74 65 72 6d 2e |y..*/...|...term.|
|00001de0| 66 6c 61 67 73 20 7c 3d | 20 42 4f 4c 44 3b 0a 09 |flags |=| BOLD;..|
|00001df0| 09 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 09 09 20 |....brea|k;..... |
|00001e00| 63 61 73 65 20 34 3a 09 | 2f 2a 20 55 6e 64 65 72 |case 4:.|/* Under|
|00001e10| 73 63 6f 72 65 09 09 2a | 2f 0a 09 09 09 09 09 74 |score..*|/......t|
|00001e20| 65 72 6d 2e 66 6c 61 67 | 73 20 7c 3d 20 55 4e 44 |erm.flag|s |= UND|
|00001e30| 45 52 4c 49 4e 45 3b 0a | 09 09 09 09 09 62 72 65 |ERLINE;.|.....bre|
|00001e40| 61 6b 3b 0a 09 09 09 09 | 20 63 61 73 65 20 37 3a |ak;.....| case 7:|
|00001e50| 0a 09 09 09 09 09 74 65 | 72 6d 2e 66 6c 61 67 73 |......te|rm.flags|
|00001e60| 20 7c 3d 20 49 4e 56 45 | 52 53 45 3b 0a 09 09 09 | |= INVE|RSE;....|
|00001e70| 09 7d 0a 09 09 09 7d 0a | 09 09 09 70 61 72 73 65 |.}....}.|...parse|
|00001e80| 73 74 61 74 65 20 3d 20 | 67 72 6f 75 6e 64 74 61 |state = |groundta|
|00001e90| 62 6c 65 3b 0a 09 09 09 | 62 72 65 61 6b 3b 0a 0a |ble;....|break;..|
|00001ea0| 09 09 20 63 61 73 65 20 | 43 41 53 45 5f 43 50 52 |.. case |CASE_CPR|
|00001eb0| 3a 0a 09 09 09 2f 2a 20 | 43 50 52 20 2a 2f 0a 09 |:..../* |CPR */..|
|00001ec0| 09 09 69 66 20 28 28 63 | 20 3d 20 70 61 72 61 6d |..if ((c| = param|
|00001ed0| 5b 30 5d 29 20 3d 3d 20 | 35 29 20 7b 0a 09 09 09 |[0]) == |5) {....|
|00001ee0| 09 72 65 70 6c 79 2e 61 | 5f 74 79 70 65 20 3d 20 |.reply.a|_type = |
|00001ef0| 43 53 49 3b 0a 09 09 09 | 09 72 65 70 6c 79 2e 61 |CSI;....|.reply.a|
|00001f00| 5f 70 69 6e 74 72 6f 20 | 3d 20 30 3b 0a 09 09 09 |_pintro |= 0;....|
|00001f10| 09 72 65 70 6c 79 2e 61 | 5f 6e 70 61 72 61 6d 20 |.reply.a|_nparam |
|00001f20| 3d 20 31 3b 0a 09 09 09 | 09 72 65 70 6c 79 2e 61 |= 1;....|.reply.a|
|00001f30| 5f 70 61 72 61 6d 5b 30 | 5d 20 3d 20 30 3b 0a 09 |_param[0|] = 0;..|
|00001f40| 09 09 09 72 65 70 6c 79 | 2e 61 5f 69 6e 74 65 72 |...reply|.a_inter|
|00001f50| 73 20 3d 20 30 3b 0a 09 | 09 09 09 72 65 70 6c 79 |s = 0;..|...reply|
|00001f60| 2e 61 5f 66 69 6e 61 6c | 20 20 3d 20 27 6e 27 3b |.a_final| = 'n';|
|00001f70| 0a 09 09 09 09 75 6e 70 | 61 72 73 65 73 65 71 28 |.....unp|arseseq(|
|00001f80| 26 72 65 70 6c 79 2c 20 | 73 63 72 65 65 6e 2d 3e |&reply, |screen->|
|00001f90| 72 65 73 70 6f 6e 64 29 | 3b 0a 09 09 09 7d 20 65 |respond)|;....} e|
|00001fa0| 6c 73 65 20 69 66 20 28 | 63 20 3d 3d 20 36 29 20 |lse if (|c == 6) |
|00001fb0| 7b 0a 09 09 09 09 72 65 | 70 6c 79 2e 61 5f 74 79 |{.....re|ply.a_ty|
|00001fc0| 70 65 20 3d 20 43 53 49 | 3b 0a 09 09 09 09 72 65 |pe = CSI|;.....re|
|00001fd0| 70 6c 79 2e 61 5f 70 69 | 6e 74 72 6f 20 3d 20 30 |ply.a_pi|ntro = 0|
|00001fe0| 3b 0a 09 09 09 09 72 65 | 70 6c 79 2e 61 5f 6e 70 |;.....re|ply.a_np|
|00001ff0| 61 72 61 6d 20 3d 20 32 | 3b 0a 09 09 09 09 72 65 |aram = 2|;.....re|
|00002000| 70 6c 79 2e 61 5f 70 61 | 72 61 6d 5b 30 5d 20 3d |ply.a_pa|ram[0] =|
|00002010| 20 73 63 72 65 65 6e 2d | 3e 63 75 72 5f 72 6f 77 | screen-|>cur_row|
|00002020| 2b 31 3b 0a 09 09 09 09 | 72 65 70 6c 79 2e 61 5f |+1;.....|reply.a_|
|00002030| 70 61 72 61 6d 5b 31 5d | 20 3d 20 73 63 72 65 65 |param[1]| = scree|
|00002040| 6e 2d 3e 63 75 72 5f 63 | 6f 6c 2b 31 3b 0a 09 09 |n->cur_c|ol+1;...|
|00002050| 09 09 72 65 70 6c 79 2e | 61 5f 69 6e 74 65 72 73 |..reply.|a_inters|
|00002060| 20 3d 20 30 3b 0a 09 09 | 09 09 72 65 70 6c 79 2e | = 0;...|..reply.|
|00002070| 61 5f 66 69 6e 61 6c 20 | 20 3d 20 27 52 27 3b 0a |a_final | = 'R';.|
|00002080| 09 09 09 09 75 6e 70 61 | 72 73 65 73 65 71 28 26 |....unpa|rseseq(&|
|00002090| 72 65 70 6c 79 2c 20 73 | 63 72 65 65 6e 2d 3e 72 |reply, s|creen->r|
|000020a0| 65 73 70 6f 6e 64 29 3b | 0a 09 09 09 7d 0a 09 09 |espond);|....}...|
|000020b0| 09 70 61 72 73 65 73 74 | 61 74 65 20 3d 20 67 72 |.parsest|ate = gr|
|000020c0| 6f 75 6e 64 74 61 62 6c | 65 3b 0a 09 09 09 62 72 |oundtabl|e;....br|
|000020d0| 65 61 6b 3b 0a 0a 09 09 | 20 63 61 73 65 20 43 41 |eak;....| case CA|
|000020e0| 53 45 5f 44 45 43 53 54 | 42 4d 3a 0a 09 09 09 2f |SE_DECST|BM:..../|
|000020f0| 2a 20 44 45 43 53 54 42 | 4d 20 2a 2f 0a 09 09 09 |* DECSTB|M */....|
|00002100| 2f 2a 20 6f 6e 6c 79 20 | 69 66 20 6e 6f 74 20 69 |/* only |if not i|
|00002110| 6e 20 73 74 61 74 75 73 | 20 6c 69 6e 65 20 2a 2f |n status| line */|
|00002120| 0a 09 09 09 69 66 28 21 | 73 63 72 65 65 6e 2d 3e |....if(!|screen->|
|00002130| 69 6e 73 74 61 74 75 73 | 29 20 7b 0a 09 09 09 09 |instatus|) {.....|
|00002140| 69 66 28 28 74 6f 70 20 | 3d 20 70 61 72 61 6d 5b |if((top |= param[|
|00002150| 30 5d 29 20 3c 20 31 29 | 0a 09 09 09 09 09 74 6f |0]) < 1)|......to|
|00002160| 70 20 3d 20 31 3b 0a 09 | 09 09 09 69 66 28 6e 70 |p = 1;..|...if(np|
|00002170| 61 72 61 6d 20 3c 20 32 | 20 7c 7c 20 28 62 6f 74 |aram < 2| || (bot|
|00002180| 20 3d 20 70 61 72 61 6d | 5b 31 5d 29 20 3d 3d 20 | = param|[1]) == |
|00002190| 44 45 46 41 55 4c 54 0a | 09 09 09 09 20 20 20 7c |DEFAULT.|.... ||
|000021a0| 7c 20 62 6f 74 20 3e 20 | 73 63 72 65 65 6e 2d 3e || bot > |screen->|
|000021b0| 6d 61 78 5f 72 6f 77 20 | 2b 20 31 0a 09 09 09 09 |max_row |+ 1.....|
|000021c0| 20 20 20 7c 7c 20 62 6f | 74 20 3d 3d 20 30 29 0a | || bo|t == 0).|
|000021d0| 09 09 09 09 09 62 6f 74 | 20 3d 20 73 63 72 65 65 |.....bot| = scree|
|000021e0| 6e 2d 3e 6d 61 78 5f 72 | 6f 77 2b 31 3b 0a 09 09 |n->max_r|ow+1;...|
|000021f0| 09 09 69 66 20 28 62 6f | 74 20 3e 20 74 6f 70 29 |..if (bo|t > top)|
|00002200| 20 7b 0a 09 09 09 09 09 | 69 66 28 73 63 72 65 65 | {......|if(scree|
|00002210| 6e 2d 3e 73 63 72 6f 6c | 6c 5f 61 6d 74 29 0a 09 |n->scrol|l_amt)..|
|00002220| 09 09 09 09 09 46 6c 75 | 73 68 53 63 72 6f 6c 6c |.....Flu|shScroll|
|00002230| 28 73 63 72 65 65 6e 29 | 3b 0a 09 09 09 09 09 73 |(screen)|;......s|
|00002240| 63 72 65 65 6e 2d 3e 74 | 6f 70 5f 6d 61 72 67 20 |creen->t|op_marg |
|00002250| 3d 20 74 6f 70 2d 31 3b | 0a 09 09 09 09 09 73 63 |= top-1;|......sc|
|00002260| 72 65 65 6e 2d 3e 62 6f | 74 5f 6d 61 72 67 20 3d |reen->bo|t_marg =|
|00002270| 20 62 6f 74 2d 31 3b 0a | 09 09 09 09 09 43 75 72 | bot-1;.|.....Cur|
|00002280| 73 6f 72 53 65 74 28 73 | 63 72 65 65 6e 2c 20 30 |sorSet(s|creen, 0|
|00002290| 2c 20 30 2c 20 74 65 72 | 6d 2e 66 6c 61 67 73 29 |, 0, ter|m.flags)|
|000022a0| 3b 0a 09 09 09 09 7d 0a | 09 09 09 7d 0a 09 09 09 |;.....}.|...}....|
|000022b0| 70 61 72 73 65 73 74 61 | 74 65 20 3d 20 67 72 6f |parsesta|te = gro|
|000022c0| 75 6e 64 74 61 62 6c 65 | 3b 0a 09 09 09 62 72 65 |undtable|;....bre|
|000022d0| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 43 41 53 |ak;.... |case CAS|
|000022e0| 45 5f 53 55 4e 5f 45 4d | 55 3a 0a 09 09 09 2f 2a |E_SUN_EM|U:..../*|
|000022f0| 20 73 75 62 2d 73 65 74 | 20 6f 66 20 73 75 6e 20 | sub-set| of sun |
|00002300| 74 74 79 20 65 6d 75 6c | 61 74 69 6f 6e 20 2a 2f |tty emul|ation */|
|00002310| 0a 09 09 09 73 77 69 74 | 63 68 28 70 61 72 61 6d |....swit|ch(param|
|00002320| 5b 30 5d 29 20 7b 0a 09 | 09 09 20 63 61 73 65 20 |[0]) {..|.. case |
|00002330| 33 3a 09 2f 2a 20 6d 6f | 76 65 20 77 69 6e 64 6f |3:./* mo|ve windo|
|00002340| 77 20 2a 2f 0a 09 09 09 | 09 69 66 28 6e 70 61 72 |w */....|.if(npar|
|00002350| 61 6d 20 3d 3d 20 33 29 | 20 7b 0a 09 09 09 09 09 |am == 3)| {......|
|00002360| 58 4d 6f 76 65 57 69 6e | 64 6f 77 28 56 57 69 6e |XMoveWin|dow(VWin|
|00002370| 64 6f 77 28 73 63 72 65 | 65 6e 29 2c 20 70 61 72 |dow(scre|en), par|
|00002380| 61 6d 5b 32 5d 2c 0a 09 | 09 09 09 09 20 70 61 72 |am[2],..|.... par|
|00002390| 61 6d 5b 31 5d 29 3b 0a | 09 09 09 09 09 58 53 79 |am[1]);.|.....XSy|
|000023a0| 6e 63 28 46 41 4c 53 45 | 29 3b 09 2f 2a 20 73 79 |nc(FALSE|);./* sy|
|000023b0| 6e 63 68 72 6f 6e 69 7a | 65 20 2a 2f 0a 09 09 09 |nchroniz|e */....|
|000023c0| 09 09 69 66 28 51 4c 65 | 6e 67 74 68 28 29 20 3e |..if(QLe|ngth() >|
|000023d0| 20 30 29 0a 09 09 09 09 | 09 09 78 65 76 65 6e 74 | 0).....|..xevent|
|000023e0| 73 28 29 3b 0a 09 09 09 | 09 7d 0a 09 09 09 09 62 |s();....|.}.....b|
|000023f0| 72 65 61 6b 3b 0a 09 09 | 09 20 63 61 73 65 20 34 |reak;...|. case 4|
|00002400| 3a 09 2f 2a 20 72 65 73 | 69 7a 65 20 77 69 6e 64 |:./* res|ize wind|
|00002410| 6f 77 20 28 70 69 78 65 | 6c 73 29 20 2a 2f 0a 09 |ow (pixe|ls) */..|
|00002420| 09 09 09 69 66 28 6e 70 | 61 72 61 6d 20 3d 3d 20 |...if(np|aram == |
|00002430| 33 29 20 7b 0a 09 09 09 | 09 09 58 43 68 61 6e 67 |3) {....|..XChang|
|00002440| 65 57 69 6e 64 6f 77 20 | 28 56 57 69 6e 64 6f 77 |eWindow |(VWindow|
|00002450| 28 73 63 72 65 65 6e 29 | 2c 20 70 61 72 61 6d 5b |(screen)|, param[|
|00002460| 31 5d 2c 0a 09 09 09 09 | 09 20 70 61 72 61 6d 5b |1],.....|. param[|
|00002470| 32 5d 29 3b 0a 09 09 09 | 09 09 58 53 79 6e 63 28 |2]);....|..XSync(|
|00002480| 46 41 4c 53 45 29 3b 09 | 2f 2a 20 73 79 6e 63 68 |FALSE);.|/* synch|
|00002490| 72 6f 6e 69 7a 65 20 2a | 2f 0a 09 09 09 09 09 69 |ronize *|/......i|
|000024a0| 66 28 51 4c 65 6e 67 74 | 68 28 29 20 3e 20 30 29 |f(QLengt|h() > 0)|
|000024b0| 0a 09 09 09 09 09 09 78 | 65 76 65 6e 74 73 28 29 |.......x|events()|
|000024c0| 3b 0a 09 09 09 09 7d 0a | 09 09 09 09 62 72 65 61 |;.....}.|....brea|
|000024d0| 6b 3b 0a 09 09 09 20 63 | 61 73 65 20 35 3a 09 2f |k;.... c|ase 5:./|
|000024e0| 2a 20 72 61 69 73 65 20 | 77 69 6e 64 6f 77 20 2a |* raise |window *|
|000024f0| 2f 0a 09 09 09 09 58 52 | 61 69 73 65 57 69 6e 64 |/.....XR|aiseWind|
|00002500| 6f 77 28 56 57 69 6e 64 | 6f 77 28 73 63 72 65 65 |ow(VWind|ow(scree|
|00002510| 6e 29 29 3b 0a 09 09 09 | 09 62 72 65 61 6b 3b 0a |n));....|.break;.|
|00002520| 09 09 09 20 63 61 73 65 | 20 36 3a 09 2f 2a 20 6c |... case| 6:./* l|
|00002530| 6f 77 65 72 20 77 69 6e | 64 6f 77 20 2a 2f 0a 09 |ower win|dow */..|
|00002540| 09 09 09 58 4c 6f 77 65 | 72 57 69 6e 64 6f 77 28 |...XLowe|rWindow(|
|00002550| 56 57 69 6e 64 6f 77 28 | 73 63 72 65 65 6e 29 29 |VWindow(|screen))|
|00002560| 3b 0a 09 09 09 09 62 72 | 65 61 6b 3b 0a 09 09 09 |;.....br|eak;....|
|00002570| 20 63 61 73 65 20 37 3a | 09 2f 2a 20 72 65 64 69 | case 7:|./* redi|
|00002580| 73 70 6c 61 79 20 77 69 | 6e 64 6f 77 20 2a 2f 0a |splay wi|ndow */.|
|00002590| 09 09 09 09 52 65 64 72 | 61 77 28 29 3b 0a 09 09 |....Redr|aw();...|
|000025a0| 09 09 62 72 65 61 6b 3b | 0a 09 09 09 20 63 61 73 |..break;|.... cas|
|000025b0| 65 20 38 3a 09 2f 2a 20 | 72 65 73 69 7a 65 20 77 |e 8:./* |resize w|
|000025c0| 69 6e 64 6f 77 20 28 72 | 6f 77 73 20 61 6e 64 20 |indow (r|ows and |
|000025d0| 63 6f 6c 75 6d 6e 73 29 | 20 2a 2f 0a 09 09 09 09 |columns)| */.....|
|000025e0| 69 66 28 6e 70 61 72 61 | 6d 20 3d 3d 20 33 29 20 |if(npara|m == 3) |
|000025f0| 7b 0a 09 09 09 09 09 58 | 43 68 61 6e 67 65 57 69 |{......X|ChangeWi|
|00002600| 6e 64 6f 77 20 28 56 57 | 69 6e 64 6f 77 28 73 63 |ndow (VW|indow(sc|
|00002610| 72 65 65 6e 29 2c 0a 09 | 09 09 09 09 20 46 6f 6e |reen),..|.... Fon|
|00002620| 74 57 69 64 74 68 28 73 | 63 72 65 65 6e 29 20 2a |tWidth(s|creen) *|
|00002630| 20 70 61 72 61 6d 5b 32 | 5d 20 2b 0a 09 09 09 09 | param[2|] +.....|
|00002640| 09 20 32 20 2a 20 73 63 | 72 65 65 6e 2d 3e 62 6f |. 2 * sc|reen->bo|
|00002650| 72 64 65 72 20 2b 20 73 | 63 72 65 65 6e 2d 3e 73 |rder + s|creen->s|
|00002660| 63 72 6f 6c 6c 62 61 72 | 2c 0a 09 09 09 09 09 20 |crollbar|,...... |
|00002670| 46 6f 6e 74 48 65 69 67 | 68 74 28 73 63 72 65 65 |FontHeig|ht(scree|
|00002680| 6e 29 20 2a 20 70 61 72 | 61 6d 5b 31 5d 20 2b 0a |n) * par|am[1] +.|
|00002690| 09 09 09 09 09 20 73 63 | 72 65 65 6e 2d 3e 73 74 |..... sc|reen->st|
|000026a0| 61 74 75 73 68 65 69 67 | 68 74 20 2b 20 54 69 74 |atusheig|ht + Tit|
|000026b0| 6c 65 62 61 72 28 73 63 | 72 65 65 6e 29 0a 09 09 |lebar(sc|reen)...|
|000026c0| 09 09 09 20 2b 20 32 20 | 2a 20 73 63 72 65 65 6e |... + 2 |* screen|
|000026d0| 2d 3e 62 6f 72 64 65 72 | 29 3b 0a 09 09 09 09 09 |->border|);......|
|000026e0| 58 53 79 6e 63 28 46 41 | 4c 53 45 29 3b 09 2f 2a |XSync(FA|LSE);./*|
|000026f0| 20 73 79 6e 63 68 72 6f | 6e 69 7a 65 20 2a 2f 0a | synchro|nize */.|
|00002700| 09 09 09 09 09 69 66 28 | 51 4c 65 6e 67 74 68 28 |.....if(|QLength(|
|00002710| 29 20 3e 20 30 29 0a 09 | 09 09 09 09 09 78 65 76 |) > 0)..|.....xev|
|00002720| 65 6e 74 73 28 29 3b 0a | 09 09 09 09 7d 0a 09 09 |ents();.|....}...|
|00002730| 09 09 62 72 65 61 6b 3b | 0a 09 09 09 20 63 61 73 |..break;|.... cas|
|00002740| 65 20 31 33 3a 09 2f 2a | 20 73 65 6e 64 20 77 69 |e 13:./*| send wi|
|00002750| 6e 64 6f 77 20 70 6f 73 | 69 74 69 6f 6e 20 2a 2f |ndow pos|ition */|
|00002760| 0a 09 09 09 09 58 51 75 | 65 72 79 57 69 6e 64 6f |.....XQu|eryWindo|
|00002770| 77 28 56 57 69 6e 64 6f | 77 28 73 63 72 65 65 6e |w(VWindo|w(screen|
|00002780| 29 2c 20 26 77 69 6e 69 | 6e 66 6f 29 3b 0a 09 09 |), &wini|nfo);...|
|00002790| 09 09 72 65 70 6c 79 2e | 61 5f 74 79 70 65 20 3d |..reply.|a_type =|
|000027a0| 20 43 53 49 3b 0a 09 09 | 09 09 72 65 70 6c 79 2e | CSI;...|..reply.|
|000027b0| 61 5f 70 69 6e 74 72 6f | 20 3d 20 30 3b 0a 09 09 |a_pintro| = 0;...|
|000027c0| 09 09 72 65 70 6c 79 2e | 61 5f 6e 70 61 72 61 6d |..reply.|a_nparam|
|000027d0| 20 3d 20 33 3b 0a 09 09 | 09 09 72 65 70 6c 79 2e | = 3;...|..reply.|
|000027e0| 61 5f 70 61 72 61 6d 5b | 30 5d 20 3d 20 33 3b 0a |a_param[|0] = 3;.|
|000027f0| 09 09 09 09 72 65 70 6c | 79 2e 61 5f 70 61 72 61 |....repl|y.a_para|
|00002800| 6d 5b 31 5d 20 3d 20 77 | 69 6e 69 6e 66 6f 2e 79 |m[1] = w|ininfo.y|
|00002810| 3b 0a 09 09 09 09 72 65 | 70 6c 79 2e 61 5f 70 61 |;.....re|ply.a_pa|
|00002820| 72 61 6d 5b 32 5d 20 3d | 20 77 69 6e 69 6e 66 6f |ram[2] =| wininfo|
|00002830| 2e 78 3b 0a 09 09 09 09 | 72 65 70 6c 79 2e 61 5f |.x;.....|reply.a_|
|00002840| 69 6e 74 65 72 73 20 3d | 20 30 3b 0a 09 09 09 09 |inters =| 0;.....|
|00002850| 72 65 70 6c 79 2e 61 5f | 66 69 6e 61 6c 20 20 3d |reply.a_|final =|
|00002860| 20 27 74 27 3b 0a 09 09 | 09 09 75 6e 70 61 72 73 | 't';...|..unpars|
|00002870| 65 73 65 71 28 26 72 65 | 70 6c 79 2c 20 73 63 72 |eseq(&re|ply, scr|
|00002880| 65 65 6e 2d 3e 72 65 73 | 70 6f 6e 64 29 3b 0a 09 |een->res|pond);..|
|00002890| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 09 20 63 61 |...break|;.... ca|
|000028a0| 73 65 20 31 34 3a 09 2f | 2a 20 73 65 6e 64 20 77 |se 14:./|* send w|
|000028b0| 69 6e 64 6f 77 20 73 69 | 7a 65 20 28 70 69 78 65 |indow si|ze (pixe|
|000028c0| 6c 73 29 20 2a 2f 0a 09 | 09 09 09 72 65 70 6c 79 |ls) */..|...reply|
|000028d0| 2e 61 5f 74 79 70 65 20 | 3d 20 43 53 49 3b 0a 09 |.a_type |= CSI;..|
|000028e0| 09 09 09 72 65 70 6c 79 | 2e 61 5f 70 69 6e 74 72 |...reply|.a_pintr|
|000028f0| 6f 20 3d 20 30 3b 0a 09 | 09 09 09 72 65 70 6c 79 |o = 0;..|...reply|
|00002900| 2e 61 5f 6e 70 61 72 61 | 6d 20 3d 20 33 3b 0a 09 |.a_npara|m = 3;..|
|00002910| 09 09 09 72 65 70 6c 79 | 2e 61 5f 70 61 72 61 6d |...reply|.a_param|
|00002920| 5b 30 5d 20 3d 20 34 3b | 0a 09 09 09 09 72 65 70 |[0] = 4;|.....rep|
|00002930| 6c 79 2e 61 5f 70 61 72 | 61 6d 5b 31 5d 20 3d 20 |ly.a_par|am[1] = |
|00002940| 28 73 63 72 65 65 6e 2d | 3e 6d 61 78 5f 63 6f 6c |(screen-|>max_col|
|00002950| 20 2b 20 31 29 20 2a 0a | 09 09 09 09 20 46 6f 6e | + 1) *.|.... Fon|
|00002960| 74 57 69 64 74 68 28 73 | 63 72 65 65 6e 29 20 2b |tWidth(s|creen) +|
|00002970| 20 32 20 2a 20 73 63 72 | 65 65 6e 2d 3e 62 6f 72 | 2 * scr|een->bor|
|00002980| 64 65 72 20 2b 0a 09 09 | 09 09 20 73 63 72 65 65 |der +...|.. scree|
|00002990| 6e 2d 3e 73 63 72 6f 6c | 6c 62 61 72 3b 0a 09 09 |n->scrol|lbar;...|
|000029a0| 09 09 72 65 70 6c 79 2e | 61 5f 70 61 72 61 6d 5b |..reply.|a_param[|
|000029b0| 32 5d 20 3d 20 28 73 63 | 72 65 65 6e 2d 3e 6d 61 |2] = (sc|reen->ma|
|000029c0| 78 5f 72 6f 77 20 2b 20 | 31 29 20 2a 0a 09 09 09 |x_row + |1) *....|
|000029d0| 09 20 46 6f 6e 74 48 65 | 69 67 68 74 28 73 63 72 |. FontHe|ight(scr|
|000029e0| 65 65 6e 29 20 2b 20 73 | 63 72 65 65 6e 2d 3e 73 |een) + s|creen->s|
|000029f0| 74 61 74 75 73 68 65 69 | 67 68 74 20 2b 0a 09 09 |tatushei|ght +...|
|00002a00| 09 09 20 54 69 74 6c 65 | 62 61 72 28 73 63 72 65 |.. Title|bar(scre|
|00002a10| 65 6e 29 20 2b 20 32 20 | 2a 20 73 63 72 65 65 6e |en) + 2 |* screen|
|00002a20| 2d 3e 62 6f 72 64 65 72 | 3b 0a 09 09 09 09 72 65 |->border|;.....re|
|00002a30| 70 6c 79 2e 61 5f 69 6e | 74 65 72 73 20 3d 20 30 |ply.a_in|ters = 0|
|00002a40| 3b 0a 09 09 09 09 72 65 | 70 6c 79 2e 61 5f 66 69 |;.....re|ply.a_fi|
|00002a50| 6e 61 6c 20 20 3d 20 27 | 74 27 3b 0a 09 09 09 09 |nal = '|t';.....|
|00002a60| 75 6e 70 61 72 73 65 73 | 65 71 28 26 72 65 70 6c |unparses|eq(&repl|
|00002a70| 79 2c 20 73 63 72 65 65 | 6e 2d 3e 72 65 73 70 6f |y, scree|n->respo|
|00002a80| 6e 64 29 3b 0a 09 09 09 | 09 62 72 65 61 6b 3b 0a |nd);....|.break;.|
|00002a90| 09 09 09 20 63 61 73 65 | 20 31 38 3a 09 2f 2a 20 |... case| 18:./* |
|00002aa0| 73 65 6e 64 20 77 69 6e | 64 6f 77 20 73 69 7a 65 |send win|dow size|
|00002ab0| 20 28 72 6f 77 73 20 61 | 6e 64 20 63 6f 6c 73 29 | (rows a|nd cols)|
|00002ac0| 20 2a 2f 0a 09 09 09 09 | 72 65 70 6c 79 2e 61 5f | */.....|reply.a_|
|00002ad0| 74 79 70 65 20 3d 20 43 | 53 49 3b 0a 09 09 09 09 |type = C|SI;.....|
|00002ae0| 72 65 70 6c 79 2e 61 5f | 70 69 6e 74 72 6f 20 3d |reply.a_|pintro =|
|00002af0| 20 30 3b 0a 09 09 09 09 | 72 65 70 6c 79 2e 61 5f | 0;.....|reply.a_|
|00002b00| 6e 70 61 72 61 6d 20 3d | 20 33 3b 0a 09 09 09 09 |nparam =| 3;.....|
|00002b10| 72 65 70 6c 79 2e 61 5f | 70 61 72 61 6d 5b 30 5d |reply.a_|param[0]|
|00002b20| 20 3d 20 38 3b 0a 09 09 | 09 09 72 65 70 6c 79 2e | = 8;...|..reply.|
|00002b30| 61 5f 70 61 72 61 6d 5b | 31 5d 20 3d 20 73 63 72 |a_param[|1] = scr|
|00002b40| 65 65 6e 2d 3e 6d 61 78 | 5f 72 6f 77 20 2b 20 31 |een->max|_row + 1|
|00002b50| 3b 0a 09 09 09 09 72 65 | 70 6c 79 2e 61 5f 70 61 |;.....re|ply.a_pa|
|00002b60| 72 61 6d 5b 32 5d 20 3d | 20 73 63 72 65 65 6e 2d |ram[2] =| screen-|
|00002b70| 3e 6d 61 78 5f 63 6f 6c | 20 2b 20 31 3b 0a 09 09 |>max_col| + 1;...|
|00002b80| 09 09 72 65 70 6c 79 2e | 61 5f 69 6e 74 65 72 73 |..reply.|a_inters|
|00002b90| 20 3d 20 30 3b 0a 09 09 | 09 09 72 65 70 6c 79 2e | = 0;...|..reply.|
|00002ba0| 61 5f 66 69 6e 61 6c 20 | 20 3d 20 27 74 27 3b 0a |a_final | = 't';.|
|00002bb0| 09 09 09 09 75 6e 70 61 | 72 73 65 73 65 71 28 26 |....unpa|rseseq(&|
|00002bc0| 72 65 70 6c 79 2c 20 73 | 63 72 65 65 6e 2d 3e 72 |reply, s|creen->r|
|00002bd0| 65 73 70 6f 6e 64 29 3b | 0a 09 09 09 09 62 72 65 |espond);|.....bre|
|00002be0| 61 6b 3b 0a 09 09 09 7d | 0a 09 09 09 70 61 72 73 |ak;....}|....pars|
|00002bf0| 65 73 74 61 74 65 20 3d | 20 67 72 6f 75 6e 64 74 |estate =| groundt|
|00002c00| 61 62 6c 65 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |able;...|.break;.|
|00002c10| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 44 45 |... case| CASE_DE|
|00002c20| 43 52 45 51 54 50 41 52 | 4d 3a 0a 09 09 09 2f 2a |CREQTPAR|M:..../*|
|00002c30| 20 44 45 43 52 45 51 54 | 50 41 52 4d 20 2a 2f 0a | DECREQT|PARM */.|
|00002c40| 09 09 09 69 66 20 28 28 | 63 20 3d 20 70 61 72 61 |...if ((|c = para|
|00002c50| 6d 5b 30 5d 29 20 3d 3d | 20 44 45 46 41 55 4c 54 |m[0]) ==| DEFAULT|
|00002c60| 29 0a 09 09 09 09 63 20 | 3d 20 30 3b 0a 09 09 09 |).....c |= 0;....|
|00002c70| 69 66 20 28 63 20 3d 3d | 20 30 20 7c 7c 20 63 20 |if (c ==| 0 || c |
|00002c80| 3d 3d 20 31 29 20 7b 0a | 09 09 09 09 72 65 70 6c |== 1) {.|....repl|
|00002c90| 79 2e 61 5f 74 79 70 65 | 20 3d 20 43 53 49 3b 0a |y.a_type| = CSI;.|
|00002ca0| 09 09 09 09 72 65 70 6c | 79 2e 61 5f 70 69 6e 74 |....repl|y.a_pint|
|00002cb0| 72 6f 20 3d 20 30 3b 0a | 09 09 09 09 72 65 70 6c |ro = 0;.|....repl|
|00002cc0| 79 2e 61 5f 6e 70 61 72 | 61 6d 20 3d 20 37 3b 0a |y.a_npar|am = 7;.|
|00002cd0| 09 09 09 09 72 65 70 6c | 79 2e 61 5f 70 61 72 61 |....repl|y.a_para|
|00002ce0| 6d 5b 30 5d 20 3d 20 63 | 20 2b 20 32 3b 0a 09 09 |m[0] = c| + 2;...|
|00002cf0| 09 09 72 65 70 6c 79 2e | 61 5f 70 61 72 61 6d 5b |..reply.|a_param[|
|00002d00| 31 5d 20 3d 20 31 3b 09 | 2f 2a 20 6e 6f 20 70 61 |1] = 1;.|/* no pa|
|00002d10| 72 69 74 79 20 2a 2f 0a | 09 09 09 09 72 65 70 6c |rity */.|....repl|
|00002d20| 79 2e 61 5f 70 61 72 61 | 6d 5b 32 5d 20 3d 20 31 |y.a_para|m[2] = 1|
|00002d30| 3b 09 2f 2a 20 65 69 67 | 68 74 20 62 69 74 73 20 |;./* eig|ht bits |
|00002d40| 2a 2f 0a 09 09 09 09 72 | 65 70 6c 79 2e 61 5f 70 |*/.....r|eply.a_p|
|00002d50| 61 72 61 6d 5b 33 5d 20 | 3d 20 31 31 32 3b 09 2f |aram[3] |= 112;./|
|00002d60| 2a 20 74 72 61 6e 73 6d | 69 74 20 39 36 30 30 20 |* transm|it 9600 |
|00002d70| 62 61 75 64 20 2a 2f 0a | 09 09 09 09 72 65 70 6c |baud */.|....repl|
|00002d80| 79 2e 61 5f 70 61 72 61 | 6d 5b 34 5d 20 3d 20 31 |y.a_para|m[4] = 1|
|00002d90| 31 32 3b 09 2f 2a 20 72 | 65 63 65 69 76 65 20 39 |12;./* r|eceive 9|
|00002da0| 36 30 30 20 62 61 75 64 | 20 2a 2f 0a 09 09 09 09 |600 baud| */.....|
|00002db0| 72 65 70 6c 79 2e 61 5f | 70 61 72 61 6d 5b 35 5d |reply.a_|param[5]|
|00002dc0| 20 3d 20 31 3b 09 2f 2a | 20 63 6c 6f 63 6b 20 6d | = 1;./*| clock m|
|00002dd0| 75 6c 74 69 70 6c 69 65 | 72 20 3f 20 2a 2f 0a 09 |ultiplie|r ? */..|
|00002de0| 09 09 09 72 65 70 6c 79 | 2e 61 5f 70 61 72 61 6d |...reply|.a_param|
|00002df0| 5b 36 5d 20 3d 20 30 3b | 09 2f 2a 20 53 54 50 20 |[6] = 0;|./* STP |
|00002e00| 66 6c 61 67 73 20 3f 20 | 2a 2f 0a 09 09 09 09 72 |flags ? |*/.....r|
|00002e10| 65 70 6c 79 2e 61 5f 69 | 6e 74 65 72 73 20 3d 20 |eply.a_i|nters = |
|00002e20| 30 3b 0a 09 09 09 09 72 | 65 70 6c 79 2e 61 5f 66 |0;.....r|eply.a_f|
|00002e30| 69 6e 61 6c 20 20 3d 20 | 27 78 27 3b 0a 09 09 09 |inal = |'x';....|
|00002e40| 09 75 6e 70 61 72 73 65 | 73 65 71 28 26 72 65 70 |.unparse|seq(&rep|
|00002e50| 6c 79 2c 20 73 63 72 65 | 65 6e 2d 3e 72 65 73 70 |ly, scre|en->resp|
|00002e60| 6f 6e 64 29 3b 0a 09 09 | 09 7d 0a 09 09 09 70 61 |ond);...|.}....pa|
|00002e70| 72 73 65 73 74 61 74 65 | 20 3d 20 67 72 6f 75 6e |rsestate| = groun|
|00002e80| 64 74 61 62 6c 65 3b 0a | 09 09 09 62 72 65 61 6b |dtable;.|...break|
|00002e90| 3b 0a 0a 09 09 20 63 61 | 73 65 20 43 41 53 45 5f |;.... ca|se CASE_|
|00002ea0| 44 45 43 53 45 54 3a 0a | 09 09 09 2f 2a 20 44 45 |DECSET:.|.../* DE|
|00002eb0| 43 53 45 54 20 2a 2f 0a | 09 09 09 64 70 6d 6f 64 |CSET */.|...dpmod|
|00002ec0| 65 73 28 26 74 65 72 6d | 2c 20 62 69 74 73 65 74 |es(&term|, bitset|
|00002ed0| 29 3b 0a 09 09 09 70 61 | 72 73 65 73 74 61 74 65 |);....pa|rsestate|
|00002ee0| 20 3d 20 67 72 6f 75 6e | 64 74 61 62 6c 65 3b 0a | = groun|dtable;.|
|00002ef0| 09 09 09 69 66 28 73 63 | 72 65 65 6e 2d 3e 54 65 |...if(sc|reen->Te|
|00002f00| 6b 45 6d 75 29 0a 09 09 | 09 09 72 65 74 75 72 6e |kEmu)...|..return|
|00002f10| 3b 0a 09 09 09 62 72 65 | 61 6b 3b 0a 0a 09 09 20 |;....bre|ak;.... |
|00002f20| 63 61 73 65 20 43 41 53 | 45 5f 44 45 43 52 53 54 |case CAS|E_DECRST|
|00002f30| 3a 0a 09 09 09 2f 2a 20 | 44 45 43 52 53 54 20 2a |:..../* |DECRST *|
|00002f40| 2f 0a 09 09 09 64 70 6d | 6f 64 65 73 28 26 74 65 |/....dpm|odes(&te|
|00002f50| 72 6d 2c 20 62 69 74 63 | 6c 72 29 3b 0a 09 09 09 |rm, bitc|lr);....|
|00002f60| 70 61 72 73 65 73 74 61 | 74 65 20 3d 20 67 72 6f |parsesta|te = gro|
|00002f70| 75 6e 64 74 61 62 6c 65 | 3b 0a 09 09 09 62 72 65 |undtable|;....bre|
|00002f80| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 43 41 53 |ak;.... |case CAS|
|00002f90| 45 5f 48 49 44 44 45 4e | 3a 0a 09 09 09 2f 2a 20 |E_HIDDEN|:..../* |
|00002fa0| 73 70 65 63 69 61 6c 20 | 22 68 69 64 64 65 6e 22 |special |"hidden"|
|00002fb0| 20 73 65 71 75 65 6e 63 | 65 20 2a 2f 0a 09 09 09 | sequenc|e */....|
|00002fc0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00002fd0| 22 61 76 67 20 63 61 6c | 6c 20 3d 20 25 6c 64 20 |"avg cal|l = %ld |
|00002fe0| 63 68 61 72 5c 6e 22 2c | 20 63 74 6f 74 61 6c 2f |char\n",| ctotal/|
|00002ff0| 6e 74 6f 74 61 6c 29 3b | 0a 09 09 09 70 61 72 73 |ntotal);|....pars|
|00003000| 65 73 74 61 74 65 20 3d | 20 67 72 6f 75 6e 64 74 |estate =| groundt|
|00003010| 61 62 6c 65 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |able;...|.break;.|
|00003020| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 44 45 |... case| CASE_DE|
|00003030| 43 41 4c 4e 3a 0a 09 09 | 09 2f 2a 20 44 45 43 41 |CALN:...|./* DECA|
|00003040| 4c 4e 20 2a 2f 0a 09 09 | 09 69 66 28 73 63 72 65 |LN */...|.if(scre|
|00003050| 65 6e 2d 3e 63 75 72 73 | 6f 72 5f 73 74 61 74 65 |en->curs|or_state|
|00003060| 29 0a 09 09 09 09 48 69 | 64 65 43 75 72 73 6f 72 |).....Hi|deCursor|
|00003070| 28 29 3b 0a 09 09 09 66 | 6f 72 28 72 6f 77 20 3d |();....f|or(row =|
|00003080| 20 73 63 72 65 65 6e 2d | 3e 6d 61 78 5f 72 6f 77 | screen-|>max_row|
|00003090| 20 3b 20 72 6f 77 20 3e | 3d 20 30 20 3b 20 72 6f | ; row >|= 0 ; ro|
|000030a0| 77 2d 2d 29 20 7b 0a 09 | 09 09 09 62 7a 65 72 6f |w--) {..|...bzero|
|000030b0| 28 73 63 72 65 65 6e 2d | 3e 62 75 66 5b 32 20 2a |(screen-|>buf[2 *|
|000030c0| 20 72 6f 77 20 2b 20 31 | 5d 2c 0a 09 09 09 09 20 | row + 1|],..... |
|000030d0| 63 6f 6c 20 3d 20 73 63 | 72 65 65 6e 2d 3e 6d 61 |col = sc|reen->ma|
|000030e0| 78 5f 63 6f 6c 20 2b 20 | 31 29 3b 0a 09 09 09 09 |x_col + |1);.....|
|000030f0| 66 6f 72 28 63 70 20 3d | 20 73 63 72 65 65 6e 2d |for(cp =| screen-|
|00003100| 3e 62 75 66 5b 32 20 2a | 20 72 6f 77 5d 20 3b 20 |>buf[2 *| row] ; |
|00003110| 63 6f 6c 20 3e 20 30 20 | 3b 20 63 6f 6c 2d 2d 29 |col > 0 |; col--)|
|00003120| 0a 09 09 09 09 09 2a 63 | 70 2b 2b 20 3d 20 27 45 |......*c|p++ = 'E|
|00003130| 27 3b 0a 09 09 09 7d 0a | 09 09 09 53 63 72 6e 52 |';....}.|...ScrnR|
|00003140| 65 66 72 65 73 68 28 73 | 63 72 65 65 6e 2c 20 30 |efresh(s|creen, 0|
|00003150| 2c 20 30 2c 20 73 63 72 | 65 65 6e 2d 3e 6d 61 78 |, 0, scr|een->max|
|00003160| 5f 72 6f 77 20 2b 20 31 | 2c 0a 09 09 09 20 73 63 |_row + 1|,.... sc|
|00003170| 72 65 65 6e 2d 3e 6d 61 | 78 5f 63 6f 6c 20 2b 20 |reen->ma|x_col + |
|00003180| 31 29 3b 0a 09 09 09 70 | 61 72 73 65 73 74 61 74 |1);....p|arsestat|
|00003190| 65 20 3d 20 67 72 6f 75 | 6e 64 74 61 62 6c 65 3b |e = grou|ndtable;|
|000031a0| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 0a 09 09 20 63 |....brea|k;.... c|
|000031b0| 61 73 65 20 43 41 53 45 | 5f 47 53 45 54 53 3a 0a |ase CASE|_GSETS:.|
|000031c0| 09 09 09 73 63 72 65 65 | 6e 2d 3e 67 73 65 74 73 |...scree|n->gsets|
|000031d0| 5b 73 63 73 74 79 70 65 | 5d 20 3d 20 63 3b 0a 09 |[scstype|] = c;..|
|000031e0| 09 09 70 61 72 73 65 73 | 74 61 74 65 20 3d 20 67 |..parses|tate = g|
|000031f0| 72 6f 75 6e 64 74 61 62 | 6c 65 3b 0a 09 09 09 62 |roundtab|le;....b|
|00003200| 72 65 61 6b 3b 0a 0a 09 | 09 20 63 61 73 65 20 43 |reak;...|. case C|
|00003210| 41 53 45 5f 44 45 43 53 | 43 3a 0a 09 09 09 2f 2a |ASE_DECS|C:..../*|
|00003220| 20 44 45 43 53 43 20 2a | 2f 0a 09 09 09 43 75 72 | DECSC *|/....Cur|
|00003230| 73 6f 72 53 61 76 65 28 | 26 74 65 72 6d 2c 20 26 |sorSave(|&term, &|
|00003240| 73 63 72 65 65 6e 2d 3e | 73 63 29 3b 0a 09 09 09 |screen->|sc);....|
|00003250| 70 61 72 73 65 73 74 61 | 74 65 20 3d 20 67 72 6f |parsesta|te = gro|
|00003260| 75 6e 64 74 61 62 6c 65 | 3b 0a 09 09 09 62 72 65 |undtable|;....bre|
|00003270| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 43 41 53 |ak;.... |case CAS|
|00003280| 45 5f 44 45 43 52 43 3a | 0a 09 09 09 2f 2a 20 44 |E_DECRC:|..../* D|
|00003290| 45 43 52 43 20 2a 2f 0a | 09 09 09 43 75 72 73 6f |ECRC */.|...Curso|
|000032a0| 72 52 65 73 74 6f 72 65 | 28 26 74 65 72 6d 2c 20 |rRestore|(&term, |
|000032b0| 26 73 63 72 65 65 6e 2d | 3e 73 63 29 3b 0a 09 09 |&screen-|>sc);...|
|000032c0| 09 70 61 72 73 65 73 74 | 61 74 65 20 3d 20 67 72 |.parsest|ate = gr|
|000032d0| 6f 75 6e 64 74 61 62 6c | 65 3b 0a 09 09 09 62 72 |oundtabl|e;....br|
|000032e0| 65 61 6b 3b 0a 0a 09 09 | 20 63 61 73 65 20 43 41 |eak;....| case CA|
|000032f0| 53 45 5f 44 45 43 4b 50 | 41 4d 3a 0a 09 09 09 2f |SE_DECKP|AM:..../|
|00003300| 2a 20 44 45 43 4b 50 41 | 4d 20 2a 2f 0a 09 09 09 |* DECKPA|M */....|
|00003310| 74 65 72 6d 2e 6b 65 79 | 62 6f 61 72 64 2e 66 6c |term.key|board.fl|
|00003320| 61 67 73 20 7c 3d 20 4b | 59 50 44 5f 41 50 4c 3b |ags |= K|YPD_APL;|
|00003330| 0a 09 09 09 70 61 72 73 | 65 73 74 61 74 65 20 3d |....pars|estate =|
|00003340| 20 67 72 6f 75 6e 64 74 | 61 62 6c 65 3b 0a 09 09 | groundt|able;...|
|00003350| 09 62 72 65 61 6b 3b 0a | 0a 09 09 20 63 61 73 65 |.break;.|... case|
|00003360| 20 43 41 53 45 5f 44 45 | 43 4b 50 4e 4d 3a 0a 09 | CASE_DE|CKPNM:..|
|00003370| 09 09 2f 2a 20 44 45 43 | 4b 50 4e 4d 20 2a 2f 0a |../* DEC|KPNM */.|
|00003380| 09 09 09 74 65 72 6d 2e | 6b 65 79 62 6f 61 72 64 |...term.|keyboard|
|00003390| 2e 66 6c 61 67 73 20 26 | 3d 20 7e 4b 59 50 44 5f |.flags &|= ~KYPD_|
|000033a0| 41 50 4c 3b 0a 09 09 09 | 70 61 72 73 65 73 74 61 |APL;....|parsesta|
|000033b0| 74 65 20 3d 20 67 72 6f | 75 6e 64 74 61 62 6c 65 |te = gro|undtable|
|000033c0| 3b 0a 09 09 09 62 72 65 | 61 6b 3b 0a 0a 09 09 20 |;....bre|ak;.... |
|000033d0| 63 61 73 65 20 43 41 53 | 45 5f 49 4e 44 3a 0a 09 |case CAS|E_IND:..|
|000033e0| 09 09 2f 2a 20 49 4e 44 | 20 2a 2f 0a 09 09 09 2f |../* IND| */..../|
|000033f0| 2a 20 6f 6e 6c 79 20 69 | 66 20 6e 6f 74 20 69 6e |* only i|f not in|
|00003400| 20 73 74 61 74 75 73 20 | 6c 69 6e 65 20 2a 2f 0a | status |line */.|
|00003410| 09 09 09 69 66 28 21 73 | 63 72 65 65 6e 2d 3e 69 |...if(!s|creen->i|
|00003420| 6e 73 74 61 74 75 73 29 | 0a 09 09 09 09 49 6e 64 |nstatus)|.....Ind|
|00003430| 65 78 28 73 63 72 65 65 | 6e 2c 20 31 29 3b 0a 09 |ex(scree|n, 1);..|
|00003440| 09 09 69 66 28 73 63 72 | 65 65 6e 2d 3e 64 69 73 |..if(scr|een->dis|
|00003450| 70 6c 61 79 2d 3e 71 6c | 65 6e 20 3e 20 30 20 7c |play->ql|en > 0 ||
|00003460| 7c 0a 09 09 09 20 28 69 | 6f 63 74 6c 28 73 63 72 ||.... (i|octl(scr|
|00003470| 65 65 6e 2d 3e 64 69 73 | 70 6c 61 79 2d 3e 66 64 |een->dis|play->fd|
|00003480| 2c 20 46 49 4f 4e 52 45 | 41 44 2c 20 26 61 72 67 |, FIONRE|AD, &arg|
|00003490| 29 2c 20 61 72 67 29 20 | 3e 20 30 29 0a 09 09 09 |), arg) |> 0)....|
|000034a0| 09 78 65 76 65 6e 74 73 | 28 29 3b 0a 09 09 09 70 |.xevents|();....p|
|000034b0| 61 72 73 65 73 74 61 74 | 65 20 3d 20 67 72 6f 75 |arsestat|e = grou|
|000034c0| 6e 64 74 61 62 6c 65 3b | 0a 09 09 09 62 72 65 61 |ndtable;|....brea|
|000034d0| 6b 3b 0a 0a 09 09 20 63 | 61 73 65 20 43 41 53 45 |k;.... c|ase CASE|
|000034e0| 5f 4e 45 4c 3a 0a 09 09 | 09 2f 2a 20 4e 45 4c 20 |_NEL:...|./* NEL |
|000034f0| 2a 2f 0a 09 09 09 2f 2a | 20 6f 6e 6c 79 20 69 66 |*/..../*| only if|
|00003500| 20 6e 6f 74 20 69 6e 20 | 73 74 61 74 75 73 20 6c | not in |status l|
|00003510| 69 6e 65 20 2a 2f 0a 09 | 09 09 69 66 28 21 73 63 |ine */..|..if(!sc|
|00003520| 72 65 65 6e 2d 3e 69 6e | 73 74 61 74 75 73 29 0a |reen->in|status).|
|00003530| 09 09 09 09 49 6e 64 65 | 78 28 73 63 72 65 65 6e |....Inde|x(screen|
|00003540| 2c 20 31 29 3b 0a 09 09 | 09 43 61 72 72 69 61 67 |, 1);...|.Carriag|
|00003550| 65 52 65 74 75 72 6e 28 | 73 63 72 65 65 6e 29 3b |eReturn(|screen);|
|00003560| 0a 09 09 09 69 66 28 73 | 63 72 65 65 6e 2d 3e 64 |....if(s|creen->d|
|00003570| 69 73 70 6c 61 79 2d 3e | 71 6c 65 6e 20 3e 20 30 |isplay->|qlen > 0|
|00003580| 20 7c 7c 0a 09 09 09 20 | 28 69 6f 63 74 6c 28 73 | ||.... |(ioctl(s|
|00003590| 63 72 65 65 6e 2d 3e 64 | 69 73 70 6c 61 79 2d 3e |creen->d|isplay->|
|000035a0| 66 64 2c 20 46 49 4f 4e | 52 45 41 44 2c 20 26 61 |fd, FION|READ, &a|
|000035b0| 72 67 29 2c 20 61 72 67 | 29 20 3e 20 30 29 0a 09 |rg), arg|) > 0)..|
|000035c0| 09 09 09 78 65 76 65 6e | 74 73 28 29 3b 0a 09 09 |...xeven|ts();...|
|000035d0| 09 70 61 72 73 65 73 74 | 61 74 65 20 3d 20 67 72 |.parsest|ate = gr|
|000035e0| 6f 75 6e 64 74 61 62 6c | 65 3b 0a 09 09 09 62 72 |oundtabl|e;....br|
|000035f0| 65 61 6b 3b 0a 0a 09 09 | 20 63 61 73 65 20 43 41 |eak;....| case CA|
|00003600| 53 45 5f 48 54 53 3a 0a | 09 09 09 2f 2a 20 48 54 |SE_HTS:.|.../* HT|
|00003610| 53 20 2a 2f 0a 09 09 09 | 54 61 62 53 65 74 28 74 |S */....|TabSet(t|
|00003620| 65 72 6d 2e 74 61 62 73 | 2c 20 73 63 72 65 65 6e |erm.tabs|, screen|
|00003630| 2d 3e 63 75 72 5f 63 6f | 6c 29 3b 0a 09 09 09 70 |->cur_co|l);....p|
|00003640| 61 72 73 65 73 74 61 74 | 65 20 3d 20 67 72 6f 75 |arsestat|e = grou|
|00003650| 6e 64 74 61 62 6c 65 3b | 0a 09 09 09 62 72 65 61 |ndtable;|....brea|
|00003660| 6b 3b 0a 0a 09 09 20 63 | 61 73 65 20 43 41 53 45 |k;.... c|ase CASE|
|00003670| 5f 52 49 3a 0a 09 09 09 | 2f 2a 20 52 49 20 2a 2f |_RI:....|/* RI */|
|00003680| 0a 09 09 09 2f 2a 20 6f | 6e 6c 79 20 69 66 20 6e |..../* o|nly if n|
|00003690| 6f 74 20 69 6e 20 73 74 | 61 74 75 73 20 6c 69 6e |ot in st|atus lin|
|000036a0| 65 20 2a 2f 0a 09 09 09 | 69 66 28 21 73 63 72 65 |e */....|if(!scre|
|000036b0| 65 6e 2d 3e 69 6e 73 74 | 61 74 75 73 29 0a 09 09 |en->inst|atus)...|
|000036c0| 09 09 52 65 76 49 6e 64 | 65 78 28 73 63 72 65 65 |..RevInd|ex(scree|
|000036d0| 6e 2c 20 31 29 3b 0a 09 | 09 09 70 61 72 73 65 73 |n, 1);..|..parses|
|000036e0| 74 61 74 65 20 3d 20 67 | 72 6f 75 6e 64 74 61 62 |tate = g|roundtab|
|000036f0| 6c 65 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |le;....b|reak;...|
|00003700| 09 20 63 61 73 65 20 43 | 41 53 45 5f 53 53 32 3a |. case C|ASE_SS2:|
|00003710| 0a 09 09 09 2f 2a 20 53 | 53 32 20 2a 2f 0a 09 09 |..../* S|S2 */...|
|00003720| 09 73 63 72 65 65 6e 2d | 3e 63 75 72 73 73 20 3d |.screen-|>curss =|
|00003730| 20 32 3b 0a 09 09 09 70 | 61 72 73 65 73 74 61 74 | 2;....p|arsestat|
|00003740| 65 20 3d 20 67 72 6f 75 | 6e 64 74 61 62 6c 65 3b |e = grou|ndtable;|
|00003750| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 0a 09 09 20 63 |....brea|k;.... c|
|00003760| 61 73 65 20 43 41 53 45 | 5f 53 53 33 3a 0a 09 09 |ase CASE|_SS3:...|
|00003770| 09 2f 2a 20 53 53 33 20 | 2a 2f 0a 09 09 09 73 63 |./* SS3 |*/....sc|
|00003780| 72 65 65 6e 2d 3e 63 75 | 72 73 73 20 3d 20 33 3b |reen->cu|rss = 3;|
|00003790| 0a 09 09 09 70 61 72 73 | 65 73 74 61 74 65 20 3d |....pars|estate =|
|000037a0| 20 67 72 6f 75 6e 64 74 | 61 62 6c 65 3b 0a 09 09 | groundt|able;...|
|000037b0| 09 62 72 65 61 6b 3b 0a | 0a 09 09 20 63 61 73 65 |.break;.|... case|
|000037c0| 20 43 41 53 45 5f 43 53 | 49 5f 53 54 41 54 45 3a | CASE_CS|I_STATE:|
|000037d0| 0a 09 09 09 2f 2a 20 65 | 6e 74 65 72 20 63 73 69 |..../* e|nter csi|
|000037e0| 20 73 74 61 74 65 20 2a | 2f 0a 09 09 09 6e 70 61 | state *|/....npa|
|000037f0| 72 61 6d 20 3d 20 31 3b | 0a 09 09 09 70 61 72 61 |ram = 1;|....para|
|00003800| 6d 5b 30 5d 20 3d 20 44 | 45 46 41 55 4c 54 3b 0a |m[0] = D|EFAULT;.|
|00003810| 09 09 09 70 61 72 73 65 | 73 74 61 74 65 20 3d 20 |...parse|state = |
|00003820| 63 73 69 74 61 62 6c 65 | 3b 0a 09 09 09 62 72 65 |csitable|;....bre|
|00003830| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 43 41 53 |ak;.... |case CAS|
|00003840| 45 5f 4f 53 43 3a 0a 09 | 09 09 2f 2a 20 64 6f 20 |E_OSC:..|../* do |
|00003850| 6f 73 63 20 65 73 63 61 | 70 65 73 20 2a 2f 0a 09 |osc esca|pes */..|
|00003860| 09 09 64 6f 5f 6f 73 63 | 28 66 69 6e 70 75 74 29 |..do_osc|(finput)|
|00003870| 3b 0a 09 09 09 70 61 72 | 73 65 73 74 61 74 65 20 |;....par|sestate |
|00003880| 3d 20 67 72 6f 75 6e 64 | 74 61 62 6c 65 3b 0a 09 |= ground|table;..|
|00003890| 09 09 62 72 65 61 6b 3b | 0a 0a 09 09 20 63 61 73 |..break;|.... cas|
|000038a0| 65 20 43 41 53 45 5f 52 | 49 53 3a 0a 09 09 09 2f |e CASE_R|IS:..../|
|000038b0| 2a 20 52 49 53 20 2a 2f | 0a 09 09 09 56 54 52 65 |* RIS */|....VTRe|
|000038c0| 73 65 74 28 54 52 55 45 | 29 3b 0a 09 09 09 70 61 |set(TRUE|);....pa|
|000038d0| 72 73 65 73 74 61 74 65 | 20 3d 20 67 72 6f 75 6e |rsestate| = groun|
|000038e0| 64 74 61 62 6c 65 3b 0a | 09 09 09 62 72 65 61 6b |dtable;.|...break|
|000038f0| 3b 0a 0a 09 09 20 63 61 | 73 65 20 43 41 53 45 5f |;.... ca|se CASE_|
|00003900| 4c 53 32 3a 0a 09 09 09 | 2f 2a 20 4c 53 32 20 2a |LS2:....|/* LS2 *|
|00003910| 2f 0a 09 09 09 73 63 72 | 65 65 6e 2d 3e 63 75 72 |/....scr|een->cur|
|00003920| 67 6c 20 3d 20 32 3b 0a | 09 09 09 70 61 72 73 65 |gl = 2;.|...parse|
|00003930| 73 74 61 74 65 20 3d 20 | 67 72 6f 75 6e 64 74 61 |state = |groundta|
|00003940| 62 6c 65 3b 0a 09 09 09 | 62 72 65 61 6b 3b 0a 0a |ble;....|break;..|
|00003950| 09 09 20 63 61 73 65 20 | 43 41 53 45 5f 4c 53 33 |.. case |CASE_LS3|
|00003960| 3a 0a 09 09 09 2f 2a 20 | 4c 53 33 20 2a 2f 0a 09 |:..../* |LS3 */..|
|00003970| 09 09 73 63 72 65 65 6e | 2d 3e 63 75 72 67 6c 20 |..screen|->curgl |
|00003980| 3d 20 33 3b 0a 09 09 09 | 70 61 72 73 65 73 74 61 |= 3;....|parsesta|
|00003990| 74 65 20 3d 20 67 72 6f | 75 6e 64 74 61 62 6c 65 |te = gro|undtable|
|000039a0| 3b 0a 09 09 09 62 72 65 | 61 6b 3b 0a 0a 09 09 20 |;....bre|ak;.... |
|000039b0| 63 61 73 65 20 43 41 53 | 45 5f 4c 53 33 52 3a 0a |case CAS|E_LS3R:.|
|000039c0| 09 09 09 2f 2a 20 4c 53 | 33 52 20 2a 2f 0a 09 09 |.../* LS|3R */...|
|000039d0| 09 73 63 72 65 65 6e 2d | 3e 63 75 72 67 72 20 3d |.screen-|>curgr =|
|000039e0| 20 33 3b 0a 09 09 09 70 | 61 72 73 65 73 74 61 74 | 3;....p|arsestat|
|000039f0| 65 20 3d 20 67 72 6f 75 | 6e 64 74 61 62 6c 65 3b |e = grou|ndtable;|
|00003a00| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 0a 09 09 20 63 |....brea|k;.... c|
|00003a10| 61 73 65 20 43 41 53 45 | 5f 4c 53 32 52 3a 0a 09 |ase CASE|_LS2R:..|
|00003a20| 09 09 2f 2a 20 4c 53 32 | 52 20 2a 2f 0a 09 09 09 |../* LS2|R */....|
|00003a30| 73 63 72 65 65 6e 2d 3e | 63 75 72 67 72 20 3d 20 |screen->|curgr = |
|00003a40| 32 3b 0a 09 09 09 70 61 | 72 73 65 73 74 61 74 65 |2;....pa|rsestate|
|00003a50| 20 3d 20 67 72 6f 75 6e | 64 74 61 62 6c 65 3b 0a | = groun|dtable;.|
|00003a60| 09 09 09 62 72 65 61 6b | 3b 0a 0a 09 09 20 63 61 |...break|;.... ca|
|00003a70| 73 65 20 43 41 53 45 5f | 4c 53 31 52 3a 0a 09 09 |se CASE_|LS1R:...|
|00003a80| 09 2f 2a 20 4c 53 31 52 | 20 2a 2f 0a 09 09 09 73 |./* LS1R| */....s|
|00003a90| 63 72 65 65 6e 2d 3e 63 | 75 72 67 72 20 3d 20 31 |creen->c|urgr = 1|
|00003aa0| 3b 0a 09 09 09 70 61 72 | 73 65 73 74 61 74 65 20 |;....par|sestate |
|00003ab0| 3d 20 67 72 6f 75 6e 64 | 74 61 62 6c 65 3b 0a 09 |= ground|table;..|
|00003ac0| 09 09 62 72 65 61 6b 3b | 0a 0a 09 09 20 63 61 73 |..break;|.... cas|
|00003ad0| 65 20 43 41 53 45 5f 54 | 4f 5f 53 54 41 54 55 53 |e CASE_T|O_STATUS|
|00003ae0| 3a 0a 09 09 09 69 66 28 | 28 63 20 3d 20 70 61 72 |:....if(|(c = par|
|00003af0| 61 6d 5b 30 5d 29 20 3c | 20 31 29 0a 09 09 09 09 |am[0]) <| 1).....|
|00003b00| 63 20 3d 20 31 3b 0a 09 | 09 09 54 6f 53 74 61 74 |c = 1;..|..ToStat|
|00003b10| 75 73 28 63 20 2d 20 31 | 29 3b 0a 09 09 09 70 61 |us(c - 1|);....pa|
|00003b20| 72 73 65 73 74 61 74 65 | 20 3d 20 67 72 6f 75 6e |rsestate| = groun|
|00003b30| 64 74 61 62 6c 65 3b 0a | 09 09 09 62 72 65 61 6b |dtable;.|...break|
|00003b40| 3b 0a 0a 09 09 20 63 61 | 73 65 20 43 41 53 45 5f |;.... ca|se CASE_|
|00003b50| 46 52 4f 4d 5f 53 54 41 | 54 55 53 3a 0a 09 09 09 |FROM_STA|TUS:....|
|00003b60| 46 72 6f 6d 53 74 61 74 | 75 73 28 29 3b 0a 09 09 |FromStat|us();...|
|00003b70| 09 70 61 72 73 65 73 74 | 61 74 65 20 3d 20 67 72 |.parsest|ate = gr|
|00003b80| 6f 75 6e 64 74 61 62 6c | 65 3b 0a 09 09 09 62 72 |oundtabl|e;....br|
|00003b90| 65 61 6b 3b 0a 0a 09 09 | 20 63 61 73 65 20 43 41 |eak;....| case CA|
|00003ba0| 53 45 5f 53 48 4f 57 5f | 53 54 41 54 55 53 3a 0a |SE_SHOW_|STATUS:.|
|00003bb0| 09 09 09 53 68 6f 77 53 | 74 61 74 75 73 28 29 3b |...ShowS|tatus();|
|00003bc0| 0a 09 09 09 70 61 72 73 | 65 73 74 61 74 65 20 3d |....pars|estate =|
|00003bd0| 20 67 72 6f 75 6e 64 74 | 61 62 6c 65 3b 0a 09 09 | groundt|able;...|
|00003be0| 09 62 72 65 61 6b 3b 0a | 0a 09 09 20 63 61 73 65 |.break;.|... case|
|00003bf0| 20 43 41 53 45 5f 48 49 | 44 45 5f 53 54 41 54 55 | CASE_HI|DE_STATU|
|00003c00| 53 3a 0a 09 09 09 48 69 | 64 65 53 74 61 74 75 73 |S:....Hi|deStatus|
|00003c10| 28 29 3b 0a 09 09 09 70 | 61 72 73 65 73 74 61 74 |();....p|arsestat|
|00003c20| 65 20 3d 20 67 72 6f 75 | 6e 64 74 61 62 6c 65 3b |e = grou|ndtable;|
|00003c30| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 0a 09 09 20 63 |....brea|k;.... c|
|00003c40| 61 73 65 20 43 41 53 45 | 5f 45 52 41 53 45 5f 53 |ase CASE|_ERASE_S|
|00003c50| 54 41 54 55 53 3a 0a 09 | 09 09 45 72 61 73 65 53 |TATUS:..|..EraseS|
|00003c60| 74 61 74 75 73 28 29 3b | 0a 09 09 09 70 61 72 73 |tatus();|....pars|
|00003c70| 65 73 74 61 74 65 20 3d | 20 67 72 6f 75 6e 64 74 |estate =| groundt|
|00003c80| 61 62 6c 65 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |able;...|.break;.|
|00003c90| 0a 09 09 20 63 61 73 65 | 20 43 41 53 45 5f 58 54 |... case| CASE_XT|
|00003ca0| 45 52 4d 5f 53 41 56 45 | 3a 0a 09 09 09 73 61 76 |ERM_SAVE|:....sav|
|00003cb0| 65 6d 6f 64 65 73 28 26 | 74 65 72 6d 29 3b 0a 09 |emodes(&|term);..|
|00003cc0| 09 09 70 61 72 73 65 73 | 74 61 74 65 20 3d 20 67 |..parses|tate = g|
|00003cd0| 72 6f 75 6e 64 74 61 62 | 6c 65 3b 0a 09 09 09 62 |roundtab|le;....b|
|00003ce0| 72 65 61 6b 3b 0a 0a 09 | 09 20 63 61 73 65 20 43 |reak;...|. case C|
|00003cf0| 41 53 45 5f 58 54 45 52 | 4d 5f 52 45 53 54 4f 52 |ASE_XTER|M_RESTOR|
|00003d00| 45 3a 0a 09 09 09 72 65 | 73 74 6f 72 65 6d 6f 64 |E:....re|storemod|
|00003d10| 65 73 28 26 74 65 72 6d | 29 3b 0a 09 09 09 70 61 |es(&term|);....pa|
|00003d20| 72 73 65 73 74 61 74 65 | 20 3d 20 67 72 6f 75 6e |rsestate| = groun|
|00003d30| 64 74 61 62 6c 65 3b 0a | 09 09 09 62 72 65 61 6b |dtable;.|...break|
|00003d40| 3b 0a 0a 09 09 20 63 61 | 73 65 20 43 41 53 45 5f |;.... ca|se CASE_|
|00003d50| 50 52 49 4e 54 3a 0a 09 | 09 09 2f 2a 20 70 72 69 |PRINT:..|../* pri|
|00003d60| 6e 74 61 62 6c 65 20 63 | 68 61 72 61 63 74 65 72 |ntable c|haracter|
|00003d70| 73 20 2a 2f 0a 09 09 09 | 74 6f 70 20 3d 20 62 63 |s */....|top = bc|
|00003d80| 6e 74 20 3e 20 54 45 58 | 54 5f 42 55 46 5f 53 49 |nt > TEX|T_BUF_SI|
|00003d90| 5a 45 20 3f 20 54 45 58 | 54 5f 42 55 46 5f 53 49 |ZE ? TEX|T_BUF_SI|
|00003da0| 5a 45 20 3a 20 62 63 6e | 74 3b 0a 09 09 09 63 70 |ZE : bcn|t;....cp|
|00003db0| 20 3d 20 62 70 74 72 3b | 0a 09 09 09 2a 2d 2d 62 | = bptr;|....*--b|
|00003dc0| 70 74 72 20 3d 20 63 3b | 0a 09 09 09 77 68 69 6c |ptr = c;|....whil|
|00003dd0| 65 28 74 6f 70 20 3e 20 | 30 20 26 26 20 69 73 70 |e(top > |0 && isp|
|00003de0| 72 69 6e 74 28 2a 63 70 | 29 29 20 7b 0a 09 09 09 |rint(*cp|)) {....|
|00003df0| 09 74 6f 70 2d 2d 3b 0a | 09 09 09 09 62 63 6e 74 |.top--;.|....bcnt|
|00003e00| 2d 2d 3b 0a 09 09 09 09 | 63 70 2b 2b 3b 0a 09 09 |--;.....|cp++;...|
|00003e10| 09 7d 0a 09 09 09 69 66 | 28 73 63 72 65 65 6e 2d |.}....if|(screen-|
|00003e20| 3e 63 75 72 73 73 29 20 | 7b 0a 09 09 09 09 64 6f |>curss) |{.....do|
|00003e30| 74 65 78 74 28 73 63 72 | 65 65 6e 2c 20 74 65 72 |text(scr|een, ter|
|00003e40| 6d 2e 66 6c 61 67 73 2c | 0a 09 09 09 09 20 73 63 |m.flags,|..... sc|
|00003e50| 72 65 65 6e 2d 3e 67 73 | 65 74 73 5b 73 63 72 65 |reen->gs|ets[scre|
|00003e60| 65 6e 2d 3e 63 75 72 73 | 73 5d 2c 20 62 70 74 72 |en->curs|s], bptr|
|00003e70| 2c 20 62 70 74 72 20 2b | 20 31 29 3b 0a 09 09 09 |, bptr +| 1);....|
|00003e80| 09 73 63 72 65 65 6e 2d | 3e 63 75 72 73 73 20 3d |.screen-|>curss =|
|00003e90| 20 30 3b 0a 09 09 09 09 | 62 70 74 72 2b 2b 3b 0a | 0;.....|bptr++;.|
|00003ea0| 09 09 09 7d 0a 09 09 09 | 69 66 28 62 70 74 72 20 |...}....|if(bptr |
|00003eb0| 3c 20 63 70 29 0a 09 09 | 09 09 64 6f 74 65 78 74 |< cp)...|..dotext|
|00003ec0| 28 73 63 72 65 65 6e 2c | 20 74 65 72 6d 2e 66 6c |(screen,| term.fl|
|00003ed0| 61 67 73 2c 0a 09 09 09 | 09 20 73 63 72 65 65 6e |ags,....|. screen|
|00003ee0| 2d 3e 67 73 65 74 73 5b | 73 63 72 65 65 6e 2d 3e |->gsets[|screen->|
|00003ef0| 63 75 72 67 6c 5d 2c 20 | 62 70 74 72 2c 20 63 70 |curgl], |bptr, cp|
|00003f00| 29 3b 0a 09 09 09 62 70 | 74 72 20 3d 20 63 70 3b |);....bp|tr = cp;|
|00003f10| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 7d 0a 7d |....brea|k;...}.}|
|00003f20| 0a 0a 66 69 6e 70 75 74 | 28 29 0a 7b 0a 09 72 65 |..finput|().{..re|
|00003f30| 74 75 72 6e 28 69 6e 70 | 75 74 28 29 29 3b 0a 7d |turn(inp|ut());.}|
|00003f40| 0a 0a 73 74 61 74 69 63 | 20 69 6e 74 20 73 65 6c |..static| int sel|
|00003f50| 65 63 74 5f 6d 61 73 6b | 3b 0a 0a 69 6e 5f 70 75 |ect_mask|;..in_pu|
|00003f60| 74 28 29 0a 7b 0a 09 72 | 65 67 69 73 74 65 72 20 |t().{..r|egister |
|00003f70| 53 63 72 65 65 6e 20 2a | 73 63 72 65 65 6e 20 3d |Screen *|screen =|
|00003f80| 20 26 74 65 72 6d 2e 73 | 63 72 65 65 6e 3b 0a 09 | &term.s|creen;..|
|00003f90| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 2a 63 |register| char *c|
|00003fa0| 70 3b 0a 09 72 65 67 69 | 73 74 65 72 20 69 6e 74 |p;..regi|ster int|
|00003fb0| 20 69 3b 0a 0a 09 73 65 | 6c 65 63 74 5f 6d 61 73 | i;...se|lect_mas|
|00003fc0| 6b 20 3d 20 70 74 79 5f | 6d 61 73 6b 3b 09 2f 2a |k = pty_|mask;./*|
|00003fd0| 20 66 6f 72 63 65 20 69 | 6e 69 74 69 61 6c 20 72 | force i|nitial r|
|00003fe0| 65 61 64 20 2a 2f 0a 09 | 66 6f 72 28 20 3b 20 3b |ead */..|for( ; ;|
|00003ff0| 20 29 20 7b 0a 09 09 69 | 66 28 73 65 6c 65 63 74 | ) {...i|f(select|
|00004000| 5f 6d 61 73 6b 20 26 20 | 70 74 79 5f 6d 61 73 6b |_mask & |pty_mask|
|00004010| 29 20 7b 0a 09 09 09 69 | 66 28 73 63 72 65 65 6e |) {....i|f(screen|
|00004020| 2d 3e 6c 6f 67 67 69 6e | 67 29 0a 09 09 09 09 46 |->loggin|g).....F|
|00004030| 6c 75 73 68 4c 6f 67 28 | 73 63 72 65 65 6e 29 3b |lushLog(|screen);|
|00004040| 0a 09 09 09 69 66 28 28 | 62 63 6e 74 20 3d 20 72 |....if((|bcnt = r|
|00004050| 65 61 64 28 73 63 72 65 | 65 6e 2d 3e 72 65 73 70 |ead(scre|en->resp|
|00004060| 6f 6e 64 2c 20 62 70 74 | 72 20 3d 20 62 75 66 66 |ond, bpt|r = buff|
|00004070| 65 72 2c 0a 09 09 09 20 | 42 55 46 5f 53 49 5a 45 |er,.... |BUF_SIZE|
|00004080| 29 29 20 3c 20 30 29 20 | 7b 0a 09 09 09 09 69 66 |)) < 0) |{.....if|
|00004090| 28 65 72 72 6e 6f 20 3d | 3d 20 45 49 4f 20 26 26 |(errno =|= EIO &&|
|000040a0| 20 61 6d 5f 73 6c 61 76 | 65 29 0a 09 09 09 09 09 | am_slav|e)......|
|000040b0| 65 78 69 74 28 30 29 3b | 0a 09 09 09 09 65 6c 73 |exit(0);|.....els|
|000040c0| 65 20 69 66 28 65 72 72 | 6e 6f 20 21 3d 20 45 57 |e if(err|no != EW|
|000040d0| 4f 55 4c 44 42 4c 4f 43 | 4b 29 0a 09 09 09 09 09 |OULDBLOC|K)......|
|000040e0| 50 61 6e 69 63 28 0a 09 | 09 09 09 20 22 69 6e 70 |Panic(..|... "inp|
|000040f0| 75 74 3a 20 72 65 61 64 | 20 72 65 74 75 72 6e 65 |ut: read| returne|
|00004100| 64 20 75 6e 65 78 70 65 | 63 74 65 64 20 65 72 72 |d unexpe|cted err|
|00004110| 6f 72 20 28 25 64 29 5c | 6e 22 2c 0a 09 09 09 09 |or (%d)\|n",.....|
|00004120| 09 20 65 72 72 6e 6f 29 | 3b 0a 09 09 09 7d 20 65 |. errno)|;....} e|
|00004130| 6c 73 65 20 69 66 28 62 | 63 6e 74 20 3d 3d 20 30 |lse if(b|cnt == 0|
|00004140| 29 0a 09 09 09 09 50 61 | 6e 69 63 28 22 69 6e 70 |).....Pa|nic("inp|
|00004150| 75 74 3a 20 72 65 61 64 | 20 72 65 74 75 72 6e 65 |ut: read| returne|
|00004160| 64 20 7a 65 72 6f 5c 6e | 22 29 3b 0a 09 09 09 65 |d zero\n|");....e|
|00004170| 6c 73 65 20 7b 0a 09 09 | 09 09 2f 2a 20 73 74 72 |lse {...|../* str|
|00004180| 69 70 20 70 61 72 69 74 | 79 20 62 69 74 20 2a 2f |ip parit|y bit */|
|00004190| 0a 09 09 09 09 66 6f 72 | 28 69 20 3d 20 62 63 6e |.....for|(i = bcn|
|000041a0| 74 2c 20 63 70 20 3d 20 | 62 70 74 72 20 3b 20 69 |t, cp = |bptr ; i|
|000041b0| 20 3e 20 30 20 3b 20 69 | 2d 2d 29 0a 09 09 09 09 | > 0 ; i|--).....|
|000041c0| 09 2a 63 70 2b 2b 20 26 | 3d 20 43 48 41 52 3b 0a |.*cp++ &|= CHAR;.|
|000041d0| 09 09 09 09 69 66 28 73 | 63 72 65 65 6e 2d 3e 73 |....if(s|creen->s|
|000041e0| 62 20 26 26 20 73 63 72 | 65 65 6e 2d 3e 73 63 72 |b && scr|een->scr|
|000041f0| 6f 6c 6c 69 6e 70 75 74 | 20 26 26 0a 09 09 09 09 |ollinput| &&.....|
|00004200| 20 73 63 72 65 65 6e 2d | 3e 74 6f 70 6c 69 6e 65 | screen-|>topline|
|00004210| 20 3c 20 30 29 0a 09 09 | 09 09 09 53 63 72 6f 6c | < 0)...|...Scrol|
|00004220| 6c 54 6f 42 6f 74 74 6f | 6d 28 73 63 72 65 65 6e |lToBotto|m(screen|
|00004230| 2d 3e 73 62 29 3b 0a 09 | 09 09 09 69 66 28 73 63 |->sb);..|...if(sc|
|00004240| 72 65 65 6e 2d 3e 69 63 | 6f 6e 5f 73 68 6f 77 20 |reen->ic|on_show |
|00004250| 26 26 20 21 73 63 72 65 | 65 6e 2d 3e 69 63 6f 6e |&& !scre|en->icon|
|00004260| 69 6e 70 75 74 29 20 7b | 0a 09 09 09 09 09 73 63 |input) {|......sc|
|00004270| 72 65 65 6e 2d 3e 69 63 | 6f 6e 69 6e 70 75 74 20 |reen->ic|oninput |
|00004280| 3d 20 54 52 55 45 3b 0a | 09 09 09 09 09 49 63 6f |= TRUE;.|.....Ico|
|00004290| 6e 42 6f 78 28 73 63 72 | 65 65 6e 29 3b 0a 09 09 |nBox(scr|een);...|
|000042a0| 09 09 7d 0a 09 09 09 09 | 62 72 65 61 6b 3b 0a 09 |..}.....|break;..|
|000042b0| 09 09 7d 0a 09 09 7d 0a | 09 09 69 66 28 73 63 72 |..}...}.|..if(scr|
|000042c0| 65 65 6e 2d 3e 73 63 72 | 6f 6c 6c 5f 61 6d 74 29 |een->scr|oll_amt)|
|000042d0| 0a 09 09 09 46 6c 75 73 | 68 53 63 72 6f 6c 6c 28 |....Flus|hScroll(|
|000042e0| 73 63 72 65 65 6e 29 3b | 0a 09 09 69 66 28 73 63 |screen);|...if(sc|
|000042f0| 72 65 65 6e 2d 3e 63 75 | 72 73 6f 72 5f 73 65 74 |reen->cu|rsor_set|
|00004300| 20 26 26 20 28 73 63 72 | 65 65 6e 2d 3e 63 75 72 | && (scr|een->cur|
|00004310| 73 6f 72 5f 63 6f 6c 20 | 21 3d 20 73 63 72 65 65 |sor_col |!= scree|
|00004320| 6e 2d 3e 63 75 72 5f 63 | 6f 6c 0a 09 09 20 7c 7c |n->cur_c|ol... |||
|00004330| 20 73 63 72 65 65 6e 2d | 3e 63 75 72 73 6f 72 5f | screen-|>cursor_|
|00004340| 72 6f 77 20 21 3d 20 73 | 63 72 65 65 6e 2d 3e 63 |row != s|creen->c|
|00004350| 75 72 5f 72 6f 77 29 29 | 20 7b 0a 09 09 09 69 66 |ur_row))| {....if|
|00004360| 28 73 63 72 65 65 6e 2d | 3e 63 75 72 73 6f 72 5f |(screen-|>cursor_|
|00004370| 73 74 61 74 65 29 0a 09 | 09 09 09 48 69 64 65 43 |state)..|...HideC|
|00004380| 75 72 73 6f 72 28 29 3b | 0a 09 09 09 53 68 6f 77 |ursor();|....Show|
|00004390| 43 75 72 73 6f 72 28 29 | 3b 0a 09 09 7d 20 65 6c |Cursor()|;...} el|
|000043a0| 73 65 20 69 66 28 73 63 | 72 65 65 6e 2d 3e 63 75 |se if(sc|reen->cu|
|000043b0| 72 73 6f 72 5f 73 65 74 | 20 21 3d 20 73 63 72 65 |rsor_set| != scre|
|000043c0| 65 6e 2d 3e 63 75 72 73 | 6f 72 5f 73 74 61 74 65 |en->curs|or_state|
|000043d0| 29 20 7b 0a 09 09 09 69 | 66 28 73 63 72 65 65 6e |) {....i|f(screen|
|000043e0| 2d 3e 63 75 72 73 6f 72 | 5f 73 65 74 29 0a 09 09 |->cursor|_set)...|
|000043f0| 09 09 53 68 6f 77 43 75 | 72 73 6f 72 28 29 3b 0a |..ShowCu|rsor();.|
|00004400| 09 09 09 65 6c 73 65 0a | 09 09 09 09 48 69 64 65 |...else.|....Hide|
|00004410| 43 75 72 73 6f 72 28 29 | 3b 0a 09 09 7d 0a 09 09 |Cursor()|;...}...|
|00004420| 69 66 28 51 4c 65 6e 67 | 74 68 28 29 29 0a 09 09 |if(QLeng|th())...|
|00004430| 09 73 65 6c 65 63 74 5f | 6d 61 73 6b 20 3d 20 58 |.select_|mask = X|
|00004440| 5f 6d 61 73 6b 3b 0a 09 | 09 65 6c 73 65 20 7b 0a |_mask;..|.else {.|
|00004450| 09 09 09 58 46 6c 75 73 | 68 28 29 3b 0a 09 09 09 |...XFlus|h();....|
|00004460| 73 65 6c 65 63 74 5f 6d | 61 73 6b 20 3d 20 53 65 |select_m|ask = Se|
|00004470| 6c 65 63 74 5f 6d 61 73 | 6b 3b 0a 09 09 09 69 66 |lect_mas|k;....if|
|00004480| 28 28 69 20 3d 20 73 65 | 6c 65 63 74 28 6d 61 78 |((i = se|lect(max|
|00004490| 5f 70 6c 75 73 31 2c 20 | 26 73 65 6c 65 63 74 5f |_plus1, |&select_|
|000044a0| 6d 61 73 6b 2c 20 4e 55 | 4c 4c 2c 20 4e 55 4c 4c |mask, NU|LL, NULL|
|000044b0| 2c 0a 09 09 09 20 73 63 | 72 65 65 6e 2d 3e 74 69 |,.... sc|reen->ti|
|000044c0| 6d 65 6f 75 74 29 29 20 | 3c 20 30 29 7b 0a 09 09 |meout)) |< 0){...|
|000044d0| 09 09 69 66 20 28 65 72 | 72 6e 6f 20 21 3d 20 45 |..if (er|rno != E|
|000044e0| 49 4e 54 52 29 0a 09 09 | 09 09 09 53 79 73 45 72 |INTR)...|...SysEr|
|000044f0| 72 6f 72 28 45 52 52 4f | 52 5f 53 45 4c 45 43 54 |ror(ERRO|R_SELECT|
|00004500| 29 3b 0a 09 09 09 09 63 | 6f 6e 74 69 6e 75 65 3b |);.....c|ontinue;|
|00004510| 0a 09 09 09 7d 20 65 6c | 73 65 20 69 66 28 69 20 |....} el|se if(i |
|00004520| 3d 3d 20 30 29 20 7b 0a | 09 09 09 09 69 66 28 47 |== 0) {.|....if(G|
|00004530| 65 74 42 75 74 74 6f 6e | 53 74 61 74 65 28 73 63 |etButton|State(sc|
|00004540| 72 65 65 6e 2d 3e 73 62 | 29 20 26 20 48 49 4c 49 |reen->sb|) & HILI|
|00004550| 54 45 44 29 0a 09 09 09 | 09 09 57 69 6e 64 6f 77 |TED)....|..Window|
|00004560| 53 63 72 6f 6c 6c 28 73 | 63 72 65 65 6e 2c 0a 09 |Scroll(s|creen,..|
|00004570| 09 09 09 09 20 42 75 74 | 74 6f 6e 52 65 67 69 6f |.... But|tonRegio|
|00004580| 6e 28 73 63 72 65 65 6e | 2d 3e 73 62 29 29 3b 0a |n(screen|->sb));.|
|00004590| 09 09 09 09 73 63 72 65 | 65 6e 2d 3e 74 69 6d 65 |....scre|en->time|
|000045a0| 6f 75 74 2d 3e 74 76 5f | 75 73 65 63 20 3d 20 53 |out->tv_|usec = S|
|000045b0| 54 45 50 54 49 4d 45 3b | 0a 09 09 09 09 63 6f 6e |TEPTIME;|.....con|
|000045c0| 74 69 6e 75 65 3b 0a 09 | 09 09 7d 0a 09 09 7d 0a |tinue;..|..}...}.|
|000045d0| 09 09 69 66 28 73 65 6c | 65 63 74 5f 6d 61 73 6b |..if(sel|ect_mask|
|000045e0| 20 26 20 58 5f 6d 61 73 | 6b 29 0a 09 09 09 78 65 | & X_mas|k)....xe|
|000045f0| 76 65 6e 74 73 28 29 3b | 0a 09 7d 0a 09 62 63 6e |vents();|..}..bcn|
|00004600| 74 2d 2d 3b 0a 09 72 65 | 74 75 72 6e 28 2a 62 70 |t--;..re|turn(*bp|
|00004610| 74 72 2b 2b 29 3b 0a 7d | 0a 0a 2f 2a 0a 20 2a 20 |tr++);.}|../*. * |
|00004620| 70 72 6f 63 65 73 73 20 | 61 20 73 74 72 69 6e 67 |process |a string|
|00004630| 20 6f 66 20 63 68 61 72 | 61 63 74 65 72 73 20 61 | of char|acters a|
|00004640| 63 63 6f 72 64 69 6e 67 | 20 74 6f 20 74 68 65 20 |ccording| to the |
|00004650| 63 68 61 72 61 63 74 65 | 72 20 73 65 74 20 69 6e |characte|r set in|
|00004660| 64 69 63 61 74 65 64 0a | 20 2a 20 62 79 20 63 68 |dicated.| * by ch|
|00004670| 61 72 73 65 74 2e 20 20 | 77 6f 72 72 79 20 61 62 |arset. |worry ab|
|00004680| 6f 75 74 20 65 6e 64 20 | 6f 66 20 6c 69 6e 65 20 |out end |of line |
|00004690| 63 6f 6e 64 69 74 69 6f | 6e 73 20 28 77 72 61 70 |conditio|ns (wrap|
|000046a0| 61 72 6f 75 6e 64 20 69 | 66 20 73 65 6c 65 63 74 |around i|f select|
|000046b0| 65 64 29 2e 0a 20 2a 2f | 0a 64 6f 74 65 78 74 28 |ed).. */|.dotext(|
|000046c0| 73 63 72 65 65 6e 2c 20 | 66 6c 61 67 73 2c 20 63 |screen, |flags, c|
|000046d0| 68 61 72 73 65 74 2c 20 | 62 75 66 2c 20 70 74 72 |harset, |buf, ptr|
|000046e0| 29 0a 72 65 67 69 73 74 | 65 72 20 53 63 72 65 65 |).regist|er Scree|
|000046f0| 6e 09 2a 73 63 72 65 65 | 6e 3b 0a 75 6e 73 69 67 |n.*scree|n;.unsig|
|00004700| 6e 65 64 09 66 6c 61 67 | 73 3b 0a 63 68 61 72 09 |ned.flag|s;.char.|
|00004710| 09 63 68 61 72 73 65 74 | 3b 0a 63 68 61 72 09 2a |.charset|;.char.*|
|00004720| 62 75 66 3b 0a 63 68 61 | 72 09 2a 70 74 72 3b 0a |buf;.cha|r.*ptr;.|
|00004730| 7b 0a 09 72 65 67 69 73 | 74 65 72 20 63 68 61 72 |{..regis|ter char|
|00004740| 09 2a 73 3b 0a 09 72 65 | 67 69 73 74 65 72 20 69 |.*s;..re|gister i|
|00004750| 6e 74 09 6c 65 6e 3b 0a | 09 72 65 67 69 73 74 65 |nt.len;.|.registe|
|00004760| 72 20 69 6e 74 09 6e 3b | 0a 09 72 65 67 69 73 74 |r int.n;|..regist|
|00004770| 65 72 20 69 6e 74 09 6e | 65 78 74 5f 63 6f 6c 3b |er int.n|ext_col;|
|00004780| 0a 0a 09 73 77 69 74 63 | 68 20 28 63 68 61 72 73 |...switc|h (chars|
|00004790| 65 74 29 20 7b 0a 09 63 | 61 73 65 20 27 41 27 3a |et) {..c|ase 'A':|
|000047a0| 09 2f 2a 20 55 6e 69 74 | 65 64 20 4b 69 6e 67 64 |./* Unit|ed Kingd|
|000047b0| 6f 6d 20 73 65 74 09 09 | 09 09 2a 2f 0a 09 09 66 |om set..|..*/...f|
|000047c0| 6f 72 20 28 73 3d 62 75 | 66 3b 20 73 3c 70 74 72 |or (s=bu|f; s<ptr|
|000047d0| 3b 20 2b 2b 73 29 0a 09 | 09 09 69 66 20 28 2a 73 |; ++s)..|..if (*s|
|000047e0| 20 3d 3d 20 27 23 27 29 | 0a 09 09 09 09 2a 73 20 | == '#')|.....*s |
|000047f0| 3d 20 27 5c 30 33 36 27 | 3b 09 2f 2a 20 55 4b 20 |= '\036'|;./* UK |
|00004800| 70 6f 75 6e 64 20 73 69 | 67 6e 09 2a 2f 0a 09 09 |pound si|gn.*/...|
|00004810| 62 72 65 61 6b 3b 0a 0a | 09 63 61 73 65 20 27 42 |break;..|.case 'B|
|00004820| 27 3a 09 2f 2a 20 41 53 | 43 49 49 20 73 65 74 09 |':./* AS|CII set.|
|00004830| 09 09 09 09 2a 2f 0a 09 | 09 62 72 65 61 6b 3b 0a |....*/..|.break;.|
|00004840| 0a 09 63 61 73 65 20 27 | 30 27 3a 09 2f 2a 20 73 |..case '|0':./* s|
|00004850| 70 65 63 69 61 6c 20 67 | 72 61 70 68 69 63 73 20 |pecial g|raphics |
|00004860| 28 6c 69 6e 65 20 64 72 | 61 77 69 6e 67 29 09 09 |(line dr|awing)..|
|00004870| 2a 2f 0a 09 09 66 6f 72 | 20 28 73 3d 62 75 66 3b |*/...for| (s=buf;|
|00004880| 20 73 3c 70 74 72 3b 20 | 2b 2b 73 29 0a 09 09 09 | s<ptr; |++s)....|
|00004890| 69 66 20 28 2a 73 3e 3d | 30 78 35 66 20 26 26 20 |if (*s>=|0x5f && |
|000048a0| 2a 73 3c 3d 30 78 37 65 | 29 0a 09 09 09 09 2a 73 |*s<=0x7e|).....*s|
|000048b0| 20 3d 20 2a 73 20 3d 3d | 20 30 78 35 66 20 3f 20 | = *s ==| 0x5f ? |
|000048c0| 30 78 37 66 20 3a 20 2a | 73 20 2d 20 30 78 35 66 |0x7f : *|s - 0x5f|
|000048d0| 3b 0a 09 09 62 72 65 61 | 6b 3b 0a 0a 09 64 65 66 |;...brea|k;...def|
|000048e0| 61 75 6c 74 3a 09 2f 2a | 20 61 6e 79 20 63 68 61 |ault:./*| any cha|
|000048f0| 72 61 63 74 65 72 20 73 | 65 74 73 20 77 65 20 64 |racter s|ets we d|
|00004900| 6f 6e 27 74 20 72 65 63 | 6f 67 6e 69 7a 65 09 2a |on't rec|ognize.*|
|00004910| 2f 0a 09 09 72 65 74 75 | 72 6e 3b 0a 09 7d 0a 0a |/...retu|rn;..}..|
|00004920| 09 6c 65 6e 20 3d 20 70 | 74 72 20 2d 20 62 75 66 |.len = p|tr - buf|
|00004930| 3b 20 0a 09 70 74 72 20 | 3d 20 62 75 66 3b 0a 09 |; ..ptr |= buf;..|
|00004940| 77 68 69 6c 65 20 28 6c | 65 6e 20 3e 20 30 29 20 |while (l|en > 0) |
|00004950| 7b 0a 09 09 6e 20 3d 20 | 73 63 72 65 65 6e 2d 3e |{...n = |screen->|
|00004960| 6d 61 78 5f 63 6f 6c 2d | 73 63 72 65 65 6e 2d 3e |max_col-|screen->|
|00004970| 63 75 72 5f 63 6f 6c 2b | 31 3b 0a 09 09 69 66 20 |cur_col+|1;...if |
|00004980| 28 6e 20 3c 3d 20 31 29 | 20 7b 0a 09 09 09 69 66 |(n <= 1)| {....if|
|00004990| 20 28 73 63 72 65 65 6e | 2d 3e 64 6f 5f 77 72 61 | (screen|->do_wra|
|000049a0| 70 20 26 26 20 28 66 6c | 61 67 73 26 57 52 41 50 |p && (fl|ags&WRAP|
|000049b0| 41 52 4f 55 4e 44 29 20 | 26 26 0a 09 09 09 20 21 |AROUND) |&&.... !|
|000049c0| 73 63 72 65 65 6e 2d 3e | 69 6e 73 74 61 74 75 73 |screen->|instatus|
|000049d0| 29 20 7b 0a 09 09 09 09 | 49 6e 64 65 78 28 73 63 |) {.....|Index(sc|
|000049e0| 72 65 65 6e 2c 20 31 29 | 3b 0a 09 09 09 09 73 63 |reen, 1)|;.....sc|
|000049f0| 72 65 65 6e 2d 3e 63 75 | 72 5f 63 6f 6c 20 3d 20 |reen->cu|r_col = |
|00004a00| 30 3b 0a 09 09 09 09 73 | 63 72 65 65 6e 2d 3e 64 |0;.....s|creen->d|
|00004a10| 6f 5f 77 72 61 70 20 3d | 20 30 3b 0a 09 09 09 09 |o_wrap =| 0;.....|
|00004a20| 6e 20 3d 20 73 63 72 65 | 65 6e 2d 3e 6d 61 78 5f |n = scre|en->max_|
|00004a30| 63 6f 6c 2b 31 3b 0a 09 | 09 09 7d 20 65 6c 73 65 |col+1;..|..} else|
|00004a40| 0a 09 09 09 09 6e 20 3d | 20 31 3b 0a 09 09 7d 0a |.....n =| 1;...}.|
|00004a50| 09 09 69 66 20 28 6c 65 | 6e 20 3c 20 6e 29 0a 09 |..if (le|n < n)..|
|00004a60| 09 09 6e 20 3d 20 6c 65 | 6e 3b 0a 09 09 6e 65 78 |..n = le|n;...nex|
|00004a70| 74 5f 63 6f 6c 20 3d 20 | 73 63 72 65 65 6e 2d 3e |t_col = |screen->|
|00004a80| 63 75 72 5f 63 6f 6c 20 | 2b 20 6e 3b 0a 09 09 57 |cur_col |+ n;...W|
|00004a90| 72 69 74 65 54 65 78 74 | 28 73 63 72 65 65 6e 2c |riteText|(screen,|
|00004aa0| 20 70 74 72 2c 20 6e 2c | 20 66 6c 61 67 73 29 3b | ptr, n,| flags);|
|00004ab0| 0a 09 09 2f 2a 0a 09 09 | 20 2a 20 74 68 65 20 63 |.../*...| * the c|
|00004ac0| 61 6c 6c 20 74 6f 20 57 | 72 69 74 65 54 65 78 74 |all to W|riteText|
|00004ad0| 20 75 70 64 61 74 65 73 | 20 73 63 72 65 65 6e 2d | updates| screen-|
|00004ae0| 3e 63 75 72 5f 63 6f 6c | 2e 0a 09 09 20 2a 20 49 |>cur_col|.... * I|
|00004af0| 66 20 73 63 72 65 65 6e | 2d 3e 63 75 72 5f 63 6f |f screen|->cur_co|
|00004b00| 6c 20 21 3d 20 6e 65 78 | 74 5f 63 6f 6c 2c 20 77 |l != nex|t_col, w|
|00004b10| 65 20 6d 75 73 74 20 68 | 61 76 65 0a 09 09 20 2a |e must h|ave... *|
|00004b20| 20 68 69 74 20 74 68 65 | 20 72 69 67 68 74 20 6d | hit the| right m|
|00004b30| 61 72 67 69 6e 2c 20 73 | 6f 20 73 65 74 20 74 68 |argin, s|o set th|
|00004b40| 65 20 64 6f 5f 77 72 61 | 70 20 66 6c 61 67 2e 0a |e do_wra|p flag..|
|00004b50| 09 09 20 2a 2f 0a 09 09 | 73 63 72 65 65 6e 2d 3e |.. */...|screen->|
|00004b60| 64 6f 5f 77 72 61 70 20 | 3d 20 28 73 63 72 65 65 |do_wrap |= (scree|
|00004b70| 6e 2d 3e 63 75 72 5f 63 | 6f 6c 20 3c 20 6e 65 78 |n->cur_c|ol < nex|
|00004b80| 74 5f 63 6f 6c 29 3b 0a | 09 09 6c 65 6e 20 2d 3d |t_col);.|..len -=|
|00004b90| 20 6e 3b 0a 09 09 70 74 | 72 20 2b 3d 20 6e 3b 0a | n;...pt|r += n;.|
|00004ba0| 09 7d 0a 7d 0a 20 0a 2f | 2a 0a 20 2a 20 77 72 69 |.}.}. ./|*. * wri|
|00004bb0| 74 65 20 61 20 73 74 72 | 69 6e 67 20 73 74 72 20 |te a str|ing str |
|00004bc0| 6f 66 20 6c 65 6e 67 74 | 68 20 6c 65 6e 20 6f 6e |of lengt|h len on|
|00004bd0| 74 6f 20 74 68 65 20 73 | 63 72 65 65 6e 20 61 74 |to the s|creen at|
|00004be0| 0a 20 2a 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |. * the |current |
|00004bf0| 63 75 72 73 6f 72 20 70 | 6f 73 69 74 69 6f 6e 2e |cursor p|osition.|
|00004c00| 20 20 75 70 64 61 74 65 | 20 63 75 72 73 6f 72 20 | update| cursor |
|00004c10| 70 6f 73 69 74 69 6f 6e | 2e 0a 20 2a 2f 0a 57 72 |position|.. */.Wr|
|00004c20| 69 74 65 54 65 78 74 28 | 73 63 72 65 65 6e 2c 20 |iteText(|screen, |
|00004c30| 73 74 72 2c 20 6c 65 6e | 2c 20 66 6c 61 67 73 29 |str, len|, flags)|
|00004c40| 0a 72 65 67 69 73 74 65 | 72 20 53 63 72 65 65 6e |.registe|r Screen|
|00004c50| 09 2a 73 63 72 65 65 6e | 3b 0a 72 65 67 69 73 74 |.*screen|;.regist|
|00004c60| 65 72 20 63 68 61 72 09 | 2a 73 74 72 3b 0a 72 65 |er char.|*str;.re|
|00004c70| 67 69 73 74 65 72 20 69 | 6e 74 09 6c 65 6e 3b 0a |gister i|nt.len;.|
|00004c80| 75 6e 73 69 67 6e 65 64 | 09 66 6c 61 67 73 3b 0a |unsigned|.flags;.|
|00004c90| 7b 0a 09 72 65 67 69 73 | 74 65 72 20 69 6e 74 20 |{..regis|ter int |
|00004ca0| 70 69 78 2c 20 63 78 2c | 20 63 79 3b 0a 09 72 65 |pix, cx,| cy;..re|
|00004cb0| 67 69 73 74 65 72 20 75 | 6e 73 69 67 6e 65 64 20 |gister u|nsigned |
|00004cc0| 66 67 73 20 3d 20 66 6c | 61 67 73 3b 0a 09 46 6f |fgs = fl|ags;..Fo|
|00004cd0| 6e 74 09 66 6e 74 3b 0a | 20 0a 20 20 20 69 66 28 |nt.fnt;.| . if(|
|00004ce0| 73 63 72 65 65 6e 2d 3e | 69 6e 73 74 61 74 75 73 |screen->|instatus|
|00004cf0| 20 26 26 20 73 63 72 65 | 65 6e 2d 3e 72 65 76 65 | && scre|en->reve|
|00004d00| 72 73 65 73 74 61 74 75 | 73 29 0a 09 66 67 73 20 |rsestatu|s)..fgs |
|00004d10| 5e 3d 20 49 4e 56 45 52 | 53 45 3b 0a 20 20 20 69 |^= INVER|SE;. i|
|00004d20| 66 28 73 63 72 65 65 6e | 2d 3e 63 75 72 5f 72 6f |f(screen|->cur_ro|
|00004d30| 77 20 2d 20 73 63 72 65 | 65 6e 2d 3e 74 6f 70 6c |w - scre|en->topl|
|00004d40| 69 6e 65 20 3c 3d 20 73 | 63 72 65 65 6e 2d 3e 6d |ine <= s|creen->m|
|00004d50| 61 78 5f 72 6f 77 20 7c | 7c 0a 20 20 20 20 20 73 |ax_row |||. s|
|00004d60| 63 72 65 65 6e 2d 3e 69 | 6e 73 74 61 74 75 73 29 |creen->i|nstatus)|
|00004d70| 20 7b 0a 09 2f 2a 0a 09 | 69 66 28 73 63 72 65 65 | {../*..|if(scree|
|00004d80| 6e 2d 3e 63 75 72 5f 72 | 6f 77 20 3d 3d 20 73 63 |n->cur_r|ow == sc|
|00004d90| 72 65 65 6e 2d 3e 63 75 | 72 73 6f 72 5f 72 6f 77 |reen->cu|rsor_row|
|00004da0| 20 26 26 20 73 63 72 65 | 65 6e 2d 3e 63 75 72 5f | && scre|en->cur_|
|00004db0| 63 6f 6c 20 3c 3d 0a 09 | 20 73 63 72 65 65 6e 2d |col <=..| screen-|
|00004dc0| 3e 63 75 72 73 6f 72 5f | 63 6f 6c 20 26 26 20 73 |>cursor_|col && s|
|00004dd0| 63 72 65 65 6e 2d 3e 63 | 75 72 73 6f 72 5f 63 6f |creen->c|ursor_co|
|00004de0| 6c 20 3c 3d 20 73 63 72 | 65 65 6e 2d 3e 63 75 72 |l <= scr|een->cur|
|00004df0| 5f 63 6f 6c 20 2b 20 6c | 65 6e 20 2d 20 31 29 0a |_col + l|en - 1).|
|00004e00| 09 09 73 63 72 65 65 6e | 2d 3e 63 75 72 73 6f 72 |..screen|->cursor|
|00004e10| 5f 73 74 61 74 65 20 3d | 20 4f 46 46 3b 0a 09 20 |_state =| OFF;.. |
|00004e20| 2a 2f 0a 09 69 66 28 73 | 63 72 65 65 6e 2d 3e 63 |*/..if(s|creen->c|
|00004e30| 75 72 73 6f 72 5f 73 74 | 61 74 65 29 0a 09 09 48 |ursor_st|ate)...H|
|00004e40| 69 64 65 43 75 72 73 6f | 72 28 29 3b 0a 20 09 66 |ideCurso|r();. .f|
|00004e50| 6e 74 20 3d 20 41 63 74 | 69 76 65 49 63 6f 6e 28 |nt = Act|iveIcon(|
|00004e60| 73 63 72 65 65 6e 29 20 | 3f 20 73 63 72 65 65 6e |screen) |? screen|
|00004e70| 2d 3e 66 6e 74 5f 69 63 | 6f 6e 0a 09 20 20 20 20 |->fnt_ic|on.. |
|00004e80| 20 20 3a 20 28 66 67 73 | 20 26 20 42 4f 4c 44 29 | : (fgs| & BOLD)|
|00004e90| 20 3f 20 73 63 72 65 65 | 6e 2d 3e 66 6e 74 5f 62 | ? scree|n->fnt_b|
|00004ea0| 6f 6c 64 20 3a 20 73 63 | 72 65 65 6e 2d 3e 66 6e |old : sc|reen->fn|
|00004eb0| 74 5f 6e 6f 72 6d 3b 0a | 09 69 66 20 28 66 67 73 |t_norm;.|.if (fgs|
|00004ec0| 20 26 20 49 4e 53 45 52 | 54 29 0a 09 09 49 6e 73 | & INSER|T)...Ins|
|00004ed0| 65 72 74 43 68 61 72 28 | 73 63 72 65 65 6e 2c 20 |ertChar(|screen, |
|00004ee0| 6c 65 6e 29 3b 0a 20 20 | 20 20 20 20 69 66 20 28 |len);. | if (|
|00004ef0| 21 28 41 64 64 54 6f 52 | 65 66 72 65 73 68 28 73 |!(AddToR|efresh(s|
|00004f00| 63 72 65 65 6e 29 29 29 | 20 7b 0a 09 09 69 66 28 |creen)))| {...if(|
|00004f10| 73 63 72 65 65 6e 2d 3e | 73 63 72 6f 6c 6c 5f 61 |screen->|scroll_a|
|00004f20| 6d 74 29 0a 09 09 09 46 | 6c 75 73 68 53 63 72 6f |mt)....F|lushScro|
|00004f30| 6c 6c 28 73 63 72 65 65 | 6e 29 3b 0a 09 63 78 20 |ll(scree|n);..cx |
|00004f40| 3d 20 43 75 72 73 6f 72 | 58 28 73 63 72 65 65 6e |= Cursor|X(screen|
|00004f50| 2c 20 73 63 72 65 65 6e | 2d 3e 63 75 72 5f 63 6f |, screen|->cur_co|
|00004f60| 6c 29 3b 0a 09 63 79 20 | 3d 20 43 75 72 73 6f 72 |l);..cy |= Cursor|
|00004f70| 59 28 73 63 72 65 65 6e | 2c 20 73 63 72 65 65 6e |Y(screen|, screen|
|00004f80| 2d 3e 63 75 72 5f 72 6f | 77 29 3b 0a 09 69 66 20 |->cur_ro|w);..if |
|00004f90| 28 73 63 72 65 65 6e 2d | 3e 73 68 6f 77 20 7c 7c |(screen-|>show |||
|00004fa0| 20 41 63 74 69 76 65 49 | 63 6f 6e 28 73 63 72 65 | ActiveI|con(scre|
|00004fb0| 65 6e 29 29 20 7b 0a 09 | 20 20 20 20 69 66 20 28 |en)) {..| if (|
|00004fc0| 66 67 73 20 26 20 49 4e | 56 45 52 53 45 29 0a 09 |fgs & IN|VERSE)..|
|00004fd0| 09 58 54 65 78 74 28 56 | 57 69 6e 64 6f 77 28 73 |.XText(V|Window(s|
|00004fe0| 63 72 65 65 6e 29 2c 20 | 63 78 2c 20 63 79 2c 20 |creen), |cx, cy, |
|00004ff0| 73 74 72 2c 20 6c 65 6e | 2c 20 66 6e 74 2c 0a 09 |str, len|, fnt,..|
|00005000| 09 20 70 69 78 20 3d 20 | 73 63 72 65 65 6e 2d 3e |. pix = |screen->|
|00005010| 62 61 63 6b 67 72 6f 75 | 6e 64 2c 20 73 63 72 65 |backgrou|nd, scre|
|00005020| 65 6e 2d 3e 66 6f 72 65 | 67 72 6f 75 6e 64 29 3b |en->fore|ground);|
|00005030| 0a 09 20 20 20 20 65 6c | 73 65 0a 09 20 09 58 54 |.. el|se.. .XT|
|00005040| 65 78 74 28 56 57 69 6e | 64 6f 77 28 73 63 72 65 |ext(VWin|dow(scre|
|00005050| 65 6e 29 2c 20 63 78 2c | 20 63 79 2c 20 73 74 72 |en), cx,| cy, str|
|00005060| 2c 20 6c 65 6e 2c 20 66 | 6e 74 2c 0a 09 09 20 70 |, len, f|nt,... p|
|00005070| 69 78 20 3d 20 73 63 72 | 65 65 6e 2d 3e 66 6f 72 |ix = scr|een->for|
|00005080| 65 67 72 6f 75 6e 64 2c | 20 73 63 72 65 65 6e 2d |eground,| screen-|
|00005090| 3e 62 61 63 6b 67 72 6f | 75 6e 64 29 3b 0a 09 20 |>backgro|und);.. |
|000050a0| 20 20 20 69 66 28 28 66 | 67 73 20 26 20 42 4f 4c | if((f|gs & BOL|
|000050b0| 44 29 20 26 26 20 73 63 | 72 65 65 6e 2d 3e 65 6e |D) && sc|reen->en|
|000050c0| 62 6f 6c 64 65 6e 29 0a | 09 09 58 54 65 78 74 4d |bolden).|..XTextM|
|000050d0| 61 73 6b 28 56 57 69 6e | 64 6f 77 28 73 63 72 65 |ask(VWin|dow(scre|
|000050e0| 65 6e 29 2c 20 63 78 20 | 2b 20 31 2c 20 63 79 2c |en), cx |+ 1, cy,|
|000050f0| 20 73 74 72 2c 20 6c 65 | 6e 2c 20 66 6e 74 2c 20 | str, le|n, fnt, |
|00005100| 70 69 78 29 3b 0a 09 20 | 20 20 20 69 66 28 66 67 |pix);.. | if(fg|
|00005110| 73 20 26 20 55 4e 44 45 | 52 4c 49 4e 45 29 20 7b |s & UNDE|RLINE) {|
|00005120| 0a 09 09 63 79 20 2b 3d | 20 46 6f 6e 74 48 65 69 |...cy +=| FontHei|
|00005130| 67 68 74 28 73 63 72 65 | 65 6e 29 20 2d 20 32 3b |ght(scre|en) - 2;|
|00005140| 0a 09 09 58 4c 69 6e 65 | 28 56 57 69 6e 64 6f 77 |...XLine|(VWindow|
|00005150| 28 73 63 72 65 65 6e 29 | 2c 20 63 78 2c 20 63 79 |(screen)|, cx, cy|
|00005160| 2c 20 63 78 20 2b 20 6c | 65 6e 20 2a 20 46 6f 6e |, cx + l|en * Fon|
|00005170| 74 57 69 64 74 68 28 73 | 63 72 65 65 6e 29 2c 0a |tWidth(s|creen),.|
|00005180| 09 09 20 63 79 2c 20 31 | 2c 20 31 2c 20 70 69 78 |.. cy, 1|, 1, pix|
|00005190| 2c 20 47 58 63 6f 70 79 | 2c 20 41 6c 6c 50 6c 61 |, GXcopy|, AllPla|
|000051a0| 6e 65 73 29 3b 0a 09 20 | 20 20 20 7d 0a 09 7d 0a |nes);.. | }..}.|
|000051b0| 09 2f 2a 0a 09 20 2a 20 | 74 68 65 20 66 6f 6c 6c |./*.. * |the foll|
|000051c0| 6f 77 69 6e 67 20 73 74 | 61 74 65 6d 65 6e 74 73 |owing st|atements|
|000051d0| 20 63 6f 6d 70 69 6c 65 | 20 64 61 74 61 20 74 6f | compile| data to|
|000051e0| 20 63 6f 6d 70 75 74 65 | 20 74 68 65 20 61 76 65 | compute| the ave|
|000051f0| 72 61 67 65 20 0a 09 20 | 2a 20 6e 75 6d 62 65 72 |rage .. |* number|
|00005200| 20 6f 66 20 63 68 61 72 | 61 63 74 65 72 73 20 77 | of char|acters w|
|00005210| 72 69 74 74 65 6e 20 6f | 6e 20 65 61 63 68 20 63 |ritten o|n each c|
|00005220| 61 6c 6c 20 74 6f 20 58 | 54 65 78 74 2e 20 20 54 |all to X|Text. T|
|00005230| 68 65 20 64 61 74 61 0a | 09 20 2a 20 6d 61 79 20 |he data.|. * may |
|00005240| 62 65 20 65 78 61 6d 69 | 6e 65 64 20 76 69 61 20 |be exami|ned via |
|00005250| 74 68 65 20 75 73 65 20 | 6f 66 20 61 20 22 68 69 |the use |of a "hi|
|00005260| 64 64 65 6e 22 20 65 73 | 63 61 70 65 20 73 65 71 |dden" es|cape seq|
|00005270| 75 65 6e 63 65 2e 0a 09 | 20 2a 2f 0a 09 63 74 6f |uence...| */..cto|
|00005280| 74 61 6c 20 2b 3d 20 6c | 65 6e 3b 0a 09 2b 2b 6e |tal += l|en;..++n|
|00005290| 74 6f 74 61 6c 3b 0a 20 | 20 20 20 20 20 7d 0a 20 |total;. | }. |
|000052a0| 20 20 20 7d 0a 09 53 63 | 72 65 65 6e 57 72 69 74 | }..Sc|reenWrit|
|000052b0| 65 28 73 63 72 65 65 6e | 2c 20 73 74 72 2c 20 66 |e(screen|, str, f|
|000052c0| 6c 61 67 73 2c 20 6c 65 | 6e 29 3b 0a 09 43 75 72 |lags, le|n);..Cur|
|000052d0| 73 6f 72 46 6f 72 77 61 | 72 64 28 73 63 72 65 65 |sorForwa|rd(scree|
|000052e0| 6e 2c 20 6c 65 6e 29 3b | 0a 7d 0a 20 0a 2f 2a 0a |n, len);|.}. ./*.|
|000052f0| 20 2a 20 70 72 6f 63 65 | 73 73 20 41 4e 53 49 20 | * proce|ss ANSI |
|00005300| 6d 6f 64 65 73 20 73 65 | 74 2c 20 72 65 73 65 74 |modes se|t, reset|
|00005310| 0a 20 2a 2f 0a 6d 6f 64 | 65 73 28 74 65 72 6d 2c |. */.mod|es(term,|
|00005320| 20 66 75 6e 63 29 0a 54 | 65 72 6d 69 6e 61 6c 09 | func).T|erminal.|
|00005330| 2a 74 65 72 6d 3b 0a 69 | 6e 74 09 09 28 2a 66 75 |*term;.i|nt..(*fu|
|00005340| 6e 63 29 28 29 3b 0a 7b | 0a 09 72 65 67 69 73 74 |nc)();.{|..regist|
|00005350| 65 72 20 53 63 72 65 65 | 6e 09 2a 73 63 72 65 65 |er Scree|n.*scree|
|00005360| 6e 09 3d 20 26 74 65 72 | 6d 2d 3e 73 63 72 65 65 |n.= &ter|m->scree|
|00005370| 6e 3b 0a 09 72 65 67 69 | 73 74 65 72 20 69 6e 74 |n;..regi|ster int|
|00005380| 09 69 3b 0a 0a 09 66 6f | 72 20 28 69 3d 30 3b 20 |.i;...fo|r (i=0; |
|00005390| 69 3c 6e 70 61 72 61 6d | 3b 20 2b 2b 69 29 20 7b |i<nparam|; ++i) {|
|000053a0| 0a 09 09 73 77 69 74 63 | 68 20 28 70 61 72 61 6d |...switc|h (param|
|000053b0| 5b 69 5d 29 20 7b 0a 09 | 09 63 61 73 65 20 34 3a |[i]) {..|.case 4:|
|000053c0| 09 09 09 2f 2a 20 49 52 | 4d 09 09 09 09 2a 2f 0a |.../* IR|M....*/.|
|000053d0| 09 09 09 28 2a 66 75 6e | 63 29 28 26 74 65 72 6d |...(*fun|c)(&term|
|000053e0| 2d 3e 66 6c 61 67 73 2c | 20 49 4e 53 45 52 54 29 |->flags,| INSERT)|
|000053f0| 3b 0a 09 09 09 62 72 65 | 61 6b 3b 0a 0a 09 09 63 |;....bre|ak;....c|
|00005400| 61 73 65 20 32 30 3a 09 | 09 2f 2a 20 4c 4e 4d 09 |ase 20:.|./* LNM.|
|00005410| 09 09 09 2a 2f 0a 09 09 | 09 28 2a 66 75 6e 63 29 |...*/...|.(*func)|
|00005420| 28 26 74 65 72 6d 2d 3e | 66 6c 61 67 73 2c 20 4c |(&term->|flags, L|
|00005430| 49 4e 45 46 45 45 44 29 | 3b 0a 09 09 09 62 72 65 |INEFEED)|;....bre|
|00005440| 61 6b 3b 0a 09 09 7d 0a | 09 7d 0a 7d 0a 0a 2f 2a |ak;...}.|.}.}../*|
|00005450| 0a 20 2a 20 70 72 6f 63 | 65 73 73 20 44 45 43 20 |. * proc|ess DEC |
|00005460| 70 72 69 76 61 74 65 20 | 6d 6f 64 65 73 20 73 65 |private |modes se|
|00005470| 74 2c 20 72 65 73 65 74 | 0a 20 2a 2f 0a 64 70 6d |t, reset|. */.dpm|
|00005480| 6f 64 65 73 28 74 65 72 | 6d 2c 20 66 75 6e 63 29 |odes(ter|m, func)|
|00005490| 0a 54 65 72 6d 69 6e 61 | 6c 09 2a 74 65 72 6d 3b |.Termina|l.*term;|
|000054a0| 0a 69 6e 74 09 09 28 2a | 66 75 6e 63 29 28 29 3b |.int..(*|func)();|
|000054b0| 0a 7b 0a 09 72 65 67 69 | 73 74 65 72 20 53 63 72 |.{..regi|ster Scr|
|000054c0| 65 65 6e 09 2a 73 63 72 | 65 65 6e 09 3d 20 26 74 |een.*scr|een.= &t|
|000054d0| 65 72 6d 2d 3e 73 63 72 | 65 65 6e 3b 0a 09 72 65 |erm->scr|een;..re|
|000054e0| 67 69 73 74 65 72 20 69 | 6e 74 09 69 2c 20 6a 3b |gister i|nt.i, j;|
|000054f0| 0a 09 65 78 74 65 72 6e | 20 69 6e 74 20 62 69 74 |..extern| int bit|
|00005500| 73 65 74 28 29 3b 0a 0a | 09 66 6f 72 20 28 69 3d |set();..|.for (i=|
|00005510| 30 3b 20 69 3c 6e 70 61 | 72 61 6d 3b 20 2b 2b 69 |0; i<npa|ram; ++i|
|00005520| 29 20 7b 0a 09 09 73 77 | 69 74 63 68 20 28 70 61 |) {...sw|itch (pa|
|00005530| 72 61 6d 5b 69 5d 29 20 | 7b 0a 09 09 63 61 73 65 |ram[i]) |{...case|
|00005540| 20 31 3a 09 09 09 2f 2a | 20 44 45 43 43 4b 4d 09 | 1:.../*| DECCKM.|
|00005550| 09 09 2a 2f 0a 09 09 09 | 28 2a 66 75 6e 63 29 28 |..*/....|(*func)(|
|00005560| 26 74 65 72 6d 2d 3e 6b | 65 79 62 6f 61 72 64 2e |&term->k|eyboard.|
|00005570| 66 6c 61 67 73 2c 20 43 | 55 52 53 4f 52 5f 41 50 |flags, C|URSOR_AP|
|00005580| 4c 29 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 09 09 |L);....b|reak;...|
|00005590| 63 61 73 65 20 33 3a 09 | 09 09 2f 2a 20 44 45 43 |case 3:.|../* DEC|
|000055a0| 43 4f 4c 4d 09 09 09 2a | 2f 0a 09 09 09 69 66 28 |COLM...*|/....if(|
|000055b0| 73 63 72 65 65 6e 2d 3e | 63 31 33 32 29 20 7b 0a |screen->|c132) {.|
|000055c0| 09 09 09 09 43 6c 65 61 | 72 53 63 72 65 65 6e 28 |....Clea|rScreen(|
|000055d0| 73 63 72 65 65 6e 29 3b | 0a 09 09 09 09 43 75 72 |screen);|.....Cur|
|000055e0| 73 6f 72 53 65 74 28 73 | 63 72 65 65 6e 2c 20 30 |sorSet(s|creen, 0|
|000055f0| 2c 20 30 2c 20 74 65 72 | 6d 2d 3e 66 6c 61 67 73 |, 0, ter|m->flags|
|00005600| 29 3b 0a 09 09 09 09 69 | 66 28 28 6a 20 3d 20 66 |);.....i|f((j = f|
|00005610| 75 6e 63 20 3d 3d 20 62 | 69 74 73 65 74 20 3f 20 |unc == b|itset ? |
|00005620| 31 33 32 20 3a 20 38 30 | 29 20 21 3d 0a 09 09 09 |132 : 80|) !=....|
|00005630| 09 20 28 28 74 65 72 6d | 2d 3e 66 6c 61 67 73 20 |. ((term|->flags |
|00005640| 26 20 49 4e 31 33 32 43 | 4f 4c 55 4d 4e 53 29 20 |& IN132C|OLUMNS) |
|00005650| 3f 20 31 33 32 20 3a 20 | 38 30 29 20 7c 7c 0a 09 |? 132 : |80) ||..|
|00005660| 09 09 09 20 6a 20 21 3d | 20 73 63 72 65 65 6e 2d |... j !=| screen-|
|00005670| 3e 6d 61 78 5f 63 6f 6c | 20 2b 20 31 29 20 7b 0a |>max_col| + 1) {.|
|00005680| 09 09 09 09 09 58 43 68 | 61 6e 67 65 57 69 6e 64 |.....XCh|angeWind|
|00005690| 6f 77 20 28 56 57 69 6e | 64 6f 77 28 73 63 72 65 |ow (VWin|dow(scre|
|000056a0| 65 6e 29 2c 0a 09 09 09 | 09 09 20 46 6f 6e 74 57 |en),....|.. FontW|
|000056b0| 69 64 74 68 28 73 63 72 | 65 65 6e 29 20 2a 20 6a |idth(scr|een) * j|
|000056c0| 20 2b 20 32 2a 73 63 72 | 65 65 6e 2d 3e 62 6f 72 | + 2*scr|een->bor|
|000056d0| 64 65 72 0a 09 09 09 09 | 09 20 2b 20 73 63 72 65 |der.....|. + scre|
|000056e0| 65 6e 2d 3e 73 63 72 6f | 6c 6c 62 61 72 2c 0a 09 |en->scro|llbar,..|
|000056f0| 09 09 09 09 20 46 6f 6e | 74 48 65 69 67 68 74 28 |.... Fon|tHeight(|
|00005700| 73 63 72 65 65 6e 29 20 | 2a 20 28 73 63 72 65 65 |screen) |* (scree|
|00005710| 6e 2d 3e 6d 61 78 5f 72 | 6f 77 0a 09 09 09 09 09 |n->max_r|ow......|
|00005720| 20 2b 20 31 29 20 2b 20 | 73 63 72 65 65 6e 2d 3e | + 1) + |screen->|
|00005730| 73 74 61 74 75 73 68 65 | 69 67 68 74 20 2b 0a 09 |statushe|ight +..|
|00005740| 09 09 09 09 20 54 69 74 | 6c 65 62 61 72 28 73 63 |.... Tit|lebar(sc|
|00005750| 72 65 65 6e 29 20 2b 20 | 32 20 2a 20 73 63 72 65 |reen) + |2 * scre|
|00005760| 65 6e 2d 3e 62 6f 72 64 | 65 72 29 3b 0a 09 09 09 |en->bord|er);....|
|00005770| 09 09 58 53 79 6e 63 28 | 46 41 4c 53 45 29 3b 09 |..XSync(|FALSE);.|
|00005780| 2f 2a 20 73 79 6e 63 68 | 72 6f 6e 69 7a 65 20 2a |/* synch|ronize *|
|00005790| 2f 0a 09 09 09 09 09 69 | 66 28 51 4c 65 6e 67 74 |/......i|f(QLengt|
|000057a0| 68 28 29 20 3e 20 30 29 | 0a 09 09 09 09 09 09 78 |h() > 0)|.......x|
|000057b0| 65 76 65 6e 74 73 28 29 | 3b 0a 09 09 09 09 7d 0a |events()|;.....}.|
|000057c0| 09 09 09 09 28 2a 66 75 | 6e 63 29 28 26 74 65 72 |....(*fu|nc)(&ter|
|000057d0| 6d 2d 3e 66 6c 61 67 73 | 2c 20 49 4e 31 33 32 43 |m->flags|, IN132C|
|000057e0| 4f 4c 55 4d 4e 53 29 3b | 0a 09 09 09 7d 0a 09 09 |OLUMNS);|....}...|
|000057f0| 09 62 72 65 61 6b 3b 0a | 09 09 63 61 73 65 20 34 |.break;.|..case 4|
|00005800| 3a 09 09 09 2f 2a 20 44 | 45 43 53 43 4c 4d 20 28 |:.../* D|ECSCLM (|
|00005810| 73 6c 6f 77 20 73 63 72 | 6f 6c 6c 29 09 2a 2f 0a |slow scr|oll).*/.|
|00005820| 09 09 09 69 66 20 28 66 | 75 6e 63 20 3d 3d 20 62 |...if (f|unc == b|
|00005830| 69 74 73 65 74 29 20 7b | 0a 09 09 09 09 73 63 72 |itset) {|.....scr|
|00005840| 65 65 6e 2d 3e 6a 75 6d | 70 73 63 72 6f 6c 6c 20 |een->jum|pscroll |
|00005850| 3d 20 30 3b 0a 09 09 09 | 09 69 66 20 28 73 63 72 |= 0;....|.if (scr|
|00005860| 65 65 6e 2d 3e 73 63 72 | 6f 6c 6c 5f 61 6d 74 29 |een->scr|oll_amt)|
|00005870| 0a 09 09 09 09 09 46 6c | 75 73 68 53 63 72 6f 6c |......Fl|ushScrol|
|00005880| 6c 28 73 63 72 65 65 6e | 29 3b 0a 09 09 09 7d 20 |l(screen|);....} |
|00005890| 65 6c 73 65 0a 09 09 09 | 09 73 63 72 65 65 6e 2d |else....|.screen-|
|000058a0| 3e 6a 75 6d 70 73 63 72 | 6f 6c 6c 20 3d 20 31 3b |>jumpscr|oll = 1;|
|000058b0| 0a 09 09 09 28 2a 66 75 | 6e 63 29 28 26 74 65 72 |....(*fu|nc)(&ter|
|000058c0| 6d 2d 3e 66 6c 61 67 73 | 2c 20 53 4d 4f 4f 54 48 |m->flags|, SMOOTH|
|000058d0| 53 43 52 4f 4c 4c 29 3b | 0a 09 09 09 62 72 65 61 |SCROLL);|....brea|
|000058e0| 6b 3b 0a 09 09 63 61 73 | 65 20 35 3a 09 09 09 2f |k;...cas|e 5:.../|
|000058f0| 2a 20 44 45 43 53 43 4e | 4d 09 09 09 2a 2f 0a 09 |* DECSCN|M...*/..|
|00005900| 09 09 6a 20 3d 20 74 65 | 72 6d 2d 3e 66 6c 61 67 |..j = te|rm->flag|
|00005910| 73 3b 0a 09 09 09 28 2a | 66 75 6e 63 29 28 26 74 |s;....(*|func)(&t|
|00005920| 65 72 6d 2d 3e 66 6c 61 | 67 73 2c 20 52 45 56 45 |erm->fla|gs, REVE|
|00005930| 52 53 45 5f 56 49 44 45 | 4f 29 3b 0a 09 09 09 69 |RSE_VIDE|O);....i|
|00005940| 66 20 28 28 74 65 72 6d | 2d 3e 66 6c 61 67 73 20 |f ((term|->flags |
|00005950| 5e 20 6a 29 20 26 20 52 | 45 56 45 52 53 45 5f 56 |^ j) & R|EVERSE_V|
|00005960| 49 44 45 4f 29 0a 09 09 | 09 09 52 65 76 65 72 73 |IDEO)...|..Revers|
|00005970| 65 56 69 64 65 6f 28 74 | 65 72 6d 29 3b 0a 09 09 |eVideo(t|erm);...|
|00005980| 09 62 72 65 61 6b 3b 0a | 0a 09 09 63 61 73 65 20 |.break;.|...case |
|00005990| 36 3a 09 09 09 2f 2a 20 | 44 45 43 4f 4d 09 09 09 |6:.../* |DECOM...|
|000059a0| 2a 2f 0a 09 09 09 28 2a | 66 75 6e 63 29 28 26 74 |*/....(*|func)(&t|
|000059b0| 65 72 6d 2d 3e 66 6c 61 | 67 73 2c 20 4f 52 49 47 |erm->fla|gs, ORIG|
|000059c0| 49 4e 29 3b 0a 09 09 09 | 43 75 72 73 6f 72 53 65 |IN);....|CursorSe|
|000059d0| 74 28 73 63 72 65 65 6e | 2c 20 30 2c 20 30 2c 20 |t(screen|, 0, 0, |
|000059e0| 74 65 72 6d 2d 3e 66 6c | 61 67 73 29 3b 0a 09 09 |term->fl|ags);...|
|000059f0| 09 62 72 65 61 6b 3b 0a | 0a 09 09 63 61 73 65 20 |.break;.|...case |
|00005a00| 37 3a 09 09 09 2f 2a 20 | 44 45 43 41 57 4d 09 09 |7:.../* |DECAWM..|
|00005a10| 09 2a 2f 0a 09 09 09 28 | 2a 66 75 6e 63 29 28 26 |.*/....(|*func)(&|
|00005a20| 74 65 72 6d 2d 3e 66 6c | 61 67 73 2c 20 57 52 41 |term->fl|ags, WRA|
|00005a30| 50 41 52 4f 55 4e 44 29 | 3b 0a 09 09 09 62 72 65 |PAROUND)|;....bre|
|00005a40| 61 6b 3b 0a 09 09 63 61 | 73 65 20 38 3a 09 09 09 |ak;...ca|se 8:...|
|00005a50| 2f 2a 20 44 45 43 41 52 | 4d 09 09 09 2a 2f 0a 09 |/* DECAR|M...*/..|
|00005a60| 09 09 6a 20 3d 20 74 65 | 72 6d 2d 3e 66 6c 61 67 |..j = te|rm->flag|
|00005a70| 73 3b 0a 09 09 09 28 2a | 66 75 6e 63 29 28 26 74 |s;....(*|func)(&t|
|00005a80| 65 72 6d 2d 3e 66 6c 61 | 67 73 2c 20 41 55 54 4f |erm->fla|gs, AUTO|
|00005a90| 52 45 50 45 41 54 29 3b | 0a 09 09 09 69 66 20 28 |REPEAT);|....if (|
|00005aa0| 28 74 65 72 6d 2d 3e 66 | 6c 61 67 73 20 5e 20 6a |(term->f|lags ^ j|
|00005ab0| 29 20 26 20 41 55 54 4f | 52 45 50 45 41 54 29 0a |) & AUTO|REPEAT).|
|00005ac0| 09 09 09 09 69 66 28 74 | 65 72 6d 2d 3e 66 6c 61 |....if(t|erm->fla|
|00005ad0| 67 73 20 26 20 41 55 54 | 4f 52 45 50 45 41 54 29 |gs & AUT|OREPEAT)|
|00005ae0| 0a 09 09 09 09 09 58 41 | 75 74 6f 52 65 70 65 61 |......XA|utoRepea|
|00005af0| 74 4f 6e 28 29 3b 0a 09 | 09 09 09 65 6c 73 65 0a |tOn();..|...else.|
|00005b00| 09 09 09 09 09 58 41 75 | 74 6f 52 65 70 65 61 74 |.....XAu|toRepeat|
|00005b10| 4f 66 66 28 29 3b 0a 09 | 09 09 62 72 65 61 6b 3b |Off();..|..break;|
|00005b20| 0a 09 09 63 61 73 65 20 | 39 3a 09 09 09 2f 2a 20 |...case |9:.../* |
|00005b30| 4d 49 54 20 62 6f 67 75 | 73 20 73 65 71 75 65 6e |MIT bogu|s sequen|
|00005b40| 63 65 09 09 2a 2f 0a 09 | 09 09 28 2a 66 75 6e 63 |ce..*/..|..(*func|
|00005b50| 29 28 26 73 63 72 65 65 | 6e 2d 3e 73 65 6e 64 5f |)(&scree|n->send_|
|00005b60| 6d 6f 75 73 65 5f 70 6f | 73 2c 20 31 29 3b 0a 09 |mouse_po|s, 1);..|
|00005b70| 09 09 62 72 65 61 6b 3b | 0a 09 09 63 61 73 65 20 |..break;|...case |
|00005b80| 33 38 3a 09 09 2f 2a 20 | 44 45 43 54 45 4b 09 09 |38:../* |DECTEK..|
|00005b90| 09 2a 2f 0a 09 09 09 69 | 66 28 66 75 6e 63 20 3d |.*/....i|f(func =|
|00005ba0| 3d 20 62 69 74 73 65 74 | 20 26 20 21 28 73 63 72 |= bitset| & !(scr|
|00005bb0| 65 65 6e 2d 3e 69 6e 68 | 69 62 69 74 20 26 20 49 |een->inh|ibit & I|
|00005bc0| 5f 54 45 4b 29 29 20 7b | 0a 09 09 09 09 69 66 28 |_TEK)) {|.....if(|
|00005bd0| 73 63 72 65 65 6e 2d 3e | 6c 6f 67 67 69 6e 67 29 |screen->|logging)|
|00005be0| 20 7b 0a 09 09 09 09 09 | 46 6c 75 73 68 4c 6f 67 | {......|FlushLog|
|00005bf0| 28 73 63 72 65 65 6e 29 | 3b 0a 09 09 09 09 09 73 |(screen)|;......s|
|00005c00| 63 72 65 65 6e 2d 3e 6c | 6f 67 73 74 61 72 74 20 |creen->l|ogstart |
|00005c10| 3d 20 54 62 75 66 66 65 | 72 3b 0a 09 09 09 09 7d |= Tbuffe|r;.....}|
|00005c20| 0a 09 09 09 09 73 63 72 | 65 65 6e 2d 3e 54 65 6b |.....scr|een->Tek|
|00005c30| 45 6d 75 20 3d 20 54 52 | 55 45 3b 0a 09 09 09 7d |Emu = TR|UE;....}|
|00005c40| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 63 61 73 |....brea|k;...cas|
|00005c50| 65 20 34 30 3a 09 09 2f | 2a 20 31 33 32 20 63 6f |e 40:../|* 132 co|
|00005c60| 6c 75 6d 6e 20 6d 6f 64 | 65 09 09 2a 2f 0a 09 09 |lumn mod|e..*/...|
|00005c70| 09 28 2a 66 75 6e 63 29 | 28 26 73 63 72 65 65 6e |.(*func)|(&screen|
|00005c80| 2d 3e 63 31 33 32 2c 20 | 31 29 3b 0a 09 09 09 62 |->c132, |1);....b|
|00005c90| 72 65 61 6b 3b 0a 09 09 | 63 61 73 65 20 34 31 3a |reak;...|case 41:|
|00005ca0| 09 09 2f 2a 20 63 75 72 | 73 65 73 20 68 61 63 6b |../* cur|ses hack|
|00005cb0| 09 09 09 2a 2f 0a 09 09 | 09 28 2a 66 75 6e 63 29 |...*/...|.(*func)|
|00005cc0| 28 26 73 63 72 65 65 6e | 2d 3e 63 75 72 73 65 73 |(&screen|->curses|
|00005cd0| 2c 20 31 29 3b 0a 09 09 | 09 62 72 65 61 6b 3b 0a |, 1);...|.break;.|
|00005ce0| 09 09 63 61 73 65 20 34 | 32 3a 09 09 2f 2a 20 73 |..case 4|2:../* s|
|00005cf0| 63 72 6f 6c 6c 62 61 72 | 09 09 09 2a 2f 0a 09 09 |crollbar|...*/...|
|00005d00| 09 69 66 28 66 75 6e 63 | 20 3d 3d 20 62 69 74 73 |.if(func| == bits|
|00005d10| 65 74 29 0a 09 09 09 09 | 53 63 72 6f 6c 6c 42 61 |et).....|ScrollBa|
|00005d20| 72 4f 6e 28 73 63 72 65 | 65 6e 2c 20 54 52 55 45 |rOn(scre|en, TRUE|
|00005d30| 2c 20 46 41 4c 53 45 29 | 3b 0a 09 09 09 65 6c 73 |, FALSE)|;....els|
|00005d40| 65 0a 09 09 09 09 53 63 | 72 6f 6c 6c 42 61 72 4f |e.....Sc|rollBarO|
|00005d50| 66 66 28 73 63 72 65 65 | 6e 29 3b 0a 09 09 09 62 |ff(scree|n);....b|
|00005d60| 72 65 61 6b 3b 0a 09 09 | 63 61 73 65 20 34 33 3a |reak;...|case 43:|
|00005d70| 09 09 2f 2a 20 6c 69 6e | 65 73 20 6f 66 66 20 74 |../* lin|es off t|
|00005d80| 6f 70 09 09 2a 2f 0a 09 | 09 09 69 66 28 73 63 72 |op..*/..|..if(scr|
|00005d90| 65 65 6e 2d 3e 73 62 29 | 0a 09 09 09 09 53 65 74 |een->sb)|.....Set|
|00005da0| 53 61 76 65 53 74 61 74 | 65 28 73 63 72 65 65 6e |SaveStat|e(screen|
|00005db0| 2d 3e 73 62 2c 20 28 66 | 75 6e 63 20 3d 3d 20 62 |->sb, (f|unc == b|
|00005dc0| 69 74 73 65 74 29 29 3b | 0a 09 09 09 62 72 65 61 |itset));|....brea|
|00005dd0| 6b 3b 0a 09 09 63 61 73 | 65 20 34 34 3a 09 09 2f |k;...cas|e 44:../|
|00005de0| 2a 20 6d 61 72 67 69 6e | 20 62 65 6c 6c 09 09 09 |* margin| bell...|
|00005df0| 2a 2f 0a 09 09 09 28 2a | 66 75 6e 63 29 28 26 73 |*/....(*|func)(&s|
|00005e00| 63 72 65 65 6e 2d 3e 6d | 61 72 67 69 6e 62 65 6c |creen->m|arginbel|
|00005e10| 6c 2c 20 31 29 3b 0a 09 | 09 09 69 66 28 21 73 63 |l, 1);..|..if(!sc|
|00005e20| 72 65 65 6e 2d 3e 6d 61 | 72 67 69 6e 62 65 6c 6c |reen->ma|rginbell|
|00005e30| 29 0a 09 09 09 09 73 63 | 72 65 65 6e 2d 3e 62 65 |).....sc|reen->be|
|00005e40| 6c 6c 61 72 6d 65 64 20 | 3d 20 2d 31 3b 0a 09 09 |llarmed |= -1;...|
|00005e50| 09 62 72 65 61 6b 3b 0a | 09 09 63 61 73 65 20 34 |.break;.|..case 4|
|00005e60| 35 3a 09 09 2f 2a 20 72 | 65 76 65 72 73 65 20 77 |5:../* r|everse w|
|00005e70| 72 61 70 61 72 6f 75 6e | 64 09 2a 2f 0a 09 09 09 |raparoun|d.*/....|
|00005e80| 28 2a 66 75 6e 63 29 28 | 26 74 65 72 6d 2d 3e 66 |(*func)(|&term->f|
|00005e90| 6c 61 67 73 2c 20 52 45 | 56 45 52 53 45 57 52 41 |lags, RE|VERSEWRA|
|00005ea0| 50 29 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 09 09 |P);....b|reak;...|
|00005eb0| 63 61 73 65 20 34 36 3a | 09 09 2f 2a 20 6c 6f 67 |case 46:|../* log|
|00005ec0| 67 69 6e 67 09 09 2a 2f | 0a 09 09 09 69 66 28 66 |ging..*/|....if(f|
|00005ed0| 75 6e 63 20 3d 3d 20 62 | 69 74 73 65 74 29 0a 09 |unc == b|itset)..|
|00005ee0| 09 09 09 53 74 61 72 74 | 4c 6f 67 28 73 63 72 65 |...Start|Log(scre|
|00005ef0| 65 6e 29 3b 0a 09 09 09 | 65 6c 73 65 0a 09 09 09 |en);....|else....|
|00005f00| 09 43 6c 6f 73 65 4c 6f | 67 28 73 63 72 65 65 6e |.CloseLo|g(screen|
|00005f10| 29 3b 0a 09 09 09 62 72 | 65 61 6b 3b 0a 09 09 63 |);....br|eak;...c|
|00005f20| 61 73 65 20 34 37 3a 09 | 09 2f 2a 20 61 6c 74 65 |ase 47:.|./* alte|
|00005f30| 72 6e 61 74 65 20 62 75 | 66 66 65 72 09 09 2a 2f |rnate bu|ffer..*/|
|00005f40| 0a 09 09 09 69 66 28 66 | 75 6e 63 20 3d 3d 20 62 |....if(f|unc == b|
|00005f50| 69 74 73 65 74 29 0a 09 | 09 09 09 54 6f 41 6c 74 |itset)..|...ToAlt|
|00005f60| 65 72 6e 61 74 65 28 73 | 63 72 65 65 6e 29 3b 0a |ernate(s|creen);.|
|00005f70| 09 09 09 65 6c 73 65 0a | 09 09 09 09 46 72 6f 6d |...else.|....From|
|00005f80| 41 6c 74 65 72 6e 61 74 | 65 28 73 63 72 65 65 6e |Alternat|e(screen|
|00005f90| 29 3b 0a 09 09 09 62 72 | 65 61 6b 3b 0a 09 09 63 |);....br|eak;...c|
|00005fa0| 61 73 65 20 34 38 3a 09 | 09 2f 2a 20 72 65 76 65 |ase 48:.|./* reve|
|00005fb0| 72 73 65 20 73 74 61 74 | 75 73 20 6c 69 6e 65 09 |rse stat|us line.|
|00005fc0| 2a 2f 0a 09 09 09 6a 20 | 3d 20 73 63 72 65 65 6e |*/....j |= screen|
|00005fd0| 2d 3e 72 65 76 65 72 73 | 65 73 74 61 74 75 73 3b |->revers|estatus;|
|00005fe0| 0a 09 09 09 28 2a 66 75 | 6e 63 29 28 26 73 63 72 |....(*fu|nc)(&scr|
|00005ff0| 65 65 6e 2d 3e 72 65 76 | 65 72 73 65 73 74 61 74 |een->rev|ersestat|
|00006000| 75 73 2c 20 31 29 3b 0a | 09 09 09 69 66 28 6a 20 |us, 1);.|...if(j |
|00006010| 21 3d 20 73 63 72 65 65 | 6e 2d 3e 72 65 76 65 72 |!= scree|n->rever|
|00006020| 73 65 73 74 61 74 75 73 | 29 0a 09 09 09 09 53 63 |sestatus|).....Sc|
|00006030| 72 6e 52 65 66 72 65 73 | 68 28 73 63 72 65 65 6e |rnRefres|h(screen|
|00006040| 2c 20 73 63 72 65 65 6e | 2d 3e 6d 61 78 5f 72 6f |, screen|->max_ro|
|00006050| 77 20 2b 20 31 2c 20 30 | 2c 20 31 2c 0a 09 09 09 |w + 1, 0|, 1,....|
|00006060| 09 20 73 63 72 65 65 6e | 2d 3e 6d 61 78 5f 63 6f |. screen|->max_co|
|00006070| 6c 20 2b 20 31 29 3b 0a | 09 09 09 62 72 65 61 6b |l + 1);.|...break|
|00006080| 3b 0a 09 09 63 61 73 65 | 20 34 39 3a 09 09 2f 2a |;...case| 49:../*|
|00006090| 20 70 61 67 65 20 6d 6f | 64 65 09 09 2a 2f 0a 09 | page mo|de..*/..|
|000060a0| 09 09 6a 20 3d 20 73 63 | 72 65 65 6e 2d 3e 70 61 |..j = sc|reen->pa|
|000060b0| 67 65 6d 6f 64 65 3b 0a | 09 09 09 28 2a 66 75 6e |gemode;.|...(*fun|
|000060c0| 63 29 28 26 73 63 72 65 | 65 6e 2d 3e 70 61 67 65 |c)(&scre|en->page|
|000060d0| 6d 6f 64 65 2c 20 31 29 | 3b 0a 09 09 09 69 66 28 |mode, 1)|;....if(|
|000060e0| 21 6a 20 26 26 20 73 63 | 72 65 65 6e 2d 3e 70 61 |!j && sc|reen->pa|
|000060f0| 67 65 6d 6f 64 65 29 0a | 09 09 09 09 73 63 72 65 |gemode).|....scre|
|00006100| 65 6e 2d 3e 70 61 67 65 | 63 6e 74 20 3d 20 30 3b |en->page|cnt = 0;|
|00006110| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 7d 0a 09 |....brea|k;...}..|
|00006120| 7d 0a 7d 0a 0a 2f 2a 0a | 20 2a 20 70 72 6f 63 65 |}.}../*.| * proce|
|00006130| 73 73 20 78 74 65 72 6d | 20 70 72 69 76 61 74 65 |ss xterm| private|
|00006140| 20 6d 6f 64 65 73 20 73 | 61 76 65 0a 20 2a 2f 0a | modes s|ave. */.|
|00006150| 73 61 76 65 6d 6f 64 65 | 73 28 74 65 72 6d 29 0a |savemode|s(term).|
|00006160| 54 65 72 6d 69 6e 61 6c | 20 2a 74 65 72 6d 3b 0a |Terminal| *term;.|
|00006170| 7b 0a 09 72 65 67 69 73 | 74 65 72 20 53 63 72 65 |{..regis|ter Scre|
|00006180| 65 6e 09 2a 73 63 72 65 | 65 6e 09 3d 20 26 74 65 |en.*scre|en.= &te|
|00006190| 72 6d 2d 3e 73 63 72 65 | 65 6e 3b 0a 09 72 65 67 |rm->scre|en;..reg|
|000061a0| 69 73 74 65 72 20 69 6e | 74 20 69 3b 0a 0a 09 66 |ister in|t i;...f|
|000061b0| 6f 72 20 28 69 20 3d 20 | 30 3b 20 69 20 3c 20 6e |or (i = |0; i < n|
|000061c0| 70 61 72 61 6d 3b 20 69 | 2b 2b 29 20 7b 0a 09 09 |param; i|++) {...|
|000061d0| 73 77 69 74 63 68 20 28 | 70 61 72 61 6d 5b 69 5d |switch (|param[i]|
|000061e0| 29 20 7b 0a 09 09 63 61 | 73 65 20 31 3a 09 09 09 |) {...ca|se 1:...|
|000061f0| 2f 2a 20 44 45 43 43 4b | 4d 09 09 09 2a 2f 0a 09 |/* DECCK|M...*/..|
|00006200| 09 09 73 63 72 65 65 6e | 2d 3e 73 61 76 65 5f 6d |..screen|->save_m|
|00006210| 6f 64 65 73 5b 30 5d 20 | 3d 20 74 65 72 6d 2d 3e |odes[0] |= term->|
|00006220| 6b 65 79 62 6f 61 72 64 | 2e 66 6c 61 67 73 20 26 |keyboard|.flags &|
|00006230| 0a 09 09 09 20 43 55 52 | 53 4f 52 5f 41 50 4c 3b |.... CUR|SOR_APL;|
|00006240| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 63 61 73 |....brea|k;...cas|
|00006250| 65 20 33 3a 09 09 09 2f | 2a 20 44 45 43 43 4f 4c |e 3:.../|* DECCOL|
|00006260| 4d 09 09 09 2a 2f 0a 09 | 09 09 69 66 28 73 63 72 |M...*/..|..if(scr|
|00006270| 65 65 6e 2d 3e 63 31 33 | 32 29 0a 09 09 09 09 73 |een->c13|2).....s|
|00006280| 63 72 65 65 6e 2d 3e 73 | 61 76 65 5f 6d 6f 64 65 |creen->s|ave_mode|
|00006290| 73 5b 31 5d 20 3d 20 74 | 65 72 6d 2d 3e 66 6c 61 |s[1] = t|erm->fla|
|000062a0| 67 73 20 26 0a 09 09 09 | 09 20 49 4e 31 33 32 43 |gs &....|. IN132C|
|000062b0| 4f 4c 55 4d 4e 53 3b 0a | 09 09 09 62 72 65 61 6b |OLUMNS;.|...break|
|000062c0| 3b 0a 09 09 63 61 73 65 | 20 34 3a 09 09 09 2f 2a |;...case| 4:.../*|
|000062d0| 20 44 45 43 53 43 4c 4d | 20 28 73 6c 6f 77 20 73 | DECSCLM| (slow s|
|000062e0| 63 72 6f 6c 6c 29 09 2a | 2f 0a 09 09 09 73 63 72 |croll).*|/....scr|
|000062f0| 65 65 6e 2d 3e 73 61 76 | 65 5f 6d 6f 64 65 73 5b |een->sav|e_modes[|
|00006300| 32 5d 20 3d 20 74 65 72 | 6d 2d 3e 66 6c 61 67 73 |2] = ter|m->flags|
|00006310| 20 26 20 53 4d 4f 4f 54 | 48 53 43 52 4f 4c 4c 3b | & SMOOT|HSCROLL;|
|00006320| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 63 61 73 |....brea|k;...cas|
|00006330| 65 20 35 3a 09 09 09 2f | 2a 20 44 45 43 53 43 4e |e 5:.../|* DECSCN|
|00006340| 4d 09 09 09 2a 2f 0a 09 | 09 09 73 63 72 65 65 6e |M...*/..|..screen|
|00006350| 2d 3e 73 61 76 65 5f 6d | 6f 64 65 73 5b 33 5d 20 |->save_m|odes[3] |
|00006360| 3d 20 74 65 72 6d 2d 3e | 66 6c 61 67 73 20 26 20 |= term->|flags & |
|00006370| 52 45 56 45 52 53 45 5f | 56 49 44 45 4f 3b 0a 09 |REVERSE_|VIDEO;..|
|00006380| 09 09 62 72 65 61 6b 3b | 0a 09 09 63 61 73 65 20 |..break;|...case |
|00006390| 36 3a 09 09 09 2f 2a 20 | 44 45 43 4f 4d 09 09 09 |6:.../* |DECOM...|
|000063a0| 2a 2f 0a 09 09 09 73 63 | 72 65 65 6e 2d 3e 73 61 |*/....sc|reen->sa|
|000063b0| 76 65 5f 6d 6f 64 65 73 | 5b 34 5d 20 3d 20 74 65 |ve_modes|[4] = te|
|000063c0| 72 6d 2d 3e 66 6c 61 67 | 73 20 26 20 4f 52 49 47 |rm->flag|s & ORIG|
|000063d0| 49 4e 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |IN;....b|reak;...|
|000063e0| 09 63 61 73 65 20 37 3a | 09 09 09 2f 2a 20 44 45 |.case 7:|.../* DE|
|000063f0| 43 41 57 4d 09 09 09 2a | 2f 0a 09 09 09 73 63 72 |CAWM...*|/....scr|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.