home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume4 / se / part3 < prev    next >
SHell self-extracting ARchive  |  1986-11-30  |  50.5 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| 46 72 6f 6d 3a 20 4a 65 | 66 66 20 4c 65 65 20 3c |From: Je|ff Lee <|
|00000010| 74 61 6c 63 6f 74 74 21 | 73 65 69 73 6d 6f 21 67 |talcott!|seismo!g|
|00000020| 61 74 65 63 68 21 6a 65 | 66 66 3e 0a 53 75 62 6a |atech!je|ff>.Subj|
|00000030| 65 63 74 3a 20 47 65 6f | 72 67 69 61 20 54 65 63 |ect: Geo|rgia Tec|
|00000040| 68 20 27 73 65 27 20 73 | 63 72 65 65 6e 20 65 64 |h 'se' s|creen ed|
|00000050| 69 74 6f 72 20 28 50 61 | 72 74 20 33 20 6f 66 20 |itor (Pa|rt 3 of |
|00000060| 38 29 0a 4b 65 79 77 6f | 72 64 73 3a 20 53 6f 66 |8).Keywo|rds: Sof|
|00000070| 74 77 61 72 65 20 54 6f | 6f 6c 73 2c 20 59 65 74 |tware To|ols, Yet|
|00000080| 20 41 6e 6f 74 68 65 72 | 20 53 63 72 65 65 6e 20 | Another| Screen |
|00000090| 45 64 69 74 6f 72 2c 20 | 42 6f 74 68 20 42 53 44 |Editor, |Both BSD|
|000000a0| 20 61 6e 64 20 55 53 47 | 0a 4e 65 77 73 67 72 6f | and USG|.Newsgro|
|000000b0| 75 70 73 3a 20 6d 6f 64 | 2e 73 6f 75 72 63 65 73 |ups: mod|.sources|
|000000c0| 0a 41 70 70 72 6f 76 65 | 64 3a 20 6a 70 6e 40 70 |.Approve|d: jpn@p|
|000000d0| 61 6e 64 61 2e 55 55 43 | 50 0a 0a 4d 6f 64 2e 73 |anda.UUC|P..Mod.s|
|000000e0| 6f 75 72 63 65 73 3a 20 | 20 56 6f 6c 75 6d 65 20 |ources: | Volume |
|000000f0| 34 2c 20 49 73 73 75 65 | 20 38 34 0a 53 75 62 6d |4, Issue| 84.Subm|
|00000100| 69 74 74 65 64 20 62 79 | 3a 20 4a 65 66 66 20 4c |itted by|: Jeff L|
|00000110| 65 65 20 3c 73 65 69 73 | 6d 6f 21 67 61 74 65 63 |ee <seis|mo!gatec|
|00000120| 68 21 6a 65 66 66 3e 0a | 0a 23 21 20 2f 62 69 6e |h!jeff>.|.#! /bin|
|00000130| 2f 73 68 0a 23 20 54 68 | 69 73 20 69 73 20 61 20 |/sh.# Th|is is a |
|00000140| 73 68 65 6c 6c 20 61 72 | 63 68 69 76 65 2c 20 6d |shell ar|chive, m|
|00000150| 65 61 6e 69 6e 67 3a 0a | 23 20 31 2e 20 52 65 6d |eaning:.|# 1. Rem|
|00000160| 6f 76 65 20 65 76 65 72 | 79 74 68 69 6e 67 20 61 |ove ever|ything a|
|00000170| 62 6f 76 65 20 74 68 65 | 20 23 21 20 2f 62 69 6e |bove the| #! /bin|
|00000180| 2f 73 68 20 6c 69 6e 65 | 2e 0a 23 20 32 2e 20 53 |/sh line|..# 2. S|
|00000190| 61 76 65 20 74 68 65 20 | 72 65 73 75 6c 74 69 6e |ave the |resultin|
|000001a0| 67 20 74 65 78 74 20 69 | 6e 20 61 20 66 69 6c 65 |g text i|n a file|
|000001b0| 2e 0a 23 20 33 2e 20 45 | 78 65 63 75 74 65 20 74 |..# 3. E|xecute t|
|000001c0| 68 65 20 66 69 6c 65 20 | 77 69 74 68 20 2f 62 69 |he file |with /bi|
|000001d0| 6e 2f 73 68 20 28 6e 6f | 74 20 63 73 68 29 20 74 |n/sh (no|t csh) t|
|000001e0| 6f 20 63 72 65 61 74 65 | 3a 0a 23 09 64 6f 63 6d |o create|:.#.docm|
|000001f0| 64 31 2e 63 0a 23 09 64 | 6f 63 6d 64 32 2e 63 0a |d1.c.#.d|ocmd2.c.|
|00000200| 23 09 6d 69 73 63 2e 63 | 0a 23 20 54 68 69 73 20 |#.misc.c|.# This |
|00000210| 61 72 63 68 69 76 65 20 | 63 72 65 61 74 65 64 3a |archive |created:|
|00000220| 20 54 75 65 20 41 70 72 | 20 32 39 20 31 31 3a 30 | Tue Apr| 29 11:0|
|00000230| 31 3a 33 33 20 31 39 38 | 36 0a 65 78 70 6f 72 74 |1:33 198|6.export|
|00000240| 20 50 41 54 48 3b 20 50 | 41 54 48 3d 2f 62 69 6e | PATH; P|ATH=/bin|
|00000250| 3a 2f 75 73 72 2f 62 69 | 6e 3a 24 50 41 54 48 0a |:/usr/bi|n:$PATH.|
|00000260| 65 63 68 6f 20 73 68 61 | 72 3a 20 22 65 78 74 72 |echo sha|r: "extr|
|00000270| 61 63 74 69 6e 67 20 27 | 64 6f 63 6d 64 31 2e 63 |acting '|docmd1.c|
|00000280| 27 22 20 27 28 32 39 31 | 32 33 20 63 68 61 72 61 |'" '(291|23 chara|
|00000290| 63 74 65 72 73 29 27 0a | 69 66 20 74 65 73 74 20 |cters)'.|if test |
|000002a0| 2d 66 20 27 64 6f 63 6d | 64 31 2e 63 27 0a 74 68 |-f 'docm|d1.c'.th|
|000002b0| 65 6e 0a 09 65 63 68 6f | 20 73 68 61 72 3a 20 22 |en..echo| shar: "|
|000002c0| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|000002d0| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|000002e0| 65 20 27 64 6f 63 6d 64 | 31 2e 63 27 22 0a 65 6c |e 'docmd|1.c'".el|
|000002f0| 73 65 0a 63 61 74 20 3c | 3c 20 5c 53 48 41 52 5f |se.cat <|< \SHAR_|
|00000300| 45 4f 46 20 3e 20 27 64 | 6f 63 6d 64 31 2e 63 27 |EOF > 'd|ocmd1.c'|
|00000310| 0a 2f 2a 0a 2a 2a 20 64 | 6f 63 6d 64 31 2e 63 0a |./*.** d|ocmd1.c.|
|00000320| 2a 2a 0a 2a 2a 20 6d 61 | 69 6e 20 63 6f 6d 6d 61 |**.** ma|in comma|
|00000330| 6e 64 20 70 72 6f 63 65 | 73 73 6f 72 2e 20 20 72 |nd proce|ssor. r|
|00000340| 6f 75 74 69 6e 65 73 20 | 66 6f 72 20 69 6e 64 69 |outines |for indi|
|00000350| 76 69 64 75 61 6c 20 63 | 6f 6d 6d 61 6e 64 73 0a |vidual c|ommands.|
|00000360| 2a 2f 0a 0a 23 69 6e 63 | 6c 75 64 65 20 22 73 65 |*/..#inc|lude "se|
|00000370| 2e 68 22 0a 23 69 6e 63 | 6c 75 64 65 20 22 65 78 |.h".#inc|lude "ex|
|00000380| 74 65 72 6e 2e 68 22 0a | 0a 2f 2a 20 73 74 61 74 |tern.h".|./* stat|
|00000390| 69 63 20 64 61 74 61 20 | 64 65 66 69 6e 69 74 69 |ic data |definiti|
|000003a0| 6f 6e 73 20 2d 2d 20 76 | 61 72 69 61 62 6c 65 73 |ons -- v|ariables|
|000003b0| 20 6f 6e 6c 79 20 6e 65 | 65 64 65 64 20 69 6e 20 | only ne|eded in |
|000003c0| 74 68 69 73 20 66 69 6c | 65 20 2a 2f 0a 73 74 61 |this fil|e */.sta|
|000003d0| 74 69 63 20 63 68 61 72 | 20 54 6c 70 61 74 5b 4d |tic char| Tlpat[M|
|000003e0| 41 58 50 41 54 5d 20 3d | 20 22 22 3b 09 2f 2a 20 |AXPAT] =| "";./* |
|000003f0| 73 61 76 65 64 20 63 68 | 61 72 61 63 74 65 72 20 |saved ch|aracter |
|00000400| 6c 69 73 74 20 66 6f 72 | 20 79 2f 74 20 63 6f 6d |list for| y/t com|
|00000410| 6d 61 6e 64 20 2a 2f 0a | 73 74 61 74 69 63 20 63 |mand */.|static c|
|00000420| 68 61 72 20 54 61 62 73 | 74 72 5b 4d 41 58 4c 49 |har Tabs|tr[MAXLI|
|00000430| 4e 45 5d 20 3d 20 22 22 | 3b 09 2f 2a 20 73 74 72 |NE] = ""|;./* str|
|00000440| 69 6e 67 20 72 65 70 72 | 65 73 65 6e 74 61 74 69 |ing repr|esentati|
|00000450| 6f 6e 20 6f 66 20 74 61 | 62 20 73 74 6f 70 73 20 |on of ta|b stops |
|00000460| 2a 2f 0a 73 74 61 74 69 | 63 20 63 68 61 72 20 44 |*/.stati|c char D|
|00000470| 64 69 72 20 3d 20 46 4f | 52 57 41 52 44 3b 09 09 |dir = FO|RWARD;..|
|00000480| 2f 2a 20 64 65 6c 65 74 | 65 20 64 69 72 65 63 74 |/* delet|e direct|
|00000490| 69 6f 6e 20 2a 2f 0a 73 | 74 61 74 69 63 20 69 6e |ion */.s|tatic in|
|000004a0| 74 20 43 6f 6d 70 72 65 | 73 73 3b 09 09 09 2f 2a |t Compre|ss;.../*|
|000004b0| 20 63 6f 6d 70 72 65 73 | 73 2f 65 78 70 61 6e 64 | compres|s/expand|
|000004c0| 20 74 61 62 73 20 6f 6e | 20 72 65 61 64 2f 77 72 | tabs on| read/wr|
|000004d0| 69 74 65 20 2a 2f 0a 0a | 2f 2a 20 64 6f 63 6d 64 |ite */..|/* docmd|
|000004e0| 20 2d 2d 2d 20 68 61 6e | 64 6c 65 20 61 6c 6c 20 | --- han|dle all |
|000004f0| 63 6f 6d 6d 61 6e 64 73 | 20 65 78 63 65 70 74 20 |commands| except |
|00000500| 67 6c 6f 62 61 6c 73 20 | 2a 2f 0a 0a 69 6e 74 20 |globals |*/..int |
|00000510| 64 6f 63 6d 64 20 28 6c | 69 6e 2c 20 69 2c 20 67 |docmd (l|in, i, g|
|00000520| 6c 6f 62 2c 20 73 74 61 | 74 75 73 29 0a 63 68 61 |lob, sta|tus).cha|
|00000530| 72 20 6c 69 6e 5b 5d 3b | 0a 69 6e 74 20 69 2c 20 |r lin[];|.int i, |
|00000540| 67 6c 6f 62 2c 20 2a 73 | 74 61 74 75 73 3b 0a 7b |glob, *s|tatus;.{|
|00000550| 0a 09 63 68 61 72 20 66 | 69 6c 65 5b 4d 41 58 4c |..char f|ile[MAXL|
|00000560| 49 4e 45 5d 2c 20 73 75 | 62 5b 4d 41 58 50 41 54 |INE], su|b[MAXPAT|
|00000570| 5d 3b 0a 09 63 68 61 72 | 20 6b 6e 61 6d 65 3b 0a |];..char| kname;.|
|00000580| 09 69 6e 74 20 67 66 6c | 61 67 2c 20 6c 69 6e 65 |.int gfl|ag, line|
|00000590| 33 2c 20 70 66 6c 61 67 | 2c 20 66 6c 61 67 2c 20 |3, pflag|, flag, |
|000005a0| 66 66 6c 61 67 2c 20 6a | 75 6e 6b 2c 20 61 6c 6c |fflag, j|unk, all|
|000005b0| 62 75 74 2c 20 74 66 6c | 61 67 3b 0a 09 69 6e 74 |but, tfl|ag;..int|
|000005c0| 20 61 70 70 65 6e 64 20 | 28 29 2c 20 63 6b 63 68 | append |(), ckch|
|000005d0| 61 72 20 28 29 2c 20 63 | 6b 70 20 28 29 2c 20 63 |ar (), c|kp (), c|
|000005e0| 6b 75 70 64 20 28 29 2c | 20 63 6f 70 79 20 28 29 |kupd (),| copy ()|
|000005f0| 3b 0a 09 69 6e 74 20 64 | 65 6c 65 74 65 20 28 29 |;..int d|elete ()|
|00000600| 2c 20 64 6f 6d 61 72 6b | 20 28 29 2c 20 64 6f 6f |, domark| (), doo|
|00000610| 70 74 20 28 29 2c 20 64 | 6f 70 72 6e 74 20 28 29 |pt (), d|oprnt ()|
|00000620| 2c 20 64 6f 72 65 61 64 | 20 28 29 3b 0a 09 69 6e |, doread| ();..in|
|00000630| 74 20 64 6f 73 68 65 6c | 6c 20 28 29 3b 0a 09 69 |t doshel|l ();..i|
|00000640| 6e 74 20 64 6f 74 6c 69 | 74 20 28 29 2c 20 64 6f |nt dotli|t (), do|
|00000650| 75 6e 64 6f 20 28 29 2c | 20 64 6f 77 72 69 74 20 |undo (),| dowrit |
|00000660| 28 29 2c 20 67 65 74 66 | 6e 20 28 29 2c 20 67 65 |(), getf|n (), ge|
|00000670| 74 6b 6e 20 28 29 3b 0a | 09 69 6e 74 20 67 65 74 |tkn ();.|.int get|
|00000680| 6f 6e 65 20 28 29 2c 20 | 67 65 74 72 61 6e 67 65 |one (), |getrange|
|00000690| 20 28 29 2c 20 67 65 74 | 72 68 73 20 28 29 2c 20 | (), get|rhs (), |
|000006a0| 67 65 74 73 74 72 20 28 | 29 2c 20 69 6e 6a 65 63 |getstr (|), injec|
|000006b0| 74 20 28 29 3b 0a 09 69 | 6e 74 20 6a 6f 69 6e 20 |t ();..i|nt join |
|000006c0| 28 29 2c 20 6d 61 6b 73 | 65 74 20 28 29 2c 20 6d |(), maks|et (), m|
|000006d0| 6f 76 65 20 28 29 2c 20 | 6e 65 78 74 6c 6e 20 28 |ove (), |nextln (|
|000006e0| 29 2c 20 6f 70 74 70 61 | 74 20 28 29 3b 0a 09 69 |), optpa|t ();..i|
|000006f0| 6e 74 20 70 72 65 76 6c | 6e 20 28 29 2c 20 73 75 |nt prevl|n (), su|
|00000700| 62 73 74 72 20 28 29 2c | 20 64 72 61 77 5f 62 6f |bstr (),| draw_bo|
|00000710| 78 20 28 29 3b 0a 09 63 | 68 61 72 20 2a 65 78 70 |x ();..c|har *exp|
|00000720| 61 6e 64 5f 65 6e 76 20 | 28 29 3b 0a 0a 0a 09 2a |and_env |();....*|
|00000730| 73 74 61 74 75 73 20 3d | 20 45 52 52 3b 0a 09 69 |status =| ERR;..i|
|00000740| 66 20 28 69 6e 74 72 70 | 74 20 28 29 29 20 20 2f |f (intrp|t ()) /|
|00000750| 2a 20 63 61 74 63 68 20 | 61 20 70 65 6e 64 69 6e |* catch |a pendin|
|00000760| 67 20 69 6e 74 65 72 72 | 75 70 74 20 2a 2f 0a 09 |g interr|upt */..|
|00000770| 09 72 65 74 75 72 6e 20 | 28 2a 73 74 61 74 75 73 |.return |(*status|
|00000780| 29 3b 0a 0a 09 73 77 69 | 74 63 68 20 28 6c 69 6e |);...swi|tch (lin|
|00000790| 5b 69 5d 29 20 7b 0a 09 | 63 61 73 65 20 41 50 50 |[i]) {..|case APP|
|000007a0| 45 4e 44 43 4f 4d 3a 0a | 09 63 61 73 65 20 55 43 |ENDCOM:.|.case UC|
|000007b0| 41 50 50 45 4e 44 43 4f | 4d 3a 0a 09 09 69 66 20 |APPENDCO|M:...if |
|000007c0| 28 6c 69 6e 5b 69 20 2b | 20 31 5d 20 3d 3d 20 27 |(lin[i +| 1] == '|
|000007d0| 5c 6e 27 20 7c 7c 20 6c | 69 6e 5b 69 20 2b 20 31 |\n' || l|in[i + 1|
|000007e0| 5d 20 3d 3d 20 27 3a 27 | 29 0a 09 09 7b 0a 09 09 |] == ':'|)...{...|
|000007f0| 09 64 65 66 61 6c 74 20 | 28 43 75 72 6c 6e 2c 20 |.defalt |(Curln, |
|00000800| 43 75 72 6c 6e 29 3b 0a | 09 09 09 69 66 20 28 6c |Curln);.|...if (l|
|00000810| 69 6e 5b 69 20 2b 20 31 | 5d 20 3d 3d 20 27 5c 6e |in[i + 1|] == '\n|
|00000820| 27 29 0a 09 09 09 7b 0a | 09 09 09 09 2f 2a 20 61 |')....{.|..../* a|
|00000830| 76 6f 69 64 20 75 70 64 | 61 74 69 6e 67 20 77 69 |void upd|ating wi|
|00000840| 74 68 20 69 6e 6c 69 6e | 65 20 69 6e 73 65 72 74 |th inlin|e insert|
|00000850| 69 6f 6e 20 2a 2f 0a 09 | 09 09 09 61 64 6a 75 73 |ion */..|...adjus|
|00000860| 74 5f 77 69 6e 64 6f 77 | 20 28 4c 69 6e 65 31 2c |t_window| (Line1,|
|00000870| 20 4c 69 6e 65 32 29 3b | 0a 09 09 09 09 75 70 64 | Line2);|.....upd|
|00000880| 73 63 72 65 65 6e 20 28 | 29 3b 0a 09 09 09 7d 0a |screen (|);....}.|
|00000890| 09 09 09 2a 73 74 61 74 | 75 73 20 3d 20 61 70 70 |...*stat|us = app|
|000008a0| 65 6e 64 20 28 4c 69 6e | 65 32 2c 20 26 6c 69 6e |end (Lin|e2, &lin|
|000008b0| 5b 69 20 2b 20 31 5d 29 | 3b 0a 09 09 7d 0a 09 09 |[i + 1])|;...}...|
|000008c0| 62 72 65 61 6b 3b 0a 0a | 09 63 61 73 65 20 50 52 |break;..|.case PR|
|000008d0| 49 4e 54 43 55 52 3a 0a | 09 09 69 66 20 28 6c 69 |INTCUR:.|..if (li|
|000008e0| 6e 5b 69 20 2b 20 31 5d | 20 3d 3d 20 27 5c 6e 27 |n[i + 1]| == '\n'|
|000008f0| 29 0a 09 09 7b 0a 09 09 | 09 64 65 66 61 6c 74 20 |)...{...|.defalt |
|00000900| 28 43 75 72 6c 6e 2c 20 | 43 75 72 6c 6e 29 3b 0a |(Curln, |Curln);.|
|00000910| 09 09 09 73 61 79 6e 75 | 6d 20 28 4c 69 6e 65 32 |...saynu|m (Line2|
|00000920| 29 3b 0a 09 09 09 2a 73 | 74 61 74 75 73 20 3d 20 |);....*s|tatus = |
|00000930| 4f 4b 3b 0a 09 09 7d 0a | 09 09 62 72 65 61 6b 3b |OK;...}.|..break;|
|00000940| 0a 0a 09 63 61 73 65 20 | 4f 56 45 52 4c 41 59 43 |...case |OVERLAYC|
|00000950| 4f 4d 3a 0a 09 63 61 73 | 65 20 55 43 4f 56 45 52 |OM:..cas|e UCOVER|
|00000960| 4c 41 59 43 4f 4d 3a 0a | 09 09 64 65 66 61 6c 74 |LAYCOM:.|..defalt|
|00000970| 20 28 43 75 72 6c 6e 2c | 20 43 75 72 6c 6e 29 3b | (Curln,| Curln);|
|00000980| 0a 09 09 69 66 20 28 6c | 69 6e 5b 69 20 2b 20 31 |...if (l|in[i + 1|
|00000990| 5d 20 3d 3d 20 27 5c 6e | 27 29 0a 09 09 09 6f 76 |] == '\n|')....ov|
|000009a0| 65 72 6c 61 79 20 28 73 | 74 61 74 75 73 29 3b 0a |erlay (s|tatus);.|
|000009b0| 09 09 62 72 65 61 6b 3b | 0a 0a 09 63 61 73 65 20 |..break;|...case |
|000009c0| 43 48 41 4e 47 45 3a 0a | 09 63 61 73 65 20 55 43 |CHANGE:.|.case UC|
|000009d0| 43 48 41 4e 47 45 3a 0a | 09 09 64 65 66 61 6c 74 |CHANGE:.|..defalt|
|000009e0| 20 28 43 75 72 6c 6e 2c | 20 43 75 72 6c 6e 29 3b | (Curln,| Curln);|
|000009f0| 0a 09 09 69 66 20 28 4c | 69 6e 65 31 20 3c 3d 20 |...if (L|ine1 <= |
|00000a00| 30 29 0a 09 09 09 45 72 | 72 63 6f 64 65 20 3d 20 |0)....Er|rcode = |
|00000a10| 45 4f 52 41 4e 47 45 3b | 0a 09 09 65 6c 73 65 20 |EORANGE;|...else |
|00000a20| 69 66 20 28 6c 69 6e 5b | 69 20 2b 20 31 5d 20 3d |if (lin[|i + 1] =|
|00000a30| 3d 20 27 5c 6e 27 20 7c | 7c 20 6c 69 6e 5b 69 20 |= '\n' ||| lin[i |
|00000a40| 2b 20 31 5d 20 3d 3d 20 | 27 3a 27 29 0a 09 09 7b |+ 1] == |':')...{|
|00000a50| 0a 09 09 09 69 66 20 28 | 6c 69 6e 5b 69 20 2b 20 |....if (|lin[i + |
|00000a60| 31 5d 20 3d 3d 20 27 5c | 6e 27 29 0a 09 09 09 7b |1] == '\|n')....{|
|00000a70| 0a 09 09 09 09 2f 2a 20 | 61 76 6f 69 64 20 75 70 |...../* |avoid up|
|00000a80| 64 61 74 69 6e 67 20 77 | 69 74 68 20 69 6e 6c 69 |dating w|ith inli|
|00000a90| 6e 65 20 69 6e 73 65 72 | 74 69 6f 6e 20 2a 2f 0a |ne inser|tion */.|
|00000aa0| 09 09 09 09 61 64 6a 75 | 73 74 5f 77 69 6e 64 6f |....adju|st_windo|
|00000ab0| 77 20 28 4c 69 6e 65 32 | 2c 20 4c 69 6e 65 32 29 |w (Line2|, Line2)|
|00000ac0| 3b 0a 09 09 09 09 75 70 | 64 73 63 72 65 65 6e 20 |;.....up|dscreen |
|00000ad0| 28 29 3b 0a 09 09 09 7d | 0a 09 09 09 46 69 72 73 |();....}|....Firs|
|00000ae0| 74 5f 61 66 66 65 63 74 | 65 64 20 3d 20 6d 69 6e |t_affect|ed = min|
|00000af0| 20 28 46 69 72 73 74 5f | 61 66 66 65 63 74 65 64 | (First_|affected|
|00000b00| 2c 20 4c 69 6e 65 31 29 | 3b 0a 09 09 09 69 66 20 |, Line1)|;....if |
|00000b10| 28 6c 69 6e 5b 69 20 2b | 20 31 5d 20 3d 3d 20 27 |(lin[i +| 1] == '|
|00000b20| 5c 6e 27 29 0a 09 09 09 | 09 77 61 72 6e 5f 64 65 |\n')....|.warn_de|
|00000b30| 6c 65 74 65 64 20 28 4c | 69 6e 65 31 2c 20 4c 69 |leted (L|ine1, Li|
|00000b40| 6e 65 32 29 3b 0a 09 09 | 09 2a 73 74 61 74 75 73 |ne2);...|.*status|
|00000b50| 20 3d 20 61 70 70 65 6e | 64 20 28 4c 69 6e 65 32 | = appen|d (Line2|
|00000b60| 2c 20 26 6c 69 6e 5b 69 | 20 2b 20 31 5d 29 3b 0a |, &lin[i| + 1]);.|
|00000b70| 09 09 09 69 66 20 28 2a | 73 74 61 74 75 73 20 21 |...if (*|status !|
|00000b80| 3d 20 45 52 52 29 0a 09 | 09 09 7b 0a 09 09 09 09 |= ERR)..|..{.....|
|00000b90| 6c 69 6e 65 33 20 3d 20 | 43 75 72 6c 6e 3b 0a 09 |line3 = |Curln;..|
|00000ba0| 09 09 09 64 65 6c 65 74 | 65 20 28 4c 69 6e 65 31 |...delet|e (Line1|
|00000bb0| 2c 20 4c 69 6e 65 32 2c | 20 73 74 61 74 75 73 29 |, Line2,| status)|
|00000bc0| 3b 0a 09 09 09 09 43 75 | 72 6c 6e 20 3d 20 6c 69 |;.....Cu|rln = li|
|00000bd0| 6e 65 33 20 2d 20 28 4c | 69 6e 65 32 20 2d 20 4c |ne3 - (L|ine2 - L|
|00000be0| 69 6e 65 31 20 2b 20 31 | 29 3b 0a 09 09 09 09 2f |ine1 + 1|);...../|
|00000bf0| 2a 20 61 64 6a 75 73 74 | 20 66 6f 72 20 64 65 6c |* adjust| for del|
|00000c00| 65 74 65 64 20 6c 69 6e | 65 73 20 2a 2f 0a 09 09 |eted lin|es */...|
|00000c10| 09 7d 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |.}...}..|.break;.|
|00000c20| 0a 09 63 61 73 65 20 44 | 45 4c 43 4f 4d 3a 0a 09 |..case D|ELCOM:..|
|00000c30| 63 61 73 65 20 55 43 44 | 45 4c 43 4f 4d 3a 0a 09 |case UCD|ELCOM:..|
|00000c40| 09 69 66 20 28 63 6b 70 | 20 28 6c 69 6e 2c 20 69 |.if (ckp| (lin, i|
|00000c50| 20 2b 20 31 2c 20 26 70 | 66 6c 61 67 2c 20 73 74 | + 1, &p|flag, st|
|00000c60| 61 74 75 73 29 20 3d 3d | 20 4f 4b 29 0a 09 09 7b |atus) ==| OK)...{|
|00000c70| 0a 09 09 09 64 65 66 61 | 6c 74 20 28 43 75 72 6c |....defa|lt (Curl|
|00000c80| 6e 2c 20 43 75 72 6c 6e | 29 3b 0a 09 09 09 69 66 |n, Curln|);....if|
|00000c90| 20 28 64 65 6c 65 74 65 | 20 28 4c 69 6e 65 31 2c | (delete| (Line1,|
|00000ca0| 20 4c 69 6e 65 32 2c 20 | 73 74 61 74 75 73 29 20 | Line2, |status) |
|00000cb0| 3d 3d 20 4f 4b 0a 09 09 | 09 20 20 20 20 26 26 20 |== OK...|. && |
|00000cc0| 44 64 69 72 20 3d 3d 20 | 46 4f 52 57 41 52 44 0a |Ddir == |FORWARD.|
|00000cd0| 09 09 09 20 20 20 20 26 | 26 20 6e 65 78 74 6c 6e |... &|& nextln|
|00000ce0| 20 28 43 75 72 6c 6e 29 | 20 21 3d 20 30 29 0a 09 | (Curln)| != 0)..|
|00000cf0| 09 09 09 43 75 72 6c 6e | 20 3d 20 6e 65 78 74 6c |...Curln| = nextl|
|00000d00| 6e 20 28 43 75 72 6c 6e | 29 3b 0a 09 09 7d 0a 09 |n (Curln|);...}..|
|00000d10| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 49 |.break;.|..case I|
|00000d20| 4e 53 45 52 54 3a 0a 09 | 63 61 73 65 20 55 43 49 |NSERT:..|case UCI|
|00000d30| 4e 53 45 52 54 3a 0a 09 | 09 64 65 66 61 6c 74 20 |NSERT:..|.defalt |
|00000d40| 28 43 75 72 6c 6e 2c 20 | 43 75 72 6c 6e 29 3b 0a |(Curln, |Curln);.|
|00000d50| 09 09 69 66 20 28 4c 69 | 6e 65 31 20 3c 3d 20 30 |..if (Li|ne1 <= 0|
|00000d60| 29 0a 09 09 09 45 72 72 | 63 6f 64 65 20 3d 20 45 |)....Err|code = E|
|00000d70| 4f 52 41 4e 47 45 3b 0a | 09 09 65 6c 73 65 20 69 |ORANGE;.|..else i|
|00000d80| 66 20 28 6c 69 6e 5b 69 | 20 2b 20 31 5d 20 3d 3d |f (lin[i| + 1] ==|
|00000d90| 20 27 5c 6e 27 20 7c 7c | 20 6c 69 6e 5b 69 20 2b | '\n' ||| lin[i +|
|00000da0| 20 31 5d 20 3d 3d 20 27 | 3a 27 29 0a 09 09 7b 0a | 1] == '|:')...{.|
|00000db0| 09 09 09 69 66 20 28 6c | 69 6e 5b 69 20 2b 20 31 |...if (l|in[i + 1|
|00000dc0| 5d 20 3d 3d 20 27 5c 6e | 27 29 0a 09 09 09 7b 0a |] == '\n|')....{.|
|00000dd0| 09 09 09 09 2f 2a 20 61 | 76 6f 69 64 20 75 70 64 |..../* a|void upd|
|00000de0| 61 74 69 6e 67 20 77 69 | 74 68 20 69 6e 6c 69 6e |ating wi|th inlin|
|00000df0| 65 20 69 6e 73 65 72 74 | 69 6f 6e 20 2a 2f 0a 09 |e insert|ion */..|
|00000e00| 09 09 09 61 64 6a 75 73 | 74 5f 77 69 6e 64 6f 77 |...adjus|t_window|
|00000e10| 20 28 4c 69 6e 65 31 2c | 20 4c 69 6e 65 32 29 3b | (Line1,| Line2);|
|00000e20| 0a 09 09 09 09 75 70 64 | 73 63 72 65 65 6e 20 28 |.....upd|screen (|
|00000e30| 29 3b 0a 09 09 09 7d 0a | 09 09 09 2a 73 74 61 74 |);....}.|...*stat|
|00000e40| 75 73 20 3d 20 61 70 70 | 65 6e 64 20 28 70 72 65 |us = app|end (pre|
|00000e50| 76 6c 6e 20 28 4c 69 6e | 65 32 29 2c 20 26 6c 69 |vln (Lin|e2), &li|
|00000e60| 6e 5b 69 20 2b 20 31 5d | 29 3b 0a 09 09 7d 0a 09 |n[i + 1]|);...}..|
|00000e70| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 4d |.break;.|..case M|
|00000e80| 4f 56 45 43 4f 4d 3a 0a | 09 63 61 73 65 20 55 43 |OVECOM:.|.case UC|
|00000e90| 4d 4f 56 45 43 4f 4d 3a | 0a 09 09 69 2b 2b 3b 0a |MOVECOM:|...i++;.|
|00000ea0| 09 09 69 66 20 28 67 65 | 74 6f 6e 65 20 28 6c 69 |..if (ge|tone (li|
|00000eb0| 6e 2c 20 26 69 2c 20 26 | 6c 69 6e 65 33 2c 20 73 |n, &i, &|line3, s|
|00000ec0| 74 61 74 75 73 29 20 3d | 3d 20 45 4f 46 29 0a 09 |tatus) =|= EOF)..|
|00000ed0| 09 09 2a 73 74 61 74 75 | 73 20 3d 20 45 52 52 3b |..*statu|s = ERR;|
|00000ee0| 0a 09 09 69 66 20 28 2a | 73 74 61 74 75 73 20 3d |...if (*|status =|
|00000ef0| 3d 20 4f 4b 20 26 26 20 | 63 6b 70 20 28 6c 69 6e |= OK && |ckp (lin|
|00000f00| 2c 20 69 2c 20 26 70 66 | 6c 61 67 2c 20 73 74 61 |, i, &pf|lag, sta|
|00000f10| 74 75 73 29 20 3d 3d 20 | 4f 4b 29 0a 09 09 7b 0a |tus) == |OK)...{.|
|00000f20| 09 09 09 64 65 66 61 6c | 74 20 28 43 75 72 6c 6e |...defal|t (Curln|
|00000f30| 2c 20 43 75 72 6c 6e 29 | 3b 0a 09 09 09 2a 73 74 |, Curln)|;....*st|
|00000f40| 61 74 75 73 20 3d 20 6d | 6f 76 65 20 28 6c 69 6e |atus = m|ove (lin|
|00000f50| 65 33 29 3b 0a 09 09 7d | 0a 09 09 62 72 65 61 6b |e3);...}|...break|
|00000f60| 3b 0a 0a 09 63 61 73 65 | 20 43 4f 50 59 43 4f 4d |;...case| COPYCOM|
|00000f70| 3a 0a 09 63 61 73 65 20 | 55 43 43 4f 50 59 43 4f |:..case |UCCOPYCO|
|00000f80| 4d 3a 0a 09 09 69 66 20 | 28 21 20 55 6e 69 78 5f |M:...if |(! Unix_|
|00000f90| 6d 6f 64 65 29 0a 09 09 | 09 67 6f 74 6f 20 74 72 |mode)...|.goto tr|
|00000fa0| 61 6e 73 6c 69 74 3b 09 | 2f 2a 20 53 57 54 20 75 |anslit;.|/* SWT u|
|00000fb0| 73 65 73 20 27 74 27 20 | 66 6f 72 20 74 72 61 6e |ses 't' |for tran|
|00000fc0| 73 6c 69 74 20 2a 2f 0a | 09 09 2f 2a 20 65 6c 73 |slit */.|../* els|
|00000fd0| 65 0a 09 09 09 66 61 6c | 6c 20 74 68 72 6f 75 67 |e....fal|l throug|
|00000fe0| 68 20 61 6e 64 20 61 63 | 74 20 6e 6f 72 6d 61 6c |h and ac|t normal|
|00000ff0| 6c 79 20 2a 2f 0a 09 64 | 6f 63 6f 70 79 3a 0a 09 |ly */..d|ocopy:..|
|00001000| 09 69 2b 2b 3b 0a 09 09 | 69 66 20 28 67 65 74 6f |.i++;...|if (geto|
|00001010| 6e 65 20 28 6c 69 6e 2c | 20 26 69 2c 20 26 6c 69 |ne (lin,| &i, &li|
|00001020| 6e 65 33 2c 20 73 74 61 | 74 75 73 29 20 3d 3d 20 |ne3, sta|tus) == |
|00001030| 45 4f 46 29 0a 09 09 09 | 2a 73 74 61 74 75 73 20 |EOF)....|*status |
|00001040| 3d 20 45 52 52 3b 0a 09 | 09 69 66 20 28 2a 73 74 |= ERR;..|.if (*st|
|00001050| 61 74 75 73 20 3d 3d 20 | 4f 4b 20 26 26 20 63 6b |atus == |OK && ck|
|00001060| 70 20 28 6c 69 6e 2c 20 | 69 2c 20 26 70 66 6c 61 |p (lin, |i, &pfla|
|00001070| 67 2c 20 73 74 61 74 75 | 73 29 20 3d 3d 20 4f 4b |g, statu|s) == OK|
|00001080| 29 0a 09 09 7b 0a 09 09 | 09 64 65 66 61 6c 74 20 |)...{...|.defalt |
|00001090| 28 43 75 72 6c 6e 2c 20 | 43 75 72 6c 6e 29 3b 0a |(Curln, |Curln);.|
|000010a0| 09 09 09 2a 73 74 61 74 | 75 73 20 3d 20 63 6f 70 |...*stat|us = cop|
|000010b0| 79 20 28 6c 69 6e 65 33 | 29 3b 0a 09 09 7d 0a 09 |y (line3|);...}..|
|000010c0| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 53 |.break;.|..case S|
|000010d0| 55 42 53 54 49 54 55 54 | 45 3a 0a 09 63 61 73 65 |UBSTITUT|E:..case|
|000010e0| 20 55 43 53 55 42 53 54 | 49 54 55 54 45 3a 0a 09 | UCSUBST|ITUTE:..|
|000010f0| 09 69 2b 2b 3b 0a 09 09 | 69 66 20 28 6c 69 6e 5b |.i++;...|if (lin[|
|00001100| 69 5d 20 3d 3d 20 27 5c | 6e 27 29 0a 09 09 7b 0a |i] == '\|n')...{.|
|00001110| 09 09 09 2f 2a 20 74 75 | 72 6e 20 22 73 5c 6e 22 |.../* tu|rn "s\n"|
|00001120| 20 69 6e 74 6f 20 22 73 | 2f 2f 25 2f 5c 6e 22 20 | into "s|//%/\n" |
|00001130| 2a 2f 0a 09 09 09 6c 69 | 6e 5b 69 2b 30 5d 20 3d |*/....li|n[i+0] =|
|00001140| 20 27 2f 27 3b 0a 09 09 | 09 6c 69 6e 5b 69 2b 31 | '/';...|.lin[i+1|
|00001150| 5d 20 3d 20 27 2f 27 3b | 0a 09 09 09 6c 69 6e 5b |] = '/';|....lin[|
|00001160| 69 2b 32 5d 20 3d 20 55 | 6e 69 78 5f 6d 6f 64 65 |i+2] = U|nix_mode|
|00001170| 20 3f 20 27 25 27 20 3a | 20 27 26 27 3b 0a 09 09 | ? '%' :| '&';...|
|00001180| 09 6c 69 6e 5b 69 2b 33 | 5d 20 3d 20 27 2f 27 3b |.lin[i+3|] = '/';|
|00001190| 0a 09 09 09 6c 69 6e 5b | 69 2b 34 5d 20 3d 20 27 |....lin[|i+4] = '|
|000011a0| 5c 6e 27 3b 0a 09 09 09 | 6c 69 6e 5b 69 2b 35 5d |\n';....|lin[i+5]|
|000011b0| 20 3d 20 45 4f 53 3b 0a | 09 09 09 50 65 65 6b 63 | = EOS;.|...Peekc|
|000011c0| 20 3d 20 53 4b 49 50 5f | 52 49 47 48 54 3b 0a 09 | = SKIP_|RIGHT;..|
|000011d0| 09 7d 0a 09 09 65 6c 73 | 65 0a 09 09 7b 0a 09 09 |.}...els|e...{...|
|000011e0| 09 2f 2a 20 74 72 79 20 | 74 6f 20 68 61 6e 64 6c |./* try |to handl|
|000011f0| 65 20 22 73 2f 73 74 75 | 66 66 5c 6e 22 20 2a 2f |e "s/stu|ff\n" */|
|00001200| 0a 09 09 09 69 6e 74 20 | 6a 2c 20 6d 69 73 73 69 |....int |j, missi|
|00001210| 6e 67 5f 64 65 6c 69 6d | 3b 0a 0a 09 09 09 6d 69 |ng_delim|;.....mi|
|00001220| 73 73 69 6e 67 5f 64 65 | 6c 69 6d 20 3d 20 59 45 |ssing_de|lim = YE|
|00001230| 53 3b 0a 09 09 09 66 6f | 72 20 28 6a 20 3d 20 69 |S;....fo|r (j = i|
|00001240| 20 2b 20 31 3b 20 6c 69 | 6e 5b 6a 5d 20 21 3d 20 | + 1; li|n[j] != |
|00001250| 27 5c 6e 27 3b 20 6a 2b | 2b 29 0a 09 09 09 09 69 |'\n'; j+|+).....i|
|00001260| 66 20 28 6c 69 6e 5b 6a | 5d 20 3d 3d 20 45 53 43 |f (lin[j|] == ESC|
|00001270| 41 50 45 20 26 26 20 6c | 69 6e 5b 6a 2b 31 5d 20 |APE && l|in[j+1] |
|00001280| 3d 3d 20 6c 69 6e 5b 69 | 5d 29 0a 09 09 09 09 09 |== lin[i|])......|
|00001290| 6a 2b 2b 3b 09 2f 2a 20 | 73 6b 69 70 20 65 73 63 |j++;./* |skip esc|
|000012a0| 2c 20 6c 6f 6f 70 20 63 | 6f 6e 74 69 6e 75 65 73 |, loop c|ontinues|
|000012b0| 20 2a 2f 0a 09 09 09 09 | 65 6c 73 65 20 69 66 20 | */.....|else if |
|000012c0| 28 6c 69 6e 5b 6a 5d 20 | 3d 3d 20 6c 69 6e 5b 69 |(lin[j] |== lin[i|
|000012d0| 5d 29 0a 09 09 09 09 7b | 0a 09 09 09 09 09 6d 69 |]).....{|......mi|
|000012e0| 73 73 69 6e 67 5f 64 65 | 6c 69 6d 20 3d 20 4e 4f |ssing_de|lim = NO|
|000012f0| 3b 0a 09 09 09 09 09 62 | 72 65 61 6b 3b 09 2f 2a |;......b|reak;./*|
|00001300| 20 66 6f 72 20 2a 2f 0a | 09 09 09 09 7d 0a 0a 09 | for */.|....}...|
|00001310| 09 09 69 66 20 28 6d 69 | 73 73 69 6e 67 5f 64 65 |..if (mi|ssing_de|
|00001320| 6c 69 6d 29 0a 09 09 09 | 7b 0a 09 09 09 09 66 6f |lim)....|{.....fo|
|00001330| 72 20 28 3b 20 6c 69 6e | 5b 6a 5d 20 21 3d 20 45 |r (; lin|[j] != E|
|00001340| 4f 53 3b 20 6a 2b 2b 29 | 0a 09 09 09 09 09 3b 0a |OS; j++)|......;.|
|00001350| 09 09 09 09 6a 2d 2d 3b | 09 09 2f 2a 20 6a 20 6e |....j--;|../* j n|
|00001360| 6f 77 20 61 74 20 6e 65 | 77 6c 69 6e 65 20 2a 2f |ow at ne|wline */|
|00001370| 0a 0a 09 09 09 09 6c 69 | 6e 5b 6a 5d 20 3d 20 6c |......li|n[j] = l|
|00001380| 69 6e 5b 69 5d 3b 09 2f | 2a 20 64 65 6c 69 6d 20 |in[i];./|* delim |
|00001390| 2a 2f 0a 09 09 09 09 6c | 69 6e 5b 2b 2b 6a 5d 20 |*/.....l|in[++j] |
|000013a0| 3d 20 27 5c 6e 27 3b 0a | 09 09 09 09 6c 69 6e 5b |= '\n';.|....lin[|
|000013b0| 2b 2b 6a 5d 20 3d 20 45 | 4f 53 3b 0a 09 09 09 09 |++j] = E|OS;.....|
|000013c0| 50 65 65 6b 63 20 3d 20 | 53 4b 49 50 5f 52 49 47 |Peekc = |SKIP_RIG|
|000013d0| 48 54 3b 0a 09 09 09 09 | 2f 2a 20 72 65 73 74 20 |HT;.....|/* rest |
|000013e0| 6f 66 20 72 6f 75 74 69 | 6e 65 73 20 77 69 6c 6c |of routi|nes will|
|000013f0| 20 63 6f 6e 74 69 6e 75 | 65 20 74 6f 20 66 69 78 | continu|e to fix|
|00001400| 20 75 70 20 2a 2f 0a 09 | 09 09 7d 0a 09 09 7d 0a | up */..|..}...}.|
|00001410| 0a 09 09 69 66 20 28 6f | 70 74 70 61 74 20 28 6c |...if (o|ptpat (l|
|00001420| 69 6e 2c 20 26 69 29 20 | 3d 3d 20 4f 4b 0a 09 09 |in, &i) |== OK...|
|00001430| 20 20 20 20 26 26 20 67 | 65 74 72 68 73 20 28 6c | && g|etrhs (l|
|00001440| 69 6e 2c 20 26 69 2c 20 | 73 75 62 2c 20 26 67 66 |in, &i, |sub, &gf|
|00001450| 6c 61 67 29 20 3d 3d 20 | 4f 4b 0a 09 09 20 20 20 |lag) == |OK... |
|00001460| 20 26 26 20 63 6b 70 20 | 28 6c 69 6e 2c 20 69 20 | && ckp |(lin, i |
|00001470| 2b 20 31 2c 20 26 70 66 | 6c 61 67 2c 20 73 74 61 |+ 1, &pf|lag, sta|
|00001480| 74 75 73 29 20 3d 3d 20 | 4f 4b 29 0a 09 09 7b 0a |tus) == |OK)...{.|
|00001490| 09 09 09 64 65 66 61 6c | 74 20 28 43 75 72 6c 6e |...defal|t (Curln|
|000014a0| 2c 20 43 75 72 6c 6e 29 | 3b 0a 09 09 09 2a 73 74 |, Curln)|;....*st|
|000014b0| 61 74 75 73 20 3d 20 73 | 75 62 73 74 20 28 73 75 |atus = s|ubst (su|
|000014c0| 62 2c 20 67 66 6c 61 67 | 2c 20 67 6c 6f 62 29 3b |b, gflag|, glob);|
|000014d0| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |...}...b|reak;...|
|000014e0| 63 61 73 65 20 54 4c 49 | 54 43 4f 4d 3a 0a 09 63 |case TLI|TCOM:..c|
|000014f0| 61 73 65 20 55 43 54 4c | 49 54 43 4f 4d 3a 0a 09 |ase UCTL|ITCOM:..|
|00001500| 09 69 66 20 28 21 20 55 | 6e 69 78 5f 6d 6f 64 65 |.if (! U|nix_mode|
|00001510| 29 0a 09 09 09 67 6f 74 | 6f 20 64 6f 63 6f 70 79 |)....got|o docopy|
|00001520| 3b 09 2f 2a 20 53 57 54 | 20 75 73 65 73 20 27 79 |;./* SWT| uses 'y|
|00001530| 27 20 66 6f 72 20 63 6f | 70 79 69 6e 67 20 2a 2f |' for co|pying */|
|00001540| 0a 09 09 2f 2a 20 65 6c | 73 65 0a 09 09 09 66 61 |.../* el|se....fa|
|00001550| 6c 6c 20 74 68 72 6f 75 | 67 68 20 61 6e 64 20 61 |ll throu|gh and a|
|00001560| 63 74 20 6e 6f 72 6d 61 | 6c 6c 79 20 2a 2f 0a 09 |ct norma|lly */..|
|00001570| 74 72 61 6e 73 6c 69 74 | 3a 0a 09 09 69 2b 2b 3b |translit|:...i++;|
|00001580| 0a 09 09 69 66 20 28 6c | 69 6e 5b 69 5d 20 3d 3d |...if (l|in[i] ==|
|00001590| 20 27 5c 6e 27 29 0a 09 | 09 7b 0a 09 09 09 2f 2a | '\n')..|.{..../*|
|000015a0| 20 74 75 72 6e 20 22 79 | 5c 6e 22 20 69 6e 74 6f | turn "y|\n" into|
|000015b0| 20 22 79 2f 2f 25 2f 5c | 6e 22 20 2a 2f 0a 09 09 | "y//%/\|n" */...|
|000015c0| 09 6c 69 6e 5b 69 2b 30 | 5d 20 3d 20 27 2f 27 3b |.lin[i+0|] = '/';|
|000015d0| 0a 09 09 09 6c 69 6e 5b | 69 2b 31 5d 20 3d 20 27 |....lin[|i+1] = '|
|000015e0| 2f 27 3b 0a 09 09 09 6c | 69 6e 5b 69 2b 32 5d 20 |/';....l|in[i+2] |
|000015f0| 3d 20 55 6e 69 78 5f 6d | 6f 64 65 20 3f 20 27 25 |= Unix_m|ode ? '%|
|00001600| 27 20 3a 20 27 26 27 3b | 0a 09 09 09 6c 69 6e 5b |' : '&';|....lin[|
|00001610| 69 2b 33 5d 20 3d 20 27 | 2f 27 3b 0a 09 09 09 6c |i+3] = '|/';....l|
|00001620| 69 6e 5b 69 2b 34 5d 20 | 3d 20 27 5c 6e 27 3b 0a |in[i+4] |= '\n';.|
|00001630| 09 09 09 6c 69 6e 5b 69 | 2b 35 5d 20 3d 20 45 4f |...lin[i|+5] = EO|
|00001640| 53 3b 0a 09 09 09 50 65 | 65 6b 63 20 3d 20 53 4b |S;....Pe|ekc = SK|
|00001650| 49 50 5f 52 49 47 48 54 | 3b 0a 09 09 7d 0a 09 09 |IP_RIGHT|;...}...|
|00001660| 65 6c 73 65 0a 09 09 7b | 0a 09 09 09 2f 2a 20 74 |else...{|..../* t|
|00001670| 72 79 20 74 6f 20 68 61 | 6e 64 6c 65 20 22 79 2f |ry to ha|ndle "y/|
|00001680| 73 74 75 66 66 5c 6e 22 | 20 2a 2f 0a 09 09 09 69 |stuff\n"| */....i|
|00001690| 6e 74 20 6a 2c 20 6d 69 | 73 73 69 6e 67 5f 64 65 |nt j, mi|ssing_de|
|000016a0| 6c 69 6d 3b 0a 0a 09 09 | 09 6d 69 73 73 69 6e 67 |lim;....|.missing|
|000016b0| 5f 64 65 6c 69 6d 20 3d | 20 59 45 53 3b 0a 09 09 |_delim =| YES;...|
|000016c0| 09 66 6f 72 20 28 6a 20 | 3d 20 69 20 2b 20 31 3b |.for (j |= i + 1;|
|000016d0| 20 6c 69 6e 5b 6a 5d 20 | 21 3d 20 27 5c 6e 27 3b | lin[j] |!= '\n';|
|000016e0| 20 6a 2b 2b 29 0a 09 09 | 09 09 69 66 20 28 6c 69 | j++)...|..if (li|
|000016f0| 6e 5b 6a 5d 20 3d 3d 20 | 45 53 43 41 50 45 20 26 |n[j] == |ESCAPE &|
|00001700| 26 20 6c 69 6e 5b 6a 2b | 31 5d 20 3d 3d 20 6c 69 |& lin[j+|1] == li|
|00001710| 6e 5b 69 5d 29 0a 09 09 | 09 09 09 6a 2b 2b 3b 09 |n[i])...|...j++;.|
|00001720| 2f 2a 20 73 6b 69 70 20 | 65 73 63 2c 20 6c 6f 6f |/* skip |esc, loo|
|00001730| 70 20 63 6f 6e 74 69 6e | 75 65 73 20 2a 2f 0a 09 |p contin|ues */..|
|00001740| 09 09 09 65 6c 73 65 20 | 69 66 20 28 6c 69 6e 5b |...else |if (lin[|
|00001750| 6a 5d 20 3d 3d 20 6c 69 | 6e 5b 69 5d 29 0a 09 09 |j] == li|n[i])...|
|00001760| 09 09 7b 0a 09 09 09 09 | 09 6d 69 73 73 69 6e 67 |..{.....|.missing|
|00001770| 5f 64 65 6c 69 6d 20 3d | 20 4e 4f 3b 0a 09 09 09 |_delim =| NO;....|
|00001780| 09 09 62 72 65 61 6b 3b | 09 2f 2a 20 66 6f 72 20 |..break;|./* for |
|00001790| 2a 2f 0a 09 09 09 09 7d | 0a 0a 09 09 09 69 66 20 |*/.....}|.....if |
|000017a0| 28 6d 69 73 73 69 6e 67 | 5f 64 65 6c 69 6d 29 0a |(missing|_delim).|
|000017b0| 09 09 09 7b 0a 09 09 09 | 09 66 6f 72 20 28 3b 20 |...{....|.for (; |
|000017c0| 6c 69 6e 5b 6a 5d 20 21 | 3d 20 45 4f 53 3b 20 6a |lin[j] !|= EOS; j|
|000017d0| 2b 2b 29 0a 09 09 09 09 | 09 3b 0a 09 09 09 09 6a |++).....|.;.....j|
|000017e0| 2d 2d 3b 09 09 2f 2a 20 | 6a 20 6e 6f 77 20 61 74 |--;../* |j now at|
|000017f0| 20 6e 65 77 6c 69 6e 65 | 20 2a 2f 0a 0a 09 09 09 | newline| */.....|
|00001800| 09 6c 69 6e 5b 6a 5d 20 | 3d 20 6c 69 6e 5b 69 5d |.lin[j] |= lin[i]|
|00001810| 3b 09 2f 2a 20 64 65 6c | 69 6d 20 2a 2f 0a 09 09 |;./* del|im */...|
|00001820| 09 09 6c 69 6e 5b 2b 2b | 6a 5d 20 3d 20 27 5c 6e |..lin[++|j] = '\n|
|00001830| 27 3b 0a 09 09 09 09 6c | 69 6e 5b 2b 2b 6a 5d 20 |';.....l|in[++j] |
|00001840| 3d 20 45 4f 53 3b 0a 09 | 09 09 09 50 65 65 6b 63 |= EOS;..|...Peekc|
|00001850| 20 3d 20 53 4b 49 50 5f | 52 49 47 48 54 3b 0a 09 | = SKIP_|RIGHT;..|
|00001860| 09 09 09 2f 2a 20 72 65 | 73 74 20 6f 66 20 72 6f |.../* re|st of ro|
|00001870| 75 74 69 6e 65 73 20 77 | 69 6c 6c 20 63 6f 6e 74 |utines w|ill cont|
|00001880| 69 6e 75 65 20 74 6f 20 | 66 69 78 20 75 70 20 2a |inue to |fix up *|
|00001890| 2f 0a 09 09 09 7d 0a 09 | 09 7d 0a 0a 09 09 69 66 |/....}..|.}....if|
|000018a0| 20 28 67 65 74 72 61 6e | 67 65 20 28 6c 69 6e 2c | (getran|ge (lin,|
|000018b0| 20 26 69 2c 20 54 6c 70 | 61 74 2c 20 4d 41 58 50 | &i, Tlp|at, MAXP|
|000018c0| 41 54 2c 20 26 61 6c 6c | 62 75 74 29 20 3d 3d 20 |AT, &all|but) == |
|000018d0| 4f 4b 0a 09 09 20 20 20 | 20 26 26 20 6d 61 6b 73 |OK... | && maks|
|000018e0| 65 74 20 28 6c 69 6e 2c | 20 26 69 2c 20 73 75 62 |et (lin,| &i, sub|
|000018f0| 2c 20 4d 41 58 50 41 54 | 29 20 3d 3d 20 4f 4b 0a |, MAXPAT|) == OK.|
|00001900| 09 09 20 20 20 20 26 26 | 20 63 6b 70 20 28 6c 69 |.. &&| ckp (li|
|00001910| 6e 2c 20 69 20 2b 20 31 | 2c 20 26 70 66 6c 61 67 |n, i + 1|, &pflag|
|00001920| 2c 20 73 74 61 74 75 73 | 29 20 3d 3d 20 4f 4b 29 |, status|) == OK)|
|00001930| 0a 09 09 7b 0a 09 09 09 | 64 65 66 61 6c 74 20 28 |...{....|defalt (|
|00001940| 43 75 72 6c 6e 2c 20 43 | 75 72 6c 6e 29 3b 0a 09 |Curln, C|urln);..|
|00001950| 09 09 2a 73 74 61 74 75 | 73 20 3d 20 64 6f 74 6c |..*statu|s = dotl|
|00001960| 69 74 20 28 73 75 62 2c | 20 61 6c 6c 62 75 74 29 |it (sub,| allbut)|
|00001970| 3b 0a 09 09 7d 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |;...}...|break;..|
|00001980| 09 63 61 73 65 20 4a 4f | 49 4e 43 4f 4d 3a 0a 09 |.case JO|INCOM:..|
|00001990| 63 61 73 65 20 55 43 4a | 4f 49 4e 43 4f 4d 3a 0a |case UCJ|OINCOM:.|
|000019a0| 09 09 69 2b 2b 3b 0a 09 | 09 69 66 20 28 67 65 74 |..i++;..|.if (get|
|000019b0| 73 74 72 20 28 6c 69 6e | 2c 20 26 69 2c 20 73 75 |str (lin|, &i, su|
|000019c0| 62 2c 20 4d 41 58 50 41 | 54 29 20 3d 3d 20 4f 4b |b, MAXPA|T) == OK|
|000019d0| 0a 09 09 20 20 20 20 26 | 26 20 63 6b 70 20 28 6c |... &|& ckp (l|
|000019e0| 69 6e 2c 20 69 20 2b 20 | 31 2c 20 26 70 66 6c 61 |in, i + |1, &pfla|
|000019f0| 67 2c 20 73 74 61 74 75 | 73 29 20 3d 3d 20 4f 4b |g, statu|s) == OK|
|00001a00| 29 0a 09 09 7b 0a 09 09 | 09 64 65 66 61 6c 74 20 |)...{...|.defalt |
|00001a10| 28 70 72 65 76 6c 6e 20 | 28 43 75 72 6c 6e 29 2c |(prevln |(Curln),|
|00001a20| 20 43 75 72 6c 6e 29 3b | 0a 09 09 09 2a 73 74 61 | Curln);|....*sta|
|00001a30| 74 75 73 20 3d 20 6a 6f | 69 6e 20 28 73 75 62 29 |tus = jo|in (sub)|
|00001a40| 3b 0a 09 09 7d 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |;...}...|break;..|
|00001a50| 09 63 61 73 65 20 55 4e | 44 4f 43 4f 4d 3a 0a 09 |.case UN|DOCOM:..|
|00001a60| 63 61 73 65 20 55 43 55 | 4e 44 4f 43 4f 4d 3a 0a |case UCU|NDOCOM:.|
|00001a70| 09 09 69 2b 2b 3b 0a 09 | 09 64 65 66 61 6c 74 20 |..i++;..|.defalt |
|00001a80| 28 43 75 72 6c 6e 2c 20 | 43 75 72 6c 6e 29 3b 0a |(Curln, |Curln);.|
|00001a90| 09 09 69 66 20 28 63 6b | 63 68 61 72 20 28 55 43 |..if (ck|char (UC|
|00001aa0| 44 45 4c 43 4f 4d 2c 20 | 44 45 4c 43 4f 4d 2c 20 |DELCOM, |DELCOM, |
|00001ab0| 6c 69 6e 2c 20 26 69 2c | 20 26 66 6c 61 67 2c 20 |lin, &i,| &flag, |
|00001ac0| 73 74 61 74 75 73 29 20 | 3d 3d 20 4f 4b 0a 09 09 |status) |== OK...|
|00001ad0| 20 20 20 20 26 26 20 63 | 6b 70 20 28 6c 69 6e 2c | && c|kp (lin,|
|00001ae0| 20 69 2c 20 26 70 66 6c | 61 67 2c 20 73 74 61 74 | i, &pfl|ag, stat|
|00001af0| 75 73 29 20 3d 3d 20 4f | 4b 29 0a 09 09 09 2a 73 |us) == O|K)....*s|
|00001b00| 74 61 74 75 73 20 3d 20 | 64 6f 75 6e 64 6f 20 28 |tatus = |doundo (|
|00001b10| 66 6c 61 67 2c 20 73 74 | 61 74 75 73 29 3b 0a 09 |flag, st|atus);..|
|00001b20| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 45 |.break;.|..case E|
|00001b30| 4e 54 45 52 3a 0a 09 63 | 61 73 65 20 55 43 45 4e |NTER:..c|ase UCEN|
|00001b40| 54 45 52 3a 0a 09 09 69 | 2b 2b 3b 0a 09 09 69 66 |TER:...i|++;...if|
|00001b50| 20 28 4e 6c 69 6e 65 73 | 20 21 3d 20 30 29 0a 09 | (Nlines| != 0)..|
|00001b60| 09 09 45 72 72 63 6f 64 | 65 20 3d 20 45 42 41 44 |..Errcod|e = EBAD|
|00001b70| 4c 4e 52 3b 0a 09 09 65 | 6c 73 65 20 69 66 20 28 |LNR;...e|lse if (|
|00001b80| 63 6b 75 70 64 20 28 6c | 69 6e 2c 20 26 69 2c 20 |ckupd (l|in, &i, |
|00001b90| 45 4e 54 45 52 2c 20 73 | 74 61 74 75 73 29 20 3d |ENTER, s|tatus) =|
|00001ba0| 3d 20 4f 4b 0a 09 09 20 | 20 20 20 26 26 20 63 6b |= OK... | && ck|
|00001bb0| 63 68 61 72 20 28 27 78 | 27 2c 20 27 58 27 2c 20 |char ('x|', 'X', |
|00001bc0| 6c 69 6e 2c 20 26 69 2c | 20 26 74 66 6c 61 67 2c |lin, &i,| &tflag,|
|00001bd0| 20 73 74 61 74 75 73 29 | 20 3d 3d 20 4f 4b 29 0a | status)| == OK).|
|00001be0| 09 09 09 69 66 20 28 67 | 65 74 66 6e 20 28 6c 69 |...if (g|etfn (li|
|00001bf0| 6e 2c 20 69 20 2d 20 31 | 2c 20 66 69 6c 65 29 20 |n, i - 1|, file) |
|00001c00| 3d 3d 20 4f 4b 29 0a 09 | 09 09 7b 0a 09 09 09 09 |== OK)..|..{.....|
|00001c10| 73 74 72 63 70 79 20 28 | 53 61 76 66 69 6c 2c 20 |strcpy (|Savfil, |
|00001c20| 65 78 70 61 6e 64 5f 65 | 6e 76 20 28 66 69 6c 65 |expand_e|nv (file|
|00001c30| 29 29 3b 0a 09 09 09 09 | 6d 65 73 67 20 28 53 61 |));.....|mesg (Sa|
|00001c40| 76 66 69 6c 2c 20 46 49 | 4c 45 5f 4d 53 47 29 3b |vfil, FI|LE_MSG);|
|00001c50| 0a 09 09 09 09 63 6c 72 | 62 75 66 20 28 29 3b 0a |.....clr|buf ();.|
|00001c60| 09 09 09 09 6d 6b 62 75 | 66 20 28 29 3b 0a 09 09 |....mkbu|f ();...|
|00001c70| 09 09 64 66 6c 74 73 6f | 70 74 20 28 66 69 6c 65 |..dfltso|pt (file|
|00001c80| 29 3b 0a 09 09 09 09 2a | 73 74 61 74 75 73 20 3d |);.....*|status =|
|00001c90| 20 64 6f 72 65 61 64 20 | 28 30 2c 20 66 69 6c 65 | doread |(0, file|
|00001ca0| 2c 20 74 66 6c 61 67 29 | 3b 0a 09 09 09 09 46 69 |, tflag)|;.....Fi|
|00001cb0| 72 73 74 5f 61 66 66 65 | 63 74 65 64 20 3d 20 30 |rst_affe|cted = 0|
|00001cc0| 3b 0a 09 09 09 09 43 75 | 72 6c 6e 20 3d 20 6d 69 |;.....Cu|rln = mi|
|00001cd0| 6e 20 28 31 2c 20 4c 61 | 73 74 6c 6e 29 3b 0a 09 |n (1, La|stln);..|
|00001ce0| 09 09 09 42 75 66 66 65 | 72 5f 63 68 61 6e 67 65 |...Buffe|r_change|
|00001cf0| 64 20 3d 20 4e 4f 3b 0a | 09 09 09 7d 0a 09 09 09 |d = NO;.|...}....|
|00001d00| 65 6c 73 65 0a 09 09 09 | 09 2a 73 74 61 74 75 73 |else....|.*status|
|00001d10| 20 3d 20 45 52 52 3b 0a | 09 09 62 72 65 61 6b 3b | = ERR;.|..break;|
|00001d20| 0a 0a 09 63 61 73 65 20 | 50 52 49 4e 54 46 49 4c |...case |PRINTFIL|
|00001d30| 3a 0a 09 63 61 73 65 20 | 55 43 50 52 49 4e 54 46 |:..case |UCPRINTF|
|00001d40| 49 4c 3a 0a 09 09 69 66 | 20 28 4e 6c 69 6e 65 73 |IL:...if| (Nlines|
|00001d50| 20 21 3d 20 30 29 0a 09 | 09 09 45 72 72 63 6f 64 | != 0)..|..Errcod|
|00001d60| 65 20 3d 20 45 42 41 44 | 4c 4e 52 3b 0a 09 09 65 |e = EBAD|LNR;...e|
|00001d70| 6c 73 65 20 69 66 20 28 | 67 65 74 66 6e 20 28 6c |lse if (|getfn (l|
|00001d80| 69 6e 2c 20 69 2c 20 66 | 69 6c 65 29 20 3d 3d 20 |in, i, f|ile) == |
|00001d90| 4f 4b 29 0a 09 09 7b 0a | 09 09 09 73 74 72 63 70 |OK)...{.|...strcp|
|00001da0| 79 20 28 53 61 76 66 69 | 6c 2c 20 65 78 70 61 6e |y (Savfi|l, expan|
|00001db0| 64 5f 65 6e 76 20 28 66 | 69 6c 65 29 29 3b 0a 09 |d_env (f|ile));..|
|00001dc0| 09 09 6d 65 73 67 20 28 | 53 61 76 66 69 6c 2c 20 |..mesg (|Savfil, |
|00001dd0| 46 49 4c 45 5f 4d 53 47 | 29 3b 0a 09 09 09 2a 73 |FILE_MSG|);....*s|
|00001de0| 74 61 74 75 73 20 3d 20 | 4f 4b 3b 0a 09 09 7d 0a |tatus = |OK;...}.|
|00001df0| 09 09 62 72 65 61 6b 3b | 0a 0a 09 63 61 73 65 20 |..break;|...case |
|00001e00| 52 45 41 44 43 4f 4d 3a | 0a 09 63 61 73 65 20 55 |READCOM:|..case U|
|00001e10| 43 52 45 41 44 43 4f 4d | 3a 0a 09 09 69 2b 2b 3b |CREADCOM|:...i++;|
|00001e20| 0a 09 09 69 66 20 28 63 | 6b 63 68 61 72 20 28 27 |...if (c|kchar ('|
|00001e30| 78 27 2c 20 27 58 27 2c | 20 6c 69 6e 2c 20 26 69 |x', 'X',| lin, &i|
|00001e40| 2c 20 26 74 66 6c 61 67 | 2c 20 73 74 61 74 75 73 |, &tflag|, status|
|00001e50| 29 20 3d 3d 20 4f 4b 29 | 0a 09 09 09 69 66 20 28 |) == OK)|....if (|
|00001e60| 67 65 74 66 6e 20 28 6c | 69 6e 2c 20 69 20 2d 20 |getfn (l|in, i - |
|00001e70| 31 2c 20 66 69 6c 65 29 | 20 3d 3d 20 4f 4b 29 0a |1, file)| == OK).|
|00001e80| 09 09 09 7b 0a 09 09 09 | 09 64 65 66 61 6c 74 20 |...{....|.defalt |
|00001e90| 28 43 75 72 6c 6e 2c 20 | 43 75 72 6c 6e 29 3b 0a |(Curln, |Curln);.|
|00001ea0| 09 09 09 09 2a 73 74 61 | 74 75 73 20 3d 20 64 6f |....*sta|tus = do|
|00001eb0| 72 65 61 64 20 28 4c 69 | 6e 65 32 2c 20 66 69 6c |read (Li|ne2, fil|
|00001ec0| 65 2c 20 74 66 6c 61 67 | 29 3b 0a 09 09 09 7d 0a |e, tflag|);....}.|
|00001ed0| 09 09 62 72 65 61 6b 3b | 0a 0a 09 63 61 73 65 20 |..break;|...case |
|00001ee0| 57 52 49 54 45 43 4f 4d | 3a 0a 09 63 61 73 65 20 |WRITECOM|:..case |
|00001ef0| 55 43 57 52 49 54 45 43 | 4f 4d 3a 0a 09 09 69 2b |UCWRITEC|OM:...i+|
|00001f00| 2b 3b 0a 09 09 66 6c 61 | 67 20 3d 20 4e 4f 3b 0a |+;...fla|g = NO;.|
|00001f10| 09 09 66 66 6c 61 67 20 | 3d 20 4e 4f 3b 0a 09 09 |..fflag |= NO;...|
|00001f20| 6a 75 6e 6b 20 3d 20 63 | 6b 63 68 61 72 20 28 27 |junk = c|kchar ('|
|00001f30| 3e 27 2c 20 27 2b 27 2c | 20 6c 69 6e 2c 20 26 69 |>', '+',| lin, &i|
|00001f40| 2c 20 26 66 6c 61 67 2c | 20 26 6a 75 6e 6b 29 3b |, &flag,| &junk);|
|00001f50| 0a 09 09 69 66 20 28 66 | 6c 61 67 20 3d 3d 20 4e |...if (f|lag == N|
|00001f60| 4f 29 0a 09 09 09 6a 75 | 6e 6b 20 3d 20 63 6b 63 |O)....ju|nk = ckc|
|00001f70| 68 61 72 20 28 27 21 27 | 2c 20 27 21 27 2c 20 6c |har ('!'|, '!', l|
|00001f80| 69 6e 2c 20 26 69 2c 20 | 26 66 66 6c 61 67 2c 20 |in, &i, |&fflag, |
|00001f90| 26 6a 75 6e 6b 29 3b 0a | 09 09 6a 75 6e 6b 20 3d |&junk);.|..junk =|
|00001fa0| 20 63 6b 63 68 61 72 20 | 28 27 78 27 2c 20 27 58 | ckchar |('x', 'X|
|00001fb0| 27 2c 20 6c 69 6e 2c 20 | 26 69 2c 20 26 74 66 6c |', lin, |&i, &tfl|
|00001fc0| 61 67 2c 20 26 6a 75 6e | 6b 29 3b 0a 09 09 69 66 |ag, &jun|k);...if|
|00001fd0| 20 28 67 65 74 66 6e 20 | 28 6c 69 6e 2c 20 69 20 | (getfn |(lin, i |
|00001fe0| 2d 20 31 2c 20 66 69 6c | 65 29 20 3d 3d 20 4f 4b |- 1, fil|e) == OK|
|00001ff0| 29 0a 09 09 7b 0a 09 09 | 09 64 65 66 61 6c 74 20 |)...{...|.defalt |
|00002000| 28 31 2c 20 4c 61 73 74 | 6c 6e 29 3b 0a 09 09 09 |(1, Last|ln);....|
|00002010| 2a 73 74 61 74 75 73 20 | 3d 20 64 6f 77 72 69 74 |*status |= dowrit|
|00002020| 20 28 4c 69 6e 65 31 2c | 20 4c 69 6e 65 32 2c 20 | (Line1,| Line2, |
|00002030| 66 69 6c 65 2c 20 66 6c | 61 67 2c 20 66 66 6c 61 |file, fl|ag, ffla|
|00002040| 67 2c 20 74 66 6c 61 67 | 29 3b 0a 09 09 7d 0a 09 |g, tflag|);...}..|
|00002050| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 50 |.break;.|..case P|
|00002060| 52 49 4e 54 3a 0a 09 63 | 61 73 65 20 55 43 50 52 |RINT:..c|ase UCPR|
|00002070| 49 4e 54 3a 0a 09 09 69 | 66 20 28 6c 69 6e 5b 69 |INT:...i|f (lin[i|
|00002080| 20 2b 20 31 5d 20 3d 3d | 20 27 5c 6e 27 29 0a 09 | + 1] ==| '\n')..|
|00002090| 09 7b 0a 09 09 09 64 65 | 66 61 6c 74 20 28 31 2c |.{....de|falt (1,|
|000020a0| 20 54 6f 70 6c 6e 29 3b | 0a 09 09 09 2a 73 74 61 | Topln);|....*sta|
|000020b0| 74 75 73 20 3d 20 64 6f | 70 72 6e 74 20 28 4c 69 |tus = do|prnt (Li|
|000020c0| 6e 65 31 2c 20 4c 69 6e | 65 32 29 3b 0a 09 09 7d |ne1, Lin|e2);...}|
|000020d0| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|000020e0| 20 50 41 47 45 43 4f 4d | 3a 0a 09 09 64 65 66 61 | PAGECOM|:...defa|
|000020f0| 6c 74 20 28 31 2c 20 6d | 69 6e 20 28 4c 61 73 74 |lt (1, m|in (Last|
|00002100| 6c 6e 2c 20 42 6f 74 72 | 6f 77 20 2d 20 54 6f 70 |ln, Botr|ow - Top|
|00002110| 72 6f 77 20 2b 20 54 6f | 70 6c 6e 29 29 3b 0a 09 |row + To|pln));..|
|00002120| 09 69 66 20 28 4c 69 6e | 65 31 20 3c 3d 20 30 29 |.if (Lin|e1 <= 0)|
|00002130| 0a 09 09 09 45 72 72 63 | 6f 64 65 20 3d 20 45 4f |....Errc|ode = EO|
|00002140| 52 41 4e 47 45 3b 0a 09 | 09 65 6c 73 65 20 69 66 |RANGE;..|.else if|
|00002150| 20 28 6c 69 6e 5b 69 20 | 2b 20 31 5d 20 3d 3d 20 | (lin[i |+ 1] == |
|00002160| 27 5c 6e 27 29 0a 09 09 | 7b 0a 09 09 09 54 6f 70 |'\n')...|{....Top|
|00002170| 6c 6e 20 3d 20 4c 69 6e | 65 32 3b 0a 09 09 09 43 |ln = Lin|e2;....C|
|00002180| 75 72 6c 6e 20 3d 20 4c | 69 6e 65 32 3b 0a 09 09 |urln = L|ine2;...|
|00002190| 09 46 69 72 73 74 5f 61 | 66 66 65 63 74 65 64 20 |.First_a|ffected |
|000021a0| 3d 20 4c 69 6e 65 32 3b | 0a 09 09 09 2a 73 74 61 |= Line2;|....*sta|
|000021b0| 74 75 73 20 3d 20 4f 4b | 3b 0a 09 09 7d 0a 09 09 |tus = OK|;...}...|
|000021c0| 62 72 65 61 6b 3b 0a 0a | 09 63 61 73 65 20 4e 41 |break;..|.case NA|
|000021d0| 4d 45 43 4f 4d 3a 0a 09 | 63 61 73 65 20 55 43 4e |MECOM:..|case UCN|
|000021e0| 41 4d 45 43 4f 4d 3a 0a | 09 09 69 2b 2b 3b 0a 09 |AMECOM:.|..i++;..|
|000021f0| 09 69 66 20 28 67 65 74 | 6b 6e 20 28 6c 69 6e 2c |.if (get|kn (lin,|
|00002200| 20 26 69 2c 20 26 6b 6e | 61 6d 65 2c 20 44 45 46 | &i, &kn|ame, DEF|
|00002210| 41 55 4c 54 4e 41 4d 45 | 29 20 21 3d 20 45 52 52 |AULTNAME|) != ERR|
|00002220| 0a 09 09 20 20 20 20 26 | 26 20 6c 69 6e 5b 69 5d |... &|& lin[i]|
|00002230| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 09 75 6e 69 | == '\n'|)....uni|
|00002240| 71 75 65 6c 79 5f 6e 61 | 6d 65 20 28 6b 6e 61 6d |quely_na|me (knam|
|00002250| 65 2c 20 73 74 61 74 75 | 73 29 3b 0a 09 09 62 72 |e, statu|s);...br|
|00002260| 65 61 6b 3b 0a 0a 09 63 | 61 73 65 20 4d 41 52 4b |eak;...c|ase MARK|
|00002270| 43 4f 4d 3a 0a 09 63 61 | 73 65 20 55 43 4d 41 52 |COM:..ca|se UCMAR|
|00002280| 4b 43 4f 4d 3a 0a 09 09 | 69 2b 2b 3b 0a 09 09 69 |KCOM:...|i++;...i|
|00002290| 66 20 28 67 65 74 6b 6e | 20 28 6c 69 6e 2c 20 26 |f (getkn| (lin, &|
|000022a0| 69 2c 20 26 6b 6e 61 6d | 65 2c 20 44 45 46 41 55 |i, &knam|e, DEFAU|
|000022b0| 4c 54 4e 41 4d 45 29 20 | 21 3d 20 45 52 52 0a 09 |LTNAME) |!= ERR..|
|000022c0| 09 20 20 20 20 26 26 20 | 6c 69 6e 5b 69 5d 20 3d |. && |lin[i] =|
|000022d0| 3d 20 27 5c 6e 27 29 0a | 09 09 7b 0a 09 09 09 64 |= '\n').|..{....d|
|000022e0| 65 66 61 6c 74 20 28 43 | 75 72 6c 6e 2c 20 43 75 |efalt (C|urln, Cu|
|000022f0| 72 6c 6e 29 3b 0a 09 09 | 09 2a 73 74 61 74 75 73 |rln);...|.*status|
|00002300| 20 3d 20 64 6f 6d 61 72 | 6b 20 28 6b 6e 61 6d 65 | = domar|k (kname|
|00002310| 29 3b 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |);...}..|.break;.|
|00002320| 0a 09 63 61 73 65 20 27 | 5c 6e 27 3a 0a 09 09 6c |..case '|\n':...l|
|00002330| 69 6e 65 33 20 3d 20 6e | 65 78 74 6c 6e 20 28 43 |ine3 = n|extln (C|
|00002340| 75 72 6c 6e 29 3b 0a 09 | 09 64 65 66 61 6c 74 20 |urln);..|.defalt |
|00002350| 28 6c 69 6e 65 33 2c 20 | 6c 69 6e 65 33 29 3b 0a |(line3, |line3);.|
|00002360| 09 09 2a 73 74 61 74 75 | 73 20 3d 20 64 6f 70 72 |..*statu|s = dopr|
|00002370| 6e 74 20 28 4c 69 6e 65 | 32 2c 20 4c 69 6e 65 32 |nt (Line|2, Line2|
|00002380| 29 3b 0a 09 09 62 72 65 | 61 6b 3b 0a 0a 09 63 61 |);...bre|ak;...ca|
|00002390| 73 65 20 4c 4f 43 41 54 | 45 43 4d 44 3a 0a 09 63 |se LOCAT|ECMD:..c|
|000023a0| 61 73 65 20 55 43 4c 4f | 43 41 54 45 43 4d 44 3a |ase UCLO|CATECMD:|
|000023b0| 0a 09 09 69 66 20 28 6c | 69 6e 5b 69 2b 31 5d 20 |...if (l|in[i+1] |
|000023c0| 3d 3d 20 27 5c 6e 27 29 | 0a 09 09 7b 0a 09 09 09 |== '\n')|...{....|
|000023d0| 63 68 61 72 20 2a 73 79 | 73 6e 61 6d 65 20 28 29 |char *sy|sname ()|
|000023e0| 3b 0a 0a 09 09 09 72 65 | 6d 61 72 6b 20 28 73 79 |;.....re|mark (sy|
|000023f0| 73 6e 61 6d 65 20 28 29 | 29 3b 0a 09 09 09 2a 73 |sname ()|);....*s|
|00002400| 74 61 74 75 73 20 3d 20 | 4f 4b 3b 0a 09 09 7d 0a |tatus = |OK;...}.|
|00002410| 09 09 62 72 65 61 6b 3b | 0a 0a 09 63 61 73 65 20 |..break;|...case |
|00002420| 4f 50 54 43 4f 4d 3a 0a | 09 63 61 73 65 20 55 43 |OPTCOM:.|.case UC|
|00002430| 4f 50 54 43 4f 4d 3a 0a | 09 09 69 66 20 28 4e 6c |OPTCOM:.|..if (Nl|
|00002440| 69 6e 65 73 20 3d 3d 20 | 30 29 0a 09 09 09 2a 73 |ines == |0)....*s|
|00002450| 74 61 74 75 73 20 3d 20 | 64 6f 6f 70 74 20 28 6c |tatus = |doopt (l|
|00002460| 69 6e 2c 20 26 69 29 3b | 0a 09 09 65 6c 73 65 0a |in, &i);|...else.|
|00002470| 09 09 09 45 72 72 63 6f | 64 65 20 3d 20 45 42 41 |...Errco|de = EBA|
|00002480| 44 4c 4e 52 3b 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |DLNR;...|break;..|
|00002490| 09 63 61 73 65 20 51 55 | 49 54 3a 0a 09 63 61 73 |.case QU|IT:..cas|
|000024a0| 65 20 55 43 51 55 49 54 | 3a 0a 09 09 69 2b 2b 3b |e UCQUIT|:...i++;|
|000024b0| 0a 09 09 69 66 20 28 4e | 6c 69 6e 65 73 20 21 3d |...if (N|lines !=|
|000024c0| 20 30 29 0a 09 09 09 45 | 72 72 63 6f 64 65 20 3d | 0)....E|rrcode =|
|000024d0| 20 45 42 41 44 4c 4e 52 | 3b 0a 09 09 65 6c 73 65 | EBADLNR|;...else|
|000024e0| 20 69 66 20 28 63 6b 75 | 70 64 20 28 6c 69 6e 2c | if (cku|pd (lin,|
|000024f0| 20 26 69 2c 20 51 55 49 | 54 2c 20 73 74 61 74 75 | &i, QUI|T, statu|
|00002500| 73 29 20 3d 3d 20 4f 4b | 29 0a 09 09 09 69 66 20 |s) == OK|)....if |
|00002510| 28 6c 69 6e 5b 69 5d 20 | 3d 3d 20 27 5c 6e 27 29 |(lin[i] |== '\n')|
|00002520| 0a 09 09 09 09 2a 73 74 | 61 74 75 73 20 3d 20 45 |.....*st|atus = E|
|00002530| 4f 46 3b 0a 09 09 09 65 | 6c 73 65 0a 09 09 09 09 |OF;....e|lse.....|
|00002540| 2a 73 74 61 74 75 73 20 | 3d 20 45 52 52 3b 0a 09 |*status |= ERR;..|
|00002550| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 48 |.break;.|..case H|
|00002560| 45 4c 50 3a 0a 09 63 61 | 73 65 20 55 43 48 45 4c |ELP:..ca|se UCHEL|
|00002570| 50 3a 0a 09 09 69 2b 2b | 3b 0a 09 09 69 66 20 28 |P:...i++|;...if (|
|00002580| 4e 6c 69 6e 65 73 20 3d | 3d 20 30 29 0a 09 09 09 |Nlines =|= 0)....|
|00002590| 64 6f 68 65 6c 70 20 28 | 6c 69 6e 2c 20 26 69 2c |dohelp (|lin, &i,|
|000025a0| 20 73 74 61 74 75 73 29 | 3b 0a 09 09 65 6c 73 65 | status)|;...else|
|000025b0| 0a 09 09 09 45 72 72 63 | 6f 64 65 20 3d 20 45 42 |....Errc|ode = EB|
|000025c0| 41 44 4c 4e 52 3b 0a 09 | 09 62 72 65 61 6b 3b 0a |ADLNR;..|.break;.|
|000025d0| 0a 09 63 61 73 65 20 4d | 49 53 43 43 4f 4d 3a 09 |..case M|ISCCOM:.|
|000025e0| 09 2f 2a 20 6d 69 73 63 | 65 6c 6c 61 6e 69 6f 75 |./* misc|ellaniou|
|000025f0| 73 20 66 65 61 74 75 72 | 65 73 20 2a 2f 0a 09 63 |s featur|es */..c|
|00002600| 61 73 65 20 55 43 4d 49 | 53 43 43 4f 4d 3a 0a 09 |ase UCMI|SCCOM:..|
|00002610| 09 69 2b 2b 3b 0a 09 09 | 73 77 69 74 63 68 20 28 |.i++;...|switch (|
|00002620| 6c 69 6e 5b 69 5d 29 20 | 7b 0a 09 09 63 61 73 65 |lin[i]) |{...case|
|00002630| 20 27 62 27 3a 09 2f 2a | 20 64 72 61 77 20 62 6f | 'b':./*| draw bo|
|00002640| 78 20 2a 2f 0a 09 09 63 | 61 73 65 20 27 42 27 3a |x */...c|ase 'B':|
|00002650| 0a 09 09 09 64 65 66 61 | 6c 74 20 28 43 75 72 6c |....defa|lt (Curl|
|00002660| 6e 2c 20 43 75 72 6c 6e | 29 3b 0a 09 09 09 69 2b |n, Curln|);....i+|
|00002670| 2b 3b 0a 09 09 09 2a 73 | 74 61 74 75 73 20 3d 20 |+;....*s|tatus = |
|00002680| 64 72 61 77 5f 62 6f 78 | 20 28 6c 69 6e 2c 20 26 |draw_box| (lin, &|
|00002690| 69 29 3b 0a 09 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |i);....b|reak;...|
|000026a0| 09 64 65 66 61 75 6c 74 | 3a 0a 09 09 09 45 72 72 |.default|:....Err|
|000026b0| 63 6f 64 65 20 3d 20 45 | 57 48 41 54 5a 41 54 3b |code = E|WHATZAT;|
|000026c0| 0a 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 7d 0a 09 |....brea|k;...}..|
|000026d0| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 53 |.break;.|..case S|
|000026e0| 48 45 4c 4c 43 4f 4d 3a | 0a 09 09 69 66 20 28 21 |HELLCOM:|...if (!|
|000026f0| 20 55 6e 69 78 5f 6d 6f | 64 65 29 0a 09 09 09 65 | Unix_mo|de)....e|
|00002700| 72 72 6f 72 20 28 22 69 | 6e 20 64 6f 63 6d 64 3a |rror ("i|n docmd:|
|00002710| 20 63 61 6e 27 74 20 68 | 61 70 70 65 6e 2e 22 29 | can't h|appen.")|
|00002720| 3b 0a 09 73 68 65 6c 6c | 63 6f 6d 3a 0a 09 09 69 |;..shell|com:...i|
|00002730| 2b 2b 3b 0a 09 09 64 65 | 66 61 6c 74 20 28 43 75 |++;...de|falt (Cu|
|00002740| 72 6c 6e 2c 20 43 75 72 | 6c 6e 29 3b 0a 09 09 2a |rln, Cur|ln);...*|
|00002750| 73 74 61 74 75 73 20 3d | 20 64 6f 73 68 65 6c 6c |status =| doshell|
|00002760| 20 28 6c 69 6e 2c 20 26 | 69 29 3b 0a 09 09 62 72 | (lin, &|i);...br|
|00002770| 65 61 6b 3b 0a 0a 09 63 | 61 73 65 20 27 7e 27 3a |eak;...c|ase '~':|
|00002780| 0a 09 09 69 66 20 28 21 | 20 55 6e 69 78 5f 6d 6f |...if (!| Unix_mo|
|00002790| 64 65 29 0a 09 09 09 67 | 6f 74 6f 20 73 68 65 6c |de)....g|oto shel|
|000027a0| 6c 63 6f 6d 3b 0a 09 09 | 2f 2a 20 65 6c 73 65 0a |lcom;...|/* else.|
|000027b0| 09 09 09 66 61 6c 6c 20 | 74 68 72 6f 75 67 68 20 |...fall |through |
|000027c0| 74 6f 20 64 65 66 61 75 | 6c 74 0a 09 09 09 77 68 |to defau|lt....wh|
|000027d0| 69 63 68 20 77 69 6c 6c | 20 67 65 6e 65 72 61 74 |ich will| generat|
|000027e0| 65 20 61 6e 20 65 72 72 | 6f 72 20 2a 2f 0a 0a 09 |e an err|or */...|
|000027f0| 64 65 66 61 75 6c 74 3a | 0a 09 09 45 72 72 63 6f |default:|...Errco|
|00002800| 64 65 20 3d 20 45 57 48 | 41 54 5a 41 54 3b 09 2f |de = EWH|ATZAT;./|
|00002810| 2a 20 63 6f 6d 6d 61 6e | 64 20 6e 6f 74 20 72 65 |* comman|d not re|
|00002820| 63 6f 67 6e 69 7a 65 64 | 20 2a 2f 0a 09 09 62 72 |cognized| */...br|
|00002830| 65 61 6b 3b 0a 09 7d 0a | 0a 09 69 66 20 28 2a 73 |eak;..}.|..if (*s|
|00002840| 74 61 74 75 73 20 3d 3d | 20 4f 4b 29 0a 09 09 50 |tatus ==| OK)...P|
|00002850| 72 6f 62 61 74 69 6f 6e | 20 3d 20 4e 4f 3b 0a 0a |robation| = NO;..|
|00002860| 09 72 65 74 75 72 6e 20 | 28 2a 73 74 61 74 75 73 |.return |(*status|
|00002870| 29 3b 0a 7d 0a 0a 0a 2f | 2a 20 64 6f 68 65 6c 70 |);.}.../|* dohelp|
|00002880| 20 2d 2d 2d 20 64 69 73 | 70 6c 61 79 20 64 6f 63 | --- dis|play doc|
|00002890| 75 6d 65 6e 74 61 74 69 | 6f 6e 20 61 62 6f 75 74 |umentati|on about|
|000028a0| 20 65 64 69 74 6f 72 20 | 2a 2f 0a 0a 64 6f 68 65 | editor |*/..dohe|
|000028b0| 6c 70 20 28 6c 69 6e 2c | 20 69 2c 20 73 74 61 74 |lp (lin,| i, stat|
|000028c0| 75 73 29 0a 63 68 61 72 | 20 6c 69 6e 5b 5d 3b 0a |us).char| lin[];.|
|000028d0| 69 6e 74 20 2a 69 2c 20 | 2a 73 74 61 74 75 73 3b |int *i, |*status;|
|000028e0| 0a 7b 0a 09 63 68 61 72 | 20 66 69 6c 65 6e 61 6d |.{..char| filenam|
|000028f0| 65 5b 4d 41 58 4c 49 4e | 45 5d 3b 0a 09 63 68 61 |e[MAXLIN|E];..cha|
|00002900| 72 20 73 77 74 5f 66 69 | 6c 65 6e 61 6d 65 5b 4d |r swt_fi|lename[M|
|00002910| 41 58 4c 49 4e 45 5d 3b | 0a 09 73 74 61 74 69 63 |AXLINE];|..static|
|00002920| 20 63 68 61 72 20 68 65 | 6c 70 64 69 72 5b 5d 20 | char he|lpdir[] |
|00002930| 3d 20 22 2f 75 73 72 2f | 6c 6f 63 61 6c 2f 6c 69 |= "/usr/|local/li|
|00002940| 62 2f 73 65 5f 68 22 3b | 09 2f 2a 20 68 65 6c 70 |b/se_h";|./* help|
|00002950| 20 73 63 72 69 70 74 73 | 20 2a 2f 0a 09 69 6e 74 | scripts| */..int|
|00002960| 20 6a 3b 0a 09 46 49 4c | 45 20 2a 66 70 2c 20 2a | j;..FIL|E *fp, *|
|00002970| 66 6f 70 65 6e 20 28 29 | 3b 0a 0a 09 53 4b 49 50 |fopen ()|;...SKIP|
|00002980| 42 4c 20 28 6c 69 6e 2c | 20 2a 69 29 3b 0a 09 69 |BL (lin,| *i);..i|
|00002990| 66 20 28 6c 69 6e 5b 2a | 69 5d 20 3d 3d 20 4e 45 |f (lin[*|i] == NE|
|000029a0| 57 4c 49 4e 45 29 0a 09 | 09 73 70 72 69 6e 74 66 |WLINE)..|.sprintf|
|000029b0| 20 28 66 69 6c 65 6e 61 | 6d 65 2c 20 22 25 73 2f | (filena|me, "%s/|
|000029c0| 65 6c 70 22 2c 20 68 65 | 6c 70 64 69 72 29 3b 0a |elp", he|lpdir);.|
|000029d0| 09 65 6c 73 65 0a 09 7b | 0a 09 09 2f 2a 20 62 75 |.else..{|.../* bu|
|000029e0| 69 6c 64 20 66 69 6c 65 | 6e 61 6d 65 20 66 72 6f |ild file|name fro|
|000029f0| 6d 20 74 65 78 74 20 61 | 66 74 65 72 20 22 68 22 |m text a|fter "h"|
|00002a00| 20 2a 2f 0a 09 09 73 70 | 72 69 6e 74 66 20 28 66 | */...sp|rintf (f|
|00002a10| 69 6c 65 6e 61 6d 65 2c | 20 22 25 73 2f 25 73 22 |ilename,| "%s/%s"|
|00002a20| 2c 20 68 65 6c 70 64 69 | 72 2c 20 26 6c 69 6e 5b |, helpdi|r, &lin[|
|00002a30| 2a 69 5d 29 3b 0a 09 09 | 6a 20 3d 20 73 74 72 6c |*i]);...|j = strl|
|00002a40| 65 6e 20 28 66 69 6c 65 | 6e 61 6d 65 29 3b 0a 09 |en (file|name);..|
|00002a50| 09 66 69 6c 65 6e 61 6d | 65 5b 6a 2d 31 5d 20 3d |.filenam|e[j-1] =|
|00002a60| 20 45 4f 53 3b 09 2f 2a | 20 6c 6f 70 20 6f 66 66 | EOS;./*| lop off|
|00002a70| 20 6e 65 77 6c 69 6e 65 | 20 2a 2f 0a 09 7d 0a 0a | newline| */..}..|
|00002a80| 09 2f 2a 20 6d 61 70 20 | 74 6f 20 6c 6f 77 65 72 |./* map |to lower|
|00002a90| 20 63 61 73 65 20 2a 2f | 0a 09 66 6f 72 20 28 6a | case */|..for (j|
|00002aa0| 20 3d 20 30 3b 20 66 69 | 6c 65 6e 61 6d 65 5b 6a | = 0; fi|lename[j|
|00002ab0| 5d 20 21 3d 20 45 4f 53 | 3b 20 6a 2b 2b 29 0a 09 |] != EOS|; j++)..|
|00002ac0| 09 69 66 20 28 69 73 75 | 70 70 65 72 20 28 66 69 |.if (isu|pper (fi|
|00002ad0| 6c 65 6e 61 6d 65 5b 6a | 5d 29 29 0a 09 09 09 66 |lename[j|]))....f|
|00002ae0| 69 6c 65 6e 61 6d 65 5b | 6a 5d 20 3d 20 74 6f 6c |ilename[|j] = tol|
|00002af0| 6f 77 65 72 20 28 66 69 | 6c 65 6e 61 6d 65 5b 6a |ower (fi|lename[j|
|00002b00| 5d 29 3b 0a 0a 09 73 70 | 72 69 6e 74 66 20 28 73 |]);...sp|rintf (s|
|00002b10| 77 74 5f 66 69 6c 65 6e | 61 6d 65 2c 20 22 25 73 |wt_filen|ame, "%s|
|00002b20| 5f 73 77 74 22 2c 20 66 | 69 6c 65 6e 61 6d 65 29 |_swt", f|ilename)|
|00002b30| 3b 0a 0a 09 69 66 20 28 | 21 20 55 6e 69 78 5f 6d |;...if (|! Unix_m|
|00002b40| 6f 64 65 20 26 26 20 61 | 63 63 65 73 73 20 28 73 |ode && a|ccess (s|
|00002b50| 77 74 5f 66 69 6c 65 6e | 61 6d 65 2c 20 34 29 20 |wt_filen|ame, 4) |
|00002b60| 3d 3d 20 30 29 0a 09 09 | 73 74 72 63 70 79 20 28 |== 0)...|strcpy (|
|00002b70| 66 69 6c 65 6e 61 6d 65 | 2c 20 73 77 74 5f 66 69 |filename|, swt_fi|
|00002b80| 6c 65 6e 61 6d 65 29 3b | 0a 09 09 2f 2a 20 53 57 |lename);|.../* SW|
|00002b90| 54 20 76 65 72 73 69 6f | 6e 20 6f 66 20 68 65 6c |T versio|n of hel|
|00002ba0| 70 20 66 69 6c 65 20 65 | 78 69 73 74 73 2c 20 75 |p file e|xists, u|
|00002bb0| 73 65 20 69 74 20 2a 2f | 0a 09 2f 2a 20 65 6c 73 |se it */|../* els|
|00002bc0| 65 0a 09 09 75 73 65 20 | 55 6e 69 78 20 6f 72 20 |e...use |Unix or |
|00002bd0| 6e 6f 72 6d 61 6c 20 76 | 65 72 73 69 6f 6e 20 6f |normal v|ersion o|
|00002be0| 66 20 74 68 65 20 68 65 | 6c 70 20 66 69 6c 65 20 |f the he|lp file |
|00002bf0| 2a 2f 0a 0a 09 2a 73 74 | 61 74 75 73 20 3d 20 4f |*/...*st|atus = O|
|00002c00| 4b 3b 0a 09 69 66 20 28 | 28 66 70 20 3d 20 66 6f |K;..if (|(fp = fo|
|00002c10| 70 65 6e 20 28 66 69 6c | 65 6e 61 6d 65 2c 20 22 |pen (fil|ename, "|
|00002c20| 72 22 29 29 20 3d 3d 20 | 4e 55 4c 4c 29 0a 09 7b |r")) == |NULL)..{|
|00002c30| 0a 09 09 2a 73 74 61 74 | 75 73 20 3d 20 45 52 52 |...*stat|us = ERR|
|00002c40| 3b 0a 09 09 45 72 72 63 | 6f 64 65 20 3d 20 45 4e |;...Errc|ode = EN|
|00002c50| 4f 48 45 4c 50 3b 0a 09 | 7d 0a 09 65 6c 73 65 0a |OHELP;..|}..else.|
|00002c60| 09 7b 0a 23 69 66 64 65 | 66 20 75 33 62 32 0a 09 |.{.#ifde|f u3b2..|
|00002c70| 09 2f 2a 20 33 42 32 20 | 73 65 65 6d 73 20 74 6f |./* 3B2 |seems to|
|00002c80| 20 68 61 76 65 20 70 72 | 6f 62 6c 65 6d 73 20 77 | have pr|oblems w|
|00002c90| 69 74 68 20 73 74 64 69 | 6f 20 61 6e 64 20 6d 61 |ith stdi|o and ma|
|00002ca0| 6c 6c 6f 63 2e 2e 2e 20 | 2a 2f 0a 09 09 63 68 61 |lloc... |*/...cha|
|00002cb0| 72 20 62 75 66 5b 42 55 | 46 53 49 5a 5d 3b 0a 09 |r buf[BU|FSIZ];..|
|00002cc0| 09 73 65 74 62 75 66 20 | 28 66 70 2c 20 62 75 66 |.setbuf |(fp, buf|
|00002cd0| 29 3b 0a 23 65 6e 64 69 | 66 0a 0a 09 09 2f 2a 20 |);.#endi|f..../* |
|00002ce0| 73 74 61 74 75 73 20 69 | 73 20 4f 4b 20 2a 2f 0a |status i|s OK */.|
|00002cf0| 09 09 64 69 73 70 6c 61 | 79 5f 6d 65 73 73 61 67 |..displa|y_messag|
|00002d00| 65 20 28 66 70 29 3b 09 | 2f 2a 20 64 69 73 70 6c |e (fp);.|/* displ|
|00002d10| 61 79 20 74 68 65 20 68 | 65 6c 70 20 73 63 72 69 |ay the h|elp scri|
|00002d20| 70 74 20 2a 2f 0a 09 09 | 66 63 6c 6f 73 65 20 28 |pt */...|fclose (|
|00002d30| 66 70 29 3b 0a 09 7d 0a | 7d 0a 0a 0a 2f 2a 20 64 |fp);..}.|}.../* d|
|00002d40| 6f 6f 70 74 20 2d 2d 2d | 20 69 6e 74 65 72 70 72 |oopt ---| interpr|
|00002d50| 65 74 20 6f 70 74 69 6f | 6e 20 63 6f 6d 6d 61 6e |et optio|n comman|
|00002d60| 64 20 2a 2f 0a 0a 69 6e | 74 20 64 6f 6f 70 74 20 |d */..in|t doopt |
|00002d70| 28 6c 69 6e 2c 20 69 29 | 0a 63 68 61 72 20 6c 69 |(lin, i)|.char li|
|00002d80| 6e 5b 5d 3b 0a 69 6e 74 | 20 2a 69 3b 0a 7b 0a 09 |n[];.int| *i;.{..|
|00002d90| 69 6e 74 20 74 65 6d 70 | 2c 20 6c 69 6e 65 2c 20 |int temp|, line, |
|00002da0| 73 74 61 74 3b 0a 09 63 | 68 61 72 20 74 65 6d 70 |stat;..c|har temp|
|00002db0| 73 74 72 5b 34 5d 3b 0a | 09 69 6e 74 20 72 65 74 |str[4];.|.int ret|
|00002dc0| 3b 0a 09 69 6e 74 20 64 | 6f 73 6f 70 74 20 28 29 |;..int d|osopt ()|
|00002dd0| 3b 0a 09 69 6e 74 20 63 | 74 6f 69 20 28 29 3b 0a |;..int c|toi ();.|
|00002de0| 0a 09 28 2a 69 29 2b 2b | 3b 0a 09 72 65 74 20 3d |..(*i)++|;..ret =|
|00002df0| 20 45 52 52 3b 0a 0a 09 | 73 77 69 74 63 68 20 28 | ERR;...|switch (|
|00002e00| 6c 69 6e 5b 2a 69 5d 29 | 20 7b 0a 0a 09 63 61 73 |lin[*i])| {...cas|
|00002e10| 65 20 27 67 27 3a 09 09 | 2f 2a 20 73 75 62 73 74 |e 'g':..|/* subst|
|00002e20| 69 74 75 74 65 73 20 69 | 6e 20 61 20 67 6c 6f 62 |itutes i|n a glob|
|00002e30| 61 6c 20 63 61 6e 28 6e | 6f 74 29 20 66 61 69 6c |al can(n|ot) fail|
|00002e40| 20 2a 2f 0a 09 63 61 73 | 65 20 27 47 27 3a 0a 09 | */..cas|e 'G':..|
|00002e50| 09 69 66 20 28 6c 69 6e | 5b 2a 69 20 2b 20 31 5d |.if (lin|[*i + 1]|
|00002e60| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 7b 0a 09 09 | == '\n'|)...{...|
|00002e70| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 09 47 6c |.ret = O|K;....Gl|
|00002e80| 6f 62 61 6c 73 20 3d 20 | 21 20 47 6c 6f 62 61 6c |obals = |! Global|
|00002e90| 73 3b 09 2f 2a 20 74 6f | 67 67 6c 65 20 2a 2f 0a |s;./* to|ggle */.|
|00002ea0| 09 09 09 69 66 20 28 47 | 6c 6f 62 61 6c 73 20 3d |...if (G|lobals =|
|00002eb0| 3d 20 59 45 53 29 0a 09 | 09 09 09 72 65 6d 61 72 |= YES)..|...remar|
|00002ec0| 6b 20 28 22 66 61 69 6c | 65 64 20 67 6c 6f 62 61 |k ("fail|ed globa|
|00002ed0| 6c 20 73 75 62 73 74 69 | 74 75 74 65 73 20 63 6f |l substi|tutes co|
|00002ee0| 6e 74 69 6e 75 65 22 29 | 3b 0a 09 09 09 65 6c 73 |ntinue")|;....els|
|00002ef0| 65 0a 09 09 09 09 72 65 | 6d 61 72 6b 20 28 22 66 |e.....re|mark ("f|
|00002f00| 61 69 6c 65 64 20 67 6c | 6f 62 61 6c 20 73 75 62 |ailed gl|obal sub|
|00002f10| 73 74 69 74 75 74 65 73 | 20 73 74 6f 70 22 29 3b |stitutes| stop");|
|00002f20| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |...}...b|reak;...|
|00002f30| 63 61 73 65 20 27 68 27 | 3a 0a 09 63 61 73 65 20 |case 'h'|:..case |
|00002f40| 27 48 27 3a 09 09 2f 2a | 20 64 6f 2f 64 6f 6e 27 |'H':../*| do/don'|
|00002f50| 74 20 75 73 65 20 68 61 | 72 64 77 61 72 65 20 69 |t use ha|rdware i|
|00002f60| 6e 73 65 72 74 2f 64 65 | 6c 65 74 65 20 2a 2f 0a |nsert/de|lete */.|
|00002f70| 09 09 69 66 20 28 6c 69 | 6e 5b 2a 69 20 2b 20 31 |..if (li|n[*i + 1|
|00002f80| 5d 20 3d 3d 20 27 5c 6e | 27 29 0a 09 09 7b 0a 09 |] == '\n|')...{..|
|00002f90| 09 09 72 65 74 20 3d 20 | 4f 4b 3b 0a 09 09 09 4e |..ret = |OK;....N|
|00002fa0| 6f 5f 68 61 72 64 77 61 | 72 65 20 3d 20 21 20 4e |o_hardwa|re = ! N|
|00002fb0| 6f 5f 68 61 72 64 77 61 | 72 65 3b 0a 09 09 09 69 |o_hardwa|re;....i|
|00002fc0| 66 20 28 4e 6f 5f 68 61 | 72 64 77 61 72 65 20 3d |f (No_ha|rdware =|
|00002fd0| 3d 20 59 45 53 29 0a 09 | 09 09 09 72 65 6d 61 72 |= YES)..|...remar|
|00002fe0| 6b 20 28 22 6e 6f 20 6c | 69 6e 65 20 69 6e 73 65 |k ("no l|ine inse|
|00002ff0| 72 74 2f 64 65 6c 65 74 | 65 22 29 3b 0a 09 09 09 |rt/delet|e");....|
|00003000| 65 6c 73 65 0a 09 09 09 | 09 72 65 6d 61 72 6b 20 |else....|.remark |
|00003010| 28 22 6c 69 6e 65 20 69 | 6e 73 65 72 74 2f 64 65 |("line i|nsert/de|
|00003020| 6c 65 74 65 22 29 3b 0a | 09 09 7d 0a 09 09 62 72 |lete");.|..}...br|
|00003030| 65 61 6b 3b 0a 0a 09 63 | 61 73 65 20 27 6b 27 3a |eak;...c|ase 'k':|
|00003040| 09 09 2f 2a 20 74 65 6c | 6c 20 75 73 65 72 20 69 |../* tel|l user i|
|00003050| 66 20 62 75 66 66 65 72 | 20 73 61 76 65 64 20 6f |f buffer| saved o|
|00003060| 72 20 6e 6f 74 20 2a 2f | 0a 09 63 61 73 65 20 27 |r not */|..case '|
|00003070| 4b 27 3a 0a 09 09 69 66 | 20 28 6c 69 6e 5b 2a 69 |K':...if| (lin[*i|
|00003080| 20 2b 20 31 5d 20 3d 3d | 20 27 5c 6e 27 29 0a 09 | + 1] ==| '\n')..|
|00003090| 09 7b 0a 09 09 09 72 65 | 74 20 3d 20 4f 4b 3b 0a |.{....re|t = OK;.|
|000030a0| 09 09 09 69 66 20 28 42 | 75 66 66 65 72 5f 63 68 |...if (B|uffer_ch|
|000030b0| 61 6e 67 65 64 20 3d 3d | 20 59 45 53 29 0a 09 09 |anged ==| YES)...|
|000030c0| 09 09 72 65 6d 61 72 6b | 20 28 22 6e 6f 74 20 73 |..remark| ("not s|
|000030d0| 61 76 65 64 22 29 3b 0a | 09 09 09 65 6c 73 65 0a |aved");.|...else.|
|000030e0| 09 09 09 09 72 65 6d 61 | 72 6b 20 28 22 73 61 76 |....rema|rk ("sav|
|000030f0| 65 64 22 29 3b 0a 09 09 | 7d 0a 09 09 62 72 65 61 |ed");...|}...brea|
|00003100| 6b 3b 0a 0a 0a 09 63 61 | 73 65 20 27 7a 27 3a 09 |k;....ca|se 'z':.|
|00003110| 2f 2a 20 73 75 73 70 65 | 6e 64 20 74 68 65 20 65 |/* suspe|nd the e|
|00003120| 64 69 74 6f 72 20 70 72 | 6f 63 65 73 73 20 2a 2f |ditor pr|ocess */|
|00003130| 0a 09 63 61 73 65 20 27 | 5a 27 3a 0a 09 09 69 66 |..case '|Z':...if|
|00003140| 20 28 6c 69 6e 5b 2a 69 | 20 2b 20 31 5d 20 3d 3d | (lin[*i| + 1] ==|
|00003150| 20 27 5c 6e 27 29 0a 09 | 09 7b 0a 09 09 09 72 65 | '\n')..|.{....re|
|00003160| 74 20 3d 20 4f 4b 3b 0a | 23 69 66 64 65 66 20 42 |t = OK;.|#ifdef B|
|00003170| 53 44 0a 09 09 09 69 66 | 20 28 43 61 74 63 68 69 |SD....if| (Catchi|
|00003180| 6e 67 5f 73 74 6f 70 73 | 29 0a 09 09 09 7b 0a 09 |ng_stops|)....{..|
|00003190| 09 09 09 63 68 61 72 20 | 2a 67 65 74 65 6e 76 20 |...char |*getenv |
|000031a0| 28 29 3b 0a 0a 09 09 09 | 09 2f 2a 0a 09 09 09 09 |();.....|./*.....|
|000031b0| 20 2a 20 6f 72 64 65 72 | 20 74 68 65 20 74 65 73 | * order| the tes|
|000031c0| 74 20 74 68 69 73 20 77 | 61 79 20 73 6f 20 74 68 |t this w|ay so th|
|000031d0| 61 74 20 69 74 20 66 61 | 69 6c 73 0a 09 09 09 09 |at it fa|ils.....|
|000031e0| 20 2a 20 69 6d 6d 65 64 | 69 61 74 65 6c 79 20 69 | * immed|iately i|
|000031f0| 6e 20 74 68 65 20 75 73 | 75 61 6c 20 63 61 73 65 |n the us|ual case|
|00003200| 0a 09 09 09 09 20 2a 2f | 0a 09 09 09 09 69 66 20 |..... */|.....if |
|00003210| 28 67 65 74 65 6e 76 20 | 28 22 52 53 45 22 29 20 |(getenv |("RSE") |
|00003220| 21 3d 20 4e 55 4c 4c 20 | 26 26 20 41 74 5f 67 74 |!= NULL |&& At_gt|
|00003230| 69 63 73 29 0a 09 09 09 | 09 7b 0a 09 09 09 09 09 |ics)....|.{......|
|00003240| 72 65 6d 61 72 6b 20 28 | 22 59 6f 75 20 6d 61 79 |remark (|"You may|
|00003250| 20 6e 6f 74 20 73 75 73 | 70 65 6e 64 20 6d 65 22 | not sus|pend me"|
|00003260| 29 3b 0a 09 09 09 09 09 | 62 72 65 61 6b 3b 09 2f |);......|break;./|
|00003270| 2a 20 73 77 69 74 63 68 | 20 2a 2f 0a 09 09 09 09 |* switch| */.....|
|00003280| 7d 0a 09 09 09 09 65 6c | 73 65 20 69 66 20 28 42 |}.....el|se if (B|
|00003290| 75 66 66 65 72 5f 63 68 | 61 6e 67 65 64 20 3d 3d |uffer_ch|anged ==|
|000032a0| 20 59 45 53 29 0a 09 09 | 09 09 09 66 70 72 69 6e | YES)...|...fprin|
|000032b0| 74 66 20 28 73 74 64 65 | 72 72 2c 20 22 57 41 52 |tf (stde|rr, "WAR|
|000032c0| 4e 49 4e 47 3a 20 62 75 | 66 66 65 72 20 6e 6f 74 |NING: bu|ffer not|
|000032d0| 20 73 61 76 65 64 5c 6e | 22 29 3b 0a 09 09 09 09 | saved\n|");.....|
|000032e0| 6b 69 6c 6c 20 28 67 65 | 74 70 69 64 28 29 2c 20 |kill (ge|tpid(), |
|000032f0| 53 49 47 54 53 54 50 29 | 3b 0a 09 09 09 09 2f 2a |SIGTSTP)|;...../*|
|00003300| 20 73 74 6f 70 5f 68 64 | 6c 72 28 29 20 77 69 6c | stop_hd|lr() wil|
|00003310| 6c 20 64 6f 20 61 6c 6c | 20 74 68 65 20 77 6f 72 |l do all| the wor|
|00003320| 6b 20 66 6f 72 20 75 73 | 20 2a 2f 0a 09 09 09 7d |k for us| */....}|
|00003330| 0a 23 65 6c 73 65 0a 09 | 09 09 72 65 6d 61 72 6b |.#else..|..remark|
|00003340| 20 28 22 70 72 6f 63 65 | 73 73 20 73 75 73 70 65 | ("proce|ss suspe|
|00003350| 6e 73 69 6f 6e 20 6e 6f | 74 20 61 76 61 69 6c 61 |nsion no|t availa|
|00003360| 62 6c 65 22 29 3b 0a 23 | 65 6e 64 69 66 0a 09 09 |ble");.#|endif...|
|00003370| 7d 0a 09 09 62 72 65 61 | 6b 3b 0a 0a 09 63 61 73 |}...brea|k;...cas|
|00003380| 65 20 27 74 27 3a 09 2f | 2a 20 73 65 74 20 6f 72 |e 't':./|* set or|
|00003390| 20 64 69 73 70 6c 61 79 | 20 74 61 62 20 73 74 6f | display| tab sto|
|000033a0| 70 73 20 66 6f 72 20 65 | 78 70 61 6e 64 69 6e 67 |ps for e|xpanding|
|000033b0| 20 74 61 62 73 20 2a 2f | 0a 09 63 61 73 65 20 27 | tabs */|..case '|
|000033c0| 54 27 3a 0a 09 09 2b 2b | 28 2a 69 29 3b 0a 09 09 |T':...++|(*i);...|
|000033d0| 69 66 20 28 6c 69 6e 5b | 2a 69 5d 20 3d 3d 20 27 |if (lin[|*i] == '|
|000033e0| 5c 6e 27 29 0a 09 09 7b | 0a 09 09 09 72 65 6d 61 |\n')...{|....rema|
|000033f0| 72 6b 20 28 54 61 62 73 | 74 72 29 3b 0a 09 09 09 |rk (Tabs|tr);....|
|00003400| 72 65 74 20 3d 20 4f 4b | 3b 0a 09 09 7d 0a 09 09 |ret = OK|;...}...|
|00003410| 65 6c 73 65 0a 09 09 7b | 0a 09 09 09 72 65 74 20 |else...{|....ret |
|00003420| 3d 20 73 65 74 74 61 62 | 20 28 26 6c 69 6e 5b 2a |= settab| (&lin[*|
|00003430| 69 5d 29 3b 0a 09 09 09 | 69 66 20 28 72 65 74 20 |i]);....|if (ret |
|00003440| 3d 3d 20 4f 4b 29 0a 09 | 09 09 09 73 74 72 63 70 |== OK)..|...strcp|
|00003450| 79 20 28 54 61 62 73 74 | 72 2c 20 26 6c 69 6e 5b |y (Tabst|r, &lin[|
|00003460| 2a 69 5d 29 3b 0a 09 09 | 09 65 6c 73 65 09 2f 2a |*i]);...|.else./*|
|00003470| 20 64 65 66 61 75 6c 74 | 73 20 77 65 72 65 20 73 | default|s were s|
|00003480| 65 74 20 2a 2f 0a 09 09 | 09 09 73 74 72 63 70 79 |et */...|..strcpy|
|00003490| 20 28 54 61 62 73 74 72 | 2c 20 22 2b 34 22 29 3b | (Tabstr|, "+4");|
|000034a0| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |...}...b|reak;...|
|000034b0| 63 61 73 65 20 27 77 27 | 3a 09 2f 2a 20 73 65 74 |case 'w'|:./* set|
|000034c0| 20 6f 72 20 64 69 73 70 | 6c 61 79 20 77 61 72 6e | or disp|lay warn|
|000034d0| 69 6e 67 20 63 6f 6c 75 | 6d 6e 20 2a 2f 0a 09 63 |ing colu|mn */..c|
|000034e0| 61 73 65 20 27 57 27 3a | 0a 09 09 2b 2b 28 2a 69 |ase 'W':|...++(*i|
|000034f0| 29 3b 0a 09 09 69 66 20 | 28 6c 69 6e 5b 2a 69 5d |);...if |(lin[*i]|
|00003500| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 09 72 65 74 | == '\n'|)....ret|
|00003510| 20 3d 20 4f 4b 3b 0a 09 | 09 65 6c 73 65 0a 09 09 | = OK;..|.else...|
|00003520| 7b 0a 09 09 09 74 65 6d | 70 20 3d 20 63 74 6f 69 |{....tem|p = ctoi|
|00003530| 20 28 6c 69 6e 2c 20 69 | 29 3b 0a 09 09 09 69 66 | (lin, i|);....if|
|00003540| 20 28 6c 69 6e 5b 2a 69 | 5d 20 3d 3d 20 27 5c 6e | (lin[*i|] == '\n|
|00003550| 27 29 0a 09 09 09 09 69 | 66 20 28 74 65 6d 70 20 |').....i|f (temp |
|00003560| 3e 20 30 20 26 26 20 74 | 65 6d 70 20 3c 20 4d 41 |> 0 && t|emp < MA|
|00003570| 58 4c 49 4e 45 20 2d 20 | 33 29 0a 09 09 09 09 7b |XLINE - |3).....{|
|00003580| 0a 09 09 09 09 09 72 65 | 74 20 3d 20 4f 4b 3b 0a |......re|t = OK;.|
|00003590| 09 09 09 09 09 57 61 72 | 6e 63 6f 6c 20 3d 20 74 |.....War|ncol = t|
|000035a0| 65 6d 70 3b 0a 09 09 09 | 09 7d 0a 09 09 09 09 65 |emp;....|.}.....e|
|000035b0| 6c 73 65 0a 09 09 09 09 | 09 45 72 72 63 6f 64 65 |lse.....|.Errcode|
|000035c0| 20 3d 20 45 4e 4f 4e 53 | 45 4e 53 45 3b 0a 09 09 | = ENONS|ENSE;...|
|000035d0| 7d 0a 09 09 69 66 20 28 | 72 65 74 20 3d 3d 20 4f |}...if (|ret == O|
|000035e0| 4b 29 0a 09 09 09 73 61 | 79 6e 75 6d 20 28 57 61 |K)....sa|ynum (Wa|
|000035f0| 72 6e 63 6f 6c 29 3b 0a | 09 09 62 72 65 61 6b 3b |rncol);.|..break;|
|00003600| 0a 0a 09 63 61 73 65 20 | 27 2d 27 3a 09 2f 2a 20 |...case |'-':./* |
|00003610| 66 69 78 20 77 69 6e 64 | 6f 77 20 69 6e 20 70 6c |fix wind|ow in pl|
|00003620| 61 63 65 20 6f 6e 20 73 | 63 72 65 65 6e 2c 20 6f |ace on s|creen, o|
|00003630| 72 20 65 72 61 73 65 20 | 69 74 20 2a 2f 0a 09 09 |r erase |it */...|
|00003640| 2b 2b 28 2a 69 29 3b 0a | 09 09 69 66 20 28 67 65 |++(*i);.|..if (ge|
|00003650| 74 6e 75 6d 20 28 6c 69 | 6e 2c 20 69 2c 20 26 6c |tnum (li|n, i, &l|
|00003660| 69 6e 65 2c 20 26 73 74 | 61 74 29 20 3d 3d 20 45 |ine, &st|at) == E|
|00003670| 4f 46 29 0a 09 09 7b 0a | 09 09 09 6d 65 73 67 20 |OF)...{.|...mesg |
|00003680| 28 22 22 2c 20 48 45 4c | 50 5f 4d 53 47 29 3b 0a |("", HEL|P_MSG);.|
|00003690| 09 09 09 69 66 20 28 54 | 6f 70 72 6f 77 20 3e 20 |...if (T|oprow > |
|000036a0| 30 29 0a 09 09 09 7b 0a | 09 09 09 09 54 6f 70 6c |0)....{.|....Topl|
|000036b0| 6e 20 3d 20 6d 61 78 20 | 28 31 2c 20 54 6f 70 6c |n = max |(1, Topl|
|000036c0| 6e 20 2d 20 54 6f 70 72 | 6f 77 29 3b 0a 09 09 09 |n - Topr|ow);....|
|000036d0| 09 54 6f 70 72 6f 77 20 | 3d 20 30 3b 0a 09 09 09 |.Toprow |= 0;....|
|000036e0| 09 46 69 72 73 74 5f 61 | 66 66 65 63 74 65 64 20 |.First_a|ffected |
|000036f0| 3d 20 54 6f 70 6c 6e 3b | 0a 09 09 09 7d 0a 09 09 |= Topln;|....}...|
|00003700| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 7d 0a 09 |.ret = O|K;...}..|
|00003710| 09 65 6c 73 65 20 69 66 | 20 28 73 74 61 74 20 21 |.else if| (stat !|
|00003720| 3d 20 45 52 52 20 26 26 | 20 6c 69 6e 5b 2a 69 5d |= ERR &&| lin[*i]|
|00003730| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 09 69 66 20 | == '\n'|)....if |
|00003740| 28 54 6f 70 72 6f 77 20 | 2b 20 28 6c 69 6e 65 20 |(Toprow |+ (line |
|00003750| 2d 20 54 6f 70 6c 6e 20 | 2b 20 31 29 20 3c 20 43 |- Topln |+ 1) < C|
|00003760| 6d 64 72 6f 77 29 0a 09 | 09 09 7b 0a 09 09 09 09 |mdrow)..|..{.....|
|00003770| 54 6f 70 72 6f 77 20 2b | 3d 20 6c 69 6e 65 20 2d |Toprow +|= line -|
|00003780| 20 54 6f 70 6c 6e 20 2b | 20 31 3b 0a 09 09 09 09 | Topln +| 1;.....|
|00003790| 54 6f 70 6c 6e 20 3d 20 | 6c 69 6e 65 20 2b 20 31 |Topln = |line + 1|
|000037a0| 3b 0a 09 09 09 09 66 6f | 72 20 28 74 65 6d 70 20 |;.....fo|r (temp |
|000037b0| 3d 20 30 3b 20 74 65 6d | 70 20 3c 20 4e 63 6f 6c |= 0; tem|p < Ncol|
|000037c0| 73 3b 20 74 65 6d 70 2b | 2b 29 0a 09 09 09 09 09 |s; temp+|+)......|
|000037d0| 6c 6f 61 64 20 28 27 2d | 27 2c 20 54 6f 70 72 6f |load ('-|', Topro|
|000037e0| 77 20 2d 20 31 2c 20 74 | 65 6d 70 29 3b 0a 09 09 |w - 1, t|emp);...|
|000037f0| 09 09 69 66 20 28 54 6f | 70 6c 6e 20 3e 20 4c 61 |..if (To|pln > La|
|00003800| 73 74 6c 6e 29 0a 09 09 | 09 09 09 61 64 6a 75 73 |stln)...|...adjus|
|00003810| 74 5f 77 69 6e 64 6f 77 | 20 28 31 2c 20 4c 61 73 |t_window| (1, Las|
|00003820| 74 6c 6e 29 3b 0a 09 09 | 09 09 69 66 20 28 43 75 |tln);...|..if (Cu|
|00003830| 72 6c 6e 20 3c 20 54 6f | 70 6c 6e 29 0a 09 09 09 |rln < To|pln)....|
|00003840| 09 09 43 75 72 6c 6e 20 | 3d 20 6d 69 6e 20 28 54 |..Curln |= min (T|
|00003850| 6f 70 6c 6e 2c 20 4c 61 | 73 74 6c 6e 29 3b 0a 09 |opln, La|stln);..|
|00003860| 09 09 09 72 65 74 20 3d | 20 4f 4b 3b 0a 09 09 09 |...ret =| OK;....|
|00003870| 7d 0a 09 09 09 65 6c 73 | 65 0a 09 09 09 09 45 72 |}....els|e.....Er|
|00003880| 72 63 6f 64 65 20 3d 20 | 45 4f 52 41 4e 47 45 3b |rcode = |EORANGE;|
|00003890| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|000038a0| 20 27 61 27 3a 09 2f 2a | 20 74 6f 67 67 6c 65 20 | 'a':./*| toggle |
|000038b0| 61 62 73 6f 6c 75 74 65 | 20 6c 69 6e 65 20 6e 75 |absolute| line nu|
|000038c0| 6d 62 65 72 69 6e 67 20 | 2a 2f 0a 09 63 61 73 65 |mbering |*/..case|
|000038d0| 20 27 41 27 3a 0a 09 09 | 69 66 20 28 6c 69 6e 5b | 'A':...|if (lin[|
|000038e0| 2a 69 20 2b 20 31 5d 20 | 3d 3d 20 27 5c 6e 27 29 |*i + 1] |== '\n')|
|000038f0| 0a 09 09 7b 0a 09 09 09 | 41 62 73 6e 6f 73 20 3d |...{....|Absnos =|
|00003900| 20 21 20 41 62 73 6e 6f | 73 3b 0a 09 09 09 72 65 | ! Absno|s;....re|
|00003910| 74 20 3d 20 4f 4b 3b 0a | 09 09 7d 0a 09 09 62 72 |t = OK;.|..}...br|
|00003920| 65 61 6b 3b 0a 0a 09 63 | 61 73 65 20 27 63 27 3a |eak;...c|ase 'c':|
|00003930| 09 2f 2a 20 74 6f 67 67 | 6c 65 20 63 61 73 65 20 |./* togg|le case |
|00003940| 6f 70 74 69 6f 6e 20 2a | 2f 0a 09 63 61 73 65 20 |option *|/..case |
|00003950| 27 43 27 3a 0a 09 09 69 | 66 20 28 6c 69 6e 5b 2a |'C':...i|f (lin[*|
|00003960| 69 20 2b 20 31 5d 20 3d | 3d 20 27 5c 6e 27 29 0a |i + 1] =|= '\n').|
|00003970| 09 09 7b 0a 09 09 09 72 | 65 74 20 3d 20 4f 4b 3b |..{....r|et = OK;|
|00003980| 0a 09 09 09 49 6e 76 65 | 72 74 5f 63 61 73 65 20 |....Inve|rt_case |
|00003990| 3d 20 21 20 49 6e 76 65 | 72 74 5f 63 61 73 65 3b |= ! Inve|rt_case;|
|000039a0| 0a 09 09 09 69 66 20 28 | 52 65 6c 5f 61 20 3d 3d |....if (|Rel_a ==|
|000039b0| 20 27 41 27 29 0a 09 09 | 09 7b 0a 09 09 09 09 52 | 'A')...|.{.....R|
|000039c0| 65 6c 5f 61 20 3d 20 27 | 61 27 3b 0a 09 09 09 09 |el_a = '|a';.....|
|000039d0| 52 65 6c 5f 7a 20 3d 20 | 27 7a 27 3b 0a 09 09 09 |Rel_z = |'z';....|
|000039e0| 7d 0a 09 09 09 65 6c 73 | 65 0a 09 09 09 7b 0a 09 |}....els|e....{..|
|000039f0| 09 09 09 52 65 6c 5f 61 | 20 3d 20 27 41 27 3b 0a |...Rel_a| = 'A';.|
|00003a00| 09 09 09 09 52 65 6c 5f | 7a 20 3d 20 27 5a 27 3b |....Rel_|z = 'Z';|
|00003a10| 0a 09 09 09 7d 0a 09 09 | 7d 0a 0a 09 09 6d 65 73 |....}...|}....mes|
|00003a20| 67 20 28 49 6e 76 65 72 | 74 5f 63 61 73 65 20 3f |g (Inver|t_case ?|
|00003a30| 20 22 43 41 53 45 22 20 | 3a 20 22 22 2c 20 43 41 | "CASE" |: "", CA|
|00003a40| 53 45 5f 4d 53 47 29 3b | 0a 09 09 62 72 65 61 6b |SE_MSG);|...break|
|00003a50| 3b 0a 0a 09 63 61 73 65 | 20 27 64 27 3a 09 2f 2a |;...case| 'd':./*|
|00003a60| 20 73 65 74 20 6f 72 20 | 64 69 73 70 6c 61 79 20 | set or |display |
|00003a70| 70 6c 61 63 65 6d 65 6e | 74 20 6f 66 20 22 2e 22 |placemen|t of "."|
|00003a80| 20 61 66 74 65 72 20 61 | 20 64 65 6c 65 74 65 20 | after a| delete |
|00003a90| 2a 2f 0a 09 63 61 73 65 | 20 27 44 27 3a 0a 09 09 |*/..case| 'D':...|
|00003aa0| 69 66 20 28 6c 69 6e 5b | 2a 69 20 2b 20 31 5d 20 |if (lin[|*i + 1] |
|00003ab0| 3d 3d 20 27 5c 6e 27 29 | 0a 09 09 7b 0a 09 09 09 |== '\n')|...{....|
|00003ac0| 69 66 20 28 44 64 69 72 | 20 3d 3d 20 46 4f 52 57 |if (Ddir| == FORW|
|00003ad0| 41 52 44 29 0a 09 09 09 | 09 72 65 6d 61 72 6b 20 |ARD)....|.remark |
|00003ae0| 28 22 3e 22 29 3b 0a 09 | 09 09 65 6c 73 65 0a 09 |(">");..|..else..|
|00003af0| 09 09 09 72 65 6d 61 72 | 6b 20 28 22 3c 22 29 3b |...remar|k ("<");|
|00003b00| 0a 09 09 09 72 65 74 20 | 3d 20 4f 4b 3b 0a 09 09 |....ret |= OK;...|
|00003b10| 7d 0a 09 09 65 6c 73 65 | 20 69 66 20 28 6c 69 6e |}...else| if (lin|
|00003b20| 5b 2a 69 20 2b 20 32 5d | 20 21 3d 20 27 5c 6e 27 |[*i + 2]| != '\n'|
|00003b30| 29 0a 09 09 09 45 72 72 | 63 6f 64 65 20 3d 20 45 |)....Err|code = E|
|00003b40| 4f 44 4c 53 53 47 54 52 | 3b 0a 09 09 65 6c 73 65 |ODLSSGTR|;...else|
|00003b50| 20 69 66 20 28 6c 69 6e | 5b 2a 69 20 2b 20 31 5d | if (lin|[*i + 1]|
|00003b60| 20 3d 3d 20 27 3e 27 29 | 0a 09 09 7b 0a 09 09 09 | == '>')|...{....|
|00003b70| 72 65 74 20 3d 20 4f 4b | 3b 0a 09 09 09 44 64 69 |ret = OK|;....Ddi|
|00003b80| 72 20 3d 20 46 4f 52 57 | 41 52 44 3b 0a 09 09 7d |r = FORW|ARD;...}|
|00003b90| 0a 09 09 65 6c 73 65 20 | 69 66 20 28 6c 69 6e 5b |...else |if (lin[|
|00003ba0| 2a 69 20 2b 20 31 5d 20 | 3d 3d 20 27 3c 27 29 0a |*i + 1] |== '<').|
|00003bb0| 09 09 7b 0a 09 09 09 72 | 65 74 20 3d 20 4f 4b 3b |..{....r|et = OK;|
|00003bc0| 0a 09 09 09 44 64 69 72 | 20 3d 20 42 41 43 4b 57 |....Ddir| = BACKW|
|00003bd0| 41 52 44 3b 0a 09 09 7d | 0a 09 09 65 6c 73 65 0a |ARD;...}|...else.|
|00003be0| 09 09 09 45 72 72 63 6f | 64 65 20 3d 20 45 4f 44 |...Errco|de = EOD|
|00003bf0| 4c 53 53 47 54 52 3b 0a | 09 09 62 72 65 61 6b 3b |LSSGTR;.|..break;|
|00003c00| 0a 0a 09 63 61 73 65 20 | 27 76 27 3a 09 2f 2a 20 |...case |'v':./* |
|00003c10| 73 65 74 20 6f 72 20 64 | 69 73 70 6c 61 79 20 6f |set or d|isplay o|
|00003c20| 76 65 72 6c 61 79 20 63 | 6f 6c 75 6d 6e 20 2a 2f |verlay c|olumn */|
|00003c30| 0a 09 63 61 73 65 20 27 | 56 27 3a 0a 09 09 2b 2b |..case '|V':...++|
|00003c40| 28 2a 69 29 3b 0a 09 09 | 69 66 20 28 6c 69 6e 5b |(*i);...|if (lin[|
|00003c50| 2a 69 5d 20 3d 3d 20 27 | 5c 6e 27 29 0a 09 09 7b |*i] == '|\n')...{|
|00003c60| 0a 09 09 09 69 66 20 28 | 4f 76 65 72 6c 61 79 5f |....if (|Overlay_|
|00003c70| 63 6f 6c 20 3d 3d 20 30 | 29 0a 09 09 09 09 72 65 |col == 0|).....re|
|00003c80| 6d 61 72 6b 20 28 22 24 | 22 29 3b 0a 09 09 09 65 |mark ("$|");....e|
|00003c90| 6c 73 65 0a 09 09 09 09 | 73 61 79 6e 75 6d 20 28 |lse.....|saynum (|
|00003ca0| 4f 76 65 72 6c 61 79 5f | 63 6f 6c 29 3b 0a 09 09 |Overlay_|col);...|
|00003cb0| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 7d 0a 09 |.ret = O|K;...}..|
|00003cc0| 09 65 6c 73 65 0a 09 09 | 7b 0a 09 09 09 69 66 20 |.else...|{....if |
|00003cd0| 28 6c 69 6e 5b 2a 69 5d | 20 3d 3d 20 27 24 27 20 |(lin[*i]| == '$' |
|00003ce0| 26 26 20 6c 69 6e 5b 2a | 69 20 2b 20 31 5d 20 3d |&& lin[*|i + 1] =|
|00003cf0| 3d 20 27 5c 6e 27 29 0a | 09 09 09 7b 0a 09 09 09 |= '\n').|...{....|
|00003d00| 09 4f 76 65 72 6c 61 79 | 5f 63 6f 6c 20 3d 20 30 |.Overlay|_col = 0|
|00003d10| 3b 0a 09 09 09 09 72 65 | 74 20 3d 20 4f 4b 3b 0a |;.....re|t = OK;.|
|00003d20| 09 09 09 7d 0a 09 09 09 | 65 6c 73 65 0a 09 09 09 |...}....|else....|
|00003d30| 7b 0a 09 09 09 09 74 65 | 6d 70 20 3d 20 63 74 6f |{.....te|mp = cto|
|00003d40| 69 20 28 6c 69 6e 2c 20 | 69 29 3b 0a 09 09 09 09 |i (lin, |i);.....|
|00003d50| 69 66 20 28 6c 69 6e 5b | 2a 69 5d 20 3d 3d 20 27 |if (lin[|*i] == '|
|00003d60| 5c 6e 27 29 0a 09 09 09 | 09 7b 0a 09 09 09 09 09 |\n')....|.{......|
|00003d70| 4f 76 65 72 6c 61 79 5f | 63 6f 6c 20 3d 20 74 65 |Overlay_|col = te|
|00003d80| 6d 70 3b 0a 09 09 09 09 | 09 72 65 74 20 3d 20 4f |mp;.....|.ret = O|
|00003d90| 4b 3b 0a 09 09 09 09 7d | 0a 09 09 09 09 65 6c 73 |K;.....}|.....els|
|00003da0| 65 0a 09 09 09 09 09 45 | 72 72 63 6f 64 65 20 3d |e......E|rrcode =|
|00003db0| 20 45 4e 4f 4e 53 45 4e | 53 45 3b 0a 09 09 09 7d | ENONSEN|SE;....}|
|00003dc0| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |...}...b|reak;...|
|00003dd0| 63 61 73 65 20 27 75 27 | 3a 09 2f 2a 20 73 65 74 |case 'u'|:./* set|
|00003de0| 20 6f 72 20 64 69 73 70 | 6c 61 79 20 63 68 61 72 | or disp|lay char|
|00003df0| 61 63 74 65 72 20 66 6f | 72 20 75 6e 70 72 69 6e |acter fo|r unprin|
|00003e00| 74 61 62 6c 65 20 63 68 | 61 72 73 20 2a 2f 0a 09 |table ch|ars */..|
|00003e10| 63 61 73 65 20 27 55 27 | 3a 0a 09 09 69 66 20 28 |case 'U'|:...if (|
|00003e20| 6c 69 6e 5b 2a 69 20 2b | 20 31 5d 20 3d 3d 20 27 |lin[*i +| 1] == '|
|00003e30| 5c 6e 27 29 0a 09 09 7b | 0a 09 09 09 72 65 74 20 |\n')...{|....ret |
|00003e40| 3d 20 4f 4b 3b 0a 09 09 | 09 74 65 6d 70 73 74 72 |= OK;...|.tempstr|
|00003e50| 5b 30 5d 20 3d 20 74 65 | 6d 70 73 74 72 5b 32 5d |[0] = te|mpstr[2]|
|00003e60| 20 3d 20 27 22 27 3b 0a | 09 09 09 74 65 6d 70 73 | = '"';.|...temps|
|00003e70| 74 72 5b 31 5d 20 3d 20 | 55 6e 70 72 69 6e 74 61 |tr[1] = |Unprinta|
|00003e80| 62 6c 65 3b 0a 09 09 09 | 74 65 6d 70 73 74 72 5b |ble;....|tempstr[|
|00003e90| 33 5d 20 3d 20 45 4f 53 | 3b 0a 09 09 09 72 65 6d |3] = EOS|;....rem|
|00003ea0| 61 72 6b 20 28 74 65 6d | 70 73 74 72 29 3b 0a 09 |ark (tem|pstr);..|
|00003eb0| 09 7d 0a 09 09 65 6c 73 | 65 20 69 66 20 28 6c 69 |.}...els|e if (li|
|00003ec0| 6e 5b 2a 69 20 2b 20 32 | 5d 20 3d 3d 20 27 5c 6e |n[*i + 2|] == '\n|
|00003ed0| 27 29 0a 09 09 7b 0a 09 | 09 09 69 66 20 28 6c 69 |')...{..|..if (li|
|00003ee0| 6e 5b 2a 69 20 2b 20 31 | 5d 20 3c 20 27 20 27 20 |n[*i + 1|] < ' ' |
|00003ef0| 7c 7c 20 6c 69 6e 5b 2a | 69 20 2b 20 31 5d 20 3e ||| lin[*|i + 1] >|
|00003f00| 3d 20 44 45 4c 29 0a 09 | 09 09 09 45 72 72 63 6f |= DEL)..|...Errco|
|00003f10| 64 65 20 3d 20 45 4e 4f | 4e 53 45 4e 53 45 3b 0a |de = ENO|NSENSE;.|
|00003f20| 09 09 09 65 6c 73 65 20 | 0a 09 09 09 7b 0a 09 09 |...else |....{...|
|00003f30| 09 09 72 65 74 20 3d 20 | 4f 4b 3b 0a 09 09 09 09 |..ret = |OK;.....|
|00003f40| 69 66 20 28 55 6e 70 72 | 69 6e 74 61 62 6c 65 20 |if (Unpr|intable |
|00003f50| 21 3d 20 6c 69 6e 5b 2a | 69 20 2b 20 31 5d 29 0a |!= lin[*|i + 1]).|
|00003f60| 09 09 09 09 7b 0a 09 09 | 09 09 09 55 6e 70 72 69 |....{...|...Unpri|
|00003f70| 6e 74 61 62 6c 65 20 3d | 20 6c 69 6e 5b 2a 69 20 |ntable =| lin[*i |
|00003f80| 2b 20 31 5d 3b 0a 09 09 | 09 09 09 46 69 72 73 74 |+ 1];...|...First|
|00003f90| 5f 61 66 66 65 63 74 65 | 64 20 3d 20 54 6f 70 6c |_affecte|d = Topl|
|00003fa0| 6e 3b 0a 09 09 09 09 7d | 0a 09 09 09 7d 0a 09 09 |n;.....}|....}...|
|00003fb0| 7d 0a 09 09 62 72 65 61 | 6b 3b 0a 0a 09 63 61 73 |}...brea|k;...cas|
|00003fc0| 65 20 27 6c 27 3a 09 2f | 2a 20 73 65 74 20 6f 72 |e 'l':./|* set or|
|00003fd0| 20 64 69 73 70 6c 61 79 | 20 6c 69 6e 65 20 6e 75 | display| line nu|
|00003fe0| 6d 62 65 72 20 64 69 73 | 70 6c 61 79 20 6f 70 74 |mber dis|play opt|
|00003ff0| 69 6f 6e 20 2a 2f 0a 09 | 63 61 73 65 20 27 4c 27 |ion */..|case 'L'|
|00004000| 3a 0a 09 09 69 66 20 28 | 6c 69 6e 5b 2a 69 2b 31 |:...if (|lin[*i+1|
|00004010| 5d 20 3d 3d 20 27 5c 6e | 27 29 0a 09 09 7b 0a 09 |] == '\n|')...{..|
|00004020| 09 09 4e 63 68 6f 69 73 | 65 20 3d 20 45 4f 53 3b |..Nchois|e = EOS;|
|00004030| 0a 09 09 09 72 65 74 20 | 3d 20 4f 4b 3b 0a 09 09 |....ret |= OK;...|
|00004040| 7d 0a 09 09 65 6c 73 65 | 20 69 66 20 28 6c 69 6e |}...else| if (lin|
|00004050| 5b 2a 69 20 2b 20 32 5d | 20 3d 3d 20 27 5c 6e 27 |[*i + 2]| == '\n'|
|00004060| 20 26 26 20 0a 09 09 20 | 20 20 20 28 6c 69 6e 5b | && ... | (lin[|
|00004070| 2a 69 20 2b 20 31 5d 20 | 3d 3d 20 43 55 52 4c 49 |*i + 1] |== CURLI|
|00004080| 4e 45 20 7c 7c 20 6c 69 | 6e 5b 2a 69 20 2b 20 31 |NE || li|n[*i + 1|
|00004090| 5d 20 3d 3d 20 4c 41 53 | 54 4c 49 4e 45 0a 09 09 |] == LAS|TLINE...|
|000040a0| 20 20 20 20 7c 7c 20 6c | 69 6e 5b 2a 69 20 2b 20 | || l|in[*i + |
|000040b0| 31 5d 20 3d 3d 20 54 4f | 50 4c 49 4e 45 29 29 0a |1] == TO|PLINE)).|
|000040c0| 09 09 7b 0a 09 09 09 4e | 63 68 6f 69 73 65 20 3d |..{....N|choise =|
|000040d0| 20 6c 69 6e 5b 2a 69 20 | 2b 20 31 5d 3b 0a 09 09 | lin[*i |+ 1];...|
|000040e0| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 7d 0a 09 |.ret = O|K;...}..|
|000040f0| 09 65 6c 73 65 20 69 66 | 20 28 6c 69 6e 5b 2a 69 |.else if| (lin[*i|
|00004100| 20 2b 20 31 5d 20 3d 3d | 20 27 6d 27 20 7c 7c 20 | + 1] ==| 'm' || |
|00004110| 6c 69 6e 5b 2a 69 20 2b | 20 31 5d 20 3d 3d 20 27 |lin[*i +| 1] == '|
|00004120| 4d 27 29 0a 09 09 7b 0a | 09 09 09 2f 2a 20 73 65 |M')...{.|.../* se|
|00004130| 74 20 6f 72 20 64 69 73 | 70 6c 61 79 20 74 68 65 |t or dis|play the|
|00004140| 20 6c 65 66 74 20 6d 61 | 72 67 69 6e 20 2a 2f 0a | left ma|rgin */.|
|00004150| 09 09 09 28 2a 69 29 2b | 2b 3b 0a 09 09 09 69 66 |...(*i)+|+;....if|
|00004160| 20 28 6c 69 6e 5b 2a 69 | 20 2b 20 31 5d 20 3d 3d | (lin[*i| + 1] ==|
|00004170| 20 27 5c 6e 27 29 0a 09 | 09 09 7b 0a 09 09 09 09 | '\n')..|..{.....|
|00004180| 73 61 79 6e 75 6d 20 28 | 46 69 72 73 74 63 6f 6c |saynum (|Firstcol|
|00004190| 20 2b 20 31 29 3b 0a 09 | 09 09 09 72 65 74 20 3d | + 1);..|...ret =|
|000041a0| 20 4f 4b 3b 0a 09 09 09 | 7d 0a 09 09 09 65 6c 73 | OK;....|}....els|
|000041b0| 65 20 0a 09 09 09 7b 0a | 09 09 09 09 28 2a 69 29 |e ....{.|....(*i)|
|000041c0| 2b 2b 3b 0a 09 09 09 09 | 74 65 6d 70 20 3d 20 63 |++;.....|temp = c|
|000041d0| 74 6f 69 20 28 6c 69 6e | 2c 20 69 29 3b 0a 09 09 |toi (lin|, i);...|
|000041e0| 09 09 69 66 20 28 6c 69 | 6e 5b 2a 69 5d 20 3d 3d |..if (li|n[*i] ==|
|000041f0| 20 27 5c 6e 27 29 0a 09 | 09 09 09 09 69 66 20 28 | '\n')..|....if (|
|00004200| 74 65 6d 70 20 3e 20 30 | 20 26 26 20 74 65 6d 70 |temp > 0| && temp|
|00004210| 20 3c 20 4d 41 58 4c 49 | 4e 45 29 0a 09 09 09 09 | < MAXLI|NE).....|
|00004220| 09 7b 0a 09 09 09 09 09 | 09 46 69 72 73 74 5f 61 |.{......|.First_a|
|00004230| 66 66 65 63 74 65 64 20 | 3d 20 54 6f 70 6c 6e 3b |ffected |= Topln;|
|00004240| 0a 09 09 09 09 09 09 46 | 69 72 73 74 63 6f 6c 20 |.......F|irstcol |
|00004250| 3d 20 74 65 6d 70 20 2d | 20 31 3b 0a 09 09 09 09 |= temp -| 1;.....|
|00004260| 09 09 72 65 74 20 3d 20 | 4f 4b 3b 0a 09 09 09 09 |..ret = |OK;.....|
|00004270| 09 7d 0a 09 09 09 09 09 | 65 6c 73 65 0a 09 09 09 |.}......|else....|
|00004280| 09 09 09 45 72 72 63 6f | 64 65 20 3d 20 45 4e 4f |...Errco|de = ENO|
|00004290| 4e 53 45 4e 53 45 3b 0a | 09 09 09 7d 0a 09 09 7d |NSENSE;.|...}...}|
|000042a0| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|000042b0| 20 27 66 27 3a 09 2f 2a | 20 66 6f 72 74 72 61 6e | 'f':./*| fortran|
|000042c0| 20 28 75 67 68 2c 20 79 | 69 63 6b 2c 20 67 72 6f | (ugh, y|ick, gro|
|000042d0| 73 73 29 20 6f 70 74 69 | 6f 6e 73 20 2a 2f 0a 09 |ss) opti|ons */..|
|000042e0| 63 61 73 65 20 27 46 27 | 3a 0a 09 09 69 66 20 28 |case 'F'|:...if (|
|000042f0| 6c 69 6e 5b 2a 69 20 2b | 20 31 5d 20 3d 3d 20 27 |lin[*i +| 1] == '|
|00004300| 5c 6e 27 29 0a 09 09 09 | 72 65 74 20 3d 20 64 6f |\n')....|ret = do|
|00004310| 73 6f 70 74 20 28 22 66 | 22 29 3b 0a 09 09 62 72 |sopt ("f|");...br|
|00004320| 65 61 6b 3b 0a 0a 09 63 | 61 73 65 20 27 73 27 3a |eak;...c|ase 's':|
|00004330| 09 2f 2a 20 73 65 74 20 | 73 6f 75 72 63 65 20 6f |./* set |source o|
|00004340| 70 74 69 6f 6e 73 20 2a | 2f 0a 09 63 61 73 65 20 |ptions *|/..case |
|00004350| 27 53 27 3a 0a 09 09 72 | 65 74 20 3d 20 64 6f 73 |'S':...r|et = dos|
|00004360| 6f 70 74 20 28 26 6c 69 | 6e 5b 2a 69 20 2b 20 31 |opt (&li|n[*i + 1|
|00004370| 5d 29 3b 0a 09 09 62 72 | 65 61 6b 3b 0a 0a 09 63 |]);...br|eak;...c|
|00004380| 61 73 65 20 27 69 27 3a | 09 2f 2a 20 73 65 74 20 |ase 'i':|./* set |
|00004390| 6f 72 20 64 69 73 70 6c | 61 79 20 69 6e 64 65 6e |or displ|ay inden|
|000043a0| 74 20 6f 70 74 69 6f 6e | 20 2a 2f 0a 09 63 61 73 |t option| */..cas|
|000043b0| 65 20 27 49 27 3a 0a 09 | 09 2b 2b 28 2a 69 29 3b |e 'I':..|.++(*i);|
|000043c0| 0a 09 09 69 66 20 28 6c | 69 6e 5b 2a 69 5d 20 3d |...if (l|in[*i] =|
|000043d0| 3d 20 27 5c 6e 27 29 0a | 09 09 09 72 65 74 20 3d |= '\n').|...ret =|
|000043e0| 20 4f 4b 3b 0a 09 09 65 | 6c 73 65 20 69 66 20 28 | OK;...e|lse if (|
|000043f0| 28 6c 69 6e 5b 2a 69 5d | 20 3d 3d 20 27 61 27 20 |(lin[*i]| == 'a' |
|00004400| 7c 7c 20 6c 69 6e 5b 2a | 69 5d 20 3d 3d 20 27 41 ||| lin[*|i] == 'A|
|00004410| 27 29 20 26 26 20 6c 69 | 6e 5b 2a 69 20 2b 20 31 |') && li|n[*i + 1|
|00004420| 5d 20 3d 3d 20 27 5c 6e | 27 29 0a 09 09 7b 0a 09 |] == '\n|')...{..|
|00004430| 09 09 49 6e 64 65 6e 74 | 20 3d 20 30 3b 0a 09 09 |..Indent| = 0;...|
|00004440| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 7d 0a 09 |.ret = O|K;...}..|
|00004450| 09 65 6c 73 65 0a 09 09 | 7b 0a 09 09 09 74 65 6d |.else...|{....tem|
|00004460| 70 20 3d 20 63 74 6f 69 | 20 28 6c 69 6e 2c 20 69 |p = ctoi| (lin, i|
|00004470| 29 3b 0a 09 09 09 69 66 | 20 28 6c 69 6e 5b 2a 69 |);....if| (lin[*i|
|00004480| 5d 20 3d 3d 20 27 5c 6e | 27 29 0a 09 09 09 09 69 |] == '\n|').....i|
|00004490| 66 20 28 74 65 6d 70 20 | 3e 20 30 20 26 26 20 74 |f (temp |> 0 && t|
|000044a0| 65 6d 70 20 3c 20 4d 41 | 58 4c 49 4e 45 20 2d 20 |emp < MA|XLINE - |
|000044b0| 33 29 0a 09 09 09 09 7b | 0a 09 09 09 09 09 72 65 |3).....{|......re|
|000044c0| 74 20 3d 20 4f 4b 3b 0a | 09 09 09 09 09 49 6e 64 |t = OK;.|.....Ind|
|000044d0| 65 6e 74 20 3d 20 74 65 | 6d 70 3b 0a 09 09 09 09 |ent = te|mp;.....|
|000044e0| 7d 0a 09 09 09 09 65 6c | 73 65 0a 09 09 09 09 09 |}.....el|se......|
|000044f0| 45 72 72 63 6f 64 65 20 | 3d 20 45 4e 4f 4e 53 45 |Errcode |= ENONSE|
|00004500| 4e 53 45 3b 0a 09 09 7d | 0a 09 09 69 66 20 28 72 |NSE;...}|...if (r|
|00004510| 65 74 20 3d 3d 20 4f 4b | 29 0a 09 09 09 69 66 20 |et == OK|)....if |
|00004520| 28 49 6e 64 65 6e 74 20 | 3e 20 30 29 0a 09 09 09 |(Indent |> 0)....|
|00004530| 09 73 61 79 6e 75 6d 20 | 28 49 6e 64 65 6e 74 29 |.saynum |(Indent)|
|00004540| 3b 0a 09 09 09 65 6c 73 | 65 0a 09 09 09 09 72 65 |;....els|e.....re|
|00004550| 6d 61 72 6b 20 28 22 61 | 75 74 6f 22 29 3b 0a 09 |mark ("a|uto");..|
|00004560| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 27 |.break;.|..case '|
|00004570| 6d 27 3a 09 2f 2a 20 74 | 6f 67 67 6c 65 20 6d 61 |m':./* t|oggle ma|
|00004580| 69 6c 20 6e 6f 74 69 66 | 69 63 61 74 69 6f 6e 20 |il notif|ication |
|00004590| 2a 2f 0a 09 63 61 73 65 | 20 27 4d 27 3a 0a 09 09 |*/..case| 'M':...|
|000045a0| 69 66 20 28 6c 69 6e 5b | 2a 69 20 2b 20 31 5d 20 |if (lin[|*i + 1] |
|000045b0| 3d 3d 20 27 5c 6e 27 29 | 0a 09 09 7b 0a 09 09 09 |== '\n')|...{....|
|000045c0| 4e 6f 74 69 66 79 20 3d | 20 21 20 4e 6f 74 69 66 |Notify =| ! Notif|
|000045d0| 79 3b 09 2f 2a 20 74 6f | 67 67 6c 65 20 6e 6f 74 |y;./* to|ggle not|
|000045e0| 69 66 69 63 61 74 69 6f | 6e 20 2a 2f 0a 09 09 09 |ificatio|n */....|
|000045f0| 72 65 6d 61 72 6b 20 28 | 4e 6f 74 69 66 79 20 3f |remark (|Notify ?|
|00004600| 20 22 6e 6f 74 69 66 79 | 20 6f 6e 22 20 3a 20 22 | "notify| on" : "|
|00004610| 6e 6f 74 69 66 79 20 6f | 66 66 22 29 3b 0a 09 09 |notify o|ff");...|
|00004620| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 7d 0a 09 |.ret = O|K;...}..|
|00004630| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 27 |.break;.|..case '|
|00004640| 70 27 3a 09 09 2f 2a 20 | 74 6f 67 67 6c 65 20 70 |p':../* |toggle p|
|00004650| 61 74 74 65 72 6e 20 61 | 6e 64 20 63 6f 6d 6d 61 |attern a|nd comma|
|00004660| 6e 64 20 73 74 79 6c 65 | 20 2a 2f 0a 09 63 61 73 |nd style| */..cas|
|00004670| 65 20 27 50 27 3a 09 09 | 2f 2a 20 69 66 20 61 64 |e 'P':..|/* if ad|
|00004680| 64 69 74 69 6f 6e 61 6c | 20 6c 65 74 74 65 72 20 |ditional| letter |
|00004690| 74 68 65 72 65 2c 20 69 | 74 20 66 6f 72 63 65 73 |there, i|t forces|
|000046a0| 20 6d 6f 64 65 20 2a 2f | 0a 09 09 72 65 74 20 3d | mode */|...ret =|
|000046b0| 20 4f 4b 3b 0a 09 09 73 | 77 69 74 63 68 20 28 6c | OK;...s|witch (l|
|000046c0| 69 6e 5b 2a 69 20 2b 20 | 31 5d 29 20 7b 0a 09 09 |in[*i + |1]) {...|
|000046d0| 63 61 73 65 20 45 4f 53 | 3a 0a 09 09 63 61 73 65 |case EOS|:...case|
|000046e0| 20 27 5c 6e 27 3a 09 2f | 2a 20 74 6f 67 67 6c 65 | '\n':./|* toggle|
|000046f0| 20 2a 2f 0a 09 09 09 69 | 66 20 28 55 6e 69 78 5f | */....i|f (Unix_|
|00004700| 6d 6f 64 65 29 0a 09 09 | 09 09 67 6f 74 6f 20 6e |mode)...|..goto n|
|00004710| 6f 5f 75 6e 69 78 3b 0a | 09 09 09 09 2f 2a 20 63 |o_unix;.|..../* c|
|00004720| 75 72 72 65 6e 74 6c 79 | 20 69 6e 20 55 6e 69 78 |urrently| in Unix|
|00004730| 20 6d 6f 64 65 20 2a 2f | 0a 09 09 09 09 2f 2a 20 | mode */|...../* |
|00004740| 73 77 69 74 63 68 20 74 | 6f 20 53 57 54 20 73 74 |switch t|o SWT st|
|00004750| 79 6c 65 20 70 61 74 74 | 65 72 6e 73 20 2a 2f 0a |yle patt|erns */.|
|00004760| 09 09 09 65 6c 73 65 0a | 09 09 09 09 67 6f 74 6f |...else.|....goto|
|00004770| 20 79 65 73 5f 75 6e 69 | 78 3b 0a 09 09 09 09 2f | yes_uni|x;...../|
|00004780| 2a 20 63 75 72 72 65 6e | 74 6c 79 20 69 6e 20 53 |* curren|tly in S|
|00004790| 57 54 20 6d 6f 64 65 20 | 2a 2f 0a 09 09 09 09 2f |WT mode |*/...../|
|000047a0| 2a 20 73 77 69 74 63 68 | 20 74 6f 20 55 6e 69 78 |* switch| to Unix|
|000047b0| 20 73 74 79 6c 65 20 70 | 61 74 74 65 72 6e 73 20 | style p|atterns |
|000047c0| 2a 2f 0a 0a 09 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |*/.....b|reak;...|
|000047d0| 09 63 61 73 65 20 27 73 | 27 3a 09 2f 2a 20 66 6f |.case 's|':./* fo|
|000047e0| 72 63 65 20 53 57 54 20 | 6d 6f 64 65 20 2a 2f 0a |rce SWT |mode */.|
|000047f0| 09 09 63 61 73 65 20 27 | 53 27 3a 0a 09 6e 6f 5f |..case '|S':..no_|
|00004800| 75 6e 69 78 3a 09 55 6e | 69 78 5f 6d 6f 64 65 20 |unix:.Un|ix_mode |
|00004810| 3d 20 4e 4f 3b 0a 09 09 | 09 42 41 43 4b 53 43 41 |= NO;...|.BACKSCA|
|00004820| 4e 20 3d 20 27 5c 5c 27 | 3b 0a 09 09 09 4e 4f 54 |N = '\\'|;....NOT|
|00004830| 49 4e 43 43 4c 20 3d 20 | 27 7e 27 3b 0a 09 09 09 |INCCL = |'~';....|
|00004840| 58 4d 41 52 4b 20 3d 20 | 27 21 27 3b 0a 09 09 09 |XMARK = |'!';....|
|00004850| 45 53 43 41 50 45 20 3d | 20 27 40 27 3b 0a 09 09 |ESCAPE =| '@';...|
|00004860| 09 62 72 65 61 6b 3b 0a | 0a 09 09 63 61 73 65 20 |.break;.|...case |
|00004870| 27 75 27 3a 09 2f 2a 20 | 66 6f 72 63 65 20 55 4e |'u':./* |force UN|
|00004880| 49 58 20 6d 6f 64 65 20 | 2a 2f 0a 09 09 63 61 73 |IX mode |*/...cas|
|00004890| 65 20 27 55 27 3a 0a 09 | 79 65 73 5f 75 6e 69 78 |e 'U':..|yes_unix|
|000048a0| 3a 09 55 6e 69 78 5f 6d | 6f 64 65 20 3d 20 59 45 |:.Unix_m|ode = YE|
|000048b0| 53 3b 0a 09 09 09 42 41 | 43 4b 53 43 41 4e 20 3d |S;....BA|CKSCAN =|
|000048c0| 20 27 3f 27 3b 0a 09 09 | 09 4e 4f 54 49 4e 43 43 | '?';...|.NOTINCC|
|000048d0| 4c 20 3d 20 27 5e 27 3b | 0a 09 09 09 58 4d 41 52 |L = '^';|....XMAR|
|000048e0| 4b 20 3d 20 27 7e 27 3b | 0a 09 09 09 45 53 43 41 |K = '~';|....ESCA|
|000048f0| 50 45 20 3d 20 27 5c 5c | 27 3b 0a 09 09 09 62 72 |PE = '\\|';....br|
|00004900| 65 61 6b 3b 0a 09 09 0a | 09 09 64 65 66 61 75 6c |eak;....|..defaul|
|00004910| 74 3a 0a 09 09 09 45 72 | 72 63 6f 64 65 20 3d 20 |t:....Er|rcode = |
|00004920| 45 4f 57 48 41 54 3b 0a | 09 09 09 72 65 74 20 3d |EOWHAT;.|...ret =|
|00004930| 20 45 52 52 3b 0a 09 09 | 09 67 6f 74 6f 20 6f 75 | ERR;...|.goto ou|
|00004940| 74 5f 6f 66 5f 68 65 72 | 65 3b 0a 09 09 7d 0a 09 |t_of_her|e;...}..|
|00004950| 09 73 65 74 5f 70 61 74 | 74 65 72 6e 73 20 28 55 |.set_pat|terns (U|
|00004960| 6e 69 78 5f 6d 6f 64 65 | 29 3b 0a 09 09 6d 65 73 |nix_mode|);...mes|
|00004970| 67 20 28 55 6e 69 78 5f | 6d 6f 64 65 20 3f 20 22 |g (Unix_|mode ? "|
|00004980| 55 4e 49 58 22 20 3a 20 | 22 53 57 54 22 2c 20 4d |UNIX" : |"SWT", M|
|00004990| 4f 44 45 5f 4d 53 47 29 | 3b 0a 09 6f 75 74 5f 6f |ODE_MSG)|;..out_o|
|000049a0| 66 5f 68 65 72 65 3a 0a | 09 09 62 72 65 61 6b 3b |f_here:.|..break;|
|000049b0| 0a 09 0a 09 63 61 73 65 | 20 27 78 27 3a 0a 09 63 |....case| 'x':..c|
|000049c0| 61 73 65 20 27 58 27 3a | 09 2f 2a 20 74 6f 67 67 |ase 'X':|./* togg|
|000049d0| 6c 65 20 74 61 62 20 63 | 6f 6d 70 72 65 73 73 69 |le tab c|ompressi|
|000049e0| 6f 6e 20 2a 2f 0a 09 09 | 69 66 20 28 6c 69 6e 5b |on */...|if (lin[|
|000049f0| 2a 69 20 2b 20 31 5d 20 | 3d 3d 20 27 5c 6e 27 29 |*i + 1] |== '\n')|
|00004a00| 0a 09 09 7b 0a 09 09 09 | 72 65 74 20 3d 20 4f 4b |...{....|ret = OK|
|00004a10| 3b 0a 09 09 09 43 6f 6d | 70 72 65 73 73 20 3d 20 |;....Com|press = |
|00004a20| 21 20 43 6f 6d 70 72 65 | 73 73 3b 0a 09 09 09 6d |! Compre|ss;....m|
|00004a30| 65 73 67 20 28 43 6f 6d | 70 72 65 73 73 20 3f 20 |esg (Com|press ? |
|00004a40| 22 58 54 41 42 53 22 20 | 3a 20 22 22 2c 20 43 4f |"XTABS" |: "", CO|
|00004a50| 4d 50 52 45 53 53 5f 4d | 53 47 29 3b 0a 09 09 7d |MPRESS_M|SG);...}|
|00004a60| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|00004a70| 20 27 79 27 3a 09 2f 2a | 20 65 6e 63 72 79 70 74 | 'y':./*| encrypt|
|00004a80| 20 66 69 6c 65 73 20 2a | 2f 0a 09 63 61 73 65 20 | files *|/..case |
|00004a90| 27 59 27 3a 0a 09 09 69 | 66 20 28 6c 69 6e 5b 2a |'Y':...i|f (lin[*|
|00004aa0| 69 20 2b 20 31 5d 20 3d | 3d 20 27 5c 6e 27 29 0a |i + 1] =|= '\n').|
|00004ab0| 09 09 7b 0a 09 09 63 72 | 79 70 74 5f 74 6f 67 67 |..{...cr|ypt_togg|
|00004ac0| 6c 65 3a 0a 09 09 09 72 | 65 74 20 3d 20 4f 4b 3b |le:....r|et = OK;|
|00004ad0| 0a 09 09 09 43 72 79 70 | 74 69 6e 67 20 3d 20 21 |....Cryp|ting = !|
|00004ae0| 20 43 72 79 70 74 69 6e | 67 3b 0a 09 09 09 69 66 | Cryptin|g;....if|
|00004af0| 20 28 43 72 79 70 74 69 | 6e 67 20 29 0a 09 09 09 | (Crypti|ng )....|
|00004b00| 09 64 6f 20 7b 0a 09 09 | 09 09 09 67 65 74 6b 65 |.do {...|...getke|
|00004b10| 79 20 28 29 3b 0a 09 09 | 09 09 09 69 66 20 28 4b |y ();...|...if (K|
|00004b20| 65 79 5b 30 5d 20 3d 3d | 20 45 4f 53 29 0a 09 09 |ey[0] ==| EOS)...|
|00004b30| 09 09 09 09 72 65 6d 61 | 72 6b 20 28 22 45 6d 70 |....rema|rk ("Emp|
|00004b40| 74 79 20 6b 65 79 73 20 | 61 72 65 20 6e 6f 74 20 |ty keys |are not |
|00004b50| 61 6c 6c 6f 77 65 64 2e | 5c 6e 22 29 3b 0a 09 09 |allowed.|\n");...|
|00004b60| 09 09 7d 20 77 68 69 6c | 65 20 28 4b 65 79 5b 30 |..} whil|e (Key[0|
|00004b70| 5d 20 3d 3d 20 45 4f 53 | 29 3b 0a 09 09 09 65 6c |] == EOS|);....el|
|00004b80| 73 65 0a 09 09 09 09 4b | 65 79 5b 30 5d 20 3d 20 |se.....K|ey[0] = |
|00004b90| 45 4f 53 3b 0a 09 09 7d | 0a 09 09 65 6c 73 65 0a |EOS;...}|...else.|
|00004ba0| 09 09 7b 0a 09 09 09 72 | 65 67 69 73 74 65 72 20 |..{....r|egister |
|00004bb0| 69 6e 74 20 6a 3b 0a 0a | 09 09 09 72 65 74 20 3d |int j;..|...ret =|
|00004bc0| 20 4f 4b 3b 0a 09 09 09 | 28 2a 69 29 2b 2b 3b 09 | OK;....|(*i)++;.|
|00004bd0| 09 2f 2a 20 2a 69 20 77 | 61 73 20 74 68 65 20 27 |./* *i w|as the '|
|00004be0| 79 27 20 2a 2f 0a 09 09 | 09 77 68 69 6c 65 20 28 |y' */...|.while (|
|00004bf0| 69 73 73 70 61 63 65 20 | 28 6c 69 6e 5b 2a 69 5d |isspace |(lin[*i]|
|00004c00| 29 20 26 26 20 6c 69 6e | 5b 2a 69 5d 20 21 3d 20 |) && lin|[*i] != |
|00004c10| 27 5c 6e 27 29 0a 09 09 | 09 09 28 2a 69 29 2b 2b |'\n')...|..(*i)++|
|00004c20| 3b 0a 09 09 09 69 66 20 | 28 6c 69 6e 5b 2a 69 5d |;....if |(lin[*i]|
|00004c30| 20 21 3d 20 27 5c 6e 27 | 20 26 26 20 6c 69 6e 5b | != '\n'| && lin[|
|00004c40| 2a 69 5d 20 21 3d 20 45 | 4f 53 29 0a 09 09 09 7b |*i] != E|OS)....{|
|00004c50| 0a 09 09 09 09 66 6f 72 | 20 28 6a 20 3d 20 30 3b |.....for| (j = 0;|
|00004c60| 20 6c 69 6e 5b 2a 69 5d | 20 21 3d 20 27 5c 6e 27 | lin[*i]| != '\n'|
|00004c70| 20 26 26 20 6c 69 6e 5b | 2a 69 5d 20 21 3d 20 45 | && lin[|*i] != E|
|00004c80| 4f 53 3b 0a 09 09 09 09 | 20 20 20 20 6a 2b 2b 2c |OS;.....| j++,|
|00004c90| 20 28 2a 69 29 2b 2b 29 | 0a 09 09 09 09 09 4b 65 | (*i)++)|......Ke|
|00004ca0| 79 5b 6a 5d 20 3d 20 6c | 69 6e 5b 2a 69 5d 3b 0a |y[j] = l|in[*i];.|
|00004cb0| 09 09 09 09 4b 65 79 5b | 6a 5d 20 3d 20 45 4f 53 |....Key[|j] = EOS|
|00004cc0| 3b 0a 09 09 09 09 43 72 | 79 70 74 69 6e 67 20 3d |;.....Cr|ypting =|
|00004cd0| 20 59 45 53 3b 0a 09 09 | 09 7d 0a 09 09 09 65 6c | YES;...|.}....el|
|00004ce0| 73 65 0a 09 09 09 09 67 | 6f 74 6f 20 63 72 79 70 |se.....g|oto cryp|
|00004cf0| 74 5f 74 6f 67 67 6c 65 | 3b 0a 09 09 7d 0a 09 09 |t_toggle|;...}...|
|00004d00| 6d 65 73 67 20 28 43 72 | 79 70 74 69 6e 67 20 3f |mesg (Cr|ypting ?|
|00004d10| 20 22 45 4e 43 52 59 50 | 54 22 20 3a 20 22 22 2c | "ENCRYP|T" : "",|
|00004d20| 20 43 52 59 50 54 5f 4d | 53 47 29 3b 0a 09 09 62 | CRYPT_M|SG);...b|
|00004d30| 72 65 61 6b 3b 0a 0a 09 | 64 65 66 61 75 6c 74 3a |reak;...|default:|
|00004d40| 0a 09 09 45 72 72 63 6f | 64 65 20 3d 20 45 4f 57 |...Errco|de = EOW|
|00004d50| 48 41 54 3b 0a 0a 09 7d | 0a 0a 09 72 65 74 75 72 |HAT;...}|...retur|
|00004d60| 6e 20 28 72 65 74 29 3b | 0a 7d 0a 0a 0a 2f 2a 20 |n (ret);|.}.../* |
|00004d70| 64 6f 6d 61 72 6b 20 2d | 2d 2d 20 6e 61 6d 65 20 |domark -|-- name |
|00004d80| 6c 69 6e 65 73 20 6c 69 | 6e 65 31 20 74 68 72 6f |lines li|ne1 thro|
|00004d90| 75 67 68 20 6c 69 6e 65 | 32 20 61 73 20 6b 6e 61 |ugh line|2 as kna|
|00004da0| 6d 65 20 2a 2f 0a 0a 69 | 6e 74 20 64 6f 6d 61 72 |me */..i|nt domar|
|00004db0| 6b 20 28 6b 6e 61 6d 65 | 29 0a 63 68 61 72 20 6b |k (kname|).char k|
|00004dc0| 6e 61 6d 65 3b 0a 7b 0a | 09 69 6e 74 20 6c 69 6e |name;.{.|.int lin|
|00004dd0| 65 3b 0a 09 69 6e 74 20 | 72 65 74 3b 0a 09 72 65 |e;..int |ret;..re|
|00004de0| 67 69 73 74 65 72 20 4c | 49 4e 45 44 45 53 43 20 |gister L|INEDESC |
|00004df0| 2a 6b 3b 0a 09 4c 49 4e | 45 44 45 53 43 20 2a 67 |*k;..LIN|EDESC *g|
|00004e00| 65 74 69 6e 64 20 28 29 | 3b 0a 0a 09 69 66 20 28 |etind ()|;...if (|
|00004e10| 4c 69 6e 65 31 20 3c 3d | 20 30 29 0a 09 7b 0a 09 |Line1 <=| 0)..{..|
|00004e20| 09 45 72 72 63 6f 64 65 | 20 3d 20 45 4f 52 41 4e |.Errcode| = EORAN|
|00004e30| 47 45 3b 0a 09 09 72 65 | 74 20 3d 20 45 52 52 3b |GE;...re|t = ERR;|
|00004e40| 0a 09 7d 0a 09 65 6c 73 | 65 0a 09 7b 0a 09 09 6b |..}..els|e..{...k|
|00004e50| 20 3d 20 67 65 74 69 6e | 64 20 28 4c 69 6e 65 31 | = getin|d (Line1|
|00004e60| 29 3b 0a 09 09 66 6f 72 | 20 28 6c 69 6e 65 20 3d |);...for| (line =|
|00004e70| 20 4c 69 6e 65 31 3b 20 | 6c 69 6e 65 20 3c 3d 20 | Line1; |line <= |
|00004e80| 4c 69 6e 65 32 3b 20 6c | 69 6e 65 2b 2b 29 0a 09 |Line2; l|ine++)..|
|00004e90| 09 7b 0a 09 09 09 69 66 | 20 28 69 6e 74 72 70 74 |.{....if| (intrpt|
|00004ea0| 28 29 29 0a 09 09 09 09 | 72 65 74 75 72 6e 20 28 |()).....|return (|
|00004eb0| 45 52 52 29 3b 0a 09 09 | 09 6b 20 2d 3e 20 4d 61 |ERR);...|.k -> Ma|
|00004ec0| 72 6b 6e 61 6d 65 20 3d | 20 6b 6e 61 6d 65 3b 0a |rkname =| kname;.|
|00004ed0| 09 09 09 6b 20 3d 20 4e | 45 58 54 4c 49 4e 45 28 |...k = N|EXTLINE(|
|00004ee0| 6b 29 3b 0a 09 09 7d 0a | 09 09 72 65 74 20 3d 20 |k);...}.|..ret = |
|00004ef0| 4f 4b 3b 0a 09 7d 0a 09 | 72 65 74 75 72 6e 20 28 |OK;..}..|return (|
|00004f00| 72 65 74 29 3b 0a 7d 0a | 0a 0a 2f 2a 20 64 6f 70 |ret);.}.|../* dop|
|00004f10| 72 6e 74 20 2d 2d 2d 20 | 73 65 74 20 63 75 72 6c |rnt --- |set curl|
|00004f20| 6e 2c 20 6c 6f 63 61 74 | 65 20 77 69 6e 64 6f 77 |n, locat|e window|
|00004f30| 20 2a 2f 0a 0a 69 6e 74 | 20 64 6f 70 72 6e 74 20 | */..int| doprnt |
|00004f40| 28 66 72 6f 6d 2c 20 74 | 6f 29 0a 69 6e 74 20 66 |(from, t|o).int f|
|00004f50| 72 6f 6d 2c 20 74 6f 3b | 0a 7b 0a 0a 09 69 66 20 |rom, to;|.{...if |
|00004f60| 28 66 72 6f 6d 20 3c 3d | 20 30 29 0a 09 7b 0a 09 |(from <=| 0)..{..|
|00004f70| 09 45 72 72 63 6f 64 65 | 20 3d 20 45 4f 52 41 4e |.Errcode| = EORAN|
|00004f80| 47 45 3b 0a 09 09 72 65 | 74 75 72 6e 20 28 45 52 |GE;...re|turn (ER|
|00004f90| 52 29 3b 0a 09 7d 0a 0a | 09 61 64 6a 75 73 74 5f |R);..}..|.adjust_|
|00004fa0| 77 69 6e 64 6f 77 20 28 | 66 72 6f 6d 2c 20 74 6f |window (|from, to|
|00004fb0| 29 3b 0a 09 43 75 72 6c | 6e 20 3d 20 74 6f 3b 0a |);..Curl|n = to;.|
|00004fc0| 09 72 65 74 75 72 6e 20 | 28 4f 4b 29 3b 0a 7d 0a |.return |(OK);.}.|
|00004fd0| 0a 0a 2f 2a 20 64 6f 72 | 65 61 64 20 2d 2d 2d 20 |../* dor|ead --- |
|00004fe0| 72 65 61 64 20 22 66 69 | 6c 65 22 20 61 66 74 65 |read "fi|le" afte|
|00004ff0| 72 20 22 6c 69 6e 65 22 | 20 2a 2f 0a 0a 69 6e 74 |r "line"| */..int|
|00005000| 20 64 6f 72 65 61 64 20 | 28 6c 69 6e 65 2c 20 66 | doread |(line, f|
|00005010| 69 6c 65 2c 20 74 66 6c | 61 67 29 0a 69 6e 74 20 |ile, tfl|ag).int |
|00005020| 6c 69 6e 65 3b 0a 63 68 | 61 72 20 2a 66 69 6c 65 |line;.ch|ar *file|
|00005030| 3b 0a 69 6e 74 20 74 66 | 6c 61 67 3b 0a 7b 0a 09 |;.int tf|lag;.{..|
|00005040| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 63 6f 75 |register| int cou|
|00005050| 6e 74 2c 20 6c 65 6e 2c | 20 69 3b 0a 09 69 6e 74 |nt, len,| i;..int|
|00005060| 20 72 65 74 3b 0a 09 69 | 6e 74 20 73 74 72 6c 65 | ret;..i|nt strle|
|00005070| 6e 20 28 29 3b 0a 09 46 | 49 4c 45 20 2a 66 64 3b |n ();..F|ILE *fd;|
|00005080| 0a 09 46 49 4c 45 20 2a | 66 6f 70 65 6e 20 28 29 |..FILE *|fopen ()|
|00005090| 2c 20 2a 63 72 79 70 74 | 5f 6f 70 65 6e 20 28 29 |, *crypt|_open ()|
|000050a0| 3b 0a 09 63 68 61 72 20 | 6c 69 6e 31 5b 4d 41 58 |;..char |lin1[MAX|
|000050b0| 4c 49 4e 45 5d 2c 20 6c | 69 6e 32 5b 4d 41 58 4c |LINE], l|in2[MAXL|
|000050c0| 49 4e 45 5d 3b 0a 09 63 | 68 61 72 20 2a 66 67 65 |INE];..c|har *fge|
|000050d0| 74 73 20 28 29 3b 0a 09 | 72 65 67 69 73 74 65 72 |ts ();..|register|
|000050e0| 20 4c 49 4e 45 44 45 53 | 43 20 2a 70 74 72 3b 0a | LINEDES|C *ptr;.|
|000050f0| 09 4c 49 4e 45 44 45 53 | 43 20 2a 73 70 5f 69 6e |.LINEDES|C *sp_in|
|00005100| 6a 65 63 74 20 28 29 3b | 0a 09 4c 49 4e 45 44 45 |ject ();|..LINEDE|
|00005110| 53 43 20 2a 67 65 74 69 | 6e 64 20 28 29 3b 0a 09 |SC *geti|nd ();..|
|00005120| 63 68 61 72 20 2a 65 78 | 70 61 6e 64 5f 65 6e 76 |char *ex|pand_env|
|00005130| 20 28 29 3b 0a 0a 09 66 | 69 6c 65 20 3d 20 65 78 | ();...f|ile = ex|
|00005140| 70 61 6e 64 5f 65 6e 76 | 20 28 66 69 6c 65 29 3b |pand_env| (file);|
|00005150| 09 2f 2a 20 65 78 70 61 | 6e 64 20 24 48 4f 4d 45 |./* expa|nd $HOME|
|00005160| 2c 20 65 74 63 2e 20 2a | 2f 0a 0a 09 69 66 20 28 |, etc. *|/...if (|
|00005170| 53 61 76 66 69 6c 5b 30 | 5d 20 3d 3d 20 45 4f 53 |Savfil[0|] == EOS|
|00005180| 29 0a 09 7b 0a 09 09 73 | 74 72 63 70 79 20 28 53 |)..{...s|trcpy (S|
|00005190| 61 76 66 69 6c 2c 20 66 | 69 6c 65 29 3b 0a 09 09 |avfil, f|ile);...|
|000051a0| 6d 65 73 67 20 28 53 61 | 76 66 69 6c 2c 20 46 49 |mesg (Sa|vfil, FI|
|000051b0| 4c 45 5f 4d 53 47 29 3b | 0a 09 7d 0a 0a 09 69 66 |LE_MSG);|..}...if|
|000051c0| 20 28 43 72 79 70 74 69 | 6e 67 29 0a 09 09 66 64 | (Crypti|ng)...fd|
|000051d0| 20 3d 20 63 72 79 70 74 | 5f 6f 70 65 6e 20 28 66 | = crypt|_open (f|
|000051e0| 69 6c 65 2c 20 22 72 22 | 29 3b 0a 09 65 6c 73 65 |ile, "r"|);..else|
|000051f0| 0a 09 09 66 64 20 3d 20 | 66 6f 70 65 6e 20 28 66 |...fd = |fopen (f|
|00005200| 69 6c 65 2c 20 22 72 22 | 29 3b 0a 0a 09 69 66 20 |ile, "r"|);...if |
|00005210| 28 66 64 20 3d 3d 20 4e | 55 4c 4c 29 0a 09 7b 0a |(fd == N|ULL)..{.|
|00005220| 09 09 72 65 74 20 3d 20 | 45 52 52 3b 0a 09 09 45 |..ret = |ERR;...E|
|00005230| 72 72 63 6f 64 65 20 3d | 20 45 43 41 4e 54 52 45 |rrcode =| ECANTRE|
|00005240| 41 44 3b 0a 09 7d 0a 09 | 65 6c 73 65 0a 09 7b 0a |AD;..}..|else..{.|
|00005250| 09 09 46 69 72 73 74 5f | 61 66 66 65 63 74 65 64 |..First_|affected|
|00005260| 20 3d 20 6d 69 6e 20 28 | 46 69 72 73 74 5f 61 66 | = min (|First_af|
|00005270| 66 65 63 74 65 64 2c 20 | 6c 69 6e 65 20 2b 20 31 |fected, |line + 1|
|00005280| 29 3b 0a 09 09 70 74 72 | 20 3d 20 67 65 74 69 6e |);...ptr| = getin|
|00005290| 64 20 28 6c 69 6e 65 29 | 3b 0a 09 09 72 65 74 20 |d (line)|;...ret |
|000052a0| 3d 20 4f 4b 3b 0a 23 69 | 66 6e 64 65 66 20 4f 4c |= OK;.#i|fndef OL|
|000052b0| 44 5f 53 43 52 41 54 43 | 48 0a 09 09 43 75 72 6c |D_SCRATC|H...Curl|
|000052c0| 6e 20 3d 20 6c 69 6e 65 | 3b 0a 23 65 6e 64 69 66 |n = line|;.#endif|
|000052d0| 0a 09 09 72 65 6d 61 72 | 6b 20 28 22 72 65 61 64 |...remar|k ("read|
|000052e0| 69 6e 67 22 29 3b 0a 09 | 09 66 6f 72 20 28 63 6f |ing");..|.for (co|
|000052f0| 75 6e 74 20 3d 20 30 3b | 20 66 67 65 74 73 20 28 |unt = 0;| fgets (|
|00005300| 6c 69 6e 31 2c 20 4d 41 | 58 4c 49 4e 45 2c 20 66 |lin1, MA|XLINE, f|
|00005310| 64 29 20 21 3d 20 4e 55 | 4c 4c 3b 20 63 6f 75 6e |d) != NU|LL; coun|
|00005320| 74 2b 2b 29 0a 09 09 7b | 0a 09 09 09 69 66 20 28 |t++)...{|....if (|
|00005330| 69 6e 74 72 70 74 20 28 | 29 29 0a 09 09 09 7b 0a |intrpt (|))....{.|
|00005340| 09 09 09 09 72 65 74 20 | 3d 20 45 52 52 3b 0a 09 |....ret |= ERR;..|
|00005350| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 09 7d 0a 09 |...break|;....}..|
|00005360| 09 09 69 66 20 28 43 6f | 6d 70 72 65 73 73 20 3d |..if (Co|mpress =|
|00005370| 3d 20 4e 4f 20 26 26 20 | 74 66 6c 61 67 20 3d 3d |= NO && |tflag ==|
|00005380| 20 4e 4f 29 0a 09 09 09 | 09 70 74 72 20 3d 20 73 | NO)....|.ptr = s|
|00005390| 70 5f 69 6e 6a 65 63 74 | 20 28 6c 69 6e 31 2c 20 |p_inject| (lin1, |
|000053a0| 73 74 72 6c 65 6e 20 28 | 6c 69 6e 31 29 2c 20 70 |strlen (|lin1), p|
|000053b0| 74 72 29 3b 0a 09 09 09 | 65 6c 73 65 0a 09 09 09 |tr);....|else....|
|000053c0| 7b 0a 09 09 09 09 6c 65 | 6e 20 3d 20 30 3b 0a 09 |{.....le|n = 0;..|
|000053d0| 09 09 09 66 6f 72 20 28 | 69 20 3d 20 30 3b 20 6c |...for (|i = 0; l|
|000053e0| 69 6e 31 5b 69 5d 20 21 | 3d 20 45 4f 53 20 26 26 |in1[i] !|= EOS &&|
|000053f0| 20 6c 65 6e 20 3c 20 4d | 41 58 4c 49 4e 45 20 2d | len < M|AXLINE -|
|00005400| 20 31 3b 20 69 2b 2b 29 | 0a 09 09 09 09 09 69 66 | 1; i++)|......if|
|00005410| 20 28 6c 69 6e 31 5b 69 | 5d 20 21 3d 20 27 5c 74 | (lin1[i|] != '\t|
|00005420| 27 29 0a 09 09 09 09 09 | 09 6c 69 6e 32 5b 6c 65 |')......|.lin2[le|
|00005430| 6e 2b 2b 5d 20 3d 20 6c | 69 6e 31 5b 69 5d 3b 0a |n++] = l|in1[i];.|
|00005440| 09 09 09 09 09 65 6c 73 | 65 0a 09 09 09 09 09 09 |.....els|e.......|
|00005450| 64 6f 0a 09 09 09 09 09 | 09 09 6c 69 6e 32 5b 6c |do......|..lin2[l|
|00005460| 65 6e 2b 2b 5d 20 3d 20 | 27 20 27 3b 0a 09 09 09 |en++] = |' ';....|
|00005470| 09 09 09 77 68 69 6c 65 | 20 28 6c 65 6e 20 25 20 |...while| (len % |
|00005480| 38 20 21 3d 20 30 20 0a | 09 09 09 09 09 09 20 20 |8 != 0 .|...... |
|00005490| 20 20 26 26 20 6c 65 6e | 20 3c 20 4d 41 58 4c 49 | && len| < MAXLI|
|000054a0| 4e 45 20 2d 20 31 29 3b | 0a 09 09 09 09 6c 69 6e |NE - 1);|.....lin|
|000054b0| 32 5b 6c 65 6e 5d 20 3d | 20 45 4f 53 3b 0a 09 09 |2[len] =| EOS;...|
|000054c0| 09 09 69 66 20 28 6c 65 | 6e 20 3e 3d 20 4d 41 58 |..if (le|n >= MAX|
|000054d0| 4c 49 4e 45 29 0a 09 09 | 09 09 7b 0a 09 09 09 09 |LINE)...|..{.....|
|000054e0| 09 72 65 74 20 3d 20 45 | 52 52 3b 0a 09 09 09 09 |.ret = E|RR;.....|
|000054f0| 09 45 72 72 63 6f 64 65 | 20 3d 20 45 54 52 55 4e |.Errcode| = ETRUN|
|00005500| 43 3b 0a 09 09 09 09 7d | 0a 09 09 09 09 70 74 72 |C;.....}|.....ptr|
|00005510| 20 3d 20 73 70 5f 69 6e | 6a 65 63 74 20 28 6c 69 | = sp_in|ject (li|
|00005520| 6e 32 2c 20 6c 65 6e 2c | 20 70 74 72 29 3b 0a 09 |n2, len,| ptr);..|
|00005530| 09 09 7d 0a 09 09 09 69 | 66 20 28 70 74 72 20 3d |..}....i|f (ptr =|
|00005540| 3d 20 4e 4f 4d 4f 52 45 | 29 0a 09 09 09 7b 0a 09 |= NOMORE|)....{..|
|00005550| 09 09 09 72 65 74 20 3d | 20 45 52 52 3b 0a 09 09 |...ret =| ERR;...|
|00005560| 09 09 62 72 65 61 6b 3b | 0a 09 09 09 7d 0a 09 09 |..break;|....}...|
|00005570| 7d 0a 09 09 69 66 20 28 | 43 72 79 70 74 69 6e 67 |}...if (|Crypting|
|00005580| 29 0a 09 09 09 63 72 79 | 70 74 5f 63 6c 6f 73 65 |)....cry|pt_close|
|00005590| 20 28 66 64 29 3b 0a 09 | 09 65 6c 73 65 0a 09 09 | (fd);..|.else...|
|000055a0| 09 66 63 6c 6f 73 65 20 | 28 66 64 29 3b 0a 09 09 |.fclose |(fd);...|
|000055b0| 73 61 79 6e 75 6d 20 28 | 63 6f 75 6e 74 29 3b 0a |saynum (|count);.|
|000055c0| 09 09 43 75 72 6c 6e 20 | 3d 20 6c 69 6e 65 20 2b |..Curln |= line +|
|000055d0| 20 63 6f 75 6e 74 3b 0a | 09 09 73 76 69 6e 73 20 | count;.|..svins |
|000055e0| 28 6c 69 6e 65 2c 20 63 | 6f 75 6e 74 29 3b 0a 09 |(line, c|ount);..|
|000055f0| 7d 0a 0a 09 72 65 74 75 | 72 6e 20 28 72 65 74 29 |}...retu|rn (ret)|
|00005600| 3b 0a 7d 0a 0a 0a 2f 2a | 20 64 6f 73 6f 70 74 20 |;.}.../*| dosopt |
|00005610| 2d 2d 2d 20 73 65 74 20 | 73 6f 75 72 63 65 20 6c |--- set |source l|
|00005620| 61 6e 67 75 61 67 65 2d | 72 65 6c 61 74 65 64 20 |anguage-|related |
|00005630| 6f 70 74 69 6f 6e 73 20 | 2a 2f 0a 0a 69 6e 74 20 |options |*/..int |
|00005640| 64 6f 73 6f 70 74 20 28 | 6c 69 6e 29 0a 63 68 61 |dosopt (|lin).cha|
|00005650| 72 20 6c 69 6e 5b 5d 3b | 0a 7b 0a 09 63 68 61 72 |r lin[];|.{..char|
|00005660| 20 6c 61 6e 67 5b 38 5d | 3b 0a 09 69 6e 74 20 69 | lang[8]|;..int i|
|00005670| 3b 0a 09 69 6e 74 20 73 | 74 72 62 73 72 20 28 29 |;..int s|trbsr ()|
|00005680| 3b 0a 09 73 74 61 74 69 | 63 20 73 74 72 75 63 74 |;..stati|c struct|
|00005690| 20 7b 0a 09 09 63 68 61 | 72 20 2a 74 78 74 3b 0a | {...cha|r *txt;.|
|000056a0| 09 09 69 6e 74 20 76 61 | 6c 3b 0a 09 7d 20 6c 74 |..int va|l;..} lt|
|000056b0| 78 74 5b 5d 20 3d 20 7b | 20 20 20 20 0a 09 09 22 |xt[] = {| ..."|
|000056c0| 22 2c 20 20 20 20 20 31 | 2c 0a 09 09 22 61 73 22 |", 1|,..."as"|
|000056d0| 2c 20 20 20 32 2c 0a 09 | 09 22 63 22 2c 20 20 20 |, 2,..|."c", |
|000056e0| 20 33 2c 0a 09 09 22 64 | 22 2c 20 20 20 20 31 2c | 3,..."d|", 1,|
|000056f0| 0a 09 09 22 64 61 74 61 | 22 2c 20 31 2c 0a 09 09 |..."data|", 1,...|
|00005700| 22 66 22 2c 20 20 20 20 | 34 2c 0a 09 09 22 68 22 |"f", |4,..."h"|
|00005710| 2c 20 20 20 20 33 2c 0a | 09 09 22 6e 22 2c 20 20 |, 3,.|.."n", |
|00005720| 20 20 31 2c 0a 09 09 22 | 6e 72 22 2c 20 20 20 31 | 1,..."|nr", 1|
|00005730| 2c 0a 09 09 22 6e 72 6f | 66 66 22 2c 31 2c 0a 09 |,..."nro|ff",1,..|
|00005740| 09 22 70 22 2c 09 33 2c | 0a 09 09 22 72 22 2c 20 |."p",.3,|..."r", |
|00005750| 20 20 20 33 2c 0a 09 09 | 22 73 22 2c 20 20 20 20 | 3,...|"s", |
|00005760| 32 2c 0a 09 7d 3b 0a 0a | 09 69 20 3d 20 30 3b 0a |2,..};..|.i = 0;.|
|00005770| 09 67 65 74 77 72 64 20 | 28 6c 69 6e 2c 20 26 69 |.getwrd |(lin, &i|
|00005780| 2c 20 6c 61 6e 67 2c 20 | 38 29 3b 0a 0a 09 73 74 |, lang, |8);...st|
|00005790| 72 6d 61 70 20 28 6c 61 | 6e 67 2c 20 27 61 27 29 |rmap (la|ng, 'a')|
|000057a0| 3b 0a 0a 09 69 20 3d 20 | 73 74 72 62 73 72 20 28 |;...i = |strbsr (|
|000057b0| 28 63 68 61 72 20 2a 29 | 6c 74 78 74 2c 20 73 69 |(char *)|ltxt, si|
|000057c0| 7a 65 6f 66 20 28 6c 74 | 78 74 29 2c 20 73 69 7a |zeof (lt|xt), siz|
|000057d0| 65 6f 66 20 28 6c 74 78 | 74 5b 30 5d 29 2c 20 6c |eof (ltx|t[0]), l|
|000057e0| 61 6e 67 29 3b 0a 09 69 | 66 20 28 69 20 3d 3d 20 |ang);..i|f (i == |
|000057f0| 45 4f 46 29 0a 09 7b 0a | 09 09 45 72 72 63 6f 64 |EOF)..{.|..Errcod|
|00005800| 65 20 3d 20 45 4e 4f 4c | 41 4e 47 3b 0a 09 09 72 |e = ENOL|ANG;...r|
|00005810| 65 74 75 72 6e 20 28 45 | 52 52 29 3b 0a 09 7d 0a |eturn (E|RR);..}.|
|00005820| 0a 09 73 77 69 74 63 68 | 20 28 6c 74 78 74 5b 69 |..switch| (ltxt[i|
|00005830| 5d 2e 76 61 6c 29 20 7b | 0a 09 63 61 73 65 20 31 |].val) {|..case 1|
|00005840| 3a 0a 09 09 57 61 72 6e | 63 6f 6c 20 3d 20 37 34 |:...Warn|col = 74|
|00005850| 3b 0a 09 09 52 65 6c 5f | 61 20 3d 20 27 41 27 3b |;...Rel_|a = 'A';|
|00005860| 0a 09 09 52 65 6c 5f 7a | 20 3d 20 27 5a 27 3b 0a |...Rel_z| = 'Z';.|
|00005870| 09 09 49 6e 76 65 72 74 | 5f 63 61 73 65 20 3d 20 |..Invert|_case = |
|00005880| 4e 4f 3b 0a 09 09 73 74 | 72 63 70 79 20 28 54 61 |NO;...st|rcpy (Ta|
|00005890| 62 73 74 72 2c 20 22 2b | 34 22 29 3b 0a 09 09 73 |bstr, "+|4");...s|
|000058a0| 65 74 74 61 62 20 28 54 | 61 62 73 74 72 29 3b 0a |ettab (T|abstr);.|
|000058b0| 09 09 43 6f 6d 70 72 65 | 73 73 20 3d 20 4e 4f 3b |..Compre|ss = NO;|
|000058c0| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|000058d0| 20 33 3a 0a 09 09 57 61 | 72 6e 63 6f 6c 20 3d 20 | 3:...Wa|rncol = |
|000058e0| 37 34 3b 0a 09 09 52 65 | 6c 5f 61 20 3d 20 27 41 |74;...Re|l_a = 'A|
|000058f0| 27 3b 0a 09 09 52 65 6c | 5f 7a 20 3d 20 27 5a 27 |';...Rel|_z = 'Z'|
|00005900| 3b 0a 09 09 49 6e 76 65 | 72 74 5f 63 61 73 65 20 |;...Inve|rt_case |
|00005910| 3d 20 4e 4f 3b 0a 09 09 | 73 74 72 63 70 79 20 28 |= NO;...|strcpy (|
|00005920| 54 61 62 73 74 72 2c 20 | 22 2b 38 22 29 3b 0a 09 |Tabstr, |"+8");..|
|00005930| 09 73 65 74 74 61 62 20 | 28 54 61 62 73 74 72 29 |.settab |(Tabstr)|
|00005940| 3b 0a 09 09 43 6f 6d 70 | 72 65 73 73 20 3d 20 59 |;...Comp|ress = Y|
|00005950| 45 53 3b 0a 09 09 62 72 | 65 61 6b 3b 0a 09 63 61 |ES;...br|eak;..ca|
|00005960| 73 65 20 34 3a 0a 09 09 | 57 61 72 6e 63 6f 6c 20 |se 4:...|Warncol |
|00005970| 3d 20 37 32 3b 0a 09 09 | 52 65 6c 5f 61 20 3d 20 |= 72;...|Rel_a = |
|00005980| 27 41 27 3b 0a 09 09 52 | 65 6c 5f 7a 20 3d 20 27 |'A';...R|el_z = '|
|00005990| 5a 27 3b 0a 09 09 49 6e | 76 65 72 74 5f 63 61 73 |Z';...In|vert_cas|
|000059a0| 65 20 3d 20 4e 4f 3b 0a | 09 09 73 74 72 63 70 79 |e = NO;.|..strcpy|
|000059b0| 20 28 54 61 62 73 74 72 | 2c 20 22 37 2b 33 22 29 | (Tabstr|, "7+3")|
|000059c0| 3b 0a 09 09 73 65 74 74 | 61 62 20 28 54 61 62 73 |;...sett|ab (Tabs|
|000059d0| 74 72 29 3b 0a 09 09 43 | 6f 6d 70 72 65 73 73 20 |tr);...C|ompress |
|000059e0| 3d 20 59 45 53 3b 0a 09 | 09 62 72 65 61 6b 3b 0a |= YES;..|.break;.|
|000059f0| 0a 09 63 61 73 65 20 32 | 3a 0a 09 09 57 61 72 6e |..case 2|:...Warn|
|00005a00| 63 6f 6c 20 3d 20 37 32 | 3b 0a 09 09 52 65 6c 5f |col = 72|;...Rel_|
|00005a10| 61 20 3d 20 27 41 27 3b | 0a 09 09 52 65 6c 5f 7a |a = 'A';|...Rel_z|
|00005a20| 20 3d 20 27 5a 27 3b 0a | 09 09 49 6e 76 65 72 74 | = 'Z';.|..Invert|
|00005a30| 5f 63 61 73 65 20 3d 20 | 4e 4f 3b 0a 09 09 73 74 |_case = |NO;...st|
|00005a40| 72 63 70 79 20 28 54 61 | 62 73 74 72 2c 20 22 31 |rcpy (Ta|bstr, "1|
|00005a50| 37 2b 38 22 29 3b 0a 09 | 09 73 65 74 74 61 62 20 |7+8");..|.settab |
|00005a60| 28 54 61 62 73 74 72 29 | 3b 0a 09 09 43 6f 6d 70 |(Tabstr)|;...Comp|
|00005a70| 72 65 73 73 20 3d 20 59 | 45 53 3b 0a 09 09 62 72 |ress = Y|ES;...br|
|00005a80| 65 61 6b 3b 0a 09 7d 0a | 0a 09 6d 65 73 67 20 28 |eak;..}.|..mesg (|
|00005a90| 49 6e 76 65 72 74 5f 63 | 61 73 65 20 3d 3d 20 59 |Invert_c|ase == Y|
|00005aa0| 45 53 20 3f 20 22 43 41 | 53 45 22 20 3a 20 22 22 |ES ? "CA|SE" : ""|
|00005ab0| 2c 20 43 41 53 45 5f 4d | 53 47 29 3b 0a 09 6d 65 |, CASE_M|SG);..me|
|00005ac0| 73 67 20 28 43 6f 6d 70 | 72 65 73 73 20 3d 3d 20 |sg (Comp|ress == |
|00005ad0| 59 45 53 20 3f 20 22 58 | 54 41 42 53 22 20 3a 20 |YES ? "X|TABS" : |
|00005ae0| 22 22 2c 20 43 4f 4d 50 | 52 45 53 53 5f 4d 53 47 |"", COMP|RESS_MSG|
|00005af0| 29 3b 0a 0a 09 72 65 74 | 75 72 6e 20 28 4f 4b 29 |);...ret|urn (OK)|
|00005b00| 3b 0a 7d 0a 0a 0a 2f 2a | 20 64 6f 74 6c 69 74 20 |;.}.../*| dotlit |
|00005b10| 2d 2d 2d 20 74 72 61 6e | 73 6c 69 74 65 72 61 74 |--- tran|sliterat|
|00005b20| 65 20 63 68 61 72 61 63 | 74 65 72 73 20 2a 2f 0a |e charac|ters */.|
|00005b30| 0a 69 6e 74 20 64 6f 74 | 6c 69 74 20 28 73 75 62 |.int dot|lit (sub|
|00005b40| 2c 20 61 6c 6c 62 75 74 | 29 0a 63 68 61 72 20 73 |, allbut|).char s|
|00005b50| 75 62 5b 5d 3b 0a 69 6e | 74 20 61 6c 6c 62 75 74 |ub[];.in|t allbut|
|00005b60| 3b 0a 7b 0a 09 63 68 61 | 72 20 6e 65 77 5b 4d 41 |;.{..cha|r new[MA|
|00005b70| 58 4c 49 4e 45 5d 3b 0a | 09 63 68 61 72 20 6b 6e |XLINE];.|.char kn|
|00005b80| 61 6d 65 3b 0a 09 69 6e | 74 20 63 6f 6c 6c 61 70 |ame;..in|t collap|
|00005b90| 2c 20 78 2c 20 69 2c 20 | 6a 2c 20 6c 69 6e 65 2c |, x, i, |j, line,|
|00005ba0| 20 6c 61 73 74 73 75 62 | 2c 20 73 74 61 74 75 73 | lastsub|, status|
|00005bb0| 3b 0a 09 69 6e 74 20 72 | 65 74 3b 0a 09 4c 49 4e |;..int r|et;..LIN|
|00005bc0| 45 44 45 53 43 20 2a 69 | 6e 78 3b 0a 09 4c 49 4e |EDESC *i|nx;..LIN|
|00005bd0| 45 44 45 53 43 20 2a 67 | 65 74 74 78 74 20 28 29 |EDESC *g|ettxt ()|
|00005be0| 2c 20 2a 67 65 74 69 6e | 64 20 28 29 3b 0a 0a 09 |, *getin|d ();...|
|00005bf0| 72 65 74 20 3d 20 45 52 | 52 3b 0a 09 69 66 20 28 |ret = ER|R;..if (|
|00005c00| 4c 69 6e 65 31 20 3c 3d | 20 30 29 0a 09 7b 0a 09 |Line1 <=| 0)..{..|
|00005c10| 09 45 72 72 63 6f 64 65 | 20 3d 20 45 4f 52 41 4e |.Errcode| = EORAN|
|00005c20| 47 45 3b 0a 09 09 72 65 | 74 75 72 6e 20 28 72 65 |GE;...re|turn (re|
|00005c30| 74 29 3b 0a 09 7d 0a 0a | 09 69 66 20 28 46 69 72 |t);..}..|.if (Fir|
|00005c40| 73 74 5f 61 66 66 65 63 | 74 65 64 20 3e 20 4c 69 |st_affec|ted > Li|
|00005c50| 6e 65 31 29 0a 09 09 46 | 69 72 73 74 5f 61 66 66 |ne1)...F|irst_aff|
|00005c60| 65 63 74 65 64 20 3d 20 | 4c 69 6e 65 31 3b 0a 0a |ected = |Line1;..|
|00005c70| 09 6c 61 73 74 73 75 62 | 20 3d 20 73 74 72 6c 65 |.lastsub| = strle|
|00005c80| 6e 20 28 73 75 62 29 20 | 2d 20 31 3b 0a 09 69 66 |n (sub) |- 1;..if|
|00005c90| 20 28 28 73 74 72 6c 65 | 6e 20 28 54 6c 70 61 74 | ((strle|n (Tlpat|
|00005ca0| 29 20 20 2d 20 31 29 20 | 3e 20 6c 61 73 74 73 75 |) - 1) |> lastsu|
|00005cb0| 62 20 7c 7c 20 61 6c 6c | 62 75 74 20 3d 3d 20 59 |b || all|but == Y|
|00005cc0| 45 53 29 0a 09 09 63 6f | 6c 6c 61 70 20 3d 20 59 |ES)...co|llap = Y|
|00005cd0| 45 53 3b 0a 09 65 6c 73 | 65 0a 09 09 63 6f 6c 6c |ES;..els|e...coll|
|00005ce0| 61 70 20 3d 20 4e 4f 3b | 0a 0a 09 66 6f 72 20 28 |ap = NO;|...for (|
|00005cf0| 6c 69 6e 65 20 3d 20 4c | 69 6e 65 31 3b 20 6c 69 |line = L|ine1; li|
|00005d00| 6e 65 20 3c 3d 20 4c 69 | 6e 65 32 3b 20 6c 69 6e |ne <= Li|ne2; lin|
|00005d10| 65 2b 2b 29 0a 09 7b 0a | 09 09 69 66 20 28 69 6e |e++)..{.|..if (in|
|00005d20| 74 72 70 74 20 28 29 29 | 09 2f 2a 20 63 68 65 63 |trpt ())|./* chec|
|00005d30| 6b 20 66 6f 72 20 69 6e | 74 65 72 72 75 70 74 73 |k for in|terrupts|
|00005d40| 20 2a 2f 0a 09 09 09 72 | 65 74 75 72 6e 20 28 45 | */....r|eturn (E|
|00005d50| 52 52 29 3b 0a 0a 09 09 | 69 6e 78 20 3d 20 67 65 |RR);....|inx = ge|
|00005d60| 74 74 78 74 20 28 6c 69 | 6e 65 29 3b 09 2f 2a 20 |ttxt (li|ne);./* |
|00005d70| 67 65 74 20 74 65 78 74 | 20 6f 66 20 6c 69 6e 65 |get text| of line|
|00005d80| 20 69 6e 74 6f 20 74 78 | 74 2c 20 72 65 74 75 72 | into tx|t, retur|
|00005d90| 6e 20 69 6e 64 65 78 20 | 2a 2f 0a 09 09 6a 20 3d |n index |*/...j =|
|00005da0| 20 30 3b 0a 09 09 66 6f | 72 20 28 69 20 3d 20 30 | 0;...fo|r (i = 0|
|00005db0| 3b 20 54 78 74 5b 69 5d | 20 21 3d 20 45 4f 53 20 |; Txt[i]| != EOS |
|00005dc0| 26 26 20 54 78 74 5b 69 | 5d 20 21 3d 20 27 5c 6e |&& Txt[i|] != '\n|
|00005dd0| 27 3b 20 69 2b 2b 29 0a | 09 09 7b 0a 09 09 09 78 |'; i++).|..{....x|
|00005de0| 20 3d 20 78 69 6e 64 65 | 78 20 28 54 6c 70 61 74 | = xinde|x (Tlpat|
|00005df0| 2c 20 54 78 74 5b 69 5d | 2c 20 61 6c 6c 62 75 74 |, Txt[i]|, allbut|
|00005e00| 2c 20 6c 61 73 74 73 75 | 62 29 3b 0a 09 09 09 69 |, lastsu|b);....i|
|00005e10| 66 20 28 63 6f 6c 6c 61 | 70 20 3d 3d 20 59 45 53 |f (colla|p == YES|
|00005e20| 20 26 26 20 78 20 3e 3d | 20 6c 61 73 74 73 75 62 | && x >=| lastsub|
|00005e30| 20 26 26 20 6c 61 73 74 | 73 75 62 20 3e 3d 20 30 | && last|sub >= 0|
|00005e40| 29 09 2f 2a 20 63 6f 6c | 6c 61 70 73 65 20 2a 2f |)./* col|lapse */|
|00005e50| 0a 09 09 09 7b 0a 09 09 | 09 09 6e 65 77 5b 6a 5d |....{...|..new[j]|
|00005e60| 20 3d 20 73 75 62 5b 6c | 61 73 74 73 75 62 5d 3b | = sub[l|astsub];|
|00005e70| 0a 09 09 09 09 6a 2b 2b | 3b 0a 09 09 09 09 66 6f |.....j++|;.....fo|
|00005e80| 72 20 28 69 2b 2b 3b 20 | 54 78 74 5b 69 5d 20 21 |r (i++; |Txt[i] !|
|00005e90| 3d 20 45 4f 53 20 26 26 | 20 54 78 74 5b 69 5d 20 |= EOS &&| Txt[i] |
|00005ea0| 21 3d 20 27 5c 6e 27 3b | 20 69 2b 2b 29 0a 09 09 |!= '\n';| i++)...|
|00005eb0| 09 09 7b 0a 09 09 09 09 | 09 78 20 3d 20 78 69 6e |..{.....|.x = xin|
|00005ec0| 64 65 78 20 28 54 6c 70 | 61 74 2c 20 54 78 74 5b |dex (Tlp|at, Txt[|
|00005ed0| 69 5d 2c 20 61 6c 6c 62 | 75 74 2c 20 6c 61 73 74 |i], allb|ut, last|
|00005ee0| 73 75 62 29 3b 0a 09 09 | 09 09 09 69 66 20 28 78 |sub);...|...if (x|
|00005ef0| 20 3c 20 6c 61 73 74 73 | 75 62 29 0a 09 09 09 09 | < lasts|ub).....|
|00005f00| 09 09 62 72 65 61 6b 3b | 0a 09 09 09 09 7d 0a 09 |..break;|.....}..|
|00005f10| 09 09 7d 0a 09 09 09 69 | 66 20 28 54 78 74 5b 69 |..}....i|f (Txt[i|
|00005f20| 5d 20 3d 3d 20 45 4f 53 | 20 7c 7c 20 54 78 74 5b |] == EOS| || Txt[|
|00005f30| 69 5d 20 3d 3d 20 27 5c | 6e 27 29 0a 09 09 09 09 |i] == '\|n').....|
|00005f40| 62 72 65 61 6b 3b 0a 09 | 09 09 69 66 20 28 78 20 |break;..|..if (x |
|00005f50| 3e 3d 20 30 20 26 26 20 | 6c 61 73 74 73 75 62 20 |>= 0 && |lastsub |
|00005f60| 3e 3d 20 30 29 09 2f 2a | 20 74 72 61 6e 73 6c 69 |>= 0)./*| transli|
|00005f70| 74 65 72 61 74 65 20 2a | 2f 0a 09 09 09 7b 0a 09 |terate *|/....{..|
|00005f80| 09 09 09 6e 65 77 5b 6a | 5d 20 3d 20 73 75 62 5b |...new[j|] = sub[|
|00005f90| 78 5d 3b 0a 09 09 09 09 | 6a 2b 2b 3b 0a 09 09 09 |x];.....|j++;....|
|00005fa0| 7d 0a 09 09 09 65 6c 73 | 65 20 69 66 20 28 78 20 |}....els|e if (x |
|00005fb0| 3c 20 30 29 09 09 2f 2a | 20 63 6f 70 79 20 2a 2f |< 0)../*| copy */|
|00005fc0| 0a 09 09 09 7b 0a 09 09 | 09 09 6e 65 77 5b 6a 5d |....{...|..new[j]|
|00005fd0| 20 3d 20 54 78 74 5b 69 | 5d 3b 0a 09 09 09 09 6a | = Txt[i|];.....j|
|00005fe0| 2b 2b 3b 0a 09 09 09 7d | 0a 09 09 09 2f 2a 20 65 |++;....}|..../* e|
|00005ff0| 6c 73 65 0a 09 09 09 09 | 64 65 6c 65 74 65 20 2a |lse.....|delete *|
|00006000| 2f 0a 09 09 7d 0a 0a 09 | 09 69 66 20 28 54 78 74 |/...}...|.if (Txt|
|00006010| 5b 69 5d 20 3d 3d 20 27 | 5c 6e 27 29 09 2f 2a 20 |[i] == '|\n')./* |
|00006020| 61 64 64 20 61 20 6e 65 | 77 6c 69 6e 65 2c 20 69 |add a ne|wline, i|
|00006030| 66 20 6e 65 63 65 73 73 | 61 72 79 20 2a 2f 0a 09 |f necess|ary */..|
|00006040| 09 7b 0a 09 09 09 6e 65 | 77 5b 6a 5d 20 3d 20 27 |.{....ne|w[j] = '|
|00006050| 5c 6e 27 3b 0a 09 09 09 | 6a 2b 2b 3b 0a 09 09 7d |\n';....|j++;...}|
|00006060| 0a 09 09 6e 65 77 5b 6a | 5d 20 3d 20 45 4f 53 3b |...new[j|] = EOS;|
|00006070| 09 09 2f 2a 20 61 64 64 | 20 74 68 65 20 45 4f 53 |../* add| the EOS|
|00006080| 20 2a 2f 0a 0a 09 09 6b | 6e 61 6d 65 20 3d 20 69 | */....k|name = i|
|00006090| 6e 78 20 2d 3e 20 4d 61 | 72 6b 6e 61 6d 65 3b 09 |nx -> Ma|rkname;.|
|000060a0| 2f 2a 20 73 61 76 65 20 | 74 68 65 20 6d 61 72 6b |/* save |the mark|
|000060b0| 6e 61 6d 65 20 2a 2f 0a | 09 09 64 65 6c 65 74 65 |name */.|..delete|
|000060c0| 20 28 6c 69 6e 65 2c 20 | 6c 69 6e 65 2c 20 26 73 | (line, |line, &s|
|000060d0| 74 61 74 75 73 29 3b 0a | 09 09 72 65 74 20 3d 20 |tatus);.|..ret = |
|000060e0| 69 6e 6a 65 63 74 20 28 | 6e 65 77 29 3b 0a 09 09 |inject (|new);...|
|000060f0| 69 66 20 28 72 65 74 20 | 3d 3d 20 45 52 52 29 0a |if (ret |== ERR).|
|00006100| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 69 6e 78 20 |...break|;...inx |
|00006110| 3d 20 67 65 74 69 6e 64 | 20 28 43 75 72 6c 6e 29 |= getind| (Curln)|
|00006120| 3b 0a 09 09 69 6e 78 20 | 2d 3e 20 4d 61 72 6b 6e |;...inx |-> Markn|
|00006130| 61 6d 65 20 3d 20 6b 6e | 61 6d 65 3b 09 2f 2a 20 |ame = kn|ame;./* |
|00006140| 73 65 74 20 6d 61 72 6b | 6e 61 6d 65 20 2a 2f 0a |set mark|name */.|
|00006150| 09 09 72 65 74 20 3d 20 | 4f 4b 3b 0a 09 09 42 75 |..ret = |OK;...Bu|
|00006160| 66 66 65 72 5f 63 68 61 | 6e 67 65 64 20 3d 20 59 |ffer_cha|nged = Y|
|00006170| 45 53 3b 0a 09 7d 0a 0a | 09 72 65 74 75 72 6e 20 |ES;..}..|.return |
|00006180| 28 72 65 74 29 3b 0a 7d | 0a 0a 2f 2a 20 64 6f 75 |(ret);.}|../* dou|
|00006190| 6e 64 6f 20 2d 2d 2d 20 | 72 65 73 74 6f 72 65 20 |ndo --- |restore |
|000061a0| 6c 61 73 74 20 73 65 74 | 20 6f 66 20 6c 69 6e 65 |last set| of line|
|000061b0| 73 20 64 65 6c 65 74 65 | 64 20 2a 2f 0a 0a 69 6e |s delete|d */..in|
|000061c0| 74 20 64 6f 75 6e 64 6f | 20 28 64 66 6c 67 2c 20 |t doundo| (dflg, |
|000061d0| 73 74 61 74 75 73 29 0a | 69 6e 74 20 64 66 6c 67 |status).|int dflg|
|000061e0| 3b 0a 69 6e 74 20 2a 73 | 74 61 74 75 73 3b 0a 7b |;.int *s|tatus;.{|
|000061f0| 0a 09 4c 49 4e 45 44 45 | 53 43 20 2a 6c 31 2c 20 |..LINEDE|SC *l1, |
|00006200| 2a 6c 32 2c 20 2a 6b 31 | 2c 20 2a 6b 32 3b 0a 09 |*l2, *k1|, *k2;..|
|00006210| 4c 49 4e 45 44 45 53 43 | 20 2a 67 65 74 69 6e 64 |LINEDESC| *getind|
|00006220| 20 28 29 3b 0a 09 69 6e | 74 20 6f 6c 64 63 6e 74 | ();..in|t oldcnt|
|00006230| 3b 0a 09 69 6e 74 20 6e | 65 78 74 6c 6e 20 28 29 |;..int n|extln ()|
|00006240| 2c 20 70 72 65 76 6c 6e | 20 28 29 3b 0a 0a 09 2a |, prevln| ();...*|
|00006250| 73 74 61 74 75 73 20 3d | 20 45 52 52 3b 0a 09 69 |status =| ERR;..i|
|00006260| 66 20 28 64 66 6c 67 20 | 3d 3d 20 4e 4f 20 26 26 |f (dflg |== NO &&|
|00006270| 20 4c 69 6e 65 31 20 3c | 3d 20 30 29 0a 09 09 45 | Line1 <|= 0)...E|
|00006280| 72 72 63 6f 64 65 20 3d | 20 45 4f 52 41 4e 47 45 |rrcode =| EORANGE|
|00006290| 3b 0a 09 65 6c 73 65 20 | 69 66 20 28 4c 69 6d 62 |;..else |if (Limb|
|000062a0| 6f 20 3d 3d 20 4e 4f 4d | 4f 52 45 29 0a 09 09 45 |o == NOM|ORE)...E|
|000062b0| 72 72 63 6f 64 65 20 3d | 20 45 4e 4f 4c 49 4d 42 |rrcode =| ENOLIMB|
|000062c0| 4f 3b 0a 09 65 6c 73 65 | 20 69 66 20 28 4c 69 6e |O;..else| if (Lin|
|000062d0| 65 31 20 3e 20 4c 69 6e | 65 32 29 0a 09 09 45 72 |e1 > Lin|e2)...Er|
|000062e0| 72 63 6f 64 65 20 3d 20 | 45 42 41 43 4b 57 41 52 |rcode = |EBACKWAR|
|000062f0| 44 3b 0a 09 65 6c 73 65 | 20 69 66 20 28 4c 69 6e |D;..else| if (Lin|
|00006300| 65 32 20 3e 20 4c 61 73 | 74 6c 6e 29 0a 09 09 45 |e2 > Las|tln)...E|
|00006310| 72 72 63 6f 64 65 20 3d | 20 45 4c 49 4e 45 32 3b |rrcode =| ELINE2;|
|00006320| 0a 09 65 6c 73 65 0a 09 | 7b 0a 09 09 2a 73 74 61 |..else..|{...*sta|
|00006330| 74 75 73 20 3d 20 4f 4b | 3b 0a 09 09 43 75 72 6c |tus = OK|;...Curl|
|00006340| 6e 20 3d 20 4c 69 6e 65 | 32 3b 0a 23 69 66 64 65 |n = Line|2;.#ifde|
|00006350| 66 20 4f 4c 44 5f 53 43 | 52 41 54 43 48 0a 09 09 |f OLD_SC|RATCH...|
|00006360| 6b 31 20 3d 20 67 65 74 | 69 6e 64 20 28 4c 69 6e |k1 = get|ind (Lin|
|00006370| 65 32 29 3b 0a 09 09 6b | 32 20 3d 20 67 65 74 69 |e2);...k|2 = geti|
|00006380| 6e 64 20 28 6e 65 78 74 | 6c 6e 20 28 4c 69 6e 65 |nd (next|ln (Line|
|00006390| 32 29 29 3b 0a 09 09 6c | 31 20 3d 20 4c 69 6d 62 |2));...l|1 = Limb|
|000063a0| 6f 3b 0a 09 09 6c 32 20 | 3d 20 6c 31 20 2d 3e 20 |o;...l2 |= l1 -> |
|000063b0| 50 72 65 76 6c 69 6e 65 | 3b 0a 09 09 72 65 6c 69 |Prevline|;...reli|
|000063c0| 6e 6b 20 28 6b 31 2c 20 | 6c 31 2c 20 6c 32 2c 20 |nk (k1, |l1, l2, |
|000063d0| 6b 32 29 3b 0a 09 09 72 | 65 6c 69 6e 6b 20 28 6c |k2);...r|elink (l|
|000063e0| 32 2c 20 6b 32 2c 20 6b | 31 2c 20 6c 31 29 3b 0a |2, k2, k|1, l1);.|
|000063f0| 23 65 6c 73 65 0a 09 09 | 62 6c 6b 6d 6f 76 65 20 |#else...|blkmove |
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.