home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume8 / se / part01 next >
SHell self-extracting ARchive  |  1987-01-25  |  54.2 KB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

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

You can browse this item here: part01

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert 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, ASCII text default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 30 38 69 30 30 |Subject:| v08i00|
|00000010| 31 3a 20 20 47 65 6f 72 | 67 69 61 20 54 65 63 68 |1: Geor|gia Tech|
|00000020| 20 27 73 65 27 20 53 63 | 72 65 65 6e 20 45 64 69 | 'se' Sc|reen Edi|
|00000030| 74 6f 72 0a 4e 65 77 73 | 67 72 6f 75 70 73 3a 20 |tor.News|groups: |
|00000040| 6d 6f 64 2e 73 6f 75 72 | 63 65 73 0a 41 70 70 72 |mod.sour|ces.Appr|
|00000050| 6f 76 65 64 3a 20 6d 69 | 72 72 6f 72 21 72 73 0a |oved: mi|rror!rs.|
|00000060| 0a 53 75 62 6d 69 74 74 | 65 64 20 62 79 3a 20 65 |.Submitt|ed by: e|
|00000070| 6d 6f 72 79 75 31 21 61 | 72 6e 6f 6c 64 20 28 41 |moryu1!a|rnold (A|
|00000080| 72 6e 6f 6c 64 20 44 2e | 20 52 6f 62 62 69 6e 73 |rnold D.| Robbins|
|00000090| 29 0a 4d 6f 64 2e 73 6f | 75 72 63 65 73 3a 20 56 |).Mod.so|urces: V|
|000000a0| 6f 6c 75 6d 65 20 38 2c | 20 49 73 73 75 65 20 31 |olume 8,| Issue 1|
|000000b0| 0a 41 72 63 68 69 76 65 | 2d 6e 61 6d 65 3a 20 73 |.Archive|-name: s|
|000000c0| 65 2f 50 61 72 74 30 31 | 0a 0a 0a 48 65 72 65 20 |e/Part01|...Here |
|000000d0| 69 73 20 74 68 65 20 73 | 65 63 6f 6e 64 20 72 65 |is the s|econd re|
|000000e0| 6c 65 61 73 65 20 6f 66 | 20 74 68 65 20 47 65 6f |lease of| the Geo|
|000000f0| 72 67 69 61 20 54 65 63 | 68 20 53 63 72 65 65 6e |rgia Tec|h Screen|
|00000100| 20 45 64 69 74 6f 72 2c | 20 27 73 65 27 2e 0a 54 | Editor,| 'se'..T|
|00000110| 68 65 72 65 20 77 65 72 | 65 20 65 6e 6f 75 67 68 |here wer|e enough|
|00000120| 20 63 68 61 6e 67 65 73 | 20 74 68 61 74 20 61 20 | changes| that a |
|00000130| 77 68 6f 6c 65 20 6e 65 | 77 20 70 6f 73 74 69 6e |whole ne|w postin|
|00000140| 67 20 69 73 20 77 61 72 | 72 61 6e 74 65 64 2e 0a |g is war|ranted..|
|00000150| 0a 4d 61 6a 6f 72 20 43 | 68 61 6e 67 65 73 3a 0a |.Major C|hanges:.|
|00000160| 09 41 6c 6c 20 47 65 6f | 72 67 69 61 20 54 65 63 |.All Geo|rgia Tec|
|00000170| 68 20 73 70 65 63 69 66 | 69 63 20 73 74 75 66 66 |h specif|ic stuff|
|00000180| 20 72 65 6d 6f 76 65 64 | 2e 0a 09 49 74 20 75 6e | removed|...It un|
|00000190| 64 65 72 73 74 61 6e 64 | 73 20 77 69 6e 64 6f 77 |derstand|s window|
|000001a0| 20 73 69 7a 65 20 63 68 | 61 6e 67 65 73 20 6f 6e | size ch|anges on|
|000001b0| 20 34 2e 33 42 53 44 20 | 61 6e 64 20 41 54 54 20 | 4.3BSD |and ATT |
|000001c0| 55 6e 69 78 20 50 43 2f | 33 42 31 0a 09 53 75 70 |Unix PC/|3B1..Sup|
|000001d0| 70 6f 72 74 20 66 6f 72 | 20 74 68 65 20 73 68 61 |port for| the sha|
|000001e0| 72 65 64 20 6c 69 62 72 | 61 72 79 20 6f 6e 20 74 |red libr|ary on t|
|000001f0| 68 65 20 41 54 54 20 55 | 6e 69 78 20 50 43 2f 33 |he ATT U|nix PC/3|
|00000200| 42 31 0a 09 43 6f 6e 73 | 69 64 65 72 61 62 6c 65 |B1..Cons|iderable|
|00000210| 20 73 6f 75 72 63 65 20 | 63 6f 64 65 20 72 65 6f | source |code reo|
|00000220| 72 67 61 6e 69 7a 61 74 | 69 6f 6e 20 69 6e 20 63 |rganizat|ion in c|
|00000230| 65 72 74 61 69 6e 20 66 | 69 6c 65 73 2e 0a 0a 45 |ertain f|iles...E|
|00000240| 6e 6a 6f 79 2c 0a 0a 41 | 72 6e 6f 6c 64 20 52 6f |njoy,..A|rnold Ro|
|00000250| 62 62 69 6e 73 0a 0a 23 | 21 20 2f 62 69 6e 2f 73 |bbins..#|! /bin/s|
|00000260| 68 0a 23 20 54 68 69 73 | 20 69 73 20 61 20 73 68 |h.# This| is a sh|
|00000270| 65 6c 6c 20 61 72 63 68 | 69 76 65 2c 20 6d 65 61 |ell arch|ive, mea|
|00000280| 6e 69 6e 67 3a 0a 23 20 | 31 2e 20 52 65 6d 6f 76 |ning:.# |1. Remov|
|00000290| 65 20 65 76 65 72 79 74 | 68 69 6e 67 20 61 62 6f |e everyt|hing abo|
|000002a0| 76 65 20 74 68 65 20 23 | 21 20 2f 62 69 6e 2f 73 |ve the #|! /bin/s|
|000002b0| 68 20 6c 69 6e 65 2e 0a | 23 20 32 2e 20 53 61 76 |h line..|# 2. Sav|
|000002c0| 65 20 74 68 65 20 72 65 | 73 75 6c 74 69 6e 67 20 |e the re|sulting |
|000002d0| 74 65 78 74 20 69 6e 20 | 61 20 66 69 6c 65 2e 0a |text in |a file..|
|000002e0| 23 20 33 2e 20 45 78 65 | 63 75 74 65 20 74 68 65 |# 3. Exe|cute the|
|000002f0| 20 66 69 6c 65 20 77 69 | 74 68 20 2f 62 69 6e 2f | file wi|th /bin/|
|00000300| 73 68 20 28 6e 6f 74 20 | 63 73 68 29 20 74 6f 20 |sh (not |csh) to |
|00000310| 63 72 65 61 74 65 20 74 | 68 65 20 66 69 6c 65 73 |create t|he files|
|00000320| 3a 0a 23 09 52 45 41 44 | 4d 45 0a 23 09 61 73 63 |:.#.READ|ME.#.asc|
|00000330| 69 69 2e 68 0a 23 09 63 | 6f 6e 73 74 64 65 66 73 |ii.h.#.c|onstdefs|
|00000340| 2e 68 0a 23 09 64 6f 63 | 6d 64 31 2e 63 0a 23 09 |.h.#.doc|md1.c.#.|
|00000350| 64 6f 63 6d 64 32 2e 63 | 0a 65 78 70 6f 72 74 20 |docmd2.c|.export |
|00000360| 50 41 54 48 3b 20 50 41 | 54 48 3d 2f 62 69 6e 3a |PATH; PA|TH=/bin:|
|00000370| 24 50 41 54 48 0a 65 63 | 68 6f 20 73 68 61 72 3a |$PATH.ec|ho shar:|
|00000380| 20 65 78 74 72 61 63 74 | 69 6e 67 20 22 27 52 45 | extract|ing "'RE|
|00000390| 41 44 4d 45 27 22 20 27 | 28 36 31 33 31 20 63 68 |ADME'" '|(6131 ch|
|000003a0| 61 72 61 63 74 65 72 73 | 29 27 0a 69 66 20 74 65 |aracters|)'.if te|
|000003b0| 73 74 20 2d 66 20 27 52 | 45 41 44 4d 45 27 0a 74 |st -f 'R|EADME'.t|
|000003c0| 68 65 6e 0a 09 65 63 68 | 6f 20 73 68 61 72 3a 20 |hen..ech|o shar: |
|000003d0| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|000003e0| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|000003f0| 65 20 22 27 52 45 41 44 | 4d 45 27 22 0a 65 6c 73 |e "'READ|ME'".els|
|00000400| 65 0a 63 61 74 20 3c 3c | 20 5c 53 48 41 52 5f 45 |e.cat <<| \SHAR_E|
|00000410| 4f 46 20 3e 20 27 52 45 | 41 44 4d 45 27 0a 23 20 |OF > 'RE|ADME'.# |
|00000420| 0a 23 20 24 48 65 61 64 | 65 72 3a 20 52 45 41 44 |.# $Head|er: READ|
|00000430| 4d 45 2c 76 20 31 2e 33 | 20 38 36 2f 30 37 2f 31 |ME,v 1.3| 86/07/1|
|00000440| 37 20 31 37 3a 35 32 3a | 32 33 20 61 72 6e 6f 6c |7 17:52:|23 arnol|
|00000450| 64 20 45 78 70 20 24 0a | 23 20 0a 23 20 24 4c 6f |d Exp $.|# .# $Lo|
|00000460| 67 3a 09 52 45 41 44 4d | 45 2c 76 20 24 0a 23 20 |g:.READM|E,v $.# |
|00000470| 52 65 76 69 73 69 6f 6e | 20 31 2e 33 20 20 38 36 |Revision| 1.3 86|
|00000480| 2f 30 37 2f 31 37 20 20 | 31 37 3a 35 32 3a 32 33 |/07/17 |17:52:23|
|00000490| 20 20 61 72 6e 6f 6c 64 | 0a 23 20 46 69 78 65 64 | arnold|.# Fixed|
|000004a0| 20 73 6f 6d 65 20 73 70 | 65 6c 6c 69 6e 67 20 6d | some sp|elling m|
|000004b0| 69 73 74 61 6b 65 73 2e | 0a 23 20 0a 23 20 52 65 |istakes.|.# .# Re|
|000004c0| 76 69 73 69 6f 6e 20 31 | 2e 32 20 20 38 36 2f 30 |vision 1|.2 86/0|
|000004d0| 37 2f 31 37 20 20 31 37 | 3a 31 39 3a 30 36 20 20 |7/17 17|:19:06 |
|000004e0| 61 72 6e 6f 6c 64 0a 23 | 20 52 65 6d 6f 76 65 64 |arnold.#| Removed|
|000004f0| 20 47 54 20 73 70 65 63 | 69 66 69 63 20 73 74 75 | GT spec|ific stu|
|00000500| 66 66 2c 20 61 64 64 65 | 64 20 64 69 73 63 75 73 |ff, adde|d discus|
|00000510| 73 69 6f 6e 20 6f 66 20 | 77 69 6e 64 6f 77 20 73 |sion of |window s|
|00000520| 65 6e 73 69 74 69 76 69 | 74 69 65 73 2e 0a 23 20 |ensitivi|ties..# |
|00000530| 0a 23 20 52 65 76 69 73 | 69 6f 6e 20 31 2e 31 20 |.# Revis|ion 1.1 |
|00000540| 20 38 36 2f 30 35 2f 30 | 36 20 20 31 33 3a 33 34 | 86/05/0|6 13:34|
|00000550| 3a 30 39 20 20 6f 73 61 | 64 72 0a 23 20 49 6e 69 |:09 osa|dr.# Ini|
|00000560| 74 69 61 6c 20 72 65 76 | 69 73 69 6f 6e 0a 23 20 |tial rev|ision.# |
|00000570| 0a 23 20 0a 23 20 0a 52 | 45 41 44 4d 45 3a 0a 0a |.# .# .R|EADME:..|
|00000580| 54 68 69 73 20 64 69 72 | 65 63 74 6f 72 79 20 63 |This dir|ectory c|
|00000590| 6f 6e 74 61 69 6e 73 20 | 74 68 65 20 73 6f 75 72 |ontains |the sour|
|000005a0| 63 65 20 66 69 6c 65 73 | 20 66 6f 72 20 74 68 65 |ce files| for the|
|000005b0| 20 55 6e 69 78 20 76 65 | 72 73 69 6f 6e 20 6f 66 | Unix ve|rsion of|
|000005c0| 20 74 68 65 20 47 65 6f | 72 67 69 61 0a 54 65 63 | the Geo|rgia.Tec|
|000005d0| 68 20 53 63 72 65 65 6e | 20 45 64 69 74 6f 72 20 |h Screen| Editor |
|000005e0| 22 53 65 22 2e 20 20 49 | 74 20 68 61 73 20 74 68 |"Se". I|t has th|
|000005f0| 72 65 65 20 73 75 62 64 | 69 72 65 63 74 6f 72 69 |ree subd|irectori|
|00000600| 65 73 20 77 68 69 63 68 | 20 63 6f 6e 74 61 69 6e |es which| contain|
|00000610| 20 74 68 69 6e 67 73 0a | 74 68 61 74 20 73 65 20 | things.|that se |
|00000620| 6e 65 65 64 73 2e 20 48 | 65 72 65 20 69 73 20 61 |needs. H|ere is a|
|00000630| 20 72 75 6e 64 6f 77 6e | 20 6f 66 20 74 68 65 20 | rundown| of the |
|00000640| 76 61 72 69 6f 75 73 20 | 66 69 6c 65 73 2e 0a 0a |various |files...|
|00000650| 46 69 6c 65 73 20 63 6f | 6e 74 61 69 6e 69 6e 67 |Files co|ntaining|
|00000660| 20 64 6f 63 75 6d 65 6e | 74 61 74 69 6f 6e 20 61 | documen|tation a|
|00000670| 72 65 3a 0a 0a 52 45 41 | 44 4d 45 09 09 2d 2d 20 |re:..REA|DME..-- |
|00000680| 74 68 69 73 20 66 69 6c | 65 2e 0a 73 65 2e 6d 34 |this fil|e..se.m4|
|00000690| 09 09 2d 2d 20 6e 72 6f | 66 66 20 6d 61 6e 75 61 |..-- nro|ff manua|
|000006a0| 6c 20 70 61 67 65 20 66 | 6f 72 20 73 65 20 28 68 |l page f|or se (h|
|000006b0| 61 73 20 74 6f 20 62 65 | 20 6d 75 6e 67 65 64 20 |as to be| munged |
|000006c0| 74 6f 20 63 72 65 61 74 | 65 20 73 65 2e 31 29 2e |to creat|e se.1).|
|000006d0| 0a 73 63 72 69 70 74 73 | 65 2e 31 09 2d 2d 20 6e |.scripts|e.1.-- n|
|000006e0| 72 6f 66 66 20 6d 61 6e | 75 61 6c 20 70 61 67 65 |roff man|ual page|
|000006f0| 20 66 6f 72 20 73 63 72 | 69 70 74 73 65 2e 0a 0a | for scr|iptse...|
|00000700| 54 68 65 20 68 65 61 64 | 65 72 20 66 69 6c 65 73 |The head|er files|
|00000710| 20 61 72 65 3a 0a 0a 61 | 73 63 69 69 2e 68 09 09 | are:..a|scii.h..|
|00000720| 2d 2d 20 64 65 66 69 6e | 69 74 69 6f 6e 20 6f 66 |-- defin|ition of|
|00000730| 20 41 53 43 49 49 20 6d | 6e 65 6d 6f 6e 69 63 73 | ASCII m|nemonics|
|00000740| 20 61 6e 64 20 63 6f 6e | 74 72 6f 6c 20 63 68 61 | and con|trol cha|
|00000750| 72 61 63 74 65 72 73 2e | 0a 65 78 74 65 72 6e 2e |racters.|.extern.|
|00000760| 68 09 2d 2d 20 65 78 74 | 65 72 6e 61 6c 20 64 61 |h.-- ext|ernal da|
|00000770| 74 61 20 64 65 66 69 6e | 69 74 69 6f 6e 73 20 66 |ta defin|itions f|
|00000780| 6f 72 20 74 68 65 20 73 | 63 72 65 65 6e 20 65 64 |or the s|creen ed|
|00000790| 69 74 6f 72 2e 0a 73 65 | 2e 68 09 09 2d 2d 20 67 |itor..se|.h..-- g|
|000007a0| 6c 6f 62 61 6c 20 23 64 | 65 66 69 6e 65 27 73 20 |lobal #d|efine's |
|000007b0| 66 6f 72 20 74 68 65 20 | 73 63 72 65 65 6e 20 65 |for the |screen e|
|000007c0| 64 69 74 6f 72 2e 0a 63 | 6f 6e 73 74 64 65 66 73 |ditor..c|onstdefs|
|000007d0| 2e 68 09 2d 2d 20 67 6c | 6f 62 61 6c 20 63 6f 6e |.h.-- gl|obal con|
|000007e0| 73 74 61 6e 74 73 2c 20 | 61 6c 73 6f 20 75 73 65 |stants, |also use|
|000007f0| 64 20 62 79 20 66 69 6c | 65 73 20 69 6e 20 73 75 |d by fil|es in su|
|00000800| 62 64 69 72 65 63 74 6f | 72 69 65 73 2e 0a 0a 54 |bdirecto|ries...T|
|00000810| 68 65 20 43 20 73 6f 75 | 72 63 65 20 66 69 6c 65 |he C sou|rce file|
|00000820| 73 20 61 72 65 3a 0a 0a | 6d 61 69 6e 2e 63 09 09 |s are:..|main.c..|
|00000830| 2d 2d 20 6d 61 69 6e 20 | 70 72 6f 67 72 61 6d 20 |-- main |program |
|00000840| 61 6e 64 20 64 65 63 6c | 61 72 61 74 69 6f 6e 20 |and decl|aration |
|00000850| 6f 66 20 67 6c 6f 62 61 | 6c 73 2c 20 69 6e 69 74 |of globa|ls, init|
|00000860| 69 61 6c 69 7a 61 74 69 | 6f 6e 2e 0a 65 64 69 74 |ializati|on..edit|
|00000870| 2e 63 09 09 2d 2d 20 6d | 61 69 6e 20 63 6f 6d 6d |.c..-- m|ain comm|
|00000880| 61 6e 64 20 6c 6f 6f 70 | 20 74 6f 20 67 65 74 20 |and loop| to get |
|00000890| 61 6e 64 20 65 78 65 63 | 75 74 65 20 63 6f 6d 6d |and exec|ute comm|
|000008a0| 61 6e 64 73 2c 20 66 69 | 6c 65 20 68 61 6e 64 6c |ands, fi|le handl|
|000008b0| 69 6e 67 2e 0a 64 6f 63 | 6d 64 31 2e 63 09 2d 2d |ing..doc|md1.c.--|
|000008c0| 20 63 6f 6d 6d 61 6e 64 | 20 64 65 63 6f 64 65 72 | command| decoder|
|000008d0| 20 61 6e 64 20 66 75 6e | 63 74 69 6f 6e 73 20 66 | and fun|ctions f|
|000008e0| 6f 72 20 6d 6f 73 74 20 | 63 6f 6d 6d 61 6e 64 73 |or most |commands|
|000008f0| 2e 0a 64 6f 63 6d 64 32 | 2e 63 09 2d 2d 20 66 75 |..docmd2|.c.-- fu|
|00000900| 6e 63 74 69 6f 6e 73 20 | 66 6f 72 20 74 68 65 20 |nctions |for the |
|00000910| 72 65 73 74 20 6f 66 20 | 74 68 65 20 63 6f 6d 6d |rest of |the comm|
|00000920| 61 6e 64 73 2e 0a 6d 69 | 73 63 2e 63 09 09 2d 2d |ands..mi|sc.c..--|
|00000930| 20 6d 69 73 63 65 6c 6c | 61 6e 69 6f 75 73 20 66 | miscell|anious f|
|00000940| 75 6e 63 74 69 6f 6e 73 | 2e 0a 73 63 72 61 74 63 |unctions|..scratc|
|00000950| 68 2e 63 09 2d 2d 20 73 | 63 72 61 74 63 68 20 66 |h.c.-- s|cratch f|
|00000960| 69 6c 65 20 6d 61 6e 69 | 70 75 6c 61 74 69 6e 67 |ile mani|pulating|
|00000970| 20 66 75 6e 63 74 69 6f | 6e 73 2e 0a 73 63 72 65 | functio|ns..scre|
|00000980| 65 6e 2e 63 09 2d 2d 20 | 72 6f 75 74 69 6e 65 73 |en.c.-- |routines|
|00000990| 20 74 6f 20 6b 65 65 70 | 20 74 72 61 63 6b 20 6f | to keep| track o|
|000009a0| 66 20 74 68 65 20 73 63 | 72 65 65 6e 20 63 6f 6e |f the sc|reen con|
|000009b0| 74 65 6e 74 73 2e 0a 74 | 65 72 6d 2e 63 09 09 2d |tents..t|erm.c..-|
|000009c0| 2d 20 72 6f 75 74 69 6e | 65 73 20 66 6f 72 20 63 |- routin|es for c|
|000009d0| 68 61 6e 67 69 6e 67 20 | 74 68 65 20 74 65 72 6d |hanging |the term|
|000009e0| 69 6e 61 6c 2e 0a 0a 54 | 68 65 20 73 75 62 64 69 |inal...T|he subdi|
|000009f0| 72 65 63 74 6f 72 69 65 | 73 20 61 72 65 3a 0a 0a |rectorie|s are:..|
|00000a00| 6c 69 62 63 68 61 6e 67 | 65 74 74 79 09 2d 2d 20 |libchang|etty.-- |
|00000a10| 72 6f 75 74 69 6e 65 73 | 20 74 6f 20 63 68 61 6e |routines| to chan|
|00000a20| 67 65 20 74 68 65 20 74 | 65 72 6d 69 6e 61 6c 20 |ge the t|erminal |
|00000a30| 64 72 69 76 65 72 20 62 | 61 63 6b 20 61 6e 64 20 |driver b|ack and |
|00000a40| 66 6f 72 74 68 2e 0a 70 | 61 74 09 09 2d 2d 20 70 |forth..p|at..-- p|
|00000a50| 61 74 74 65 72 6e 20 6d | 61 74 63 68 69 6e 67 20 |attern m|atching |
|00000a60| 72 6f 75 74 69 6e 65 73 | 2e 0a 73 65 5f 68 09 09 |routines|..se_h..|
|00000a70| 2d 2d 20 63 6f 6e 74 61 | 69 6e 73 20 68 65 6c 70 |-- conta|ins help|
|00000a80| 20 73 63 72 69 70 74 73 | 20 66 6f 72 20 61 6c 6c | scripts| for all|
|00000a90| 20 63 6f 6d 6d 61 6e 64 | 73 20 69 6e 20 73 65 2e | command|s in se.|
|00000aa0| 0a 0a 4d 69 73 63 65 6c | 6c 61 6e 69 6f 75 73 20 |..Miscel|lanious |
|00000ab0| 66 69 6c 65 73 3a 0a 0a | 77 68 65 72 65 09 09 2d |files:..|where..-|
|00000ac0| 2d 20 73 68 65 6c 6c 20 | 66 69 6c 65 20 74 6f 20 |- shell |file to |
|00000ad0| 64 65 74 65 72 6d 69 6e | 65 20 53 79 73 74 65 6d |determin|e System|
|00000ae0| 20 56 20 28 52 20 31 20 | 6f 72 20 32 29 2c 20 34 | V (R 1 |or 2), 4|
|00000af0| 2e 31 2c 20 6f 72 20 34 | 2e 32 20 42 53 44 2e 0a |.1, or 4|.2 BSD..|
|00000b00| 6d 34 6d 75 6e 67 65 09 | 09 2d 2d 20 6d 61 6e 69 |m4munge.|.-- mani|
|00000b10| 70 75 6c 61 74 65 20 6f | 75 74 70 75 74 20 6f 66 |pulate o|utput of|
|00000b20| 20 77 68 65 72 65 20 66 | 6f 72 20 6d 34 20 66 6f | where f|or m4 fo|
|00000b30| 72 20 73 65 20 6d 61 6e | 20 70 61 67 65 0a 6d 61 |r se man| page.ma|
|00000b40| 6b 65 66 69 6c 65 09 2d | 2d 20 74 68 65 20 6d 61 |kefile.-|- the ma|
|00000b50| 6b 65 66 69 6c 65 20 66 | 6f 72 20 6d 61 6b 65 28 |kefile f|or make(|
|00000b60| 31 29 2e 0a 70 72 69 6e | 74 32 09 09 2d 2d 20 69 |1)..prin|t2..-- i|
|00000b70| 6e 6f 64 65 20 75 73 65 | 64 20 62 79 20 6d 61 6b |node use|d by mak|
|00000b80| 65 20 66 6f 72 20 70 72 | 69 6e 74 69 6e 67 20 6f |e for pr|inting o|
|00000b90| 6e 6c 79 20 63 68 61 6e | 67 65 64 20 73 74 75 66 |nly chan|ged stuf|
|00000ba0| 66 2e 0a 0a 73 63 72 69 | 70 74 73 65 2e 63 09 2d |f...scri|ptse.c.-|
|00000bb0| 2d 20 71 75 69 63 6b 20 | 61 6e 64 20 64 69 72 74 |- quick |and dirt|
|00000bc0| 79 20 43 20 70 72 6f 67 | 72 61 6d 20 74 6f 20 6d |y C prog|ram to m|
|00000bd0| 61 6b 65 20 73 63 72 69 | 70 74 73 20 66 6f 72 20 |ake scri|pts for |
|00000be0| 73 65 2e 0a 73 63 72 69 | 70 74 73 65 2e 31 09 2d |se..scri|ptse.1.-|
|00000bf0| 2d 20 6d 61 6e 75 61 6c | 20 70 61 67 65 20 66 6f |- manual| page fo|
|00000c00| 72 20 73 61 6d 65 2e 0a | 0a 45 78 65 63 75 74 61 |r same..|.Executa|
|00000c10| 62 6c 65 20 66 69 6c 65 | 73 3a 0a 0a 73 65 09 09 |ble file|s:..se..|
|00000c20| 2d 2d 20 65 78 65 63 75 | 74 61 62 6c 65 20 76 65 |-- execu|table ve|
|00000c30| 72 73 69 6f 6e 20 6f 66 | 20 74 68 65 20 73 63 72 |rsion of| the scr|
|00000c40| 65 65 6e 20 65 64 69 74 | 6f 72 2e 0a 73 63 72 69 |een edit|or..scri|
|00000c50| 70 74 73 65 09 2d 2d 20 | 74 68 65 20 65 78 65 63 |ptse.-- |the exec|
|00000c60| 75 74 61 62 6c 65 20 76 | 65 72 73 69 6f 6e 20 6f |utable v|ersion o|
|00000c70| 66 20 74 68 65 20 73 63 | 72 69 70 74 20 6d 61 6b |f the sc|ript mak|
|00000c80| 65 72 2e 0a 0a 0a 43 6f | 6e 64 69 74 69 6f 6e 61 |er....Co|nditiona|
|00000c90| 6c 20 43 6f 6d 70 69 6c | 61 74 69 6f 6e 20 66 6c |l Compil|ation fl|
|00000ca0| 61 67 73 3a 0a 0a 09 54 | 68 65 20 66 6c 61 67 20 |ags:...T|he flag |
|00000cb0| 48 41 52 44 5f 54 45 52 | 4d 53 2c 20 69 66 20 61 |HARD_TER|MS, if a|
|00000cc0| 64 64 65 64 20 74 6f 20 | 74 68 65 20 43 46 4c 41 |dded to |the CFLA|
|00000cd0| 47 53 20 6d 61 63 72 6f | 20 69 6e 20 74 68 65 20 |GS macro| in the |
|00000ce0| 6d 61 6b 65 66 69 6c 65 | 2c 0a 77 69 6c 6c 20 72 |makefile|,.will r|
|00000cf0| 65 6d 6f 76 65 20 74 68 | 65 20 74 65 72 6d 69 6e |emove th|e termin|
|00000d00| 61 6c 2d 69 6e 64 65 70 | 65 6e 64 65 6e 74 20 63 |al-indep|endent c|
|00000d10| 6f 64 65 20 77 68 69 63 | 68 20 75 73 65 73 20 74 |ode whic|h uses t|
|00000d20| 65 72 6d 6c 69 62 2c 20 | 61 6e 64 20 70 75 74 20 |ermlib, |and put |
|00000d30| 62 61 63 6b 0a 74 68 65 | 20 6f 72 69 67 69 6e 61 |back.the| origina|
|00000d40| 6c 2c 20 74 65 72 6d 69 | 6e 61 6c 2d 74 79 70 65 |l, termi|nal-type|
|00000d50| 73 2d 68 61 72 64 77 69 | 72 65 64 2d 69 6e 74 6f |s-hardwi|red-into|
|00000d60| 2d 74 68 65 2d 70 72 6f | 67 72 61 6d 20 63 6f 64 |-the-pro|gram cod|
|00000d70| 65 2e 20 20 54 68 65 20 | 6f 6e 6c 79 0a 72 65 61 |e. The |only.rea|
|00000d80| 73 6f 6e 20 74 6f 20 64 | 6f 20 74 68 69 73 20 69 |son to d|o this i|
|00000d90| 73 20 69 66 20 73 65 20 | 68 61 73 20 74 6f 20 72 |s if se |has to r|
|00000da0| 75 6e 20 6f 6e 20 61 20 | 73 79 73 74 65 6d 20 77 |un on a |system w|
|00000db0| 69 74 68 6f 75 74 20 74 | 68 65 20 74 65 72 6d 6c |ithout t|he terml|
|00000dc0| 69 62 20 70 61 63 6b 61 | 67 65 2e 0a 55 73 69 6e |ib packa|ge..Usin|
|00000dd0| 67 20 74 65 72 6d 6c 69 | 62 2c 20 73 65 20 69 73 |g termli|b, se is|
|00000de0| 20 63 6f 6e 73 69 64 65 | 72 61 62 6c 79 20 73 6d | conside|rably sm|
|00000df0| 61 6c 6c 65 72 2c 20 61 | 73 20 77 65 6c 6c 20 61 |aller, a|s well a|
|00000e00| 73 20 6d 6f 72 65 20 66 | 6c 65 78 69 62 6c 65 2e |s more f|lexible.|
|00000e10| 0a 0a 09 54 68 65 20 66 | 6c 61 67 20 4f 4c 44 5f |...The f|lag OLD_|
|00000e20| 53 43 52 41 54 43 48 2c | 20 69 66 20 61 64 64 65 |SCRATCH,| if adde|
|00000e30| 64 20 74 6f 20 74 68 65 | 20 43 46 4c 41 47 53 20 |d to the| CFLAGS |
|00000e40| 6d 61 63 72 6f 20 69 6e | 20 74 68 65 20 6d 61 6b |macro in| the mak|
|00000e50| 65 66 69 6c 65 2c 0a 77 | 69 6c 6c 20 63 61 75 73 |efile,.w|ill caus|
|00000e60| 65 20 73 65 20 74 6f 20 | 75 73 65 20 74 68 65 20 |e se to |use the |
|00000e70| 6f 72 69 67 69 6e 61 6c | 2c 20 6c 69 6e 6b 65 64 |original|, linked|
|00000e80| 2d 6c 69 73 74 20 6d 65 | 74 68 6f 64 20 66 6f 72 |-list me|thod for|
|00000e90| 20 6b 65 65 70 69 6e 67 | 20 74 72 61 63 6b 20 6f | keeping| track o|
|00000ea0| 66 0a 6c 69 6e 65 73 20 | 69 6e 20 74 68 65 20 62 |f.lines |in the b|
|00000eb0| 75 66 66 65 72 2e 20 20 | 54 68 69 73 20 6d 65 74 |uffer. |This met|
|00000ec0| 68 6f 64 20 69 73 20 66 | 61 73 74 65 72 20 66 6f |hod is f|aster fo|
|00000ed0| 72 20 72 65 61 72 72 61 | 6e 67 69 6e 67 20 6c 69 |r rearra|nging li|
|00000ee0| 6e 65 73 2c 20 62 75 74 | 0a 63 6f 6e 73 69 64 65 |nes, but|.conside|
|00000ef0| 72 61 62 6c 79 20 73 6c | 6f 77 65 72 20 66 6f 72 |rably sl|ower for|
|00000f00| 20 73 69 6d 70 6c 79 20 | 6c 6f 6f 6b 69 6e 67 20 | simply |looking |
|00000f10| 75 70 20 6c 69 6e 65 73 | 2e 20 20 43 75 72 72 65 |up lines|. Curre|
|00000f20| 6e 74 6c 79 2c 20 73 65 | 20 75 73 65 73 20 74 68 |ntly, se| uses th|
|00000f30| 65 0a 6d 65 74 68 6f 64 | 20 67 69 76 65 6e 20 69 |e.method| given i|
|00000f40| 6e 20 53 6f 66 74 77 61 | 72 65 20 54 6f 6f 6c 73 |n Softwa|re Tools|
|00000f50| 20 69 6e 20 50 61 73 63 | 61 6c 2c 20 77 68 69 63 | in Pasc|al, whic|
|00000f60| 68 20 6b 65 65 70 73 20 | 74 68 65 20 6c 69 6e 65 |h keeps |the line|
|00000f70| 73 20 69 6e 20 6f 72 64 | 65 72 20 69 6e 0a 61 6e |s in ord|er in.an|
|00000f80| 20 61 72 72 61 79 2e 20 | 20 49 74 20 69 73 20 73 | array. | It is s|
|00000f90| 6c 6f 77 65 72 20 61 74 | 20 72 65 61 72 72 61 6e |lower at| rearran|
|00000fa0| 67 69 6e 67 2c 20 62 75 | 74 20 61 73 20 66 61 73 |ging, bu|t as fas|
|00000fb0| 74 20 61 73 20 70 6f 73 | 73 69 62 6c 65 20 66 6f |t as pos|sible fo|
|00000fc0| 72 20 66 69 6e 64 69 6e | 67 0a 6c 69 6e 65 73 20 |r findin|g.lines |
|00000fd0| 69 6e 20 74 68 65 20 62 | 75 66 66 65 72 2e 20 20 |in the b|uffer. |
|00000fe0| 54 68 69 73 20 76 65 72 | 73 69 6f 6e 20 61 6c 73 |This ver|sion als|
|00000ff0| 6f 20 74 61 6b 65 73 20 | 6c 65 73 73 20 64 61 74 |o takes |less dat|
|00001000| 61 20 61 6e 64 20 63 6f | 64 65 20 73 70 61 63 65 |a and co|de space|
|00001010| 2e 0a 0a 09 54 68 65 20 | 66 6c 61 67 20 4f 4c 44 |....The |flag OLD|
|00001020| 5f 47 4c 4f 42 2c 20 69 | 66 20 61 64 64 65 64 20 |_GLOB, i|f added |
|00001030| 74 6f 20 74 68 65 20 43 | 46 4c 41 47 53 20 6d 61 |to the C|FLAGS ma|
|00001040| 63 72 6f 20 69 6e 20 74 | 68 65 20 6d 61 6b 65 66 |cro in t|he makef|
|00001050| 69 6c 65 2c 0a 77 69 6c | 6c 20 6b 65 65 70 20 73 |ile,.wil|l keep s|
|00001060| 65 20 66 72 6f 6d 20 73 | 70 65 63 69 61 6c 20 63 |e from s|pecial c|
|00001070| 61 73 69 6e 67 20 63 6f | 6d 6d 61 6e 64 73 20 77 |asing co|mmands w|
|00001080| 68 6f 73 65 20 65 66 66 | 65 63 74 20 69 73 20 74 |hose eff|ect is t|
|00001090| 6f 20 72 65 76 65 72 73 | 65 20 74 68 65 0a 6f 72 |o revers|e the.or|
|000010a0| 64 65 72 20 6f 66 20 74 | 68 65 20 6c 69 6e 65 73 |der of t|he lines|
|000010b0| 20 69 6e 20 74 68 65 20 | 62 75 66 66 65 72 2e 20 | in the |buffer. |
|000010c0| 20 54 68 65 20 73 70 65 | 63 69 61 6c 20 63 61 73 | The spe|cial cas|
|000010d0| 69 6e 67 20 63 6f 64 65 | 20 63 61 6e 20 73 61 76 |ing code| can sav|
|000010e0| 65 20 61 6e 0a 2a 69 6e | 63 72 65 64 69 62 6c 65 |e an.*in|credible|
|000010f0| 2a 20 61 6d 6f 75 6e 74 | 20 6f 66 20 74 69 6d 65 |* amount| of time|
|00001100| 20 66 6f 72 20 74 68 69 | 73 20 70 61 74 68 6f 6c | for thi|s pathol|
|00001110| 6f 67 69 63 61 6c 20 63 | 61 73 65 2c 20 73 6f 20 |ogical c|ase, so |
|00001120| 69 74 20 69 73 20 62 65 | 73 74 20 74 6f 20 6c 65 |it is be|st to le|
|00001130| 61 76 65 0a 74 68 69 6e | 67 73 20 61 6c 6f 6e 65 |ave.thin|gs alone|
|00001140| 2e 20 20 54 68 69 73 20 | 6f 6e 6c 79 20 61 70 70 |. This |only app|
|00001150| 6c 69 65 73 20 74 6f 20 | 74 68 65 20 53 6f 66 74 |lies to |the Soft|
|00001160| 77 61 72 65 20 54 6f 6f | 6c 73 20 69 6e 20 50 61 |ware Too|ls in Pa|
|00001170| 73 63 61 6c 20 73 74 79 | 6c 65 0a 6c 69 6e 65 20 |scal sty|le.line |
|00001180| 68 61 6e 64 6c 69 6e 67 | 2e 0a 0a 09 54 68 65 20 |handling|....The |
|00001190| 66 6c 61 67 20 4c 4f 47 | 5f 55 53 41 47 45 2c 20 |flag LOG|_USAGE, |
|000011a0| 69 66 20 61 64 64 65 64 | 20 74 6f 20 74 68 65 20 |if added| to the |
|000011b0| 43 46 4c 41 47 53 20 6d | 61 63 72 6f 20 69 6e 20 |CFLAGS m|acro in |
|000011c0| 74 68 65 20 6d 61 6b 65 | 66 69 6c 65 2c 0a 77 69 |the make|file,.wi|
|000011d0| 6c 6c 20 63 61 75 73 65 | 20 73 65 20 74 6f 20 77 |ll cause| se to w|
|000011e0| 72 69 74 65 20 75 73 61 | 67 65 20 22 73 74 61 74 |rite usa|ge "stat|
|000011f0| 69 73 74 69 63 73 22 20 | 74 6f 20 61 20 6c 6f 67 |istics" |to a log|
|00001200| 20 66 69 6c 65 2c 20 63 | 6f 6e 73 69 73 74 69 6e | file, c|onsistin|
|00001210| 67 20 6f 66 20 74 68 65 | 0a 6c 6f 67 69 6e 20 6e |g of the|.login n|
|00001220| 61 6d 65 20 61 6e 64 20 | 74 69 6d 65 20 61 6e 64 |ame and |time and|
|00001230| 20 64 61 74 65 20 77 68 | 65 6e 20 61 6e 20 69 6e | date wh|en an in|
|00001240| 64 69 76 69 64 75 61 6c | 20 75 73 65 64 20 73 65 |dividual| used se|
|00001250| 2e 20 54 68 65 20 6c 6f | 67 66 69 6c 65 20 70 61 |. The lo|gfile pa|
|00001260| 74 68 0a 6e 61 6d 65 20 | 69 6e 20 74 68 65 20 6c |th.name |in the l|
|00001270| 6f 67 28 29 20 72 6f 75 | 74 69 6e 65 20 69 6e 20 |og() rou|tine in |
|00001280| 65 64 69 74 2e 63 20 73 | 68 6f 75 6c 64 20 62 65 |edit.c s|hould be|
|00001290| 20 63 68 61 6e 67 65 64 | 20 74 6f 20 75 73 65 20 | changed| to use |
|000012a0| 61 20 73 79 73 74 65 6d | 0a 61 63 63 6f 75 6e 74 |a system|.account|
|000012b0| 69 6e 67 20 66 69 6c 65 | 20 73 6f 6d 65 77 68 65 |ing file| somewhe|
|000012c0| 72 65 2e 20 20 49 74 20 | 63 75 72 72 65 6e 74 6c |re. It |currentl|
|000012d0| 79 20 63 72 65 61 74 65 | 73 20 61 20 66 69 6c 65 |y create|s a file|
|000012e0| 20 69 6e 20 2f 75 73 72 | 2f 74 6d 70 2e 0a 0a 09 | in /usr|/tmp....|
|000012f0| 54 68 65 20 27 77 68 65 | 72 65 27 20 63 6f 6d 6d |The 'whe|re' comm|
|00001300| 61 6e 64 20 63 72 65 61 | 74 65 73 20 61 20 66 69 |and crea|tes a fi|
|00001310| 6c 65 20 63 61 6c 6c 65 | 64 20 27 66 6c 61 67 73 |le calle|d 'flags|
|00001320| 27 2c 20 77 68 69 63 68 | 20 74 68 65 20 6d 61 6b |', which| the mak|
|00001330| 65 66 69 6c 65 0a 63 61 | 74 73 20 69 6e 73 69 64 |efile.ca|ts insid|
|00001340| 65 20 60 60 73 2e 20 20 | 54 68 65 73 65 20 64 65 |e ``s. |These de|
|00001350| 66 69 6e 65 20 61 6e 64 | 2f 6f 72 20 75 6e 64 65 |fine and|/or unde|
|00001360| 66 69 6e 65 20 74 68 65 | 20 66 6c 61 67 73 20 55 |fine the| flags U|
|00001370| 53 47 20 66 6f 72 20 53 | 79 73 74 65 6d 20 56 2c |SG for S|ystem V,|
|00001380| 0a 53 35 52 32 20 69 66 | 20 66 6f 72 20 52 65 6c |.S5R2 if| for Rel|
|00001390| 65 61 73 65 20 32 2c 20 | 42 53 44 20 66 6f 72 20 |ease 2, |BSD for |
|000013a0| 34 2e 31 20 61 6e 64 20 | 34 2e 32 2c 20 61 6e 64 |4.1 and |4.2, and|
|000013b0| 20 42 53 44 34 5f 32 20 | 66 6f 72 20 34 2e 32 20 | BSD4_2 |for 4.2 |
|000013c0| 73 70 65 63 69 66 69 63 | 20 63 6f 64 65 2e 0a 0a |specific| code...|
|000013d0| 4d 69 73 63 65 6c 6c 61 | 6e 69 6f 75 73 3a 0a 0a |Miscella|nious:..|
|000013e0| 09 43 6f 64 65 20 77 68 | 69 63 68 20 69 73 20 64 |.Code wh|ich is d|
|000013f0| 65 70 65 6e 64 65 6e 74 | 20 6f 6e 20 74 68 65 20 |ependent| on the |
|00001400| 42 65 72 6b 65 6c 65 79 | 20 6a 6f 62 20 63 6f 6e |Berkeley| job con|
|00001410| 74 72 6f 6c 20 73 74 75 | 66 66 20 69 73 20 61 6c |trol stu|ff is al|
|00001420| 73 6f 0a 63 6f 6e 64 69 | 74 69 6f 6e 61 6c 6c 79 |so.condi|tionally|
|00001430| 20 63 6f 6d 70 69 6c 65 | 64 20 69 6e 2c 20 73 6f | compile|d in, so|
|00001440| 20 74 68 61 74 20 6f 6e | 20 73 79 73 74 65 6d 73 | that on| systems|
|00001450| 20 77 69 74 68 6f 75 74 | 20 69 74 2c 20 69 74 20 | without| it, it |
|00001460| 77 6f 6e 27 74 20 67 65 | 74 20 69 6e 0a 74 68 65 |won't ge|t in.the|
|00001470| 20 77 61 79 2e 0a 0a 09 | 43 6f 64 65 20 68 61 73 | way....|Code has|
|00001480| 20 62 65 65 6e 20 61 64 | 64 65 64 20 77 68 69 63 | been ad|ded whic|
|00001490| 68 20 73 68 6f 75 6c 64 | 20 61 6c 6c 6f 77 20 73 |h should| allow s|
|000014a0| 65 20 74 6f 20 63 6f 6d | 65 20 75 70 20 75 6e 64 |e to com|e up und|
|000014b0| 65 72 20 55 53 47 20 55 | 6e 69 78 0a 35 2e 30 20 |er USG U|nix.5.0 |
|000014c0| 28 53 79 73 74 65 6d 20 | 56 29 2e 20 20 49 66 20 |(System |V). If |
|000014d0| 53 35 52 32 20 69 73 20 | 64 65 66 69 6e 65 64 2c |S5R2 is |defined,|
|000014e0| 20 73 65 20 77 69 6c 6c | 20 75 73 65 20 74 68 65 | se will| use the|
|000014f0| 20 74 65 72 6d 69 6e 66 | 6f 20 70 61 63 6b 61 67 | terminf|o packag|
|00001500| 65 2e 0a 4f 74 68 65 72 | 77 69 73 65 2c 20 69 74 |e..Other|wise, it|
|00001510| 20 61 73 73 75 6d 65 73 | 20 52 65 6c 65 61 73 65 | assumes| Release|
|00001520| 20 31 2c 20 61 6e 64 20 | 74 68 61 74 20 74 68 65 | 1, and |that the|
|00001530| 20 42 53 44 20 74 65 72 | 6d 6c 69 62 20 70 61 63 | BSD ter|mlib pac|
|00001540| 6b 61 67 65 20 68 61 73 | 0a 62 65 65 6e 20 70 6f |kage has|.been po|
|00001550| 72 74 65 64 20 61 6e 64 | 20 69 73 20 61 76 61 69 |rted and| is avai|
|00001560| 6c 61 62 6c 65 2e 0a 0a | 09 54 68 65 72 65 20 69 |lable...|.There i|
|00001570| 73 20 63 6f 64 65 20 69 | 6e 20 74 65 72 6d 2e 63 |s code i|n term.c|
|00001580| 20 74 6f 20 74 65 73 74 | 20 69 66 20 73 65 20 69 | to test| if se i|
|00001590| 73 20 72 75 6e 6e 69 6e | 67 20 6f 6e 20 61 20 73 |s runnin|g on a s|
|000015a0| 79 73 74 65 6d 20 77 69 | 74 68 0a 77 69 6e 64 6f |ystem wi|th.windo|
|000015b0| 77 73 20 6f 72 20 6e 6f | 74 2e 20 49 74 20 63 75 |ws or no|t. It cu|
|000015c0| 72 72 65 6e 74 6c 79 20 | 75 6e 64 65 72 73 74 61 |rrently |understa|
|000015d0| 6e 64 73 20 74 68 65 20 | 77 69 6e 64 6f 77 73 20 |nds the |windows |
|000015e0| 6f 6e 20 61 6e 20 41 54 | 54 20 55 6e 69 78 20 50 |on an AT|T Unix P|
|000015f0| 43 20 28 6f 72 20 33 42 | 31 29 0a 61 6e 64 20 74 |C (or 3B|1).and t|
|00001600| 68 65 20 77 69 6e 64 6f | 77 69 6e 67 20 69 6f 63 |he windo|wing ioc|
|00001610| 74 6c 27 73 20 69 6e 20 | 42 52 4c 20 55 6e 69 78 |tl's in |BRL Unix|
|00001620| 2c 20 77 68 69 63 68 20 | 73 68 6f 75 6c 64 20 62 |, which |should b|
|00001630| 65 20 69 64 65 6e 74 69 | 63 61 6c 20 74 6f 20 74 |e identi|cal to t|
|00001640| 68 6f 73 65 0a 69 6e 20 | 34 2e 33 20 42 53 44 2e |hose.in |4.3 BSD.|
|00001650| 0a 0a 43 6f 6d 6d 65 6e | 74 73 3a 0a 0a 09 49 74 |..Commen|ts:...It|
|00001660| 20 69 73 20 61 20 62 69 | 67 20 70 69 65 63 65 20 | is a bi|g piece |
|00001670| 6f 66 20 73 6f 66 74 77 | 61 72 65 2e 20 42 75 74 |of softw|are. But|
|00001680| 2c 20 69 66 20 79 6f 75 | 20 31 29 20 72 65 61 64 |, if you| 1) read|
|00001690| 20 62 6f 74 68 20 53 6f | 66 74 77 61 72 65 20 54 | both So|ftware T|
|000016a0| 6f 6f 6c 73 0a 61 6e 64 | 20 53 6f 66 74 77 61 72 |ools.and| Softwar|
|000016b0| 65 20 54 6f 6f 6c 73 20 | 69 6e 20 50 61 73 63 61 |e Tools |in Pasca|
|000016c0| 6c 20 28 74 68 65 20 63 | 68 61 70 74 65 72 73 20 |l (the c|hapters |
|000016d0| 6f 6e 20 65 64 69 74 69 | 6e 67 20 61 6e 64 20 70 |on editi|ng and p|
|000016e0| 61 74 74 65 72 6e 20 6d | 61 74 63 68 69 6e 67 2c |attern m|atching,|
|000016f0| 20 69 66 0a 79 6f 75 20 | 64 6f 6e 27 74 20 77 61 | if.you |don't wa|
|00001700| 6e 74 20 74 6f 20 72 65 | 61 64 20 61 6c 6c 20 6f |nt to re|ad all o|
|00001710| 66 20 74 68 65 20 62 6f | 6f 6b 73 29 2c 20 61 6e |f the bo|oks), an|
|00001720| 64 20 32 29 20 74 61 6b | 65 20 79 6f 75 72 20 74 |d 2) tak|e your t|
|00001730| 69 6d 65 2c 20 79 6f 75 | 20 73 68 6f 75 6c 64 20 |ime, you| should |
|00001740| 62 65 0a 61 62 6c 65 20 | 74 6f 20 75 6e 64 65 72 |be.able |to under|
|00001750| 73 74 61 6e 64 2c 20 61 | 6e 64 20 65 76 65 6e 74 |stand, a|nd event|
|00001760| 75 61 6c 6c 79 20 6d 61 | 6b 65 20 63 68 61 6e 67 |ually ma|ke chang|
|00001770| 65 73 20 74 6f 20 69 74 | 2c 20 61 73 20 6e 65 63 |es to it|, as nec|
|00001780| 65 73 73 61 72 79 2e 0a | 0a 41 75 74 68 6f 72 73 |essary..|.Authors|
|00001790| 3a 0a 0a 09 53 65 20 73 | 74 61 72 74 65 64 20 6f |:...Se s|tarted o|
|000017a0| 75 74 20 61 73 20 74 68 | 65 20 76 65 72 73 69 6f |ut as th|e versio|
|000017b0| 6e 20 6f 66 20 27 65 64 | 27 20 74 68 61 74 20 63 |n of 'ed|' that c|
|000017c0| 61 6d 65 20 77 69 74 68 | 20 74 68 65 20 62 6f 6f |ame with| the boo|
|000017d0| 6b 20 27 53 6f 66 74 77 | 61 72 65 0a 54 6f 6f 6c |k 'Softw|are.Tool|
|000017e0| 73 27 2c 20 62 79 20 4b | 65 72 6e 69 67 68 61 6e |s', by K|ernighan|
|000017f0| 20 61 6e 64 20 50 6c 61 | 75 67 65 72 2c 20 77 68 | and Pla|uger, wh|
|00001800| 69 63 68 20 77 61 73 20 | 77 72 69 74 74 65 6e 20 |ich was |written |
|00001810| 69 6e 20 52 61 74 66 6f | 72 2e 20 4f 6e 20 74 68 |in Ratfo|r. On th|
|00001820| 65 20 50 72 31 6d 65 0a | 63 6f 6d 70 75 74 65 72 |e Pr1me.|computer|
|00001830| 73 20 61 74 20 74 68 65 | 20 53 63 68 6f 6f 6c 20 |s at the| School |
|00001840| 6f 66 20 49 6e 66 6f 72 | 6d 61 74 69 6f 6e 20 61 |of Infor|mation a|
|00001850| 6e 64 20 43 6f 6d 70 75 | 74 65 72 20 53 63 69 65 |nd Compu|ter Scie|
|00001860| 6e 63 65 20 61 74 20 47 | 65 6f 72 67 69 61 20 54 |nce at G|eorgia T|
|00001870| 65 63 68 2c 0a 44 61 6e | 20 46 6f 72 73 79 74 68 |ech,.Dan| Forsyth|
|00001880| 2c 20 50 65 72 72 79 20 | 46 6c 69 6e 6e 2c 20 61 |, Perry |Flinn, a|
|00001890| 6e 64 20 41 6c 61 6e 20 | 41 6b 69 6e 20 61 64 64 |nd Alan |Akin add|
|000018a0| 65 64 20 61 6c 6c 20 74 | 68 65 20 65 6e 68 61 6e |ed all t|he enhan|
|000018b0| 63 65 6d 65 6e 74 73 20 | 73 75 67 67 65 73 74 65 |cements |suggeste|
|000018c0| 64 0a 69 6e 20 74 68 65 | 20 65 78 65 72 63 69 73 |d.in the| exercis|
|000018d0| 65 73 20 69 6e 20 74 68 | 65 20 62 6f 6f 6b 2c 20 |es in th|e book, |
|000018e0| 61 6e 64 20 73 6f 6d 65 | 20 6d 6f 72 65 20 6f 66 |and some| more of|
|000018f0| 20 74 68 65 69 72 20 6f | 77 6e 2e 20 4a 61 63 6b | their o|wn. Jack|
|00001900| 20 57 61 75 67 68 20 6d | 61 64 65 0a 65 78 74 65 | Waugh m|ade.exte|
|00001910| 6e 73 69 76 65 20 6d 6f | 64 69 66 69 63 61 74 69 |nsive mo|dificati|
|00001920| 6f 6e 73 20 74 6f 20 74 | 75 72 6e 20 69 74 20 69 |ons to t|urn it i|
|00001930| 6e 74 6f 20 61 20 73 63 | 72 65 65 6e 20 65 64 69 |nto a sc|reen edi|
|00001940| 74 6f 72 3b 20 66 75 72 | 74 68 65 72 20 77 6f 72 |tor; fur|ther wor|
|00001950| 6b 20 77 61 73 20 64 6f | 6e 65 0a 62 79 20 44 61 |k was do|ne.by Da|
|00001960| 6e 20 46 6f 72 73 79 74 | 68 2e 20 41 6c 6c 20 6f |n Forsyt|h. All o|
|00001970| 66 20 74 68 69 73 20 77 | 61 73 20 69 6e 20 61 6e |f this w|as in an|
|00001980| 20 69 6d 70 72 6f 76 65 | 64 20 47 65 6f 72 67 69 | improve|d Georgi|
|00001990| 61 20 54 65 63 68 20 76 | 65 72 73 69 6f 6e 20 6f |a Tech v|ersion o|
|000019a0| 66 20 52 61 74 66 6f 72 | 2e 0a 0a 09 4c 61 74 65 |f Ratfor|....Late|
|000019b0| 72 2c 20 44 61 6e 20 46 | 6f 72 73 79 74 68 2c 20 |r, Dan F|orsyth, |
|000019c0| 74 68 65 6e 20 28 61 6e | 64 20 6e 6f 77 29 20 61 |then (an|d now) a|
|000019d0| 74 20 4d 65 64 69 63 61 | 6c 20 53 79 73 74 65 6d |t Medica|l System|
|000019e0| 73 20 44 65 76 65 6c 6f | 70 6d 65 6e 74 0a 43 6f |s Develo|pment.Co|
|000019f0| 72 70 6f 72 61 74 69 6f | 6e 2c 20 63 6f 6e 76 65 |rporatio|n, conve|
|00001a00| 72 74 65 64 20 74 68 65 | 20 52 61 74 66 6f 72 20 |rted the| Ratfor |
|00001a10| 76 65 72 73 69 6f 6e 20 | 69 6e 74 6f 20 43 2c 20 |version |into C, |
|00001a20| 66 6f 72 20 42 65 72 6b | 65 6c 65 79 20 55 6e 69 |for Berk|eley Uni|
|00001a30| 78 20 28 34 2e 31 20 42 | 53 44 29 2e 0a 41 74 20 |x (4.1 B|SD)..At |
|00001a40| 47 65 6f 72 67 69 61 20 | 54 65 63 68 2c 20 41 72 |Georgia |Tech, Ar|
|00001a50| 6e 6f 6c 64 20 52 6f 62 | 62 69 6e 73 20 74 6f 6f |nold Rob|bins too|
|00001a60| 6b 20 74 68 65 20 43 20 | 76 65 72 73 69 6f 6e 20 |k the C |version |
|00001a70| 61 6e 64 20 61 64 64 65 | 64 20 6d 61 6e 79 20 6e |and adde|d many n|
|00001a80| 65 77 20 66 65 61 74 75 | 72 65 73 0a 61 6e 64 20 |ew featu|res.and |
|00001a90| 69 6d 70 72 6f 76 65 6d | 65 6e 74 73 2c 20 74 68 |improvem|ents, th|
|00001aa0| 65 20 6d 6f 73 74 20 69 | 6d 70 6f 72 74 61 6e 74 |e most i|mportant|
|00001ab0| 20 6f 66 20 77 68 69 63 | 68 20 77 61 73 20 74 65 | of whic|h was te|
|00001ac0| 72 6d 63 61 70 20 73 75 | 70 70 6f 72 74 20 61 6e |rmcap su|pport an|
|00001ad0| 64 20 53 79 73 74 65 6d | 20 56 0a 73 75 70 70 6f |d System| V.suppo|
|00001ae0| 72 74 2e 20 54 68 65 20 | 65 78 69 73 74 69 6e 67 |rt. The |existing|
|00001af0| 20 68 65 6c 70 20 73 63 | 72 65 65 6e 73 20 77 65 | help sc|reens we|
|00001b00| 72 65 20 65 64 69 74 65 | 64 20 61 6e 64 20 63 6f |re edite|d and co|
|00001b10| 6d 70 6c 65 74 65 64 20 | 61 74 20 74 68 61 74 20 |mpleted |at that |
|00001b20| 74 69 6d 65 2c 20 61 73 | 0a 77 65 6c 6c 2e 20 54 |time, as|.well. T|
|00001b30| 68 69 73 20 77 61 73 20 | 63 6f 6d 70 6c 65 74 65 |his was |complete|
|00001b40| 64 20 69 6e 20 65 61 72 | 6c 79 20 31 39 38 35 2e |d in ear|ly 1985.|
|00001b50| 0a 0a 09 41 72 6e 6f 6c | 64 20 52 6f 62 62 69 6e |...Arnol|d Robbin|
|00001b60| 73 20 69 73 20 6e 6f 77 | 20 61 74 20 2e 2e 2e 21 |s is now| at ...!|
|00001b70| 67 61 74 65 63 68 21 65 | 6d 6f 72 79 21 61 72 6e |gatech!e|mory!arn|
|00001b80| 6f 6c 64 2c 20 61 6e 64 | 20 77 69 6c 6c 20 6d 61 |old, and| will ma|
|00001b90| 6b 65 20 65 76 65 72 79 | 0a 72 65 61 73 6f 6e 61 |ke every|.reasona|
|00001ba0| 62 6c 65 20 61 74 74 65 | 6d 70 74 20 74 6f 20 61 |ble atte|mpt to a|
|00001bb0| 6e 73 77 65 72 20 61 6e | 79 20 71 75 65 73 74 69 |nswer an|y questi|
|00001bc0| 6f 6e 73 20 61 6e 79 6f | 6e 65 20 6d 61 79 20 68 |ons anyo|ne may h|
|00001bd0| 61 76 65 20 61 62 6f 75 | 74 20 69 74 2c 20 62 75 |ave abou|t it, bu|
|00001be0| 74 20 69 6e 0a 6e 6f 20 | 77 61 79 20 70 72 6f 6d |t in.no |way prom|
|00001bf0| 69 73 65 73 20 74 6f 20 | 73 75 70 70 6f 72 74 20 |ises to |support |
|00001c00| 6f 72 20 65 6e 68 61 6e | 63 65 20 27 73 65 27 2e |or enhan|ce 'se'.|
|00001c10| 0a 53 48 41 52 5f 45 4f | 46 0a 66 69 20 23 20 65 |.SHAR_EO|F.fi # e|
|00001c20| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|00001c30| 67 20 63 68 65 63 6b 0a | 65 63 68 6f 20 73 68 61 |g check.|echo sha|
|00001c40| 72 3a 20 65 78 74 72 61 | 63 74 69 6e 67 20 22 27 |r: extra|cting "'|
|00001c50| 61 73 63 69 69 2e 68 27 | 22 20 27 28 31 33 38 39 |ascii.h'|" '(1389|
|00001c60| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 69 66 | charact|ers)'.if|
|00001c70| 20 74 65 73 74 20 2d 66 | 20 27 61 73 63 69 69 2e | test -f| 'ascii.|
|00001c80| 68 27 0a 74 68 65 6e 0a | 09 65 63 68 6f 20 73 68 |h'.then.|.echo sh|
|00001c90| 61 72 3a 20 77 69 6c 6c | 20 6e 6f 74 20 6f 76 65 |ar: will| not ove|
|00001ca0| 72 2d 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |r-write |existing|
|00001cb0| 20 66 69 6c 65 20 22 27 | 61 73 63 69 69 2e 68 27 | file "'|ascii.h'|
|00001cc0| 22 0a 65 6c 73 65 0a 63 | 61 74 20 3c 3c 20 5c 53 |".else.c|at << \S|
|00001cd0| 48 41 52 5f 45 4f 46 20 | 3e 20 27 61 73 63 69 69 |HAR_EOF |> 'ascii|
|00001ce0| 2e 68 27 0a 2f 2a 0a 20 | 2a 20 24 48 65 61 64 65 |.h'./*. |* $Heade|
|00001cf0| 72 3a 20 61 73 63 69 69 | 2e 68 2c 76 20 31 2e 31 |r: ascii|.h,v 1.1|
|00001d00| 20 38 36 2f 30 35 2f 30 | 36 20 31 33 3a 33 35 3a | 86/05/0|6 13:35:|
|00001d10| 31 39 20 6f 73 61 64 72 | 20 45 78 70 20 24 0a 20 |19 osadr| Exp $. |
|00001d20| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 20 24 4c 6f 67 3a 09 |*/../*. |* $Log:.|
|00001d30| 61 73 63 69 69 2e 68 2c | 76 20 24 0a 20 2a 20 52 |ascii.h,|v $. * R|
|00001d40| 65 76 69 73 69 6f 6e 20 | 31 2e 31 20 20 38 36 2f |evision |1.1 86/|
|00001d50| 30 35 2f 30 36 20 20 31 | 33 3a 33 35 3a 31 39 20 |05/06 1|3:35:19 |
|00001d60| 20 6f 73 61 64 72 0a 20 | 2a 20 49 6e 69 74 69 61 | osadr. |* Initia|
|00001d70| 6c 20 72 65 76 69 73 69 | 6f 6e 0a 20 2a 20 0a 20 |l revisi|on. * . |
|00001d80| 2a 20 0a 20 2a 2f 0a 0a | 2f 2a 0a 2a 2a 20 61 73 |* . */..|/*.** as|
|00001d90| 63 69 69 2e 68 0a 2a 2a | 0a 2a 2a 20 64 65 66 69 |cii.h.**|.** defi|
|00001da0| 6e 69 74 69 6f 6e 73 20 | 6f 66 20 41 53 43 49 49 |nitions |of ASCII|
|00001db0| 20 6d 6e 65 6d 6f 6e 69 | 63 73 20 61 6e 64 20 73 | mnemoni|cs and s|
|00001dc0| 79 6e 6f 6e 79 6d 73 2e | 0a 2a 2f 0a 0a 23 69 66 |ynonyms.|.*/..#if|
|00001dd0| 6e 64 65 66 09 5f 41 53 | 43 49 49 5f 48 0a 23 64 |ndef._AS|CII_H.#d|
|00001de0| 65 66 69 6e 65 09 5f 41 | 53 43 49 49 5f 48 0a 23 |efine._A|SCII_H.#|
|00001df0| 64 65 66 69 6e 65 09 4e | 55 4c 09 27 5c 30 27 0a |define.N|UL.'\0'.|
|00001e00| 23 64 65 66 69 6e 65 09 | 53 4f 48 09 27 5c 30 30 |#define.|SOH.'\00|
|00001e10| 31 27 0a 23 64 65 66 69 | 6e 65 09 53 54 58 09 27 |1'.#defi|ne.STX.'|
|00001e20| 5c 30 30 32 27 0a 23 64 | 65 66 69 6e 65 09 45 54 |\002'.#d|efine.ET|
|00001e30| 58 09 27 5c 30 30 33 27 | 0a 23 64 65 66 69 6e 65 |X.'\003'|.#define|
|00001e40| 09 45 4f 54 09 27 5c 30 | 30 34 27 0a 23 64 65 66 |.EOT.'\0|04'.#def|
|00001e50| 69 6e 65 09 45 4e 51 09 | 27 5c 30 30 35 27 0a 23 |ine.ENQ.|'\005'.#|
|00001e60| 64 65 66 69 6e 65 09 41 | 43 4b 09 27 5c 30 30 36 |define.A|CK.'\006|
|00001e70| 27 0a 23 64 65 66 69 6e | 65 09 42 45 4c 09 27 5c |'.#defin|e.BEL.'\|
|00001e80| 30 30 37 27 0a 23 64 65 | 66 69 6e 65 09 42 53 09 |007'.#de|fine.BS.|
|00001e90| 27 5c 30 31 30 27 0a 23 | 64 65 66 69 6e 65 09 48 |'\010'.#|define.H|
|00001ea0| 54 09 27 5c 30 31 31 27 | 0a 23 64 65 66 69 6e 65 |T.'\011'|.#define|
|00001eb0| 09 4c 46 09 27 5c 30 31 | 32 27 0a 23 64 65 66 69 |.LF.'\01|2'.#defi|
|00001ec0| 6e 65 09 56 54 09 27 5c | 30 31 33 27 0a 23 64 65 |ne.VT.'\|013'.#de|
|00001ed0| 66 69 6e 65 09 46 46 09 | 27 5c 30 31 34 27 0a 23 |fine.FF.|'\014'.#|
|00001ee0| 64 65 66 69 6e 65 09 43 | 52 09 27 5c 30 31 35 27 |define.C|R.'\015'|
|00001ef0| 0a 23 64 65 66 69 6e 65 | 09 53 4f 09 27 5c 30 31 |.#define|.SO.'\01|
|00001f00| 36 27 0a 23 64 65 66 69 | 6e 65 09 53 49 09 27 5c |6'.#defi|ne.SI.'\|
|00001f10| 30 31 37 27 0a 23 64 65 | 66 69 6e 65 09 44 4c 45 |017'.#de|fine.DLE|
|00001f20| 09 27 5c 30 32 30 27 0a | 23 64 65 66 69 6e 65 09 |.'\020'.|#define.|
|00001f30| 44 43 31 09 27 5c 30 32 | 31 27 0a 23 64 65 66 69 |DC1.'\02|1'.#defi|
|00001f40| 6e 65 09 44 43 32 09 27 | 5c 30 32 32 27 0a 23 64 |ne.DC2.'|\022'.#d|
|00001f50| 65 66 69 6e 65 09 44 43 | 33 09 27 5c 30 32 33 27 |efine.DC|3.'\023'|
|00001f60| 0a 23 64 65 66 69 6e 65 | 09 44 43 34 09 27 5c 30 |.#define|.DC4.'\0|
|00001f70| 32 34 27 0a 23 64 65 66 | 69 6e 65 09 4e 41 4b 09 |24'.#def|ine.NAK.|
|00001f80| 27 5c 30 32 35 27 0a 23 | 64 65 66 69 6e 65 09 53 |'\025'.#|define.S|
|00001f90| 59 4e 09 27 5c 30 32 36 | 27 0a 23 64 65 66 69 6e |YN.'\026|'.#defin|
|00001fa0| 65 09 45 54 42 09 27 5c | 30 32 37 27 0a 23 64 65 |e.ETB.'\|027'.#de|
|00001fb0| 66 69 6e 65 09 43 41 4e | 09 27 5c 30 33 30 27 0a |fine.CAN|.'\030'.|
|00001fc0| 23 64 65 66 69 6e 65 09 | 45 4d 09 27 5c 30 33 31 |#define.|EM.'\031|
|00001fd0| 27 0a 23 64 65 66 69 6e | 65 09 53 55 42 09 27 5c |'.#defin|e.SUB.'\|
|00001fe0| 30 33 32 27 0a 23 64 65 | 66 69 6e 65 09 45 53 43 |032'.#de|fine.ESC|
|00001ff0| 09 27 5c 30 33 33 27 0a | 23 64 65 66 69 6e 65 09 |.'\033'.|#define.|
|00002000| 46 53 09 27 5c 30 33 34 | 27 0a 23 64 65 66 69 6e |FS.'\034|'.#defin|
|00002010| 65 09 47 53 09 27 5c 30 | 33 35 27 0a 23 64 65 66 |e.GS.'\0|35'.#def|
|00002020| 69 6e 65 09 52 53 09 27 | 5c 30 33 36 27 0a 23 64 |ine.RS.'|\036'.#d|
|00002030| 65 66 69 6e 65 09 55 53 | 09 27 5c 30 33 37 27 0a |efine.US|.'\037'.|
|00002040| 23 64 65 66 69 6e 65 09 | 53 50 09 27 5c 30 34 30 |#define.|SP.'\040|
|00002050| 27 0a 23 64 65 66 69 6e | 65 09 44 45 4c 09 27 5c |'.#defin|e.DEL.'\|
|00002060| 31 37 37 27 0a 23 64 65 | 66 69 6e 65 09 43 54 52 |177'.#de|fine.CTR|
|00002070| 4c 5f 41 09 53 4f 48 0a | 23 64 65 66 69 6e 65 09 |L_A.SOH.|#define.|
|00002080| 43 54 52 4c 5f 42 09 53 | 54 58 0a 23 64 65 66 69 |CTRL_B.S|TX.#defi|
|00002090| 6e 65 09 43 54 52 4c 5f | 43 09 45 54 58 0a 23 64 |ne.CTRL_|C.ETX.#d|
|000020a0| 65 66 69 6e 65 09 43 54 | 52 4c 5f 44 09 45 4f 54 |efine.CT|RL_D.EOT|
|000020b0| 0a 23 64 65 66 69 6e 65 | 09 43 54 52 4c 5f 45 09 |.#define|.CTRL_E.|
|000020c0| 45 4e 51 0a 23 64 65 66 | 69 6e 65 09 43 54 52 4c |ENQ.#def|ine.CTRL|
|000020d0| 5f 46 09 41 43 4b 0a 23 | 64 65 66 69 6e 65 09 43 |_F.ACK.#|define.C|
|000020e0| 54 52 4c 5f 47 09 42 45 | 4c 0a 23 64 65 66 69 6e |TRL_G.BE|L.#defin|
|000020f0| 65 09 43 54 52 4c 5f 48 | 09 42 53 0a 23 64 65 66 |e.CTRL_H|.BS.#def|
|00002100| 69 6e 65 09 43 54 52 4c | 5f 49 09 48 54 0a 23 64 |ine.CTRL|_I.HT.#d|
|00002110| 65 66 69 6e 65 09 43 54 | 52 4c 5f 4a 09 4c 46 0a |efine.CT|RL_J.LF.|
|00002120| 23 64 65 66 69 6e 65 09 | 43 54 52 4c 5f 4b 09 56 |#define.|CTRL_K.V|
|00002130| 54 0a 23 64 65 66 69 6e | 65 09 43 54 52 4c 5f 4c |T.#defin|e.CTRL_L|
|00002140| 09 46 46 0a 23 64 65 66 | 69 6e 65 09 43 54 52 4c |.FF.#def|ine.CTRL|
|00002150| 5f 4d 09 43 52 0a 23 64 | 65 66 69 6e 65 09 43 54 |_M.CR.#d|efine.CT|
|00002160| 52 4c 5f 4e 09 53 4f 0a | 23 64 65 66 69 6e 65 09 |RL_N.SO.|#define.|
|00002170| 43 54 52 4c 5f 4f 09 53 | 49 0a 23 64 65 66 69 6e |CTRL_O.S|I.#defin|
|00002180| 65 09 43 54 52 4c 5f 50 | 09 44 4c 45 0a 23 64 65 |e.CTRL_P|.DLE.#de|
|00002190| 66 69 6e 65 09 43 54 52 | 4c 5f 51 09 44 43 31 0a |fine.CTR|L_Q.DC1.|
|000021a0| 23 64 65 66 69 6e 65 09 | 43 54 52 4c 5f 52 09 44 |#define.|CTRL_R.D|
|000021b0| 43 32 0a 23 64 65 66 69 | 6e 65 09 43 54 52 4c 5f |C2.#defi|ne.CTRL_|
|000021c0| 53 09 44 43 33 0a 23 64 | 65 66 69 6e 65 09 43 54 |S.DC3.#d|efine.CT|
|000021d0| 52 4c 5f 54 09 44 43 34 | 0a 23 64 65 66 69 6e 65 |RL_T.DC4|.#define|
|000021e0| 09 43 54 52 4c 5f 55 09 | 4e 41 4b 0a 23 64 65 66 |.CTRL_U.|NAK.#def|
|000021f0| 69 6e 65 09 43 54 52 4c | 5f 56 09 53 59 4e 0a 23 |ine.CTRL|_V.SYN.#|
|00002200| 64 65 66 69 6e 65 09 43 | 54 52 4c 5f 57 09 45 54 |define.C|TRL_W.ET|
|00002210| 42 0a 23 64 65 66 69 6e | 65 09 43 54 52 4c 5f 58 |B.#defin|e.CTRL_X|
|00002220| 09 43 41 4e 0a 23 64 65 | 66 69 6e 65 09 43 54 52 |.CAN.#de|fine.CTR|
|00002230| 4c 5f 59 09 45 4d 0a 23 | 64 65 66 69 6e 65 09 43 |L_Y.EM.#|define.C|
|00002240| 54 52 4c 5f 5a 09 53 55 | 42 0a 23 65 6e 64 69 66 |TRL_Z.SU|B.#endif|
|00002250| 0a 53 48 41 52 5f 45 4f | 46 0a 66 69 20 23 20 65 |.SHAR_EO|F.fi # e|
|00002260| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|00002270| 67 20 63 68 65 63 6b 0a | 65 63 68 6f 20 73 68 61 |g check.|echo sha|
|00002280| 72 3a 20 65 78 74 72 61 | 63 74 69 6e 67 20 22 27 |r: extra|cting "'|
|00002290| 63 6f 6e 73 74 64 65 66 | 73 2e 68 27 22 20 27 28 |constdef|s.h'" '(|
|000022a0| 33 32 35 20 63 68 61 72 | 61 63 74 65 72 73 29 27 |325 char|acters)'|
|000022b0| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 63 6f 6e |.if test| -f 'con|
|000022c0| 73 74 64 65 66 73 2e 68 | 27 0a 74 68 65 6e 0a 09 |stdefs.h|'.then..|
|000022d0| 65 63 68 6f 20 73 68 61 | 72 3a 20 77 69 6c 6c 20 |echo sha|r: will |
|000022e0| 6e 6f 74 20 6f 76 65 72 | 2d 77 72 69 74 65 20 65 |not over|-write e|
|000022f0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 22 27 63 |xisting |file "'c|
|00002300| 6f 6e 73 74 64 65 66 73 | 2e 68 27 22 0a 65 6c 73 |onstdefs|.h'".els|
|00002310| 65 0a 63 61 74 20 3c 3c | 20 5c 53 48 41 52 5f 45 |e.cat <<| \SHAR_E|
|00002320| 4f 46 20 3e 20 27 63 6f | 6e 73 74 64 65 66 73 2e |OF > 'co|nstdefs.|
|00002330| 68 27 0a 2f 2a 0a 20 2a | 20 24 48 65 61 64 65 72 |h'./*. *| $Header|
|00002340| 3a 20 63 6f 6e 73 74 64 | 65 66 73 2e 68 2c 76 20 |: constd|efs.h,v |
|00002350| 31 2e 31 20 38 36 2f 30 | 35 2f 30 36 20 31 33 3a |1.1 86/0|5/06 13:|
|00002360| 33 35 3a 33 37 20 6f 73 | 61 64 72 20 45 78 70 20 |35:37 os|adr Exp |
|00002370| 24 0a 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 24 4c 6f |$. */../|*. * $Lo|
|00002380| 67 3a 09 63 6f 6e 73 74 | 64 65 66 73 2e 68 2c 76 |g:.const|defs.h,v|
|00002390| 20 24 0a 20 2a 20 52 65 | 76 69 73 69 6f 6e 20 31 | $. * Re|vision 1|
|000023a0| 2e 31 20 20 38 36 2f 30 | 35 2f 30 36 20 20 31 33 |.1 86/0|5/06 13|
|000023b0| 3a 33 35 3a 33 37 20 20 | 6f 73 61 64 72 0a 20 2a |:35:37 |osadr. *|
|000023c0| 20 49 6e 69 74 69 61 6c | 20 72 65 76 69 73 69 6f | Initial| revisio|
|000023d0| 6e 0a 20 2a 20 0a 20 2a | 20 0a 20 2a 2f 0a 0a 2f |n. * . *| . */../|
|000023e0| 2a 0a 2a 2a 20 63 6f 6e | 73 74 64 65 66 73 2e 68 |*.** con|stdefs.h|
|000023f0| 0a 2a 2a 0a 2a 2a 20 53 | 74 61 6e 64 61 72 64 20 |.**.** S|tandard |
|00002400| 6d 61 63 72 6f 20 64 65 | 66 69 6e 69 74 69 6f 6e |macro de|finition|
|00002410| 73 20 66 6f 72 20 73 65 | 20 73 63 72 65 65 6e 20 |s for se| screen |
|00002420| 65 64 69 74 6f 72 0a 2a | 2f 0a 0a 23 64 65 66 69 |editor.*|/..#defi|
|00002430| 6e 65 09 45 4f 53 20 27 | 5c 30 27 0a 23 64 65 66 |ne.EOS '|\0'.#def|
|00002440| 69 6e 65 09 45 52 52 20 | 28 2d 33 29 0a 23 64 65 |ine.ERR |(-3).#de|
|00002450| 66 69 6e 65 09 4f 4b 20 | 28 2d 32 29 0a 23 64 65 |fine.OK |(-2).#de|
|00002460| 66 69 6e 65 09 4e 4f 20 | 30 0a 23 64 65 66 69 6e |fine.NO |0.#defin|
|00002470| 65 09 59 45 53 20 31 0a | 53 48 41 52 5f 45 4f 46 |e.YES 1.|SHAR_EOF|
|00002480| 0a 66 69 20 23 20 65 6e | 64 20 6f 66 20 6f 76 65 |.fi # en|d of ove|
|00002490| 72 77 72 69 74 69 6e 67 | 20 63 68 65 63 6b 0a 65 |rwriting| check.e|
|000024a0| 63 68 6f 20 73 68 61 72 | 3a 20 65 78 74 72 61 63 |cho shar|: extrac|
|000024b0| 74 69 6e 67 20 22 27 64 | 6f 63 6d 64 31 2e 63 27 |ting "'d|ocmd1.c'|
|000024c0| 22 20 27 28 32 37 35 32 | 33 20 63 68 61 72 61 63 |" '(2752|3 charac|
|000024d0| 74 65 72 73 29 27 0a 69 | 66 20 74 65 73 74 20 2d |ters)'.i|f test -|
|000024e0| 66 20 27 64 6f 63 6d 64 | 31 2e 63 27 0a 74 68 65 |f 'docmd|1.c'.the|
|000024f0| 6e 0a 09 65 63 68 6f 20 | 73 68 61 72 3a 20 77 69 |n..echo |shar: wi|
|00002500| 6c 6c 20 6e 6f 74 20 6f | 76 65 72 2d 77 72 69 74 |ll not o|ver-writ|
|00002510| 65 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |e existi|ng file |
|00002520| 22 27 64 6f 63 6d 64 31 | 2e 63 27 22 0a 65 6c 73 |"'docmd1|.c'".els|
|00002530| 65 0a 63 61 74 20 3c 3c | 20 5c 53 48 41 52 5f 45 |e.cat <<| \SHAR_E|
|00002540| 4f 46 20 3e 20 27 64 6f | 63 6d 64 31 2e 63 27 0a |OF > 'do|cmd1.c'.|
|00002550| 23 69 66 6e 64 65 66 20 | 6c 69 6e 74 0a 73 74 61 |#ifndef |lint.sta|
|00002560| 74 69 63 20 63 68 61 72 | 20 52 43 53 69 64 5b 5d |tic char| RCSid[]|
|00002570| 20 3d 20 22 24 48 65 61 | 64 65 72 3a 20 64 6f 63 | = "$Hea|der: doc|
|00002580| 6d 64 31 2e 63 2c 76 20 | 31 2e 33 20 38 36 2f 30 |md1.c,v |1.3 86/0|
|00002590| 37 2f 31 37 20 31 37 3a | 31 39 3a 33 37 20 61 72 |7/17 17:|19:37 ar|
|000025a0| 6e 6f 6c 64 20 45 78 70 | 20 24 22 3b 0a 23 65 6e |nold Exp| $";.#en|
|000025b0| 64 69 66 0a 0a 2f 2a 0a | 20 2a 20 24 4c 6f 67 3a |dif../*.| * $Log:|
|000025c0| 09 64 6f 63 6d 64 31 2e | 63 2c 76 20 24 0a 20 2a |.docmd1.|c,v $. *|
|000025d0| 20 52 65 76 69 73 69 6f | 6e 20 31 2e 33 20 20 38 | Revisio|n 1.3 8|
|000025e0| 36 2f 30 37 2f 31 37 20 | 20 31 37 3a 31 39 3a 33 |6/07/17 | 17:19:3|
|000025f0| 37 20 20 61 72 6e 6f 6c | 64 0a 20 2a 20 53 6f 6d |7 arnol|d. * Som|
|00002600| 65 20 67 65 6e 65 72 61 | 6c 20 63 6f 64 65 20 63 |e genera|l code c|
|00002610| 6c 65 61 6e 69 6e 67 20 | 75 70 2e 0a 20 2a 20 0a |leaning |up.. * .|
|00002620| 20 2a 20 52 65 76 69 73 | 69 6f 6e 20 31 2e 32 20 | * Revis|ion 1.2 |
|00002630| 20 38 36 2f 30 37 2f 31 | 31 20 20 31 35 3a 31 30 | 86/07/1|1 15:10|
|00002640| 3a 32 30 20 20 6f 73 61 | 64 72 0a 20 2a 20 52 65 |:20 osa|dr. * Re|
|00002650| 6d 6f 76 65 64 20 47 65 | 6f 72 67 69 61 20 54 65 |moved Ge|orgia Te|
|00002660| 63 68 20 73 70 65 63 69 | 66 69 63 20 69 74 65 6d |ch speci|fic item|
|00002670| 73 2e 0a 20 2a 20 0a 20 | 2a 20 52 65 76 69 73 69 |s.. * . |* Revisi|
|00002680| 6f 6e 20 31 2e 31 20 20 | 38 36 2f 30 35 2f 30 36 |on 1.1 |86/05/06|
|00002690| 20 20 31 33 3a 33 36 3a | 34 34 20 20 6f 73 61 64 | 13:36:|44 osad|
|000026a0| 72 0a 20 2a 20 49 6e 69 | 74 69 61 6c 20 72 65 76 |r. * Ini|tial rev|
|000026b0| 69 73 69 6f 6e 0a 20 2a | 20 0a 20 2a 20 0a 20 2a |ision. *| . * . *|
|000026c0| 2f 0a 0a 2f 2a 0a 2a 2a | 20 64 6f 63 6d 64 31 2e |/../*.**| docmd1.|
|000026d0| 63 0a 2a 2a 0a 2a 2a 20 | 6d 61 69 6e 20 63 6f 6d |c.**.** |main com|
|000026e0| 6d 61 6e 64 20 70 72 6f | 63 65 73 73 6f 72 2e 20 |mand pro|cessor. |
|000026f0| 20 72 6f 75 74 69 6e 65 | 73 20 66 6f 72 20 69 6e | routine|s for in|
|00002700| 64 69 76 69 64 75 61 6c | 20 63 6f 6d 6d 61 6e 64 |dividual| command|
|00002710| 73 0a 2a 2f 0a 0a 23 69 | 6e 63 6c 75 64 65 20 22 |s.*/..#i|nclude "|
|00002720| 73 65 2e 68 22 0a 23 69 | 6e 63 6c 75 64 65 20 22 |se.h".#i|nclude "|
|00002730| 65 78 74 65 72 6e 2e 68 | 22 0a 0a 2f 2a 20 73 74 |extern.h|"../* st|
|00002740| 61 74 69 63 20 64 61 74 | 61 20 64 65 66 69 6e 69 |atic dat|a defini|
|00002750| 74 69 6f 6e 73 20 2d 2d | 20 76 61 72 69 61 62 6c |tions --| variabl|
|00002760| 65 73 20 6f 6e 6c 79 20 | 6e 65 65 64 65 64 20 69 |es only |needed i|
|00002770| 6e 20 74 68 69 73 20 66 | 69 6c 65 20 2a 2f 0a 73 |n this f|ile */.s|
|00002780| 74 61 74 69 63 20 63 68 | 61 72 20 54 6c 70 61 74 |tatic ch|ar Tlpat|
|00002790| 5b 4d 41 58 50 41 54 5d | 20 3d 20 22 22 3b 09 2f |[MAXPAT]| = "";./|
|000027a0| 2a 20 73 61 76 65 64 20 | 63 68 61 72 61 63 74 65 |* saved |characte|
|000027b0| 72 20 6c 69 73 74 20 66 | 6f 72 20 79 2f 74 20 63 |r list f|or y/t c|
|000027c0| 6f 6d 6d 61 6e 64 20 2a | 2f 0a 73 74 61 74 69 63 |ommand *|/.static|
|000027d0| 20 63 68 61 72 20 54 61 | 62 73 74 72 5b 4d 41 58 | char Ta|bstr[MAX|
|000027e0| 4c 49 4e 45 5d 20 3d 20 | 22 22 3b 09 2f 2a 20 73 |LINE] = |"";./* s|
|000027f0| 74 72 69 6e 67 20 72 65 | 70 72 65 73 65 6e 74 61 |tring re|presenta|
|00002800| 74 69 6f 6e 20 6f 66 20 | 74 61 62 20 73 74 6f 70 |tion of |tab stop|
|00002810| 73 20 2a 2f 0a 73 74 61 | 74 69 63 20 63 68 61 72 |s */.sta|tic char|
|00002820| 20 44 64 69 72 20 3d 20 | 46 4f 52 57 41 52 44 3b | Ddir = |FORWARD;|
|00002830| 09 09 2f 2a 20 64 65 6c | 65 74 65 20 64 69 72 65 |../* del|ete dire|
|00002840| 63 74 69 6f 6e 20 2a 2f | 0a 73 74 61 74 69 63 20 |ction */|.static |
|00002850| 69 6e 74 20 43 6f 6d 70 | 72 65 73 73 3b 09 09 09 |int Comp|ress;...|
|00002860| 2f 2a 20 63 6f 6d 70 72 | 65 73 73 2f 65 78 70 61 |/* compr|ess/expa|
|00002870| 6e 64 20 74 61 62 73 20 | 6f 6e 20 72 65 61 64 2f |nd tabs |on read/|
|00002880| 77 72 69 74 65 20 2a 2f | 0a 0a 2f 2a 20 64 6f 63 |write */|../* doc|
|00002890| 6d 64 20 2d 2d 2d 20 68 | 61 6e 64 6c 65 20 61 6c |md --- h|andle al|
|000028a0| 6c 20 63 6f 6d 6d 61 6e | 64 73 20 65 78 63 65 70 |l comman|ds excep|
|000028b0| 74 20 67 6c 6f 62 61 6c | 73 20 2a 2f 0a 0a 69 6e |t global|s */..in|
|000028c0| 74 20 64 6f 63 6d 64 20 | 28 6c 69 6e 2c 20 69 2c |t docmd |(lin, i,|
|000028d0| 20 67 6c 6f 62 2c 20 73 | 74 61 74 75 73 29 0a 63 | glob, s|tatus).c|
|000028e0| 68 61 72 20 6c 69 6e 5b | 5d 3b 0a 69 6e 74 20 69 |har lin[|];.int i|
|000028f0| 2c 20 67 6c 6f 62 2c 20 | 2a 73 74 61 74 75 73 3b |, glob, |*status;|
|00002900| 0a 7b 0a 09 63 68 61 72 | 20 66 69 6c 65 5b 4d 41 |.{..char| file[MA|
|00002910| 58 4c 49 4e 45 5d 2c 20 | 73 75 62 5b 4d 41 58 50 |XLINE], |sub[MAXP|
|00002920| 41 54 5d 3b 0a 09 63 68 | 61 72 20 6b 6e 61 6d 65 |AT];..ch|ar kname|
|00002930| 3b 0a 09 69 6e 74 20 67 | 66 6c 61 67 2c 20 6c 69 |;..int g|flag, li|
|00002940| 6e 65 33 2c 20 70 66 6c | 61 67 2c 20 66 6c 61 67 |ne3, pfl|ag, flag|
|00002950| 2c 20 66 66 6c 61 67 2c | 20 6a 75 6e 6b 2c 20 61 |, fflag,| junk, a|
|00002960| 6c 6c 62 75 74 2c 20 74 | 66 6c 61 67 3b 0a 09 69 |llbut, t|flag;..i|
|00002970| 6e 74 20 61 70 70 65 6e | 64 20 28 29 2c 20 63 6b |nt appen|d (), ck|
|00002980| 63 68 61 72 20 28 29 2c | 20 63 6b 70 20 28 29 2c |char (),| ckp (),|
|00002990| 20 63 6b 75 70 64 20 28 | 29 2c 20 63 6f 70 79 20 | ckupd (|), copy |
|000029a0| 28 29 3b 0a 09 69 6e 74 | 20 64 65 6c 65 74 65 20 |();..int| delete |
|000029b0| 28 29 2c 20 64 6f 6d 61 | 72 6b 20 28 29 2c 20 64 |(), doma|rk (), d|
|000029c0| 6f 6f 70 74 20 28 29 2c | 20 64 6f 70 72 6e 74 20 |oopt (),| doprnt |
|000029d0| 28 29 2c 20 64 6f 72 65 | 61 64 20 28 29 3b 0a 09 |(), dore|ad ();..|
|000029e0| 69 6e 74 20 64 6f 73 68 | 65 6c 6c 20 28 29 3b 0a |int dosh|ell ();.|
|000029f0| 09 69 6e 74 20 64 6f 74 | 6c 69 74 20 28 29 2c 20 |.int dot|lit (), |
|00002a00| 64 6f 75 6e 64 6f 20 28 | 29 2c 20 64 6f 77 72 69 |doundo (|), dowri|
|00002a10| 74 20 28 29 2c 20 67 65 | 74 66 6e 20 28 29 2c 20 |t (), ge|tfn (), |
|00002a20| 67 65 74 6b 6e 20 28 29 | 3b 0a 09 69 6e 74 20 67 |getkn ()|;..int g|
|00002a30| 65 74 6f 6e 65 20 28 29 | 2c 20 67 65 74 72 61 6e |etone ()|, getran|
|00002a40| 67 65 20 28 29 2c 20 67 | 65 74 72 68 73 20 28 29 |ge (), g|etrhs ()|
|00002a50| 2c 20 67 65 74 73 74 72 | 20 28 29 2c 20 69 6e 6a |, getstr| (), inj|
|00002a60| 65 63 74 20 28 29 3b 0a | 09 69 6e 74 20 6a 6f 69 |ect ();.|.int joi|
|00002a70| 6e 20 28 29 2c 20 6d 61 | 6b 73 65 74 20 28 29 2c |n (), ma|kset (),|
|00002a80| 20 6d 6f 76 65 20 28 29 | 2c 20 6e 65 78 74 6c 6e | move ()|, nextln|
|00002a90| 20 28 29 2c 20 6f 70 74 | 70 61 74 20 28 29 3b 0a | (), opt|pat ();.|
|00002aa0| 09 69 6e 74 20 70 72 65 | 76 6c 6e 20 28 29 2c 20 |.int pre|vln (), |
|00002ab0| 73 75 62 73 74 72 20 28 | 29 2c 20 64 72 61 77 5f |substr (|), draw_|
|00002ac0| 62 6f 78 20 28 29 3b 0a | 09 63 68 61 72 20 2a 65 |box ();.|.char *e|
|00002ad0| 78 70 61 6e 64 5f 65 6e | 76 20 28 29 3b 0a 0a 0a |xpand_en|v ();...|
|00002ae0| 09 2a 73 74 61 74 75 73 | 20 3d 20 45 52 52 3b 0a |.*status| = ERR;.|
|00002af0| 09 69 66 20 28 69 6e 74 | 72 70 74 20 28 29 29 20 |.if (int|rpt ()) |
|00002b00| 20 2f 2a 20 63 61 74 63 | 68 20 61 20 70 65 6e 64 | /* catc|h a pend|
|00002b10| 69 6e 67 20 69 6e 74 65 | 72 72 75 70 74 20 2a 2f |ing inte|rrupt */|
|00002b20| 0a 09 09 72 65 74 75 72 | 6e 20 28 2a 73 74 61 74 |...retur|n (*stat|
|00002b30| 75 73 29 3b 0a 0a 09 73 | 77 69 74 63 68 20 28 6c |us);...s|witch (l|
|00002b40| 69 6e 5b 69 5d 29 20 7b | 0a 09 63 61 73 65 20 41 |in[i]) {|..case A|
|00002b50| 50 50 45 4e 44 43 4f 4d | 3a 0a 09 63 61 73 65 20 |PPENDCOM|:..case |
|00002b60| 55 43 41 50 50 45 4e 44 | 43 4f 4d 3a 0a 09 09 69 |UCAPPEND|COM:...i|
|00002b70| 66 20 28 6c 69 6e 5b 69 | 20 2b 20 31 5d 20 3d 3d |f (lin[i| + 1] ==|
|00002b80| 20 27 5c 6e 27 20 7c 7c | 20 6c 69 6e 5b 69 20 2b | '\n' ||| lin[i +|
|00002b90| 20 31 5d 20 3d 3d 20 27 | 3a 27 29 0a 09 09 7b 0a | 1] == '|:')...{.|
|00002ba0| 09 09 09 64 65 66 61 6c | 74 20 28 43 75 72 6c 6e |...defal|t (Curln|
|00002bb0| 2c 20 43 75 72 6c 6e 29 | 3b 0a 09 09 09 69 66 20 |, Curln)|;....if |
|00002bc0| 28 6c 69 6e 5b 69 20 2b | 20 31 5d 20 3d 3d 20 27 |(lin[i +| 1] == '|
|00002bd0| 5c 6e 27 29 0a 09 09 09 | 7b 0a 09 09 09 09 2f 2a |\n')....|{...../*|
|00002be0| 20 61 76 6f 69 64 20 75 | 70 64 61 74 69 6e 67 20 | avoid u|pdating |
|00002bf0| 77 69 74 68 20 69 6e 6c | 69 6e 65 20 69 6e 73 65 |with inl|ine inse|
|00002c00| 72 74 69 6f 6e 20 2a 2f | 0a 09 09 09 09 61 64 6a |rtion */|.....adj|
|00002c10| 75 73 74 5f 77 69 6e 64 | 6f 77 20 28 4c 69 6e 65 |ust_wind|ow (Line|
|00002c20| 31 2c 20 4c 69 6e 65 32 | 29 3b 0a 09 09 09 09 75 |1, Line2|);.....u|
|00002c30| 70 64 73 63 72 65 65 6e | 20 28 29 3b 0a 09 09 09 |pdscreen| ();....|
|00002c40| 7d 0a 09 09 09 2a 73 74 | 61 74 75 73 20 3d 20 61 |}....*st|atus = a|
|00002c50| 70 70 65 6e 64 20 28 4c | 69 6e 65 32 2c 20 26 6c |ppend (L|ine2, &l|
|00002c60| 69 6e 5b 69 20 2b 20 31 | 5d 29 3b 0a 09 09 7d 0a |in[i + 1|]);...}.|
|00002c70| 09 09 62 72 65 61 6b 3b | 0a 0a 09 63 61 73 65 20 |..break;|...case |
|00002c80| 50 52 49 4e 54 43 55 52 | 3a 0a 09 09 69 66 20 28 |PRINTCUR|:...if (|
|00002c90| 6c 69 6e 5b 69 20 2b 20 | 31 5d 20 3d 3d 20 27 5c |lin[i + |1] == '\|
|00002ca0| 6e 27 29 0a 09 09 7b 0a | 09 09 09 64 65 66 61 6c |n')...{.|...defal|
|00002cb0| 74 20 28 43 75 72 6c 6e | 2c 20 43 75 72 6c 6e 29 |t (Curln|, Curln)|
|00002cc0| 3b 0a 09 09 09 73 61 79 | 6e 75 6d 20 28 4c 69 6e |;....say|num (Lin|
|00002cd0| 65 32 29 3b 0a 09 09 09 | 2a 73 74 61 74 75 73 20 |e2);....|*status |
|00002ce0| 3d 20 4f 4b 3b 0a 09 09 | 7d 0a 09 09 62 72 65 61 |= OK;...|}...brea|
|00002cf0| 6b 3b 0a 0a 09 63 61 73 | 65 20 4f 56 45 52 4c 41 |k;...cas|e OVERLA|
|00002d00| 59 43 4f 4d 3a 0a 09 63 | 61 73 65 20 55 43 4f 56 |YCOM:..c|ase UCOV|
|00002d10| 45 52 4c 41 59 43 4f 4d | 3a 0a 09 09 64 65 66 61 |ERLAYCOM|:...defa|
|00002d20| 6c 74 20 28 43 75 72 6c | 6e 2c 20 43 75 72 6c 6e |lt (Curl|n, Curln|
|00002d30| 29 3b 0a 09 09 69 66 20 | 28 6c 69 6e 5b 69 20 2b |);...if |(lin[i +|
|00002d40| 20 31 5d 20 3d 3d 20 27 | 5c 6e 27 29 0a 09 09 09 | 1] == '|\n')....|
|00002d50| 6f 76 65 72 6c 61 79 20 | 28 73 74 61 74 75 73 29 |overlay |(status)|
|00002d60| 3b 0a 09 09 62 72 65 61 | 6b 3b 0a 0a 09 63 61 73 |;...brea|k;...cas|
|00002d70| 65 20 43 48 41 4e 47 45 | 3a 0a 09 63 61 73 65 20 |e CHANGE|:..case |
|00002d80| 55 43 43 48 41 4e 47 45 | 3a 0a 09 09 64 65 66 61 |UCCHANGE|:...defa|
|00002d90| 6c 74 20 28 43 75 72 6c | 6e 2c 20 43 75 72 6c 6e |lt (Curl|n, Curln|
|00002da0| 29 3b 0a 09 09 69 66 20 | 28 4c 69 6e 65 31 20 3c |);...if |(Line1 <|
|00002db0| 3d 20 30 29 0a 09 09 09 | 45 72 72 63 6f 64 65 20 |= 0)....|Errcode |
|00002dc0| 3d 20 45 4f 52 41 4e 47 | 45 3b 0a 09 09 65 6c 73 |= EORANG|E;...els|
|00002dd0| 65 20 69 66 20 28 6c 69 | 6e 5b 69 20 2b 20 31 5d |e if (li|n[i + 1]|
|00002de0| 20 3d 3d 20 27 5c 6e 27 | 20 7c 7c 20 6c 69 6e 5b | == '\n'| || lin[|
|00002df0| 69 20 2b 20 31 5d 20 3d | 3d 20 27 3a 27 29 0a 09 |i + 1] =|= ':')..|
|00002e00| 09 7b 0a 09 09 09 69 66 | 20 28 6c 69 6e 5b 69 20 |.{....if| (lin[i |
|00002e10| 2b 20 31 5d 20 3d 3d 20 | 27 5c 6e 27 29 0a 09 09 |+ 1] == |'\n')...|
|00002e20| 09 7b 0a 09 09 09 09 2f | 2a 20 61 76 6f 69 64 20 |.{...../|* avoid |
|00002e30| 75 70 64 61 74 69 6e 67 | 20 77 69 74 68 20 69 6e |updating| with in|
|00002e40| 6c 69 6e 65 20 69 6e 73 | 65 72 74 69 6f 6e 20 2a |line ins|ertion *|
|00002e50| 2f 0a 09 09 09 09 61 64 | 6a 75 73 74 5f 77 69 6e |/.....ad|just_win|
|00002e60| 64 6f 77 20 28 4c 69 6e | 65 32 2c 20 4c 69 6e 65 |dow (Lin|e2, Line|
|00002e70| 32 29 3b 0a 09 09 09 09 | 75 70 64 73 63 72 65 65 |2);.....|updscree|
|00002e80| 6e 20 28 29 3b 0a 09 09 | 09 7d 0a 09 09 09 46 69 |n ();...|.}....Fi|
|00002e90| 72 73 74 5f 61 66 66 65 | 63 74 65 64 20 3d 20 6d |rst_affe|cted = m|
|00002ea0| 69 6e 20 28 46 69 72 73 | 74 5f 61 66 66 65 63 74 |in (Firs|t_affect|
|00002eb0| 65 64 2c 20 4c 69 6e 65 | 31 29 3b 0a 09 09 09 69 |ed, Line|1);....i|
|00002ec0| 66 20 28 6c 69 6e 5b 69 | 20 2b 20 31 5d 20 3d 3d |f (lin[i| + 1] ==|
|00002ed0| 20 27 5c 6e 27 29 0a 09 | 09 09 09 77 61 72 6e 5f | '\n')..|...warn_|
|00002ee0| 64 65 6c 65 74 65 64 20 | 28 4c 69 6e 65 31 2c 20 |deleted |(Line1, |
|00002ef0| 4c 69 6e 65 32 29 3b 0a | 09 09 09 2a 73 74 61 74 |Line2);.|...*stat|
|00002f00| 75 73 20 3d 20 61 70 70 | 65 6e 64 20 28 4c 69 6e |us = app|end (Lin|
|00002f10| 65 32 2c 20 26 6c 69 6e | 5b 69 20 2b 20 31 5d 29 |e2, &lin|[i + 1])|
|00002f20| 3b 0a 09 09 09 69 66 20 | 28 2a 73 74 61 74 75 73 |;....if |(*status|
|00002f30| 20 21 3d 20 45 52 52 29 | 0a 09 09 09 7b 0a 09 09 | != ERR)|....{...|
|00002f40| 09 09 6c 69 6e 65 33 20 | 3d 20 43 75 72 6c 6e 3b |..line3 |= Curln;|
|00002f50| 0a 09 09 09 09 64 65 6c | 65 74 65 20 28 4c 69 6e |.....del|ete (Lin|
|00002f60| 65 31 2c 20 4c 69 6e 65 | 32 2c 20 73 74 61 74 75 |e1, Line|2, statu|
|00002f70| 73 29 3b 0a 09 09 09 09 | 43 75 72 6c 6e 20 3d 20 |s);.....|Curln = |
|00002f80| 6c 69 6e 65 33 20 2d 20 | 28 4c 69 6e 65 32 20 2d |line3 - |(Line2 -|
|00002f90| 20 4c 69 6e 65 31 20 2b | 20 31 29 3b 0a 09 09 09 | Line1 +| 1);....|
|00002fa0| 09 2f 2a 20 61 64 6a 75 | 73 74 20 66 6f 72 20 64 |./* adju|st for d|
|00002fb0| 65 6c 65 74 65 64 20 6c | 69 6e 65 73 20 2a 2f 0a |eleted l|ines */.|
|00002fc0| 09 09 09 7d 0a 09 09 7d | 0a 09 09 62 72 65 61 6b |...}...}|...break|
|00002fd0| 3b 0a 0a 09 63 61 73 65 | 20 44 45 4c 43 4f 4d 3a |;...case| DELCOM:|
|00002fe0| 0a 09 63 61 73 65 20 55 | 43 44 45 4c 43 4f 4d 3a |..case U|CDELCOM:|
|00002ff0| 0a 09 09 69 66 20 28 63 | 6b 70 20 28 6c 69 6e 2c |...if (c|kp (lin,|
|00003000| 20 69 20 2b 20 31 2c 20 | 26 70 66 6c 61 67 2c 20 | i + 1, |&pflag, |
|00003010| 73 74 61 74 75 73 29 20 | 3d 3d 20 4f 4b 29 0a 09 |status) |== OK)..|
|00003020| 09 7b 0a 09 09 09 64 65 | 66 61 6c 74 20 28 43 75 |.{....de|falt (Cu|
|00003030| 72 6c 6e 2c 20 43 75 72 | 6c 6e 29 3b 0a 09 09 09 |rln, Cur|ln);....|
|00003040| 69 66 20 28 64 65 6c 65 | 74 65 20 28 4c 69 6e 65 |if (dele|te (Line|
|00003050| 31 2c 20 4c 69 6e 65 32 | 2c 20 73 74 61 74 75 73 |1, Line2|, status|
|00003060| 29 20 3d 3d 20 4f 4b 0a | 09 09 09 20 20 20 20 26 |) == OK.|... &|
|00003070| 26 20 44 64 69 72 20 3d | 3d 20 46 4f 52 57 41 52 |& Ddir =|= FORWAR|
|00003080| 44 0a 09 09 09 20 20 20 | 20 26 26 20 6e 65 78 74 |D.... | && next|
|00003090| 6c 6e 20 28 43 75 72 6c | 6e 29 20 21 3d 20 30 29 |ln (Curl|n) != 0)|
|000030a0| 0a 09 09 09 09 43 75 72 | 6c 6e 20 3d 20 6e 65 78 |.....Cur|ln = nex|
|000030b0| 74 6c 6e 20 28 43 75 72 | 6c 6e 29 3b 0a 09 09 7d |tln (Cur|ln);...}|
|000030c0| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|000030d0| 20 49 4e 53 45 52 54 3a | 0a 09 63 61 73 65 20 55 | INSERT:|..case U|
|000030e0| 43 49 4e 53 45 52 54 3a | 0a 09 09 64 65 66 61 6c |CINSERT:|...defal|
|000030f0| 74 20 28 43 75 72 6c 6e | 2c 20 43 75 72 6c 6e 29 |t (Curln|, Curln)|
|00003100| 3b 0a 09 09 69 66 20 28 | 4c 69 6e 65 31 20 3c 3d |;...if (|Line1 <=|
|00003110| 20 30 29 0a 09 09 09 45 | 72 72 63 6f 64 65 20 3d | 0)....E|rrcode =|
|00003120| 20 45 4f 52 41 4e 47 45 | 3b 0a 09 09 65 6c 73 65 | EORANGE|;...else|
|00003130| 20 69 66 20 28 6c 69 6e | 5b 69 20 2b 20 31 5d 20 | if (lin|[i + 1] |
|00003140| 3d 3d 20 27 5c 6e 27 20 | 7c 7c 20 6c 69 6e 5b 69 |== '\n' ||| lin[i|
|00003150| 20 2b 20 31 5d 20 3d 3d | 20 27 3a 27 29 0a 09 09 | + 1] ==| ':')...|
|00003160| 7b 0a 09 09 09 69 66 20 | 28 6c 69 6e 5b 69 20 2b |{....if |(lin[i +|
|00003170| 20 31 5d 20 3d 3d 20 27 | 5c 6e 27 29 0a 09 09 09 | 1] == '|\n')....|
|00003180| 7b 0a 09 09 09 09 2f 2a | 20 61 76 6f 69 64 20 75 |{...../*| avoid u|
|00003190| 70 64 61 74 69 6e 67 20 | 77 69 74 68 20 69 6e 6c |pdating |with inl|
|000031a0| 69 6e 65 20 69 6e 73 65 | 72 74 69 6f 6e 20 2a 2f |ine inse|rtion */|
|000031b0| 0a 09 09 09 09 61 64 6a | 75 73 74 5f 77 69 6e 64 |.....adj|ust_wind|
|000031c0| 6f 77 20 28 4c 69 6e 65 | 31 2c 20 4c 69 6e 65 32 |ow (Line|1, Line2|
|000031d0| 29 3b 0a 09 09 09 09 75 | 70 64 73 63 72 65 65 6e |);.....u|pdscreen|
|000031e0| 20 28 29 3b 0a 09 09 09 | 7d 0a 09 09 09 2a 73 74 | ();....|}....*st|
|000031f0| 61 74 75 73 20 3d 20 61 | 70 70 65 6e 64 20 28 70 |atus = a|ppend (p|
|00003200| 72 65 76 6c 6e 20 28 4c | 69 6e 65 32 29 2c 20 26 |revln (L|ine2), &|
|00003210| 6c 69 6e 5b 69 20 2b 20 | 31 5d 29 3b 0a 09 09 7d |lin[i + |1]);...}|
|00003220| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|00003230| 20 4d 4f 56 45 43 4f 4d | 3a 0a 09 63 61 73 65 20 | MOVECOM|:..case |
|00003240| 55 43 4d 4f 56 45 43 4f | 4d 3a 0a 09 09 69 2b 2b |UCMOVECO|M:...i++|
|00003250| 3b 0a 09 09 69 66 20 28 | 67 65 74 6f 6e 65 20 28 |;...if (|getone (|
|00003260| 6c 69 6e 2c 20 26 69 2c | 20 26 6c 69 6e 65 33 2c |lin, &i,| &line3,|
|00003270| 20 73 74 61 74 75 73 29 | 20 3d 3d 20 45 4f 46 29 | status)| == EOF)|
|00003280| 0a 09 09 09 2a 73 74 61 | 74 75 73 20 3d 20 45 52 |....*sta|tus = ER|
|00003290| 52 3b 0a 09 09 69 66 20 | 28 2a 73 74 61 74 75 73 |R;...if |(*status|
|000032a0| 20 3d 3d 20 4f 4b 20 26 | 26 20 63 6b 70 20 28 6c | == OK &|& ckp (l|
|000032b0| 69 6e 2c 20 69 2c 20 26 | 70 66 6c 61 67 2c 20 73 |in, i, &|pflag, s|
|000032c0| 74 61 74 75 73 29 20 3d | 3d 20 4f 4b 29 0a 09 09 |tatus) =|= OK)...|
|000032d0| 7b 0a 09 09 09 64 65 66 | 61 6c 74 20 28 43 75 72 |{....def|alt (Cur|
|000032e0| 6c 6e 2c 20 43 75 72 6c | 6e 29 3b 0a 09 09 09 2a |ln, Curl|n);....*|
|000032f0| 73 74 61 74 75 73 20 3d | 20 6d 6f 76 65 20 28 6c |status =| move (l|
|00003300| 69 6e 65 33 29 3b 0a 09 | 09 7d 0a 09 09 62 72 65 |ine3);..|.}...bre|
|00003310| 61 6b 3b 0a 0a 09 63 61 | 73 65 20 43 4f 50 59 43 |ak;...ca|se COPYC|
|00003320| 4f 4d 3a 0a 09 63 61 73 | 65 20 55 43 43 4f 50 59 |OM:..cas|e UCCOPY|
|00003330| 43 4f 4d 3a 0a 09 09 69 | 2b 2b 3b 0a 09 09 69 66 |COM:...i|++;...if|
|00003340| 20 28 67 65 74 6f 6e 65 | 20 28 6c 69 6e 2c 20 26 | (getone| (lin, &|
|00003350| 69 2c 20 26 6c 69 6e 65 | 33 2c 20 73 74 61 74 75 |i, &line|3, statu|
|00003360| 73 29 20 3d 3d 20 45 4f | 46 29 0a 09 09 09 2a 73 |s) == EO|F)....*s|
|00003370| 74 61 74 75 73 20 3d 20 | 45 52 52 3b 0a 09 09 69 |tatus = |ERR;...i|
|00003380| 66 20 28 2a 73 74 61 74 | 75 73 20 3d 3d 20 4f 4b |f (*stat|us == OK|
|00003390| 20 26 26 20 63 6b 70 20 | 28 6c 69 6e 2c 20 69 2c | && ckp |(lin, i,|
|000033a0| 20 26 70 66 6c 61 67 2c | 20 73 74 61 74 75 73 29 | &pflag,| status)|
|000033b0| 20 3d 3d 20 4f 4b 29 0a | 09 09 7b 0a 09 09 09 64 | == OK).|..{....d|
|000033c0| 65 66 61 6c 74 20 28 43 | 75 72 6c 6e 2c 20 43 75 |efalt (C|urln, Cu|
|000033d0| 72 6c 6e 29 3b 0a 09 09 | 09 2a 73 74 61 74 75 73 |rln);...|.*status|
|000033e0| 20 3d 20 63 6f 70 79 20 | 28 6c 69 6e 65 33 29 3b | = copy |(line3);|
|000033f0| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |...}...b|reak;...|
|00003400| 63 61 73 65 20 53 55 42 | 53 54 49 54 55 54 45 3a |case SUB|STITUTE:|
|00003410| 0a 09 63 61 73 65 20 55 | 43 53 55 42 53 54 49 54 |..case U|CSUBSTIT|
|00003420| 55 54 45 3a 0a 09 09 69 | 2b 2b 3b 0a 09 09 69 66 |UTE:...i|++;...if|
|00003430| 20 28 6c 69 6e 5b 69 5d | 20 3d 3d 20 27 5c 6e 27 | (lin[i]| == '\n'|
|00003440| 29 0a 09 09 7b 0a 09 09 | 09 2f 2a 20 74 75 72 6e |)...{...|./* turn|
|00003450| 20 22 73 5c 6e 22 20 69 | 6e 74 6f 20 22 73 2f 2f | "s\n" i|nto "s//|
|00003460| 25 2f 5c 6e 22 20 2a 2f | 0a 09 09 09 6c 69 6e 5b |%/\n" */|....lin[|
|00003470| 69 2b 30 5d 20 3d 20 27 | 2f 27 3b 0a 09 09 09 6c |i+0] = '|/';....l|
|00003480| 69 6e 5b 69 2b 31 5d 20 | 3d 20 27 2f 27 3b 0a 09 |in[i+1] |= '/';..|
|00003490| 09 09 6c 69 6e 5b 69 2b | 32 5d 20 3d 20 27 25 27 |..lin[i+|2] = '%'|
|000034a0| 3b 0a 09 09 09 6c 69 6e | 5b 69 2b 33 5d 20 3d 20 |;....lin|[i+3] = |
|000034b0| 27 2f 27 3b 0a 09 09 09 | 6c 69 6e 5b 69 2b 34 5d |'/';....|lin[i+4]|
|000034c0| 20 3d 20 27 5c 6e 27 3b | 0a 09 09 09 6c 69 6e 5b | = '\n';|....lin[|
|000034d0| 69 2b 35 5d 20 3d 20 45 | 4f 53 3b 0a 09 09 09 50 |i+5] = E|OS;....P|
|000034e0| 65 65 6b 63 20 3d 20 53 | 4b 49 50 5f 52 49 47 48 |eekc = S|KIP_RIGH|
|000034f0| 54 3b 0a 09 09 7d 0a 09 | 09 65 6c 73 65 0a 09 09 |T;...}..|.else...|
|00003500| 7b 0a 09 09 09 2f 2a 20 | 74 72 79 20 74 6f 20 68 |{..../* |try to h|
|00003510| 61 6e 64 6c 65 20 22 73 | 2f 73 74 75 66 66 5c 6e |andle "s|/stuff\n|
|00003520| 22 20 2a 2f 0a 09 09 09 | 69 6e 74 20 6a 2c 20 6d |" */....|int j, m|
|00003530| 69 73 73 69 6e 67 5f 64 | 65 6c 69 6d 3b 0a 0a 09 |issing_d|elim;...|
|00003540| 09 09 6d 69 73 73 69 6e | 67 5f 64 65 6c 69 6d 20 |..missin|g_delim |
|00003550| 3d 20 59 45 53 3b 0a 09 | 09 09 66 6f 72 20 28 6a |= YES;..|..for (j|
|00003560| 20 3d 20 69 20 2b 20 31 | 3b 20 6c 69 6e 5b 6a 5d | = i + 1|; lin[j]|
|00003570| 20 21 3d 20 27 5c 6e 27 | 3b 20 6a 2b 2b 29 0a 09 | != '\n'|; j++)..|
|00003580| 09 09 09 69 66 20 28 6c | 69 6e 5b 6a 5d 20 3d 3d |...if (l|in[j] ==|
|00003590| 20 45 53 43 41 50 45 20 | 26 26 20 6c 69 6e 5b 6a | ESCAPE |&& lin[j|
|000035a0| 2b 31 5d 20 3d 3d 20 6c | 69 6e 5b 69 5d 29 0a 09 |+1] == l|in[i])..|
|000035b0| 09 09 09 09 6a 2b 2b 3b | 09 2f 2a 20 73 6b 69 70 |....j++;|./* skip|
|000035c0| 20 65 73 63 2c 20 6c 6f | 6f 70 20 63 6f 6e 74 69 | esc, lo|op conti|
|000035d0| 6e 75 65 73 20 2a 2f 0a | 09 09 09 09 65 6c 73 65 |nues */.|....else|
|000035e0| 20 69 66 20 28 6c 69 6e | 5b 6a 5d 20 3d 3d 20 6c | if (lin|[j] == l|
|000035f0| 69 6e 5b 69 5d 29 0a 09 | 09 09 09 7b 0a 09 09 09 |in[i])..|...{....|
|00003600| 09 09 6d 69 73 73 69 6e | 67 5f 64 65 6c 69 6d 20 |..missin|g_delim |
|00003610| 3d 20 4e 4f 3b 0a 09 09 | 09 09 09 62 72 65 61 6b |= NO;...|...break|
|00003620| 3b 09 2f 2a 20 66 6f 72 | 20 2a 2f 0a 09 09 09 09 |;./* for| */.....|
|00003630| 7d 0a 0a 09 09 09 69 66 | 20 28 6d 69 73 73 69 6e |}.....if| (missin|
|00003640| 67 5f 64 65 6c 69 6d 29 | 0a 09 09 09 7b 0a 09 09 |g_delim)|....{...|
|00003650| 09 09 66 6f 72 20 28 3b | 20 6c 69 6e 5b 6a 5d 20 |..for (;| lin[j] |
|00003660| 21 3d 20 45 4f 53 3b 20 | 6a 2b 2b 29 0a 09 09 09 |!= EOS; |j++)....|
|00003670| 09 09 3b 0a 09 09 09 09 | 6a 2d 2d 3b 09 09 2f 2a |..;.....|j--;../*|
|00003680| 20 6a 20 6e 6f 77 20 61 | 74 20 6e 65 77 6c 69 6e | j now a|t newlin|
|00003690| 65 20 2a 2f 0a 0a 09 09 | 09 09 6c 69 6e 5b 6a 5d |e */....|..lin[j]|
|000036a0| 20 3d 20 6c 69 6e 5b 69 | 5d 3b 09 2f 2a 20 64 65 | = lin[i|];./* de|
|000036b0| 6c 69 6d 20 2a 2f 0a 09 | 09 09 09 6c 69 6e 5b 2b |lim */..|...lin[+|
|000036c0| 2b 6a 5d 20 3d 20 27 5c | 6e 27 3b 0a 09 09 09 09 |+j] = '\|n';.....|
|000036d0| 6c 69 6e 5b 2b 2b 6a 5d | 20 3d 20 45 4f 53 3b 0a |lin[++j]| = EOS;.|
|000036e0| 09 09 09 09 50 65 65 6b | 63 20 3d 20 53 4b 49 50 |....Peek|c = SKIP|
|000036f0| 5f 52 49 47 48 54 3b 0a | 09 09 09 09 2f 2a 20 72 |_RIGHT;.|..../* r|
|00003700| 65 73 74 20 6f 66 20 72 | 6f 75 74 69 6e 65 73 20 |est of r|outines |
|00003710| 77 69 6c 6c 20 63 6f 6e | 74 69 6e 75 65 20 74 6f |will con|tinue to|
|00003720| 20 66 69 78 20 75 70 20 | 2a 2f 0a 09 09 09 7d 0a | fix up |*/....}.|
|00003730| 09 09 7d 0a 0a 09 09 69 | 66 20 28 6f 70 74 70 61 |..}....i|f (optpa|
|00003740| 74 20 28 6c 69 6e 2c 20 | 26 69 29 20 3d 3d 20 4f |t (lin, |&i) == O|
|00003750| 4b 0a 09 09 20 20 20 20 | 26 26 20 67 65 74 72 68 |K... |&& getrh|
|00003760| 73 20 28 6c 69 6e 2c 20 | 26 69 2c 20 73 75 62 2c |s (lin, |&i, sub,|
|00003770| 20 26 67 66 6c 61 67 29 | 20 3d 3d 20 4f 4b 0a 09 | &gflag)| == OK..|
|00003780| 09 20 20 20 20 26 26 20 | 63 6b 70 20 28 6c 69 6e |. && |ckp (lin|
|00003790| 2c 20 69 20 2b 20 31 2c | 20 26 70 66 6c 61 67 2c |, i + 1,| &pflag,|
|000037a0| 20 73 74 61 74 75 73 29 | 20 3d 3d 20 4f 4b 29 0a | status)| == OK).|
|000037b0| 09 09 7b 0a 09 09 09 64 | 65 66 61 6c 74 20 28 43 |..{....d|efalt (C|
|000037c0| 75 72 6c 6e 2c 20 43 75 | 72 6c 6e 29 3b 0a 09 09 |urln, Cu|rln);...|
|000037d0| 09 2a 73 74 61 74 75 73 | 20 3d 20 73 75 62 73 74 |.*status| = subst|
|000037e0| 20 28 73 75 62 2c 20 67 | 66 6c 61 67 2c 20 67 6c | (sub, g|flag, gl|
|000037f0| 6f 62 29 3b 0a 09 09 7d | 0a 09 09 62 72 65 61 6b |ob);...}|...break|
|00003800| 3b 0a 0a 09 63 61 73 65 | 20 54 4c 49 54 43 4f 4d |;...case| TLITCOM|
|00003810| 3a 0a 09 63 61 73 65 20 | 55 43 54 4c 49 54 43 4f |:..case |UCTLITCO|
|00003820| 4d 3a 0a 09 09 69 2b 2b | 3b 0a 09 09 69 66 20 28 |M:...i++|;...if (|
|00003830| 6c 69 6e 5b 69 5d 20 3d | 3d 20 27 5c 6e 27 29 0a |lin[i] =|= '\n').|
|00003840| 09 09 7b 0a 09 09 09 2f | 2a 20 74 75 72 6e 20 22 |..{..../|* turn "|
|00003850| 79 5c 6e 22 20 69 6e 74 | 6f 20 22 79 2f 2f 25 2f |y\n" int|o "y//%/|
|00003860| 5c 6e 22 20 2a 2f 0a 09 | 09 09 6c 69 6e 5b 69 2b |\n" */..|..lin[i+|
|00003870| 30 5d 20 3d 20 27 2f 27 | 3b 0a 09 09 09 6c 69 6e |0] = '/'|;....lin|
|00003880| 5b 69 2b 31 5d 20 3d 20 | 27 2f 27 3b 0a 09 09 09 |[i+1] = |'/';....|
|00003890| 6c 69 6e 5b 69 2b 32 5d | 20 3d 20 27 25 27 3b 0a |lin[i+2]| = '%';.|
|000038a0| 09 09 09 6c 69 6e 5b 69 | 2b 33 5d 20 3d 20 27 2f |...lin[i|+3] = '/|
|000038b0| 27 3b 0a 09 09 09 6c 69 | 6e 5b 69 2b 34 5d 20 3d |';....li|n[i+4] =|
|000038c0| 20 27 5c 6e 27 3b 0a 09 | 09 09 6c 69 6e 5b 69 2b | '\n';..|..lin[i+|
|000038d0| 35 5d 20 3d 20 45 4f 53 | 3b 0a 09 09 09 50 65 65 |5] = EOS|;....Pee|
|000038e0| 6b 63 20 3d 20 53 4b 49 | 50 5f 52 49 47 48 54 3b |kc = SKI|P_RIGHT;|
|000038f0| 0a 09 09 7d 0a 09 09 65 | 6c 73 65 0a 09 09 7b 0a |...}...e|lse...{.|
|00003900| 09 09 09 2f 2a 20 74 72 | 79 20 74 6f 20 68 61 6e |.../* tr|y to han|
|00003910| 64 6c 65 20 22 79 2f 73 | 74 75 66 66 5c 6e 22 20 |dle "y/s|tuff\n" |
|00003920| 2a 2f 0a 09 09 09 69 6e | 74 20 6a 2c 20 6d 69 73 |*/....in|t j, mis|
|00003930| 73 69 6e 67 5f 64 65 6c | 69 6d 3b 0a 0a 09 09 09 |sing_del|im;.....|
|00003940| 6d 69 73 73 69 6e 67 5f | 64 65 6c 69 6d 20 3d 20 |missing_|delim = |
|00003950| 59 45 53 3b 0a 09 09 09 | 66 6f 72 20 28 6a 20 3d |YES;....|for (j =|
|00003960| 20 69 20 2b 20 31 3b 20 | 6c 69 6e 5b 6a 5d 20 21 | i + 1; |lin[j] !|
|00003970| 3d 20 27 5c 6e 27 3b 20 | 6a 2b 2b 29 0a 09 09 09 |= '\n'; |j++)....|
|00003980| 09 69 66 20 28 6c 69 6e | 5b 6a 5d 20 3d 3d 20 45 |.if (lin|[j] == E|
|00003990| 53 43 41 50 45 20 26 26 | 20 6c 69 6e 5b 6a 2b 31 |SCAPE &&| lin[j+1|
|000039a0| 5d 20 3d 3d 20 6c 69 6e | 5b 69 5d 29 0a 09 09 09 |] == lin|[i])....|
|000039b0| 09 09 6a 2b 2b 3b 09 2f | 2a 20 73 6b 69 70 20 65 |..j++;./|* skip e|
|000039c0| 73 63 2c 20 6c 6f 6f 70 | 20 63 6f 6e 74 69 6e 75 |sc, loop| continu|
|000039d0| 65 73 20 2a 2f 0a 09 09 | 09 09 65 6c 73 65 20 69 |es */...|..else i|
|000039e0| 66 20 28 6c 69 6e 5b 6a | 5d 20 3d 3d 20 6c 69 6e |f (lin[j|] == lin|
|000039f0| 5b 69 5d 29 0a 09 09 09 | 09 7b 0a 09 09 09 09 09 |[i])....|.{......|
|00003a00| 6d 69 73 73 69 6e 67 5f | 64 65 6c 69 6d 20 3d 20 |missing_|delim = |
|00003a10| 4e 4f 3b 0a 09 09 09 09 | 09 62 72 65 61 6b 3b 09 |NO;.....|.break;.|
|00003a20| 2f 2a 20 66 6f 72 20 2a | 2f 0a 09 09 09 09 7d 0a |/* for *|/.....}.|
|00003a30| 0a 09 09 09 69 66 20 28 | 6d 69 73 73 69 6e 67 5f |....if (|missing_|
|00003a40| 64 65 6c 69 6d 29 0a 09 | 09 09 7b 0a 09 09 09 09 |delim)..|..{.....|
|00003a50| 66 6f 72 20 28 3b 20 6c | 69 6e 5b 6a 5d 20 21 3d |for (; l|in[j] !=|
|00003a60| 20 45 4f 53 3b 20 6a 2b | 2b 29 0a 09 09 09 09 09 | EOS; j+|+)......|
|00003a70| 3b 0a 09 09 09 09 6a 2d | 2d 3b 09 09 2f 2a 20 6a |;.....j-|-;../* j|
|00003a80| 20 6e 6f 77 20 61 74 20 | 6e 65 77 6c 69 6e 65 20 | now at |newline |
|00003a90| 2a 2f 0a 0a 09 09 09 09 | 6c 69 6e 5b 6a 5d 20 3d |*/......|lin[j] =|
|00003aa0| 20 6c 69 6e 5b 69 5d 3b | 09 2f 2a 20 64 65 6c 69 | lin[i];|./* deli|
|00003ab0| 6d 20 2a 2f 0a 09 09 09 | 09 6c 69 6e 5b 2b 2b 6a |m */....|.lin[++j|
|00003ac0| 5d 20 3d 20 27 5c 6e 27 | 3b 0a 09 09 09 09 6c 69 |] = '\n'|;.....li|
|00003ad0| 6e 5b 2b 2b 6a 5d 20 3d | 20 45 4f 53 3b 0a 09 09 |n[++j] =| EOS;...|
|00003ae0| 09 09 50 65 65 6b 63 20 | 3d 20 53 4b 49 50 5f 52 |..Peekc |= SKIP_R|
|00003af0| 49 47 48 54 3b 0a 09 09 | 09 09 2f 2a 20 72 65 73 |IGHT;...|../* res|
|00003b00| 74 20 6f 66 20 72 6f 75 | 74 69 6e 65 73 20 77 69 |t of rou|tines wi|
|00003b10| 6c 6c 20 63 6f 6e 74 69 | 6e 75 65 20 74 6f 20 66 |ll conti|nue to f|
|00003b20| 69 78 20 75 70 20 2a 2f | 0a 09 09 09 7d 0a 09 09 |ix up */|....}...|
|00003b30| 7d 0a 0a 09 09 69 66 20 | 28 67 65 74 72 61 6e 67 |}....if |(getrang|
|00003b40| 65 20 28 6c 69 6e 2c 20 | 26 69 2c 20 54 6c 70 61 |e (lin, |&i, Tlpa|
|00003b50| 74 2c 20 4d 41 58 50 41 | 54 2c 20 26 61 6c 6c 62 |t, MAXPA|T, &allb|
|00003b60| 75 74 29 20 3d 3d 20 4f | 4b 0a 09 09 20 20 20 20 |ut) == O|K... |
|00003b70| 26 26 20 6d 61 6b 73 65 | 74 20 28 6c 69 6e 2c 20 |&& makse|t (lin, |
|00003b80| 26 69 2c 20 73 75 62 2c | 20 4d 41 58 50 41 54 29 |&i, sub,| MAXPAT)|
|00003b90| 20 3d 3d 20 4f 4b 0a 09 | 09 20 20 20 20 26 26 20 | == OK..|. && |
|00003ba0| 63 6b 70 20 28 6c 69 6e | 2c 20 69 20 2b 20 31 2c |ckp (lin|, i + 1,|
|00003bb0| 20 26 70 66 6c 61 67 2c | 20 73 74 61 74 75 73 29 | &pflag,| status)|
|00003bc0| 20 3d 3d 20 4f 4b 29 0a | 09 09 7b 0a 09 09 09 64 | == OK).|..{....d|
|00003bd0| 65 66 61 6c 74 20 28 43 | 75 72 6c 6e 2c 20 43 75 |efalt (C|urln, Cu|
|00003be0| 72 6c 6e 29 3b 0a 09 09 | 09 2a 73 74 61 74 75 73 |rln);...|.*status|
|00003bf0| 20 3d 20 64 6f 74 6c 69 | 74 20 28 73 75 62 2c 20 | = dotli|t (sub, |
|00003c00| 61 6c 6c 62 75 74 29 3b | 0a 09 09 7d 0a 09 09 62 |allbut);|...}...b|
|00003c10| 72 65 61 6b 3b 0a 0a 09 | 63 61 73 65 20 4a 4f 49 |reak;...|case JOI|
|00003c20| 4e 43 4f 4d 3a 0a 09 63 | 61 73 65 20 55 43 4a 4f |NCOM:..c|ase UCJO|
|00003c30| 49 4e 43 4f 4d 3a 0a 09 | 09 69 2b 2b 3b 0a 09 09 |INCOM:..|.i++;...|
|00003c40| 69 66 20 28 67 65 74 73 | 74 72 20 28 6c 69 6e 2c |if (gets|tr (lin,|
|00003c50| 20 26 69 2c 20 73 75 62 | 2c 20 4d 41 58 50 41 54 | &i, sub|, MAXPAT|
|00003c60| 29 20 3d 3d 20 4f 4b 0a | 09 09 20 20 20 20 26 26 |) == OK.|.. &&|
|00003c70| 20 63 6b 70 20 28 6c 69 | 6e 2c 20 69 20 2b 20 31 | ckp (li|n, i + 1|
|00003c80| 2c 20 26 70 66 6c 61 67 | 2c 20 73 74 61 74 75 73 |, &pflag|, status|
|00003c90| 29 20 3d 3d 20 4f 4b 29 | 0a 09 09 7b 0a 09 09 09 |) == OK)|...{....|
|00003ca0| 64 65 66 61 6c 74 20 28 | 70 72 65 76 6c 6e 20 28 |defalt (|prevln (|
|00003cb0| 43 75 72 6c 6e 29 2c 20 | 43 75 72 6c 6e 29 3b 0a |Curln), |Curln);.|
|00003cc0| 09 09 09 2a 73 74 61 74 | 75 73 20 3d 20 6a 6f 69 |...*stat|us = joi|
|00003cd0| 6e 20 28 73 75 62 29 3b | 0a 09 09 7d 0a 09 09 62 |n (sub);|...}...b|
|00003ce0| 72 65 61 6b 3b 0a 0a 09 | 63 61 73 65 20 55 4e 44 |reak;...|case UND|
|00003cf0| 4f 43 4f 4d 3a 0a 09 63 | 61 73 65 20 55 43 55 4e |OCOM:..c|ase UCUN|
|00003d00| 44 4f 43 4f 4d 3a 0a 09 | 09 69 2b 2b 3b 0a 09 09 |DOCOM:..|.i++;...|
|00003d10| 64 65 66 61 6c 74 20 28 | 43 75 72 6c 6e 2c 20 43 |defalt (|Curln, C|
|00003d20| 75 72 6c 6e 29 3b 0a 09 | 09 69 66 20 28 63 6b 63 |urln);..|.if (ckc|
|00003d30| 68 61 72 20 28 55 43 44 | 45 4c 43 4f 4d 2c 20 44 |har (UCD|ELCOM, D|
|00003d40| 45 4c 43 4f 4d 2c 20 6c | 69 6e 2c 20 26 69 2c 20 |ELCOM, l|in, &i, |
|00003d50| 26 66 6c 61 67 2c 20 73 | 74 61 74 75 73 29 20 3d |&flag, s|tatus) =|
|00003d60| 3d 20 4f 4b 0a 09 09 20 | 20 20 20 26 26 20 63 6b |= OK... | && ck|
|00003d70| 70 20 28 6c 69 6e 2c 20 | 69 2c 20 26 70 66 6c 61 |p (lin, |i, &pfla|
|00003d80| 67 2c 20 73 74 61 74 75 | 73 29 20 3d 3d 20 4f 4b |g, statu|s) == OK|
|00003d90| 29 0a 09 09 09 2a 73 74 | 61 74 75 73 20 3d 20 64 |)....*st|atus = d|
|00003da0| 6f 75 6e 64 6f 20 28 66 | 6c 61 67 2c 20 73 74 61 |oundo (f|lag, sta|
|00003db0| 74 75 73 29 3b 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |tus);...|break;..|
|00003dc0| 09 63 61 73 65 20 45 4e | 54 45 52 3a 0a 09 63 61 |.case EN|TER:..ca|
|00003dd0| 73 65 20 55 43 45 4e 54 | 45 52 3a 0a 09 09 69 2b |se UCENT|ER:...i+|
|00003de0| 2b 3b 0a 09 09 69 66 20 | 28 4e 6c 69 6e 65 73 20 |+;...if |(Nlines |
|00003df0| 21 3d 20 30 29 0a 09 09 | 09 45 72 72 63 6f 64 65 |!= 0)...|.Errcode|
|00003e00| 20 3d 20 45 42 41 44 4c | 4e 52 3b 0a 09 09 65 6c | = EBADL|NR;...el|
|00003e10| 73 65 20 69 66 20 28 63 | 6b 75 70 64 20 28 6c 69 |se if (c|kupd (li|
|00003e20| 6e 2c 20 26 69 2c 20 45 | 4e 54 45 52 2c 20 73 74 |n, &i, E|NTER, st|
|00003e30| 61 74 75 73 29 20 3d 3d | 20 4f 4b 0a 09 09 20 20 |atus) ==| OK... |
|00003e40| 20 20 26 26 20 63 6b 63 | 68 61 72 20 28 27 78 27 | && ckc|har ('x'|
|00003e50| 2c 20 27 58 27 2c 20 6c | 69 6e 2c 20 26 69 2c 20 |, 'X', l|in, &i, |
|00003e60| 26 74 66 6c 61 67 2c 20 | 73 74 61 74 75 73 29 20 |&tflag, |status) |
|00003e70| 3d 3d 20 4f 4b 29 0a 09 | 09 09 69 66 20 28 67 65 |== OK)..|..if (ge|
|00003e80| 74 66 6e 20 28 6c 69 6e | 2c 20 69 20 2d 20 31 2c |tfn (lin|, i - 1,|
|00003e90| 20 66 69 6c 65 29 20 3d | 3d 20 4f 4b 29 0a 09 09 | file) =|= OK)...|
|00003ea0| 09 7b 0a 09 09 09 09 73 | 74 72 63 70 79 20 28 53 |.{.....s|trcpy (S|
|00003eb0| 61 76 66 69 6c 2c 20 65 | 78 70 61 6e 64 5f 65 6e |avfil, e|xpand_en|
|00003ec0| 76 20 28 66 69 6c 65 29 | 29 3b 0a 09 09 09 09 6d |v (file)|);.....m|
|00003ed0| 65 73 67 20 28 53 61 76 | 66 69 6c 2c 20 46 49 4c |esg (Sav|fil, FIL|
|00003ee0| 45 5f 4d 53 47 29 3b 0a | 09 09 09 09 63 6c 72 62 |E_MSG);.|....clrb|
|00003ef0| 75 66 20 28 29 3b 0a 09 | 09 09 09 6d 6b 62 75 66 |uf ();..|...mkbuf|
|00003f00| 20 28 29 3b 0a 09 09 09 | 09 64 66 6c 74 73 6f 70 | ();....|.dfltsop|
|00003f10| 74 20 28 66 69 6c 65 29 | 3b 0a 09 09 09 09 2a 73 |t (file)|;.....*s|
|00003f20| 74 61 74 75 73 20 3d 20 | 64 6f 72 65 61 64 20 28 |tatus = |doread (|
|00003f30| 30 2c 20 66 69 6c 65 2c | 20 74 66 6c 61 67 29 3b |0, file,| tflag);|
|00003f40| 0a 09 09 09 09 46 69 72 | 73 74 5f 61 66 66 65 63 |.....Fir|st_affec|
|00003f50| 74 65 64 20 3d 20 30 3b | 0a 09 09 09 09 43 75 72 |ted = 0;|.....Cur|
|00003f60| 6c 6e 20 3d 20 6d 69 6e | 20 28 31 2c 20 4c 61 73 |ln = min| (1, Las|
|00003f70| 74 6c 6e 29 3b 0a 09 09 | 09 09 42 75 66 66 65 72 |tln);...|..Buffer|
|00003f80| 5f 63 68 61 6e 67 65 64 | 20 3d 20 4e 4f 3b 0a 09 |_changed| = NO;..|
|00003f90| 09 09 7d 0a 09 09 09 65 | 6c 73 65 0a 09 09 09 09 |..}....e|lse.....|
|00003fa0| 2a 73 74 61 74 75 73 20 | 3d 20 45 52 52 3b 0a 09 |*status |= ERR;..|
|00003fb0| 09 62 72 65 61 6b 3b 0a | 0a 09 63 61 73 65 20 50 |.break;.|..case P|
|00003fc0| 52 49 4e 54 46 49 4c 3a | 0a 09 63 61 73 65 20 55 |RINTFIL:|..case U|
|00003fd0| 43 50 52 49 4e 54 46 49 | 4c 3a 0a 09 09 69 66 20 |CPRINTFI|L:...if |
|00003fe0| 28 4e 6c 69 6e 65 73 20 | 21 3d 20 30 29 0a 09 09 |(Nlines |!= 0)...|
|00003ff0| 09 45 72 72 63 6f 64 65 | 20 3d 20 45 42 41 44 4c |.Errcode| = EBADL|
|00004000| 4e 52 3b 0a 09 09 65 6c | 73 65 20 69 66 20 28 67 |NR;...el|se if (g|
|00004010| 65 74 66 6e 20 28 6c 69 | 6e 2c 20 69 2c 20 66 69 |etfn (li|n, i, fi|
|00004020| 6c 65 29 20 3d 3d 20 4f | 4b 29 0a 09 09 7b 0a 09 |le) == O|K)...{..|
|00004030| 09 09 73 74 72 63 70 79 | 20 28 53 61 76 66 69 6c |..strcpy| (Savfil|
|00004040| 2c 20 65 78 70 61 6e 64 | 5f 65 6e 76 20 28 66 69 |, expand|_env (fi|
|00004050| 6c 65 29 29 3b 0a 09 09 | 09 6d 65 73 67 20 28 53 |le));...|.mesg (S|
|00004060| 61 76 66 69 6c 2c 20 46 | 49 4c 45 5f 4d 53 47 29 |avfil, F|ILE_MSG)|
|00004070| 3b 0a 09 09 09 2a 73 74 | 61 74 75 73 20 3d 20 4f |;....*st|atus = O|
|00004080| 4b 3b 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |K;...}..|.break;.|
|00004090| 0a 09 63 61 73 65 20 52 | 45 41 44 43 4f 4d 3a 0a |..case R|EADCOM:.|
|000040a0| 09 63 61 73 65 20 55 43 | 52 45 41 44 43 4f 4d 3a |.case UC|READCOM:|
|000040b0| 0a 09 09 69 2b 2b 3b 0a | 09 09 69 66 20 28 63 6b |...i++;.|..if (ck|
|000040c0| 63 68 61 72 20 28 27 78 | 27 2c 20 27 58 27 2c 20 |char ('x|', 'X', |
|000040d0| 6c 69 6e 2c 20 26 69 2c | 20 26 74 66 6c 61 67 2c |lin, &i,| &tflag,|
|000040e0| 20 73 74 61 74 75 73 29 | 20 3d 3d 20 4f 4b 29 0a | status)| == OK).|
|000040f0| 09 09 09 69 66 20 28 67 | 65 74 66 6e 20 28 6c 69 |...if (g|etfn (li|
|00004100| 6e 2c 20 69 20 2d 20 31 | 2c 20 66 69 6c 65 29 20 |n, i - 1|, file) |
|00004110| 3d 3d 20 4f 4b 29 0a 09 | 09 09 7b 0a 09 09 09 09 |== OK)..|..{.....|
|00004120| 64 65 66 61 6c 74 20 28 | 43 75 72 6c 6e 2c 20 43 |defalt (|Curln, C|
|00004130| 75 72 6c 6e 29 3b 0a 09 | 09 09 09 2a 73 74 61 74 |urln);..|...*stat|
|00004140| 75 73 20 3d 20 64 6f 72 | 65 61 64 20 28 4c 69 6e |us = dor|ead (Lin|
|00004150| 65 32 2c 20 66 69 6c 65 | 2c 20 74 66 6c 61 67 29 |e2, file|, tflag)|
|00004160| 3b 0a 09 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |;....}..|.break;.|
|00004170| 0a 09 63 61 73 65 20 57 | 52 49 54 45 43 4f 4d 3a |..case W|RITECOM:|
|00004180| 0a 09 63 61 73 65 20 55 | 43 57 52 49 54 45 43 4f |..case U|CWRITECO|
|00004190| 4d 3a 0a 09 09 69 2b 2b | 3b 0a 09 09 66 6c 61 67 |M:...i++|;...flag|
|000041a0| 20 3d 20 4e 4f 3b 0a 09 | 09 66 66 6c 61 67 20 3d | = NO;..|.fflag =|
|000041b0| 20 4e 4f 3b 0a 09 09 6a | 75 6e 6b 20 3d 20 63 6b | NO;...j|unk = ck|
|000041c0| 63 68 61 72 20 28 27 3e | 27 2c 20 27 2b 27 2c 20 |char ('>|', '+', |
|000041d0| 6c 69 6e 2c 20 26 69 2c | 20 26 66 6c 61 67 2c 20 |lin, &i,| &flag, |
|000041e0| 26 6a 75 6e 6b 29 3b 0a | 09 09 69 66 20 28 66 6c |&junk);.|..if (fl|
|000041f0| 61 67 20 3d 3d 20 4e 4f | 29 0a 09 09 09 6a 75 6e |ag == NO|)....jun|
|00004200| 6b 20 3d 20 63 6b 63 68 | 61 72 20 28 27 21 27 2c |k = ckch|ar ('!',|
|00004210| 20 27 21 27 2c 20 6c 69 | 6e 2c 20 26 69 2c 20 26 | '!', li|n, &i, &|
|00004220| 66 66 6c 61 67 2c 20 26 | 6a 75 6e 6b 29 3b 0a 09 |fflag, &|junk);..|
|00004230| 09 6a 75 6e 6b 20 3d 20 | 63 6b 63 68 61 72 20 28 |.junk = |ckchar (|
|00004240| 27 78 27 2c 20 27 58 27 | 2c 20 6c 69 6e 2c 20 26 |'x', 'X'|, lin, &|
|00004250| 69 2c 20 26 74 66 6c 61 | 67 2c 20 26 6a 75 6e 6b |i, &tfla|g, &junk|
|00004260| 29 3b 0a 09 09 69 66 20 | 28 67 65 74 66 6e 20 28 |);...if |(getfn (|
|00004270| 6c 69 6e 2c 20 69 20 2d | 20 31 2c 20 66 69 6c 65 |lin, i -| 1, file|
|00004280| 29 20 3d 3d 20 4f 4b 29 | 0a 09 09 7b 0a 09 09 09 |) == OK)|...{....|
|00004290| 64 65 66 61 6c 74 20 28 | 31 2c 20 4c 61 73 74 6c |defalt (|1, Lastl|
|000042a0| 6e 29 3b 0a 09 09 09 2a | 73 74 61 74 75 73 20 3d |n);....*|status =|
|000042b0| 20 64 6f 77 72 69 74 20 | 28 4c 69 6e 65 31 2c 20 | dowrit |(Line1, |
|000042c0| 4c 69 6e 65 32 2c 20 66 | 69 6c 65 2c 20 66 6c 61 |Line2, f|ile, fla|
|000042d0| 67 2c 20 66 66 6c 61 67 | 2c 20 74 66 6c 61 67 29 |g, fflag|, tflag)|
|000042e0| 3b 0a 09 09 7d 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |;...}...|break;..|
|000042f0| 09 63 61 73 65 20 50 52 | 49 4e 54 3a 0a 09 63 61 |.case PR|INT:..ca|
|00004300| 73 65 20 55 43 50 52 49 | 4e 54 3a 0a 09 09 69 66 |se UCPRI|NT:...if|
|00004310| 20 28 6c 69 6e 5b 69 20 | 2b 20 31 5d 20 3d 3d 20 | (lin[i |+ 1] == |
|00004320| 27 5c 6e 27 29 0a 09 09 | 7b 0a 09 09 09 64 65 66 |'\n')...|{....def|
|00004330| 61 6c 74 20 28 31 2c 20 | 54 6f 70 6c 6e 29 3b 0a |alt (1, |Topln);.|
|00004340| 09 09 09 2a 73 74 61 74 | 75 73 20 3d 20 64 6f 70 |...*stat|us = dop|
|00004350| 72 6e 74 20 28 4c 69 6e | 65 31 2c 20 4c 69 6e 65 |rnt (Lin|e1, Line|
|00004360| 32 29 3b 0a 09 09 7d 0a | 09 09 62 72 65 61 6b 3b |2);...}.|..break;|
|00004370| 0a 0a 09 63 61 73 65 20 | 50 41 47 45 43 4f 4d 3a |...case |PAGECOM:|
|00004380| 0a 09 09 64 65 66 61 6c | 74 20 28 31 2c 20 6d 69 |...defal|t (1, mi|
|00004390| 6e 20 28 4c 61 73 74 6c | 6e 2c 20 42 6f 74 72 6f |n (Lastl|n, Botro|
|000043a0| 77 20 2d 20 54 6f 70 72 | 6f 77 20 2b 20 54 6f 70 |w - Topr|ow + Top|
|000043b0| 6c 6e 29 29 3b 0a 09 09 | 69 66 20 28 4c 69 6e 65 |ln));...|if (Line|
|000043c0| 31 20 3c 3d 20 30 29 0a | 09 09 09 45 72 72 63 6f |1 <= 0).|...Errco|
|000043d0| 64 65 20 3d 20 45 4f 52 | 41 4e 47 45 3b 0a 09 09 |de = EOR|ANGE;...|
|000043e0| 65 6c 73 65 20 69 66 20 | 28 6c 69 6e 5b 69 20 2b |else if |(lin[i +|
|000043f0| 20 31 5d 20 3d 3d 20 27 | 5c 6e 27 29 0a 09 09 7b | 1] == '|\n')...{|
|00004400| 0a 09 09 09 54 6f 70 6c | 6e 20 3d 20 4c 69 6e 65 |....Topl|n = Line|
|00004410| 32 3b 0a 09 09 09 43 75 | 72 6c 6e 20 3d 20 4c 69 |2;....Cu|rln = Li|
|00004420| 6e 65 32 3b 0a 09 09 09 | 46 69 72 73 74 5f 61 66 |ne2;....|First_af|
|00004430| 66 65 63 74 65 64 20 3d | 20 4c 69 6e 65 32 3b 0a |fected =| Line2;.|
|00004440| 09 09 09 2a 73 74 61 74 | 75 73 20 3d 20 4f 4b 3b |...*stat|us = OK;|
|00004450| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 09 |...}...b|reak;...|
|00004460| 63 61 73 65 20 4e 41 4d | 45 43 4f 4d 3a 0a 09 63 |case NAM|ECOM:..c|
|00004470| 61 73 65 20 55 43 4e 41 | 4d 45 43 4f 4d 3a 0a 09 |ase UCNA|MECOM:..|
|00004480| 09 69 2b 2b 3b 0a 09 09 | 69 66 20 28 67 65 74 6b |.i++;...|if (getk|
|00004490| 6e 20 28 6c 69 6e 2c 20 | 26 69 2c 20 26 6b 6e 61 |n (lin, |&i, &kna|
|000044a0| 6d 65 2c 20 44 45 46 41 | 55 4c 54 4e 41 4d 45 29 |me, DEFA|ULTNAME)|
|000044b0| 20 21 3d 20 45 52 52 0a | 09 09 20 20 20 20 26 26 | != ERR.|.. &&|
|000044c0| 20 6c 69 6e 5b 69 5d 20 | 3d 3d 20 27 5c 6e 27 29 | lin[i] |== '\n')|
|000044d0| 0a 09 09 09 75 6e 69 71 | 75 65 6c 79 5f 6e 61 6d |....uniq|uely_nam|
|000044e0| 65 20 28 6b 6e 61 6d 65 | 2c 20 73 74 61 74 75 73 |e (kname|, status|
|000044f0| 29 3b 0a 09 09 62 72 65 | 61 6b 3b 0a 0a 09 63 61 |);...bre|ak;...ca|
|00004500| 73 65 20 4d 41 52 4b 43 | 4f 4d 3a 0a 09 63 61 73 |se MARKC|OM:..cas|
|00004510| 65 20 55 43 4d 41 52 4b | 43 4f 4d 3a 0a 09 09 69 |e UCMARK|COM:...i|
|00004520| 2b 2b 3b 0a 09 09 69 66 | 20 28 67 65 74 6b 6e 20 |++;...if| (getkn |
|00004530| 28 6c 69 6e 2c 20 26 69 | 2c 20 26 6b 6e 61 6d 65 |(lin, &i|, &kname|
|00004540| 2c 20 44 45 46 41 55 4c | 54 4e 41 4d 45 29 20 21 |, DEFAUL|TNAME) !|
|00004550| 3d 20 45 52 52 0a 09 09 | 20 20 20 20 26 26 20 6c |= ERR...| && l|
|00004560| 69 6e 5b 69 5d 20 3d 3d | 20 27 5c 6e 27 29 0a 09 |in[i] ==| '\n')..|
|00004570| 09 7b 0a 09 09 09 64 65 | 66 61 6c 74 20 28 43 75 |.{....de|falt (Cu|
|00004580| 72 6c 6e 2c 20 43 75 72 | 6c 6e 29 3b 0a 09 09 09 |rln, Cur|ln);....|
|00004590| 2a 73 74 61 74 75 73 20 | 3d 20 64 6f 6d 61 72 6b |*status |= domark|
|000045a0| 20 28 6b 6e 61 6d 65 29 | 3b 0a 09 09 7d 0a 09 09 | (kname)|;...}...|
|000045b0| 62 72 65 61 6b 3b 0a 0a | 09 63 61 73 65 20 27 5c |break;..|.case '\|
|000045c0| 6e 27 3a 0a 09 09 6c 69 | 6e 65 33 20 3d 20 6e 65 |n':...li|ne3 = ne|
|000045d0| 78 74 6c 6e 20 28 43 75 | 72 6c 6e 29 3b 0a 09 09 |xtln (Cu|rln);...|
|000045e0| 64 65 66 61 6c 74 20 28 | 6c 69 6e 65 33 2c 20 6c |defalt (|line3, l|
|000045f0| 69 6e 65 33 29 3b 0a 09 | 09 2a 73 74 61 74 75 73 |ine3);..|.*status|
|00004600| 20 3d 20 64 6f 70 72 6e | 74 20 28 4c 69 6e 65 32 | = doprn|t (Line2|
|00004610| 2c 20 4c 69 6e 65 32 29 | 3b 0a 09 09 62 72 65 61 |, Line2)|;...brea|
|00004620| 6b 3b 0a 0a 09 63 61 73 | 65 20 4c 4f 43 41 54 45 |k;...cas|e LOCATE|
|00004630| 43 4d 44 3a 0a 09 63 61 | 73 65 20 55 43 4c 4f 43 |CMD:..ca|se UCLOC|
|00004640| 41 54 45 43 4d 44 3a 0a | 09 09 69 66 20 28 6c 69 |ATECMD:.|..if (li|
|00004650| 6e 5b 69 2b 31 5d 20 3d | 3d 20 27 5c 6e 27 29 0a |n[i+1] =|= '\n').|
|00004660| 09 09 7b 0a 09 09 09 63 | 68 61 72 20 2a 73 79 73 |..{....c|har *sys|
|00004670| 6e 61 6d 65 20 28 29 3b | 0a 0a 09 09 09 72 65 6d |name ();|.....rem|
|00004680| 61 72 6b 20 28 73 79 73 | 6e 61 6d 65 20 28 29 29 |ark (sys|name ())|
|00004690| 3b 0a 09 09 09 2a 73 74 | 61 74 75 73 20 3d 20 4f |;....*st|atus = O|
|000046a0| 4b 3b 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |K;...}..|.break;.|
|000046b0| 0a 09 63 61 73 65 20 4f | 50 54 43 4f 4d 3a 0a 09 |..case O|PTCOM:..|
|000046c0| 63 61 73 65 20 55 43 4f | 50 54 43 4f 4d 3a 0a 09 |case UCO|PTCOM:..|
|000046d0| 09 69 66 20 28 4e 6c 69 | 6e 65 73 20 3d 3d 20 30 |.if (Nli|nes == 0|
|000046e0| 29 0a 09 09 09 2a 73 74 | 61 74 75 73 20 3d 20 64 |)....*st|atus = d|
|000046f0| 6f 6f 70 74 20 28 6c 69 | 6e 2c 20 26 69 29 3b 0a |oopt (li|n, &i);.|
|00004700| 09 09 65 6c 73 65 0a 09 | 09 09 45 72 72 63 6f 64 |..else..|..Errcod|
|00004710| 65 20 3d 20 45 42 41 44 | 4c 4e 52 3b 0a 09 09 62 |e = EBAD|LNR;...b|
|00004720| 72 65 61 6b 3b 0a 0a 09 | 63 61 73 65 20 51 55 49 |reak;...|case QUI|
|00004730| 54 3a 0a 09 63 61 73 65 | 20 55 43 51 55 49 54 3a |T:..case| UCQUIT:|
|00004740| 0a 09 09 69 2b 2b 3b 0a | 09 09 69 66 20 28 4e 6c |...i++;.|..if (Nl|
|00004750| 69 6e 65 73 20 21 3d 20 | 30 29 0a 09 09 09 45 72 |ines != |0)....Er|
|00004760| 72 63 6f 64 65 20 3d 20 | 45 42 41 44 4c 4e 52 3b |rcode = |EBADLNR;|
|00004770| 0a 09 09 65 6c 73 65 20 | 69 66 20 28 63 6b 75 70 |...else |if (ckup|
|00004780| 64 20 28 6c 69 6e 2c 20 | 26 69 2c 20 51 55 49 54 |d (lin, |&i, QUIT|
|00004790| 2c 20 73 74 61 74 75 73 | 29 20 3d 3d 20 4f 4b 29 |, status|) == OK)|
|000047a0| 0a 09 09 09 69 66 20 28 | 6c 69 6e 5b 69 5d 20 3d |....if (|lin[i] =|
|000047b0| 3d 20 27 5c 6e 27 29 0a | 09 09 09 09 2a 73 74 61 |= '\n').|....*sta|
|000047c0| 74 75 73 20 3d 20 45 4f | 46 3b 0a 09 09 09 65 6c |tus = EO|F;....el|
|000047d0| 73 65 0a 09 09 09 09 2a | 73 74 61 74 75 73 20 3d |se.....*|status =|
|000047e0| 20 45 52 52 3b 0a 09 09 | 62 72 65 61 6b 3b 0a 0a | ERR;...|break;..|
|000047f0| 09 63 61 73 65 20 48 45 | 4c 50 3a 0a 09 63 61 73 |.case HE|LP:..cas|
|00004800| 65 20 55 43 48 45 4c 50 | 3a 0a 09 09 69 2b 2b 3b |e UCHELP|:...i++;|
|00004810| 0a 09 09 69 66 20 28 4e | 6c 69 6e 65 73 20 3d 3d |...if (N|lines ==|
|00004820| 20 30 29 0a 09 09 09 64 | 6f 68 65 6c 70 20 28 6c | 0)....d|ohelp (l|
|00004830| 69 6e 2c 20 26 69 2c 20 | 73 74 61 74 75 73 29 3b |in, &i, |status);|
|00004840| 0a 09 09 65 6c 73 65 0a | 09 09 09 45 72 72 63 6f |...else.|...Errco|
|00004850| 64 65 20 3d 20 45 42 41 | 44 4c 4e 52 3b 0a 09 09 |de = EBA|DLNR;...|
|00004860| 62 72 65 61 6b 3b 0a 0a | 09 63 61 73 65 20 4d 49 |break;..|.case MI|
|00004870| 53 43 43 4f 4d 3a 09 09 | 2f 2a 20 6d 69 73 63 65 |SCCOM:..|/* misce|
|00004880| 6c 6c 61 6e 69 6f 75 73 | 20 66 65 61 74 75 72 65 |llanious| feature|
|00004890| 73 20 2a 2f 0a 09 63 61 | 73 65 20 55 43 4d 49 53 |s */..ca|se UCMIS|
|000048a0| 43 43 4f 4d 3a 0a 09 09 | 69 2b 2b 3b 0a 09 09 73 |CCOM:...|i++;...s|
|000048b0| 77 69 74 63 68 20 28 6c | 69 6e 5b 69 5d 29 20 7b |witch (l|in[i]) {|
|000048c0| 0a 09 09 63 61 73 65 20 | 27 62 27 3a 09 2f 2a 20 |...case |'b':./* |
|000048d0| 64 72 61 77 20 62 6f 78 | 20 2a 2f 0a 09 09 63 61 |draw box| */...ca|
|000048e0| 73 65 20 27 42 27 3a 0a | 09 09 09 64 65 66 61 6c |se 'B':.|...defal|
|000048f0| 74 20 28 43 75 72 6c 6e | 2c 20 43 75 72 6c 6e 29 |t (Curln|, Curln)|
|00004900| 3b 0a 09 09 09 69 2b 2b | 3b 0a 09 09 09 2a 73 74 |;....i++|;....*st|
|00004910| 61 74 75 73 20 3d 20 64 | 72 61 77 5f 62 6f 78 20 |atus = d|raw_box |
|00004920| 28 6c 69 6e 2c 20 26 69 | 29 3b 0a 09 09 09 62 72 |(lin, &i|);....br|
|00004930| 65 61 6b 3b 0a 0a 09 09 | 64 65 66 61 75 6c 74 3a |eak;....|default:|
|00004940| 0a 09 09 09 45 72 72 63 | 6f 64 65 20 3d 20 45 57 |....Errc|ode = EW|
|00004950| 48 41 54 5a 41 54 3b 0a | 09 09 09 62 72 65 61 6b |HATZAT;.|...break|
|00004960| 3b 0a 09 09 7d 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |;...}...|break;..|
|00004970| 09 63 61 73 65 20 53 48 | 45 4c 4c 43 4f 4d 3a 0a |.case SH|ELLCOM:.|
|00004980| 09 09 69 2b 2b 3b 0a 09 | 09 64 65 66 61 6c 74 20 |..i++;..|.defalt |
|00004990| 28 43 75 72 6c 6e 2c 20 | 43 75 72 6c 6e 29 3b 0a |(Curln, |Curln);.|
|000049a0| 09 09 2a 73 74 61 74 75 | 73 20 3d 20 64 6f 73 68 |..*statu|s = dosh|
|000049b0| 65 6c 6c 20 28 6c 69 6e | 2c 20 26 69 29 3b 0a 09 |ell (lin|, &i);..|
|000049c0| 09 62 72 65 61 6b 3b 0a | 0a 09 64 65 66 61 75 6c |.break;.|..defaul|
|000049d0| 74 3a 0a 09 09 45 72 72 | 63 6f 64 65 20 3d 20 45 |t:...Err|code = E|
|000049e0| 57 48 41 54 5a 41 54 3b | 09 2f 2a 20 63 6f 6d 6d |WHATZAT;|./* comm|
|000049f0| 61 6e 64 20 6e 6f 74 20 | 72 65 63 6f 67 6e 69 7a |and not |recogniz|
|00004a00| 65 64 20 2a 2f 0a 09 09 | 62 72 65 61 6b 3b 0a 09 |ed */...|break;..|
|00004a10| 7d 0a 0a 09 69 66 20 28 | 2a 73 74 61 74 75 73 20 |}...if (|*status |
|00004a20| 3d 3d 20 4f 4b 29 0a 09 | 09 50 72 6f 62 61 74 69 |== OK)..|.Probati|
|00004a30| 6f 6e 20 3d 20 4e 4f 3b | 0a 0a 09 72 65 74 75 72 |on = NO;|...retur|
|00004a40| 6e 20 28 2a 73 74 61 74 | 75 73 29 3b 0a 7d 0a 0a |n (*stat|us);.}..|
|00004a50| 0a 2f 2a 20 64 6f 68 65 | 6c 70 20 2d 2d 2d 20 64 |./* dohe|lp --- d|
|00004a60| 69 73 70 6c 61 79 20 64 | 6f 63 75 6d 65 6e 74 61 |isplay d|ocumenta|
|00004a70| 74 69 6f 6e 20 61 62 6f | 75 74 20 65 64 69 74 6f |tion abo|ut edito|
|00004a80| 72 20 2a 2f 0a 0a 64 6f | 68 65 6c 70 20 28 6c 69 |r */..do|help (li|
|00004a90| 6e 2c 20 69 2c 20 73 74 | 61 74 75 73 29 0a 63 68 |n, i, st|atus).ch|
|00004aa0| 61 72 20 6c 69 6e 5b 5d | 3b 0a 69 6e 74 20 2a 69 |ar lin[]|;.int *i|
|00004ab0| 2c 20 2a 73 74 61 74 75 | 73 3b 0a 7b 0a 09 63 68 |, *statu|s;.{..ch|
|00004ac0| 61 72 20 66 69 6c 65 6e | 61 6d 65 5b 4d 41 58 4c |ar filen|ame[MAXL|
|00004ad0| 49 4e 45 5d 3b 0a 09 63 | 68 61 72 20 73 77 74 5f |INE];..c|har swt_|
|00004ae0| 66 69 6c 65 6e 61 6d 65 | 5b 4d 41 58 4c 49 4e 45 |filename|[MAXLINE|
|00004af0| 5d 3b 0a 09 73 74 61 74 | 69 63 20 63 68 61 72 20 |];..stat|ic char |
|00004b00| 68 65 6c 70 64 69 72 5b | 5d 20 3d 20 22 2f 75 73 |helpdir[|] = "/us|
|00004b10| 72 2f 6c 6f 63 61 6c 2f | 6c 69 62 2f 73 65 5f 68 |r/local/|lib/se_h|
|00004b20| 22 3b 09 2f 2a 20 68 65 | 6c 70 20 73 63 72 69 70 |";./* he|lp scrip|
|00004b30| 74 73 20 2a 2f 0a 09 69 | 6e 74 20 6a 3b 0a 09 46 |ts */..i|nt j;..F|
|00004b40| 49 4c 45 20 2a 66 70 2c | 20 2a 66 6f 70 65 6e 20 |ILE *fp,| *fopen |
|00004b50| 28 29 3b 0a 0a 09 53 4b | 49 50 42 4c 20 28 6c 69 |();...SK|IPBL (li|
|00004b60| 6e 2c 20 2a 69 29 3b 0a | 09 69 66 20 28 6c 69 6e |n, *i);.|.if (lin|
|00004b70| 5b 2a 69 5d 20 3d 3d 20 | 4e 45 57 4c 49 4e 45 29 |[*i] == |NEWLINE)|
|00004b80| 0a 09 09 73 70 72 69 6e | 74 66 20 28 66 69 6c 65 |...sprin|tf (file|
|00004b90| 6e 61 6d 65 2c 20 22 25 | 73 2f 65 6c 70 22 2c 20 |name, "%|s/elp", |
|00004ba0| 68 65 6c 70 64 69 72 29 | 3b 0a 09 65 6c 73 65 0a |helpdir)|;..else.|
|00004bb0| 09 7b 0a 09 09 2f 2a 20 | 62 75 69 6c 64 20 66 69 |.{.../* |build fi|
|00004bc0| 6c 65 6e 61 6d 65 20 66 | 72 6f 6d 20 74 65 78 74 |lename f|rom text|
|00004bd0| 20 61 66 74 65 72 20 22 | 68 22 20 2a 2f 0a 09 09 | after "|h" */...|
|00004be0| 73 70 72 69 6e 74 66 20 | 28 66 69 6c 65 6e 61 6d |sprintf |(filenam|
|00004bf0| 65 2c 20 22 25 73 2f 25 | 73 22 2c 20 68 65 6c 70 |e, "%s/%|s", help|
|00004c00| 64 69 72 2c 20 26 6c 69 | 6e 5b 2a 69 5d 29 3b 0a |dir, &li|n[*i]);.|
|00004c10| 09 09 6a 20 3d 20 73 74 | 72 6c 65 6e 20 28 66 69 |..j = st|rlen (fi|
|00004c20| 6c 65 6e 61 6d 65 29 3b | 0a 09 09 66 69 6c 65 6e |lename);|...filen|
|00004c30| 61 6d 65 5b 6a 2d 31 5d | 20 3d 20 45 4f 53 3b 09 |ame[j-1]| = EOS;.|
|00004c40| 2f 2a 20 6c 6f 70 20 6f | 66 66 20 6e 65 77 6c 69 |/* lop o|ff newli|
|00004c50| 6e 65 20 2a 2f 0a 09 7d | 0a 0a 09 2f 2a 20 6d 61 |ne */..}|.../* ma|
|00004c60| 70 20 74 6f 20 6c 6f 77 | 65 72 20 63 61 73 65 20 |p to low|er case |
|00004c70| 2a 2f 0a 09 66 6f 72 20 | 28 6a 20 3d 20 30 3b 20 |*/..for |(j = 0; |
|00004c80| 66 69 6c 65 6e 61 6d 65 | 5b 6a 5d 20 21 3d 20 45 |filename|[j] != E|
|00004c90| 4f 53 3b 20 6a 2b 2b 29 | 0a 09 09 69 66 20 28 69 |OS; j++)|...if (i|
|00004ca0| 73 75 70 70 65 72 20 28 | 66 69 6c 65 6e 61 6d 65 |supper (|filename|
|00004cb0| 5b 6a 5d 29 29 0a 09 09 | 09 66 69 6c 65 6e 61 6d |[j]))...|.filenam|
|00004cc0| 65 5b 6a 5d 20 3d 20 74 | 6f 6c 6f 77 65 72 20 28 |e[j] = t|olower (|
|00004cd0| 66 69 6c 65 6e 61 6d 65 | 5b 6a 5d 29 3b 0a 0a 09 |filename|[j]);...|
|00004ce0| 2a 73 74 61 74 75 73 20 | 3d 20 4f 4b 3b 0a 09 69 |*status |= OK;..i|
|00004cf0| 66 20 28 28 66 70 20 3d | 20 66 6f 70 65 6e 20 28 |f ((fp =| fopen (|
|00004d00| 66 69 6c 65 6e 61 6d 65 | 2c 20 22 72 22 29 29 20 |filename|, "r")) |
|00004d10| 3d 3d 20 4e 55 4c 4c 29 | 0a 09 7b 0a 09 09 2a 73 |== NULL)|..{...*s|
|00004d20| 74 61 74 75 73 20 3d 20 | 45 52 52 3b 0a 09 09 45 |tatus = |ERR;...E|
|00004d30| 72 72 63 6f 64 65 20 3d | 20 45 4e 4f 48 45 4c 50 |rrcode =| ENOHELP|
|00004d40| 3b 0a 09 7d 0a 09 65 6c | 73 65 0a 09 7b 0a 23 69 |;..}..el|se..{.#i|
|00004d50| 66 64 65 66 20 75 33 62 | 32 0a 09 09 2f 2a 20 33 |fdef u3b|2.../* 3|
|00004d60| 42 32 20 73 65 65 6d 73 | 20 74 6f 20 68 61 76 65 |B2 seems| to have|
|00004d70| 20 70 72 6f 62 6c 65 6d | 73 20 77 69 74 68 20 73 | problem|s with s|
|00004d80| 74 64 69 6f 20 61 6e 64 | 20 6d 61 6c 6c 6f 63 2e |tdio and| malloc.|
|00004d90| 2e 2e 20 2a 2f 0a 09 09 | 63 68 61 72 20 62 75 66 |.. */...|char buf|
|00004da0| 5b 42 55 46 53 49 5a 5d | 3b 0a 09 09 73 65 74 62 |[BUFSIZ]|;...setb|
|00004db0| 75 66 20 28 66 70 2c 20 | 62 75 66 29 3b 0a 23 65 |uf (fp, |buf);.#e|
|00004dc0| 6e 64 69 66 0a 0a 09 09 | 2f 2a 20 73 74 61 74 75 |ndif....|/* statu|
|00004dd0| 73 20 69 73 20 4f 4b 20 | 2a 2f 0a 09 09 64 69 73 |s is OK |*/...dis|
|00004de0| 70 6c 61 79 5f 6d 65 73 | 73 61 67 65 20 28 66 70 |play_mes|sage (fp|
|00004df0| 29 3b 09 2f 2a 20 64 69 | 73 70 6c 61 79 20 74 68 |);./* di|splay th|
|00004e00| 65 20 68 65 6c 70 20 73 | 63 72 69 70 74 20 2a 2f |e help s|cript */|
|00004e10| 0a 09 09 66 63 6c 6f 73 | 65 20 28 66 70 29 3b 0a |...fclos|e (fp);.|
|00004e20| 09 7d 0a 7d 0a 0a 0a 2f | 2a 20 64 6f 6f 70 74 20 |.}.}.../|* doopt |
|00004e30| 2d 2d 2d 20 69 6e 74 65 | 72 70 72 65 74 20 6f 70 |--- inte|rpret op|
|00004e40| 74 69 6f 6e 20 63 6f 6d | 6d 61 6e 64 20 2a 2f 0a |tion com|mand */.|
|00004e50| 0a 69 6e 74 20 64 6f 6f | 70 74 20 28 6c 69 6e 2c |.int doo|pt (lin,|
|00004e60| 20 69 29 0a 63 68 61 72 | 20 6c 69 6e 5b 5d 3b 0a | i).char| lin[];.|
|00004e70| 69 6e 74 20 2a 69 3b 0a | 7b 0a 09 69 6e 74 20 74 |int *i;.|{..int t|
|00004e80| 65 6d 70 2c 20 6c 69 6e | 65 2c 20 73 74 61 74 3b |emp, lin|e, stat;|
|00004e90| 0a 09 63 68 61 72 20 74 | 65 6d 70 73 74 72 5b 34 |..char t|empstr[4|
|00004ea0| 5d 3b 0a 09 69 6e 74 20 | 72 65 74 3b 0a 09 69 6e |];..int |ret;..in|
|00004eb0| 74 20 64 6f 73 6f 70 74 | 20 28 29 3b 0a 09 69 6e |t dosopt| ();..in|
|00004ec0| 74 20 63 74 6f 69 20 28 | 29 3b 0a 0a 09 28 2a 69 |t ctoi (|);...(*i|
|00004ed0| 29 2b 2b 3b 0a 09 72 65 | 74 20 3d 20 45 52 52 3b |)++;..re|t = ERR;|
|00004ee0| 0a 0a 09 73 77 69 74 63 | 68 20 28 6c 69 6e 5b 2a |...switc|h (lin[*|
|00004ef0| 69 5d 29 20 7b 0a 0a 09 | 63 61 73 65 20 27 67 27 |i]) {...|case 'g'|
|00004f00| 3a 09 09 2f 2a 20 73 75 | 62 73 74 69 74 75 74 65 |:../* su|bstitute|
|00004f10| 73 20 69 6e 20 61 20 67 | 6c 6f 62 61 6c 20 63 61 |s in a g|lobal ca|
|00004f20| 6e 28 6e 6f 74 29 20 66 | 61 69 6c 20 2a 2f 0a 09 |n(not) f|ail */..|
|00004f30| 63 61 73 65 20 27 47 27 | 3a 0a 09 09 69 66 20 28 |case 'G'|:...if (|
|00004f40| 6c 69 6e 5b 2a 69 20 2b | 20 31 5d 20 3d 3d 20 27 |lin[*i +| 1] == '|
|00004f50| 5c 6e 27 29 0a 09 09 7b | 0a 09 09 09 72 65 74 20 |\n')...{|....ret |
|00004f60| 3d 20 4f 4b 3b 0a 09 09 | 09 47 6c 6f 62 61 6c 73 |= OK;...|.Globals|
|00004f70| 20 3d 20 21 20 47 6c 6f | 62 61 6c 73 3b 09 2f 2a | = ! Glo|bals;./*|
|00004f80| 20 74 6f 67 67 6c 65 20 | 2a 2f 0a 09 09 09 69 66 | toggle |*/....if|
|00004f90| 20 28 47 6c 6f 62 61 6c | 73 20 3d 3d 20 59 45 53 | (Global|s == YES|
|00004fa0| 29 0a 09 09 09 09 72 65 | 6d 61 72 6b 20 28 22 66 |).....re|mark ("f|
|00004fb0| 61 69 6c 65 64 20 67 6c | 6f 62 61 6c 20 73 75 62 |ailed gl|obal sub|
|00004fc0| 73 74 69 74 75 74 65 73 | 20 63 6f 6e 74 69 6e 75 |stitutes| continu|
|00004fd0| 65 22 29 3b 0a 09 09 09 | 65 6c 73 65 0a 09 09 09 |e");....|else....|
|00004fe0| 09 72 65 6d 61 72 6b 20 | 28 22 66 61 69 6c 65 64 |.remark |("failed|
|00004ff0| 20 67 6c 6f 62 61 6c 20 | 73 75 62 73 74 69 74 75 | global |substitu|
|00005000| 74 65 73 20 73 74 6f 70 | 22 29 3b 0a 09 09 7d 0a |tes stop|");...}.|
|00005010| 09 09 62 72 65 61 6b 3b | 0a 0a 09 63 61 73 65 20 |..break;|...case |
|00005020| 27 68 27 3a 0a 09 63 61 | 73 65 20 27 48 27 3a 09 |'h':..ca|se 'H':.|
|00005030| 09 2f 2a 20 64 6f 2f 64 | 6f 6e 27 74 20 75 73 65 |./* do/d|on't use|
|00005040| 20 68 61 72 64 77 61 72 | 65 20 69 6e 73 65 72 74 | hardwar|e insert|
|00005050| 2f 64 65 6c 65 74 65 20 | 2a 2f 0a 09 09 69 66 20 |/delete |*/...if |
|00005060| 28 6c 69 6e 5b 2a 69 20 | 2b 20 31 5d 20 3d 3d 20 |(lin[*i |+ 1] == |
|00005070| 27 5c 6e 27 29 0a 09 09 | 7b 0a 09 09 09 72 65 74 |'\n')...|{....ret|
|00005080| 20 3d 20 4f 4b 3b 0a 09 | 09 09 4e 6f 5f 68 61 72 | = OK;..|..No_har|
|00005090| 64 77 61 72 65 20 3d 20 | 21 20 4e 6f 5f 68 61 72 |dware = |! No_har|
|000050a0| 64 77 61 72 65 3b 0a 09 | 09 09 69 66 20 28 4e 6f |dware;..|..if (No|
|000050b0| 5f 68 61 72 64 77 61 72 | 65 20 3d 3d 20 59 45 53 |_hardwar|e == YES|
|000050c0| 29 0a 09 09 09 09 72 65 | 6d 61 72 6b 20 28 22 6e |).....re|mark ("n|
|000050d0| 6f 20 6c 69 6e 65 20 69 | 6e 73 65 72 74 2f 64 65 |o line i|nsert/de|
|000050e0| 6c 65 74 65 22 29 3b 0a | 09 09 09 65 6c 73 65 0a |lete");.|...else.|
|000050f0| 09 09 09 09 72 65 6d 61 | 72 6b 20 28 22 6c 69 6e |....rema|rk ("lin|
|00005100| 65 20 69 6e 73 65 72 74 | 2f 64 65 6c 65 74 65 22 |e insert|/delete"|
|00005110| 29 3b 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |);...}..|.break;.|
|00005120| 0a 09 63 61 73 65 20 27 | 6b 27 3a 09 09 2f 2a 20 |..case '|k':../* |
|00005130| 74 65 6c 6c 20 75 73 65 | 72 20 69 66 20 62 75 66 |tell use|r if buf|
|00005140| 66 65 72 20 73 61 76 65 | 64 20 6f 72 20 6e 6f 74 |fer save|d or not|
|00005150| 20 2a 2f 0a 09 63 61 73 | 65 20 27 4b 27 3a 0a 09 | */..cas|e 'K':..|
|00005160| 09 69 66 20 28 6c 69 6e | 5b 2a 69 20 2b 20 31 5d |.if (lin|[*i + 1]|
|00005170| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 7b 0a 09 09 | == '\n'|)...{...|
|00005180| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 09 69 66 |.ret = O|K;....if|
|00005190| 20 28 42 75 66 66 65 72 | 5f 63 68 61 6e 67 65 64 | (Buffer|_changed|
|000051a0| 20 3d 3d 20 59 45 53 29 | 0a 09 09 09 09 72 65 6d | == YES)|.....rem|
|000051b0| 61 72 6b 20 28 22 6e 6f | 74 20 73 61 76 65 64 22 |ark ("no|t saved"|
|000051c0| 29 3b 0a 09 09 09 65 6c | 73 65 0a 09 09 09 09 72 |);....el|se.....r|
|000051d0| 65 6d 61 72 6b 20 28 22 | 73 61 76 65 64 22 29 3b |emark ("|saved");|
|000051e0| 0a 09 09 7d 0a 09 09 62 | 72 65 61 6b 3b 0a 0a 0a |...}...b|reak;...|
|000051f0| 09 63 61 73 65 20 27 7a | 27 3a 09 2f 2a 20 73 75 |.case 'z|':./* su|
|00005200| 73 70 65 6e 64 20 74 68 | 65 20 65 64 69 74 6f 72 |spend th|e editor|
|00005210| 20 70 72 6f 63 65 73 73 | 20 2a 2f 0a 09 63 61 73 | process| */..cas|
|00005220| 65 20 27 5a 27 3a 0a 09 | 09 69 66 20 28 6c 69 6e |e 'Z':..|.if (lin|
|00005230| 5b 2a 69 20 2b 20 31 5d | 20 3d 3d 20 27 5c 6e 27 |[*i + 1]| == '\n'|
|00005240| 29 0a 09 09 7b 0a 09 09 | 09 72 65 74 20 3d 20 4f |)...{...|.ret = O|
|00005250| 4b 3b 0a 23 69 66 64 65 | 66 20 42 53 44 0a 09 09 |K;.#ifde|f BSD...|
|00005260| 09 69 66 20 28 43 61 74 | 63 68 69 6e 67 5f 73 74 |.if (Cat|ching_st|
|00005270| 6f 70 73 29 0a 09 09 09 | 7b 0a 09 09 09 09 69 66 |ops)....|{.....if|
|00005280| 20 28 42 75 66 66 65 72 | 5f 63 68 61 6e 67 65 64 | (Buffer|_changed|
|00005290| 20 3d 3d 20 59 45 53 29 | 0a 09 09 09 09 09 66 70 | == YES)|......fp|
|000052a0| 72 69 6e 74 66 20 28 73 | 74 64 65 72 72 2c 20 22 |rintf (s|tderr, "|
|000052b0| 57 41 52 4e 49 4e 47 3a | 20 62 75 66 66 65 72 20 |WARNING:| buffer |
|000052c0| 6e 6f 74 20 73 61 76 65 | 64 5c 72 5c 6e 22 29 3b |not save|d\r\n");|
|000052d0| 0a 09 09 09 09 6b 69 6c | 6c 20 28 67 65 74 70 69 |.....kil|l (getpi|
|000052e0| 64 28 29 2c 20 53 49 47 | 54 53 54 50 29 3b 0a 09 |d(), SIG|TSTP);..|
|000052f0| 09 09 09 2f 2a 20 73 74 | 6f 70 5f 68 64 6c 72 28 |.../* st|op_hdlr(|
|00005300| 29 20 77 69 6c 6c 20 64 | 6f 20 61 6c 6c 20 74 68 |) will d|o all th|
|00005310| 65 20 77 6f 72 6b 20 66 | 6f 72 20 75 73 20 2a 2f |e work f|or us */|
|00005320| 0a 09 09 09 7d 0a 23 65 | 6c 73 65 0a 09 09 09 72 |....}.#e|lse....r|
|00005330| 65 6d 61 72 6b 20 28 22 | 70 72 6f 63 65 73 73 20 |emark ("|process |
|00005340| 73 75 73 70 65 6e 73 69 | 6f 6e 20 6e 6f 74 20 61 |suspensi|on not a|
|00005350| 76 61 69 6c 61 62 6c 65 | 22 29 3b 0a 23 65 6e 64 |vailable|");.#end|
|00005360| 69 66 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |if...}..|.break;.|
|00005370| 0a 09 63 61 73 65 20 27 | 74 27 3a 09 2f 2a 20 73 |..case '|t':./* s|
|00005380| 65 74 20 6f 72 20 64 69 | 73 70 6c 61 79 20 74 61 |et or di|splay ta|
|00005390| 62 20 73 74 6f 70 73 20 | 66 6f 72 20 65 78 70 61 |b stops |for expa|
|000053a0| 6e 64 69 6e 67 20 74 61 | 62 73 20 2a 2f 0a 09 63 |nding ta|bs */..c|
|000053b0| 61 73 65 20 27 54 27 3a | 0a 09 09 2b 2b 28 2a 69 |ase 'T':|...++(*i|
|000053c0| 29 3b 0a 09 09 69 66 20 | 28 6c 69 6e 5b 2a 69 5d |);...if |(lin[*i]|
|000053d0| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 7b 0a 09 09 | == '\n'|)...{...|
|000053e0| 09 72 65 6d 61 72 6b 20 | 28 54 61 62 73 74 72 29 |.remark |(Tabstr)|
|000053f0| 3b 0a 09 09 09 72 65 74 | 20 3d 20 4f 4b 3b 0a 09 |;....ret| = OK;..|
|00005400| 09 7d 0a 09 09 65 6c 73 | 65 0a 09 09 7b 0a 09 09 |.}...els|e...{...|
|00005410| 09 72 65 74 20 3d 20 73 | 65 74 74 61 62 20 28 26 |.ret = s|ettab (&|
|00005420| 6c 69 6e 5b 2a 69 5d 29 | 3b 0a 09 09 09 69 66 20 |lin[*i])|;....if |
|00005430| 28 72 65 74 20 3d 3d 20 | 4f 4b 29 0a 09 09 09 09 |(ret == |OK).....|
|00005440| 73 74 72 63 70 79 20 28 | 54 61 62 73 74 72 2c 20 |strcpy (|Tabstr, |
|00005450| 26 6c 69 6e 5b 2a 69 5d | 29 3b 0a 09 09 09 65 6c |&lin[*i]|);....el|
|00005460| 73 65 09 2f 2a 20 64 65 | 66 61 75 6c 74 73 20 77 |se./* de|faults w|
|00005470| 65 72 65 20 73 65 74 20 | 2a 2f 0a 09 09 09 09 73 |ere set |*/.....s|
|00005480| 74 72 63 70 79 20 28 54 | 61 62 73 74 72 2c 20 22 |trcpy (T|abstr, "|
|00005490| 2b 34 22 29 3b 0a 09 09 | 7d 0a 09 09 62 72 65 61 |+4");...|}...brea|
|000054a0| 6b 3b 0a 0a 09 63 61 73 | 65 20 27 77 27 3a 09 2f |k;...cas|e 'w':./|
|000054b0| 2a 20 73 65 74 20 6f 72 | 20 64 69 73 70 6c 61 79 |* set or| display|
|000054c0| 20 77 61 72 6e 69 6e 67 | 20 63 6f 6c 75 6d 6e 20 | warning| column |
|000054d0| 2a 2f 0a 09 63 61 73 65 | 20 27 57 27 3a 0a 09 09 |*/..case| 'W':...|
|000054e0| 2b 2b 28 2a 69 29 3b 0a | 09 09 69 66 20 28 6c 69 |++(*i);.|..if (li|
|000054f0| 6e 5b 2a 69 5d 20 3d 3d | 20 27 5c 6e 27 29 0a 09 |n[*i] ==| '\n')..|
|00005500| 09 09 72 65 74 20 3d 20 | 4f 4b 3b 0a 09 09 65 6c |..ret = |OK;...el|
|00005510| 73 65 0a 09 09 7b 0a 09 | 09 09 74 65 6d 70 20 3d |se...{..|..temp =|
|00005520| 20 63 74 6f 69 20 28 6c | 69 6e 2c 20 69 29 3b 0a | ctoi (l|in, i);.|
|00005530| 09 09 09 69 66 20 28 6c | 69 6e 5b 2a 69 5d 20 3d |...if (l|in[*i] =|
|00005540| 3d 20 27 5c 6e 27 29 0a | 09 09 09 09 69 66 20 28 |= '\n').|....if (|
|00005550| 74 65 6d 70 20 3e 20 30 | 20 26 26 20 74 65 6d 70 |temp > 0| && temp|
|00005560| 20 3c 20 4d 41 58 4c 49 | 4e 45 20 2d 20 33 29 0a | < MAXLI|NE - 3).|
|00005570| 09 09 09 09 7b 0a 09 09 | 09 09 09 72 65 74 20 3d |....{...|...ret =|
|00005580| 20 4f 4b 3b 0a 09 09 09 | 09 09 57 61 72 6e 63 6f | OK;....|..Warnco|
|00005590| 6c 20 3d 20 74 65 6d 70 | 3b 0a 09 09 09 09 7d 0a |l = temp|;.....}.|
|000055a0| 09 09 09 09 65 6c 73 65 | 0a 09 09 09 09 09 45 72 |....else|......Er|
|000055b0| 72 63 6f 64 65 20 3d 20 | 45 4e 4f 4e 53 45 4e 53 |rcode = |ENONSENS|
|000055c0| 45 3b 0a 09 09 7d 0a 09 | 09 69 66 20 28 72 65 74 |E;...}..|.if (ret|
|000055d0| 20 3d 3d 20 4f 4b 29 0a | 09 09 09 73 61 79 6e 75 | == OK).|...saynu|
|000055e0| 6d 20 28 57 61 72 6e 63 | 6f 6c 29 3b 0a 09 09 62 |m (Warnc|ol);...b|
|000055f0| 72 65 61 6b 3b 0a 0a 09 | 63 61 73 65 20 27 2d 27 |reak;...|case '-'|
|00005600| 3a 09 2f 2a 20 66 69 78 | 20 77 69 6e 64 6f 77 20 |:./* fix| window |
|00005610| 69 6e 20 70 6c 61 63 65 | 20 6f 6e 20 73 63 72 65 |in place| on scre|
|00005620| 65 6e 2c 20 6f 72 20 65 | 72 61 73 65 20 69 74 20 |en, or e|rase it |
|00005630| 2a 2f 0a 09 09 2b 2b 28 | 2a 69 29 3b 0a 09 09 69 |*/...++(|*i);...i|
|00005640| 66 20 28 67 65 74 6e 75 | 6d 20 28 6c 69 6e 2c 20 |f (getnu|m (lin, |
|00005650| 69 2c 20 26 6c 69 6e 65 | 2c 20 26 73 74 61 74 29 |i, &line|, &stat)|
|00005660| 20 3d 3d 20 45 4f 46 29 | 0a 09 09 7b 0a 09 09 09 | == EOF)|...{....|
|00005670| 6d 65 73 67 20 28 22 22 | 2c 20 48 45 4c 50 5f 4d |mesg (""|, HELP_M|
|00005680| 53 47 29 3b 0a 09 09 09 | 69 66 20 28 54 6f 70 72 |SG);....|if (Topr|
|00005690| 6f 77 20 3e 20 30 29 0a | 09 09 09 7b 0a 09 09 09 |ow > 0).|...{....|
|000056a0| 09 54 6f 70 6c 6e 20 3d | 20 6d 61 78 20 28 31 2c |.Topln =| max (1,|
|000056b0| 20 54 6f 70 6c 6e 20 2d | 20 54 6f 70 72 6f 77 29 | Topln -| Toprow)|
|000056c0| 3b 0a 09 09 09 09 54 6f | 70 72 6f 77 20 3d 20 30 |;.....To|prow = 0|
|000056d0| 3b 0a 09 09 09 09 46 69 | 72 73 74 5f 61 66 66 65 |;.....Fi|rst_affe|
|000056e0| 63 74 65 64 20 3d 20 54 | 6f 70 6c 6e 3b 0a 09 09 |cted = T|opln;...|
|000056f0| 09 7d 0a 09 09 09 72 65 | 74 20 3d 20 4f 4b 3b 0a |.}....re|t = OK;.|
|00005700| 09 09 7d 0a 09 09 65 6c | 73 65 20 69 66 20 28 73 |..}...el|se if (s|
|00005710| 74 61 74 20 21 3d 20 45 | 52 52 20 26 26 20 6c 69 |tat != E|RR && li|
|00005720| 6e 5b 2a 69 5d 20 3d 3d | 20 27 5c 6e 27 29 0a 09 |n[*i] ==| '\n')..|
|00005730| 09 09 69 66 20 28 54 6f | 70 72 6f 77 20 2b 20 28 |..if (To|prow + (|
|00005740| 6c 69 6e 65 20 2d 20 54 | 6f 70 6c 6e 20 2b 20 31 |line - T|opln + 1|
|00005750| 29 20 3c 20 43 6d 64 72 | 6f 77 29 0a 09 09 09 7b |) < Cmdr|ow)....{|
|00005760| 0a 09 09 09 09 54 6f 70 | 72 6f 77 20 2b 3d 20 6c |.....Top|row += l|
|00005770| 69 6e 65 20 2d 20 54 6f | 70 6c 6e 20 2b 20 31 3b |ine - To|pln + 1;|
|00005780| 0a 09 09 09 09 54 6f 70 | 6c 6e 20 3d 20 6c 69 6e |.....Top|ln = lin|
|00005790| 65 20 2b 20 31 3b 0a 09 | 09 09 09 66 6f 72 20 28 |e + 1;..|...for (|
|000057a0| 74 65 6d 70 20 3d 20 30 | 3b 20 74 65 6d 70 20 3c |temp = 0|; temp <|
|000057b0| 20 4e 63 6f 6c 73 3b 20 | 74 65 6d 70 2b 2b 29 0a | Ncols; |temp++).|
|000057c0| 09 09 09 09 09 6c 6f 61 | 64 20 28 27 2d 27 2c 20 |.....loa|d ('-', |
|000057d0| 54 6f 70 72 6f 77 20 2d | 20 31 2c 20 74 65 6d 70 |Toprow -| 1, temp|
|000057e0| 29 3b 0a 09 09 09 09 69 | 66 20 28 54 6f 70 6c 6e |);.....i|f (Topln|
|000057f0| 20 3e 20 4c 61 73 74 6c | 6e 29 0a 09 09 09 09 09 | > Lastl|n)......|
|00005800| 61 64 6a 75 73 74 5f 77 | 69 6e 64 6f 77 20 28 31 |adjust_w|indow (1|
|00005810| 2c 20 4c 61 73 74 6c 6e | 29 3b 0a 09 09 09 09 69 |, Lastln|);.....i|
|00005820| 66 20 28 43 75 72 6c 6e | 20 3c 20 54 6f 70 6c 6e |f (Curln| < Topln|
|00005830| 29 0a 09 09 09 09 09 43 | 75 72 6c 6e 20 3d 20 6d |)......C|urln = m|
|00005840| 69 6e 20 28 54 6f 70 6c | 6e 2c 20 4c 61 73 74 6c |in (Topl|n, Lastl|
|00005850| 6e 29 3b 0a 09 09 09 09 | 72 65 74 20 3d 20 4f 4b |n);.....|ret = OK|
|00005860| 3b 0a 09 09 09 7d 0a 09 | 09 09 65 6c 73 65 0a 09 |;....}..|..else..|
|00005870| 09 09 09 45 72 72 63 6f | 64 65 20 3d 20 45 4f 52 |...Errco|de = EOR|
|00005880| 41 4e 47 45 3b 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |ANGE;...|break;..|
|00005890| 09 63 61 73 65 20 27 61 | 27 3a 09 2f 2a 20 74 6f |.case 'a|':./* to|
|000058a0| 67 67 6c 65 20 61 62 73 | 6f 6c 75 74 65 20 6c 69 |ggle abs|olute li|
|000058b0| 6e 65 20 6e 75 6d 62 65 | 72 69 6e 67 20 2a 2f 0a |ne numbe|ring */.|
|000058c0| 09 63 61 73 65 20 27 41 | 27 3a 0a 09 09 69 66 20 |.case 'A|':...if |
|000058d0| 28 6c 69 6e 5b 2a 69 20 | 2b 20 31 5d 20 3d 3d 20 |(lin[*i |+ 1] == |
|000058e0| 27 5c 6e 27 29 0a 09 09 | 7b 0a 09 09 09 41 62 73 |'\n')...|{....Abs|
|000058f0| 6e 6f 73 20 3d 20 21 20 | 41 62 73 6e 6f 73 3b 0a |nos = ! |Absnos;.|
|00005900| 09 09 09 72 65 74 20 3d | 20 4f 4b 3b 0a 09 09 7d |...ret =| OK;...}|
|00005910| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|00005920| 20 27 63 27 3a 09 2f 2a | 20 74 6f 67 67 6c 65 20 | 'c':./*| toggle |
|00005930| 63 61 73 65 20 6f 70 74 | 69 6f 6e 20 2a 2f 0a 09 |case opt|ion */..|
|00005940| 63 61 73 65 20 27 43 27 | 3a 0a 09 09 69 66 20 28 |case 'C'|:...if (|
|00005950| 6c 69 6e 5b 2a 69 20 2b | 20 31 5d 20 3d 3d 20 27 |lin[*i +| 1] == '|
|00005960| 5c 6e 27 29 0a 09 09 7b | 0a 09 09 09 72 65 74 20 |\n')...{|....ret |
|00005970| 3d 20 4f 4b 3b 0a 09 09 | 09 49 6e 76 65 72 74 5f |= OK;...|.Invert_|
|00005980| 63 61 73 65 20 3d 20 21 | 20 49 6e 76 65 72 74 5f |case = !| Invert_|
|00005990| 63 61 73 65 3b 0a 09 09 | 09 69 66 20 28 52 65 6c |case;...|.if (Rel|
|000059a0| 5f 61 20 3d 3d 20 27 41 | 27 29 0a 09 09 09 7b 0a |_a == 'A|')....{.|
|000059b0| 09 09 09 09 52 65 6c 5f | 61 20 3d 20 27 61 27 3b |....Rel_|a = 'a';|
|000059c0| 0a 09 09 09 09 52 65 6c | 5f 7a 20 3d 20 27 7a 27 |.....Rel|_z = 'z'|
|000059d0| 3b 0a 09 09 09 7d 0a 09 | 09 09 65 6c 73 65 0a 09 |;....}..|..else..|
|000059e0| 09 09 7b 0a 09 09 09 09 | 52 65 6c 5f 61 20 3d 20 |..{.....|Rel_a = |
|000059f0| 27 41 27 3b 0a 09 09 09 | 09 52 65 6c 5f 7a 20 3d |'A';....|.Rel_z =|
|00005a00| 20 27 5a 27 3b 0a 09 09 | 09 7d 0a 09 09 7d 0a 0a | 'Z';...|.}...}..|
|00005a10| 09 09 6d 65 73 67 20 28 | 49 6e 76 65 72 74 5f 63 |..mesg (|Invert_c|
|00005a20| 61 73 65 20 3f 20 22 43 | 41 53 45 22 20 3a 20 22 |ase ? "C|ASE" : "|
|00005a30| 22 2c 20 43 41 53 45 5f | 4d 53 47 29 3b 0a 09 09 |", CASE_|MSG);...|
|00005a40| 62 72 65 61 6b 3b 0a 0a | 09 63 61 73 65 20 27 64 |break;..|.case 'd|
|00005a50| 27 3a 09 2f 2a 20 73 65 | 74 20 6f 72 20 64 69 73 |':./* se|t or dis|
|00005a60| 70 6c 61 79 20 70 6c 61 | 63 65 6d 65 6e 74 20 6f |play pla|cement o|
|00005a70| 66 20 22 2e 22 20 61 66 | 74 65 72 20 61 20 64 65 |f "." af|ter a de|
|00005a80| 6c 65 74 65 20 2a 2f 0a | 09 63 61 73 65 20 27 44 |lete */.|.case 'D|
|00005a90| 27 3a 0a 09 09 69 66 20 | 28 6c 69 6e 5b 2a 69 20 |':...if |(lin[*i |
|00005aa0| 2b 20 31 5d 20 3d 3d 20 | 27 5c 6e 27 29 0a 09 09 |+ 1] == |'\n')...|
|00005ab0| 7b 0a 09 09 09 69 66 20 | 28 44 64 69 72 20 3d 3d |{....if |(Ddir ==|
|00005ac0| 20 46 4f 52 57 41 52 44 | 29 0a 09 09 09 09 72 65 | FORWARD|).....re|
|00005ad0| 6d 61 72 6b 20 28 22 3e | 22 29 3b 0a 09 09 09 65 |mark (">|");....e|
|00005ae0| 6c 73 65 0a 09 09 09 09 | 72 65 6d 61 72 6b 20 28 |lse.....|remark (|
|00005af0| 22 3c 22 29 3b 0a 09 09 | 09 72 65 74 20 3d 20 4f |"<");...|.ret = O|
|00005b00| 4b 3b 0a 09 09 7d 0a 09 | 09 65 6c 73 65 20 69 66 |K;...}..|.else if|
|00005b10| 20 28 6c 69 6e 5b 2a 69 | 20 2b 20 32 5d 20 21 3d | (lin[*i| + 2] !=|
|00005b20| 20 27 5c 6e 27 29 0a 09 | 09 09 45 72 72 63 6f 64 | '\n')..|..Errcod|
|00005b30| 65 20 3d 20 45 4f 44 4c | 53 53 47 54 52 3b 0a 09 |e = EODL|SSGTR;..|
|00005b40| 09 65 6c 73 65 20 69 66 | 20 28 6c 69 6e 5b 2a 69 |.else if| (lin[*i|
|00005b50| 20 2b 20 31 5d 20 3d 3d | 20 27 3e 27 29 0a 09 09 | + 1] ==| '>')...|
|00005b60| 7b 0a 09 09 09 72 65 74 | 20 3d 20 4f 4b 3b 0a 09 |{....ret| = OK;..|
|00005b70| 09 09 44 64 69 72 20 3d | 20 46 4f 52 57 41 52 44 |..Ddir =| FORWARD|
|00005b80| 3b 0a 09 09 7d 0a 09 09 | 65 6c 73 65 20 69 66 20 |;...}...|else if |
|00005b90| 28 6c 69 6e 5b 2a 69 20 | 2b 20 31 5d 20 3d 3d 20 |(lin[*i |+ 1] == |
|00005ba0| 27 3c 27 29 0a 09 09 7b | 0a 09 09 09 72 65 74 20 |'<')...{|....ret |
|00005bb0| 3d 20 4f 4b 3b 0a 09 09 | 09 44 64 69 72 20 3d 20 |= OK;...|.Ddir = |
|00005bc0| 42 41 43 4b 57 41 52 44 | 3b 0a 09 09 7d 0a 09 09 |BACKWARD|;...}...|
|00005bd0| 65 6c 73 65 0a 09 09 09 | 45 72 72 63 6f 64 65 20 |else....|Errcode |
|00005be0| 3d 20 45 4f 44 4c 53 53 | 47 54 52 3b 0a 09 09 62 |= EODLSS|GTR;...b|
|00005bf0| 72 65 61 6b 3b 0a 0a 09 | 63 61 73 65 20 27 76 27 |reak;...|case 'v'|
|00005c00| 3a 09 2f 2a 20 73 65 74 | 20 6f 72 20 64 69 73 70 |:./* set| or disp|
|00005c10| 6c 61 79 20 6f 76 65 72 | 6c 61 79 20 63 6f 6c 75 |lay over|lay colu|
|00005c20| 6d 6e 20 2a 2f 0a 09 63 | 61 73 65 20 27 56 27 3a |mn */..c|ase 'V':|
|00005c30| 0a 09 09 2b 2b 28 2a 69 | 29 3b 0a 09 09 69 66 20 |...++(*i|);...if |
|00005c40| 28 6c 69 6e 5b 2a 69 5d | 20 3d 3d 20 27 5c 6e 27 |(lin[*i]| == '\n'|
|00005c50| 29 0a 09 09 7b 0a 09 09 | 09 69 66 20 28 4f 76 65 |)...{...|.if (Ove|
|00005c60| 72 6c 61 79 5f 63 6f 6c | 20 3d 3d 20 30 29 0a 09 |rlay_col| == 0)..|
|00005c70| 09 09 09 72 65 6d 61 72 | 6b 20 28 22 24 22 29 3b |...remar|k ("$");|
|00005c80| 0a 09 09 09 65 6c 73 65 | 0a 09 09 09 09 73 61 79 |....else|.....say|
|00005c90| 6e 75 6d 20 28 4f 76 65 | 72 6c 61 79 5f 63 6f 6c |num (Ove|rlay_col|
|00005ca0| 29 3b 0a 09 09 09 72 65 | 74 20 3d 20 4f 4b 3b 0a |);....re|t = OK;.|
|00005cb0| 09 09 7d 0a 09 09 65 6c | 73 65 0a 09 09 7b 0a 09 |..}...el|se...{..|
|00005cc0| 09 09 69 66 20 28 6c 69 | 6e 5b 2a 69 5d 20 3d 3d |..if (li|n[*i] ==|
|00005cd0| 20 27 24 27 20 26 26 20 | 6c 69 6e 5b 2a 69 20 2b | '$' && |lin[*i +|
|00005ce0| 20 31 5d 20 3d 3d 20 27 | 5c 6e 27 29 0a 09 09 09 | 1] == '|\n')....|
|00005cf0| 7b 0a 09 09 09 09 4f 76 | 65 72 6c 61 79 5f 63 6f |{.....Ov|erlay_co|
|00005d00| 6c 20 3d 20 30 3b 0a 09 | 09 09 09 72 65 74 20 3d |l = 0;..|...ret =|
|00005d10| 20 4f 4b 3b 0a 09 09 09 | 7d 0a 09 09 09 65 6c 73 | OK;....|}....els|
|00005d20| 65 0a 09 09 09 7b 0a 09 | 09 09 09 74 65 6d 70 20 |e....{..|...temp |
|00005d30| 3d 20 63 74 6f 69 20 28 | 6c 69 6e 2c 20 69 29 3b |= ctoi (|lin, i);|
|00005d40| 0a 09 09 09 09 69 66 20 | 28 6c 69 6e 5b 2a 69 5d |.....if |(lin[*i]|
|00005d50| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 09 09 7b 0a | == '\n'|).....{.|
|00005d60| 09 09 09 09 09 4f 76 65 | 72 6c 61 79 5f 63 6f 6c |.....Ove|rlay_col|
|00005d70| 20 3d 20 74 65 6d 70 3b | 0a 09 09 09 09 09 72 65 | = temp;|......re|
|00005d80| 74 20 3d 20 4f 4b 3b 0a | 09 09 09 09 7d 0a 09 09 |t = OK;.|....}...|
|00005d90| 09 09 65 6c 73 65 0a 09 | 09 09 09 09 45 72 72 63 |..else..|....Errc|
|00005da0| 6f 64 65 20 3d 20 45 4e | 4f 4e 53 45 4e 53 45 3b |ode = EN|ONSENSE;|
|00005db0| 0a 09 09 09 7d 0a 09 09 | 7d 0a 09 09 62 72 65 61 |....}...|}...brea|
|00005dc0| 6b 3b 0a 0a 09 63 61 73 | 65 20 27 75 27 3a 09 2f |k;...cas|e 'u':./|
|00005dd0| 2a 20 73 65 74 20 6f 72 | 20 64 69 73 70 6c 61 79 |* set or| display|
|00005de0| 20 63 68 61 72 61 63 74 | 65 72 20 66 6f 72 20 75 | charact|er for u|
|00005df0| 6e 70 72 69 6e 74 61 62 | 6c 65 20 63 68 61 72 73 |nprintab|le chars|
|00005e00| 20 2a 2f 0a 09 63 61 73 | 65 20 27 55 27 3a 0a 09 | */..cas|e 'U':..|
|00005e10| 09 69 66 20 28 6c 69 6e | 5b 2a 69 20 2b 20 31 5d |.if (lin|[*i + 1]|
|00005e20| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 7b 0a 09 09 | == '\n'|)...{...|
|00005e30| 09 72 65 74 20 3d 20 4f | 4b 3b 0a 09 09 09 74 65 |.ret = O|K;....te|
|00005e40| 6d 70 73 74 72 5b 30 5d | 20 3d 20 74 65 6d 70 73 |mpstr[0]| = temps|
|00005e50| 74 72 5b 32 5d 20 3d 20 | 27 22 27 3b 0a 09 09 09 |tr[2] = |'"';....|
|00005e60| 74 65 6d 70 73 74 72 5b | 31 5d 20 3d 20 55 6e 70 |tempstr[|1] = Unp|
|00005e70| 72 69 6e 74 61 62 6c 65 | 3b 0a 09 09 09 74 65 6d |rintable|;....tem|
|00005e80| 70 73 74 72 5b 33 5d 20 | 3d 20 45 4f 53 3b 0a 09 |pstr[3] |= EOS;..|
|00005e90| 09 09 72 65 6d 61 72 6b | 20 28 74 65 6d 70 73 74 |..remark| (tempst|
|00005ea0| 72 29 3b 0a 09 09 7d 0a | 09 09 65 6c 73 65 20 69 |r);...}.|..else i|
|00005eb0| 66 20 28 6c 69 6e 5b 2a | 69 20 2b 20 32 5d 20 3d |f (lin[*|i + 2] =|
|00005ec0| 3d 20 27 5c 6e 27 29 0a | 09 09 7b 0a 09 09 09 69 |= '\n').|..{....i|
|00005ed0| 66 20 28 6c 69 6e 5b 2a | 69 20 2b 20 31 5d 20 3c |f (lin[*|i + 1] <|
|00005ee0| 20 27 20 27 20 7c 7c 20 | 6c 69 6e 5b 2a 69 20 2b | ' ' || |lin[*i +|
|00005ef0| 20 31 5d 20 3e 3d 20 44 | 45 4c 29 0a 09 09 09 09 | 1] >= D|EL).....|
|00005f00| 45 72 72 63 6f 64 65 20 | 3d 20 45 4e 4f 4e 53 45 |Errcode |= ENONSE|
|00005f10| 4e 53 45 3b 0a 09 09 09 | 65 6c 73 65 20 0a 09 09 |NSE;....|else ...|
|00005f20| 09 7b 0a 09 09 09 09 72 | 65 74 20 3d 20 4f 4b 3b |.{.....r|et = OK;|
|00005f30| 0a 09 09 09 09 69 66 20 | 28 55 6e 70 72 69 6e 74 |.....if |(Unprint|
|00005f40| 61 62 6c 65 20 21 3d 20 | 6c 69 6e 5b 2a 69 20 2b |able != |lin[*i +|
|00005f50| 20 31 5d 29 0a 09 09 09 | 09 7b 0a 09 09 09 09 09 | 1])....|.{......|
|00005f60| 55 6e 70 72 69 6e 74 61 | 62 6c 65 20 3d 20 6c 69 |Unprinta|ble = li|
|00005f70| 6e 5b 2a 69 20 2b 20 31 | 5d 3b 0a 09 09 09 09 09 |n[*i + 1|];......|
|00005f80| 46 69 72 73 74 5f 61 66 | 66 65 63 74 65 64 20 3d |First_af|fected =|
|00005f90| 20 54 6f 70 6c 6e 3b 0a | 09 09 09 09 7d 0a 09 09 | Topln;.|....}...|
|00005fa0| 09 7d 0a 09 09 7d 0a 09 | 09 62 72 65 61 6b 3b 0a |.}...}..|.break;.|
|00005fb0| 0a 09 63 61 73 65 20 27 | 6c 27 3a 09 2f 2a 20 73 |..case '|l':./* s|
|00005fc0| 65 74 20 6f 72 20 64 69 | 73 70 6c 61 79 20 6c 69 |et or di|splay li|
|00005fd0| 6e 65 20 6e 75 6d 62 65 | 72 20 64 69 73 70 6c 61 |ne numbe|r displa|
|00005fe0| 79 20 6f 70 74 69 6f 6e | 20 2a 2f 0a 09 63 61 73 |y option| */..cas|
|00005ff0| 65 20 27 4c 27 3a 0a 09 | 09 69 66 20 28 6c 69 6e |e 'L':..|.if (lin|
|00006000| 5b 2a 69 2b 31 5d 20 3d | 3d 20 27 5c 6e 27 29 0a |[*i+1] =|= '\n').|
|00006010| 09 09 7b 0a 09 09 09 4e | 63 68 6f 69 73 65 20 3d |..{....N|choise =|
|00006020| 20 45 4f 53 3b 0a 09 09 | 09 72 65 74 20 3d 20 4f | EOS;...|.ret = O|
|00006030| 4b 3b 0a 09 09 7d 0a 09 | 09 65 6c 73 65 20 69 66 |K;...}..|.else if|
|00006040| 20 28 6c 69 6e 5b 2a 69 | 20 2b 20 32 5d 20 3d 3d | (lin[*i| + 2] ==|
|00006050| 20 27 5c 6e 27 20 26 26 | 20 0a 09 09 20 20 20 20 | '\n' &&| ... |
|00006060| 28 6c 69 6e 5b 2a 69 20 | 2b 20 31 5d 20 3d 3d 20 |(lin[*i |+ 1] == |
|00006070| 43 55 52 4c 49 4e 45 20 | 7c 7c 20 6c 69 6e 5b 2a |CURLINE ||| lin[*|
|00006080| 69 20 2b 20 31 5d 20 3d | 3d 20 4c 41 53 54 4c 49 |i + 1] =|= LASTLI|
|00006090| 4e 45 0a 09 09 20 20 20 | 20 7c 7c 20 6c 69 6e 5b |NE... | || lin[|
|000060a0| 2a 69 20 2b 20 31 5d 20 | 3d 3d 20 54 4f 50 4c 49 |*i + 1] |== TOPLI|
|000060b0| 4e 45 29 29 0a 09 09 7b | 0a 09 09 09 4e 63 68 6f |NE))...{|....Ncho|
|000060c0| 69 73 65 20 3d 20 6c 69 | 6e 5b 2a 69 20 2b 20 31 |ise = li|n[*i + 1|
|000060d0| 5d 3b 0a 09 09 09 72 65 | 74 20 3d 20 4f 4b 3b 0a |];....re|t = OK;.|
|000060e0| 09 09 7d 0a 09 09 65 6c | 73 65 20 69 66 20 28 6c |..}...el|se if (l|
|000060f0| 69 6e 5b 2a 69 20 2b 20 | 31 5d 20 3d 3d 20 27 6d |in[*i + |1] == 'm|
|00006100| 27 20 7c 7c 20 6c 69 6e | 5b 2a 69 20 2b 20 31 5d |' || lin|[*i + 1]|
|00006110| 20 3d 3d 20 27 4d 27 29 | 0a 09 09 7b 0a 09 09 09 | == 'M')|...{....|
|00006120| 2f 2a 20 73 65 74 20 6f | 72 20 64 69 73 70 6c 61 |/* set o|r displa|
|00006130| 79 20 74 68 65 20 6c 65 | 66 74 20 6d 61 72 67 69 |y the le|ft margi|
|00006140| 6e 20 2a 2f 0a 09 09 09 | 28 2a 69 29 2b 2b 3b 0a |n */....|(*i)++;.|
|00006150| 09 09 09 69 66 20 28 6c | 69 6e 5b 2a 69 20 2b 20 |...if (l|in[*i + |
|00006160| 31 5d 20 3d 3d 20 27 5c | 6e 27 29 0a 09 09 09 7b |1] == '\|n')....{|
|00006170| 0a 09 09 09 09 73 61 79 | 6e 75 6d 20 28 46 69 72 |.....say|num (Fir|
|00006180| 73 74 63 6f 6c 20 2b 20 | 31 29 3b 0a 09 09 09 09 |stcol + |1);.....|
|00006190| 72 65 74 20 3d 20 4f 4b | 3b 0a 09 09 09 7d 0a 09 |ret = OK|;....}..|
|000061a0| 09 09 65 6c 73 65 20 0a | 09 09 09 7b 0a 09 09 09 |..else .|...{....|
|000061b0| 09 28 2a 69 29 2b 2b 3b | 0a 09 09 09 09 74 65 6d |.(*i)++;|.....tem|
|000061c0| 70 20 3d 20 63 74 6f 69 | 20 28 6c 69 6e 2c 20 69 |p = ctoi| (lin, i|
|000061d0| 29 3b 0a 09 09 09 09 69 | 66 20 28 6c 69 6e 5b 2a |);.....i|f (lin[*|
|000061e0| 69 5d 20 3d 3d 20 27 5c | 6e 27 29 0a 09 09 09 09 |i] == '\|n').....|
|000061f0| 09 69 66 20 28 74 65 6d | 70 20 3e 20 30 20 26 26 |.if (tem|p > 0 &&|
|00006200| 20 74 65 6d 70 20 3c 20 | 4d 41 58 4c 49 4e 45 29 | temp < |MAXLINE)|
|00006210| 0a 09 09 09 09 09 7b 0a | 09 09 09 09 09 09 46 69 |......{.|......Fi|
|00006220| 72 73 74 5f 61 66 66 65 | 63 74 65 64 20 3d 20 54 |rst_affe|cted = T|
|00006230| 6f 70 6c 6e 3b 0a 09 09 | 09 09 09 09 46 69 72 73 |opln;...|....Firs|
|00006240| 74 63 6f 6c 20 3d 20 74 | 65 6d 70 20 2d 20 31 3b |tcol = t|emp - 1;|
|00006250| 0a 09 09 09 09 09 09 72 | 65 74 20 3d 20 4f 4b 3b |.......r|et = OK;|
|00006260| 0a 09 09 09 09 09 7d 0a | 09 09 09 09 09 65 6c 73 |......}.|.....els|
|00006270| 65 0a 09 09 09 09 09 09 | 45 72 72 63 6f 64 65 20 |e.......|Errcode |
|00006280| 3d 20 45 4e 4f 4e 53 45 | 4e 53 45 3b 0a 09 09 09 |= ENONSE|NSE;....|
|00006290| 7d 0a 09 09 7d 0a 09 09 | 62 72 65 61 6b 3b 0a 0a |}...}...|break;..|
|000062a0| 09 63 61 73 65 20 27 66 | 27 3a 09 2f 2a 20 66 6f |.case 'f|':./* fo|
|000062b0| 72 74 72 61 6e 20 28 75 | 67 68 2c 20 79 69 63 6b |rtran (u|gh, yick|
|000062c0| 2c 20 67 72 6f 73 73 29 | 20 6f 70 74 69 6f 6e 73 |, gross)| options|
|000062d0| 20 2a 2f 0a 09 63 61 73 | 65 20 27 46 27 3a 0a 09 | */..cas|e 'F':..|
|000062e0| 09 69 66 20 28 6c 69 6e | 5b 2a 69 20 2b 20 31 5d |.if (lin|[*i + 1]|
|000062f0| 20 3d 3d 20 27 5c 6e 27 | 29 0a 09 09 09 72 65 74 | == '\n'|)....ret|
|00006300| 20 3d 20 64 6f 73 6f 70 | 74 20 28 22 66 22 29 3b | = dosop|t ("f");|
|00006310| 0a 09 09 62 72 65 61 6b | 3b 0a 0a 09 63 61 73 65 |...break|;...case|
|00006320| 20 27 73 27 3a 09 2f 2a | 20 73 65 74 20 73 6f 75 | 's':./*| set sou|
|00006330| 72 63 65 20 6f 70 74 69 | 6f 6e 73 20 2a 2f 0a 09 |rce opti|ons */..|
|00006340| 63 61 73 65 20 27 53 27 | 3a 0a 09 09 72 65 74 20 |case 'S'|:...ret |
|00006350| 3d 20 64 6f 73 6f 70 74 | 20 28 26 6c 69 6e 5b 2a |= dosopt| (&lin[*|
|00006360| 69 20 2b 20 31 5d 29 3b | 0a 09 09 62 72 65 61 6b |i + 1]);|...break|
|00006370| 3b 0a 0a 09 63 61 73 65 | 20 27 69 27 3a 09 2f 2a |;...case| 'i':./*|
|00006380| 20 73 65 74 20 6f 72 20 | 64 69 73 70 6c 61 79 20 | set or |display |
|00006390| 69 6e 64 65 6e 74 20 6f | 70 74 69 6f 6e 20 2a 2f |indent o|ption */|
|000063a0| 0a 09 63 61 73 65 20 27 | 49 27 3a 0a 09 09 2b 2b |..case '|I':...++|
|000063b0| 28 2a 69 29 3b 0a 09 09 | 69 66 20 28 6c 69 6e 5b |(*i);...|if (lin[|
|000063c0| 2a 69 5d 20 3d 3d 20 27 | 5c 6e 27 29 0a 09 09 09 |*i] == '|\n')....|
|000063d0| 72 65 74 20 3d 20 4f 4b | 3b 0a 09 09 65 6c 73 65 |ret = OK|;...else|
|000063e0| 20 69 66 20 28 28 6c 69 | 6e 5b 2a 69 5d 20 3d 3d | if ((li|n[*i] ==|
|000063f0| 20 27 61 27 20 7c 7c 20 | 6c 69 6e 5b 2a 69 5d 20 | 'a' || |lin[*i] |
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.