home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 January / Chip_2003-01_cd1.bin / zkuste / macos / Files / hexedit.sit / HexEdit_Release / Project / Source / EditRoutines.c < prev    next >
MacBinary  |  2002-11-01  |  24.8 KB  |  [TEXT/CWIE]

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

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: EditRoutines.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Nov 1 14:59:27 2002, modified Fri Nov 1 14:59:27 2002, creator 'CWIE', type ASCII, 24682 bytes "EditRoutines.c" , at 0x60ea 398 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0e 45 64 69 74 52 6f | 75 74 69 6e 65 73 2e 63 |..EditRo|utines.c|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 60 6a 00 | 00 01 8e b9 e8 8d 9f b9 |.....`j.|........|
|00000060| e8 8d 9f 00 00 0c 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4c dd 00 00 |........|....L...|
|00000080| 2f 2a 0d 20 2a 20 54 68 | 65 20 63 6f 6e 74 65 6e |/*. * Th|e conten|
|00000090| 74 73 20 6f 66 20 74 68 | 69 73 20 66 69 6c 65 20 |ts of th|is file |
|000000a0| 61 72 65 20 73 75 62 6a | 65 63 74 20 74 6f 20 74 |are subj|ect to t|
|000000b0| 68 65 20 4d 6f 7a 69 6c | 6c 61 20 50 75 62 6c 69 |he Mozil|la Publi|
|000000c0| 63 0d 20 2a 20 4c 69 63 | 65 6e 73 65 20 56 65 72 |c. * Lic|ense Ver|
|000000d0| 73 69 6f 6e 20 31 2e 31 | 20 28 74 68 65 20 22 4c |sion 1.1| (the "L|
|000000e0| 69 63 65 6e 73 65 22 29 | 3b 20 79 6f 75 20 6d 61 |icense")|; you ma|
|000000f0| 79 20 6e 6f 74 20 75 73 | 65 20 74 68 69 73 20 66 |y not us|e this f|
|00000100| 69 6c 65 0d 20 2a 20 65 | 78 63 65 70 74 20 69 6e |ile. * e|xcept in|
|00000110| 20 63 6f 6d 70 6c 69 61 | 6e 63 65 20 77 69 74 68 | complia|nce with|
|00000120| 20 74 68 65 20 4c 69 63 | 65 6e 73 65 2e 20 59 6f | the Lic|ense. Yo|
|00000130| 75 20 6d 61 79 20 6f 62 | 74 61 69 6e 20 61 20 63 |u may ob|tain a c|
|00000140| 6f 70 79 20 6f 66 0d 20 | 2a 20 74 68 65 20 4c 69 |opy of. |* the Li|
|00000150| 63 65 6e 73 65 20 61 74 | 20 68 74 74 70 3a 2f 2f |cense at| http://|
|00000160| 77 77 77 2e 6d 6f 7a 69 | 6c 6c 61 2e 6f 72 67 2f |www.mozi|lla.org/|
|00000170| 4d 50 4c 2f 0d 20 2a 20 | 0d 20 2a 20 53 6f 66 74 |MPL/. * |. * Soft|
|00000180| 77 61 72 65 20 64 69 73 | 74 72 69 62 75 74 65 64 |ware dis|tributed|
|00000190| 20 75 6e 64 65 72 20 74 | 68 65 20 4c 69 63 65 6e | under t|he Licen|
|000001a0| 73 65 20 69 73 20 64 69 | 73 74 72 69 62 75 74 65 |se is di|stribute|
|000001b0| 64 20 6f 6e 20 61 6e 20 | 22 41 53 0d 20 2a 20 49 |d on an |"AS. * I|
|000001c0| 53 22 20 62 61 73 69 73 | 2c 20 57 49 54 48 4f 55 |S" basis|, WITHOU|
|000001d0| 54 20 57 41 52 52 41 4e | 54 59 20 4f 46 20 41 4e |T WARRAN|TY OF AN|
|000001e0| 59 20 4b 49 4e 44 2c 20 | 65 69 74 68 65 72 20 65 |Y KIND, |either e|
|000001f0| 78 70 72 65 73 73 20 6f | 72 0d 20 2a 20 69 6d 70 |xpress o|r. * imp|
|00000200| 6c 69 65 64 2e 20 53 65 | 65 20 74 68 65 20 4c 69 |lied. Se|e the Li|
|00000210| 63 65 6e 73 65 20 66 6f | 72 20 74 68 65 20 73 70 |cense fo|r the sp|
|00000220| 65 63 69 66 69 63 20 6c | 61 6e 67 75 61 67 65 20 |ecific l|anguage |
|00000230| 67 6f 76 65 72 6e 69 6e | 67 0d 20 2a 20 72 69 67 |governin|g. * rig|
|00000240| 68 74 73 20 61 6e 64 20 | 6c 69 6d 69 74 61 74 69 |hts and |limitati|
|00000250| 6f 6e 73 20 75 6e 64 65 | 72 20 74 68 65 20 4c 69 |ons unde|r the Li|
|00000260| 63 65 6e 73 65 2e 0d 20 | 2a 20 0d 20 2a 20 54 68 |cense.. |* . * Th|
|00000270| 65 20 4f 72 69 67 69 6e | 61 6c 20 43 6f 64 65 20 |e Origin|al Code |
|00000280| 69 73 20 43 6f 70 79 72 | 69 67 68 74 20 31 39 39 |is Copyr|ight 199|
|00000290| 33 20 4a 69 6d 20 42 75 | 6d 67 61 72 64 6e 65 72 |3 Jim Bu|mgardner|
|000002a0| 2e 0d 20 2a 20 0d 20 2a | 20 54 68 65 20 49 6e 69 |.. * . *| The Ini|
|000002b0| 74 69 61 6c 20 44 65 76 | 65 6c 6f 70 65 72 20 6f |tial Dev|eloper o|
|000002c0| 66 20 74 68 65 20 4f 72 | 69 67 69 6e 61 6c 20 43 |f the Or|iginal C|
|000002d0| 6f 64 65 20 69 73 20 4a | 69 6d 20 42 75 6d 67 61 |ode is J|im Bumga|
|000002e0| 72 64 6e 65 72 0d 20 2a | 20 50 6f 72 74 69 6f 6e |rdner. *| Portion|
|000002f0| 73 20 63 72 65 61 74 65 | 64 20 62 79 20 4c 61 6e |s create|d by Lan|
|00000300| 65 20 52 6f 61 74 68 65 | 20 61 72 65 0d 20 2a 20 |e Roathe| are. * |
|00000310| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 43 6f |Copyrigh|t (C) Co|
|00000320| 70 79 72 69 67 68 74 20 | a9 20 31 39 39 36 2d 32 |pyright |. 1996-2|
|00000330| 30 30 32 2e 0d 20 2a 20 | 41 6c 6c 20 52 69 67 68 |002.. * |All Righ|
|00000340| 74 73 20 52 65 73 65 72 | 76 65 64 2e 0d 20 2a 0d |ts Reser|ved.. *.|
|00000350| 20 2a 20 4d 6f 64 69 66 | 69 65 64 3a 20 24 44 61 | * Modif|ied: $Da|
|00000360| 74 65 3a 20 32 30 30 32 | 2f 31 31 2f 30 31 20 32 |te: 2002|/11/01 2|
|00000370| 31 3a 35 39 3a 32 35 20 | 24 0d 20 2a 20 52 65 76 |1:59:25 |$. * Rev|
|00000380| 69 73 69 6f 6e 3a 20 24 | 49 64 3a 20 45 64 69 74 |ision: $|Id: Edit|
|00000390| 52 6f 75 74 69 6e 65 73 | 2e 63 2c 76 20 31 2e 31 |Routines|.c,v 1.1|
|000003a0| 39 20 32 30 30 32 2f 31 | 31 2f 30 31 20 32 31 3a |9 2002/1|1/01 21:|
|000003b0| 35 39 3a 32 35 20 72 61 | 76 69 6e 67 20 45 78 70 |59:25 ra|ving Exp|
|000003c0| 20 24 0d 20 2a 0d 20 2a | 20 43 6f 6e 74 72 69 62 | $. *. *| Contrib|
|000003d0| 75 74 6f 72 28 73 29 3a | 0d 20 2a 09 09 4c 61 6e |utor(s):|. *..Lan|
|000003e0| 65 20 52 6f 61 74 68 65 | 0d 20 2a 09 09 4e 69 63 |e Roathe|. *..Nic|
|000003f0| 6b 20 53 68 61 6e 6b 73 | 0d 20 2a 09 09 47 72 65 |k Shanks|. *..Gre|
|00000400| 67 20 42 72 61 6e 63 68 | 65 0d 20 2a 2f 0d 0d 2f |g Branch|e. */../|
|00000410| 2f 20 30 35 2f 31 30 2f | 30 31 20 2d 20 47 41 42 |/ 05/10/|01 - GAB|
|00000420| 3a 20 4d 50 57 20 65 6e | 76 69 72 6f 6e 6d 65 6e |: MPW en|vironmen|
|00000430| 74 20 73 75 70 70 6f 72 | 74 0d 23 69 66 64 65 66 |t suppor|t.#ifdef|
|00000440| 20 5f 5f 4d 50 57 5f 5f | 0d 23 69 6e 63 6c 75 64 | __MPW__|.#includ|
|00000450| 65 20 22 4d 50 57 49 6e | 63 6c 75 64 65 73 2e 68 |e "MPWIn|cludes.h|
|00000460| 22 0d 23 65 6e 64 69 66 | 0d 0d 23 69 6e 63 6c 75 |".#endif|..#inclu|
|00000470| 64 65 20 3c 63 74 79 70 | 65 2e 68 3e 0d 0d 23 69 |de <ctyp|e.h>..#i|
|00000480| 6e 63 6c 75 64 65 20 22 | 45 64 69 74 53 63 72 6f |nclude "|EditScro|
|00000490| 6c 6c 62 61 72 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |llbar.h"|.#includ|
|000004a0| 65 20 22 4d 65 6e 75 73 | 2e 68 22 0d 23 69 6e 63 |e "Menus|.h".#inc|
|000004b0| 6c 75 64 65 20 22 50 72 | 65 66 73 2e 68 22 0d 23 |lude "Pr|efs.h".#|
|000004c0| 69 6e 63 6c 75 64 65 20 | 22 55 74 69 6c 69 74 79 |include |"Utility|
|000004d0| 2e 68 22 0d 0d 23 69 6e | 63 6c 75 64 65 20 22 45 |.h"..#in|clude "E|
|000004e0| 64 69 74 52 6f 75 74 69 | 6e 65 73 2e 68 22 0d 0d |ditRouti|nes.h"..|
|000004f0| 2f 2f 20 47 6c 6f 62 61 | 6c 20 56 61 72 73 0d 0d |// Globa|l Vars..|
|00000500| 55 6e 64 6f 52 65 63 6f | 72 64 20 67 55 6e 64 6f |UndoReco|rd gUndo|
|00000510| 2c 20 67 52 65 64 6f 3b | 0d 0d 73 74 61 74 69 63 |, gRedo;|..static|
|00000520| 20 45 64 69 74 43 68 75 | 6e 6b 09 2a 2a 5f 73 63 | EditChu|nk.**_sc|
|00000530| 72 61 70 43 68 75 6e 6b | 3b 0d 0d 0d 2f 2a 2a 2a |rapChunk|;.../***|
|00000540| 20 4c 4f 41 44 20 46 49 | 4c 45 20 2a 2a 2a 2f 0d | LOAD FI|LE ***/.|
|00000550| 2f 2f 20 41 73 73 75 6d | 65 73 20 74 68 65 57 69 |// Assum|es theWi|
|00000560| 6e 20 68 61 73 20 6a 75 | 73 74 20 62 65 65 6e 20 |n has ju|st been |
|00000570| 6f 70 65 6e 65 64 2c 20 | 66 69 6c 65 20 69 73 20 |opened, |file is |
|00000580| 6f 70 65 6e 2c 20 66 69 | 6c 65 53 69 7a 65 20 66 |open, fi|leSize f|
|00000590| 69 65 6c 64 20 69 73 20 | 63 6f 72 72 65 63 74 0d |ield is |correct.|
|000005a0| 76 6f 69 64 20 4c 6f 61 | 64 46 69 6c 65 28 20 45 |void Loa|dFile( E|
|000005b0| 64 69 74 57 69 6e 64 6f | 77 50 74 72 20 64 57 69 |ditWindo|wPtr dWi|
|000005c0| 6e 20 29 0d 7b 0d 09 45 | 64 69 74 43 68 75 6e 6b |n ).{..E|ditChunk|
|000005d0| 09 2a 2a 6e 63 3b 0d 09 | 6c 6f 6e 67 09 09 63 6f |.**nc;..|long..co|
|000005e0| 75 6e 74 2c 20 63 68 75 | 6e 6b 53 69 7a 65 2c 20 |unt, chu|nkSize, |
|000005f0| 70 6f 73 3b 0d 09 42 6f | 6f 6c 65 61 6e 09 09 6f |pos;..Bo|olean..o|
|00000600| 6e 63 65 20 3d 20 74 72 | 75 65 3b 0d 0d 09 63 6f |nce = tr|ue;...co|
|00000610| 75 6e 74 20 3d 20 64 57 | 69 6e 2d 3e 66 69 6c 65 |unt = dW|in->file|
|00000620| 53 69 7a 65 3b 0d 09 70 | 6f 73 20 3d 20 30 4c 3b |Size;..p|os = 0L;|
|00000630| 0d 0d 09 2f 2f 20 4c 52 | 3a 20 2d 20 69 66 20 65 |...// LR|: - if e|
|00000640| 6d 70 74 79 20 66 6f 72 | 6b 2c 20 6a 75 73 74 20 |mpty for|k, just |
|00000650| 63 72 65 61 74 65 20 61 | 20 63 68 75 6e 6b 20 73 |create a| chunk s|
|00000660| 6f 20 77 65 20 63 61 6e | 20 69 6e 73 65 72 74 20 |o we can| insert |
|00000670| 64 61 74 61 21 0d 0d 2f | 2f 09 69 66 28 20 21 63 |data!../|/.if( !c|
|00000680| 6f 75 6e 74 20 29 0d 2f | 2f 09 09 63 6f 75 6e 74 |ount )./|/..count|
|00000690| 20 3d 20 31 3b 0d 0d 09 | 77 68 69 6c 65 28 20 63 | = 1;...|while( c|
|000006a0| 6f 75 6e 74 20 7c 7c 20 | 6f 6e 63 65 20 29 0d 09 |ount || |once )..|
|000006b0| 7b 0d 09 09 69 66 28 20 | 63 6f 75 6e 74 20 3c 3d |{...if( |count <=|
|000006c0| 20 6b 43 68 75 6e 6b 53 | 69 7a 65 20 29 0d 09 09 | kChunkS|ize )...|
|000006d0| 09 63 68 75 6e 6b 53 69 | 7a 65 20 3d 20 63 6f 75 |.chunkSi|ze = cou|
|000006e0| 6e 74 3b 0d 09 09 65 6c | 73 65 0d 09 09 09 63 68 |nt;...el|se....ch|
|000006f0| 75 6e 6b 53 69 7a 65 20 | 3d 20 6b 43 68 75 6e 6b |unkSize |= kChunk|
|00000700| 53 69 7a 65 3b 0d 09 09 | 63 6f 75 6e 74 20 2d 3d |Size;...|count -=|
|00000710| 20 63 68 75 6e 6b 53 69 | 7a 65 3b 0d 09 09 6e 63 | chunkSi|ze;...nc|
|00000720| 20 3d 20 4e 65 77 43 68 | 75 6e 6b 28 20 63 68 75 | = NewCh|unk( chu|
|00000730| 6e 6b 53 69 7a 65 2c 20 | 70 6f 73 2c 20 70 6f 73 |nkSize, |pos, pos|
|00000740| 2c 20 43 54 5f 4f 72 69 | 67 69 6e 61 6c 20 29 3b |, CT_Ori|ginal );|
|00000750| 0d 09 09 64 57 69 6e 2d | 3e 66 69 72 73 74 43 68 |...dWin-|>firstCh|
|00000760| 75 6e 6b 20 3d 20 41 70 | 70 65 6e 64 43 68 75 6e |unk = Ap|pendChun|
|00000770| 6b 28 20 64 57 69 6e 2d | 3e 66 69 72 73 74 43 68 |k( dWin-|>firstCh|
|00000780| 75 6e 6b 2c 20 6e 63 20 | 29 3b 0d 09 09 70 6f 73 |unk, nc |);...pos|
|00000790| 20 2b 3d 20 63 68 75 6e | 6b 53 69 7a 65 3b 0d 09 | += chun|kSize;..|
|000007a0| 09 6f 6e 63 65 20 3d 20 | 66 61 6c 73 65 3b 0d 09 |.once = |false;..|
|000007b0| 7d 0d 09 64 57 69 6e 2d | 3e 63 75 72 43 68 75 6e |}..dWin-|>curChun|
|000007c0| 6b 20 3d 20 64 57 69 6e | 2d 3e 66 69 72 73 74 43 |k = dWin|->firstC|
|000007d0| 68 75 6e 6b 3b 0d 7d 0d | 0d 2f 2a 2a 2a 20 55 4e |hunk;.}.|./*** UN|
|000007e0| 4c 4f 41 44 20 46 49 4c | 45 20 2a 2a 2a 2f 0d 76 |LOAD FIL|E ***/.v|
|000007f0| 6f 69 64 20 55 6e 6c 6f | 61 64 46 69 6c 65 28 20 |oid Unlo|adFile( |
|00000800| 45 64 69 74 57 69 6e 64 | 6f 77 50 74 72 20 64 57 |EditWind|owPtr dW|
|00000810| 69 6e 20 29 0d 7b 0d 09 | 45 64 69 74 43 68 75 6e |in ).{..|EditChun|
|00000820| 6b 09 2a 2a 63 63 2c 20 | 2a 2a 62 63 3b 0d 09 63 |k.**cc, |**bc;..c|
|00000830| 63 20 3d 20 64 57 69 6e | 2d 3e 66 69 72 73 74 43 |c = dWin|->firstC|
|00000840| 68 75 6e 6b 3b 0d 09 77 | 68 69 6c 65 28 20 63 63 |hunk;..w|hile( cc|
|00000850| 20 29 0d 09 7b 0d 09 09 | 62 63 20 3d 20 28 20 2a | )..{...|bc = ( *|
|00000860| 63 63 20 29 2d 3e 6e 65 | 78 74 3b 0d 09 09 44 69 |cc )->ne|xt;...Di|
|00000870| 73 70 6f 73 65 43 68 75 | 6e 6b 28 20 64 57 69 6e |sposeChu|nk( dWin|
|00000880| 2c 20 63 63 20 29 3b 0d | 09 09 63 63 20 3d 20 62 |, cc );.|..cc = b|
|00000890| 63 3b 0d 09 7d 0d 09 64 | 57 69 6e 2d 3e 66 69 72 |c;..}..d|Win->fir|
|000008a0| 73 74 43 68 75 6e 6b 20 | 3d 20 64 57 69 6e 2d 3e |stChunk |= dWin->|
|000008b0| 63 75 72 43 68 75 6e 6b | 20 3d 20 4e 55 4c 4c 3b |curChunk| = NULL;|
|000008c0| 0d 7d 0d 0d 2f 2a 2a 2a | 20 4e 45 57 20 43 48 55 |.}../***| NEW CHU|
|000008d0| 4e 4b 20 2a 2a 2a 2f 0d | 45 64 69 74 43 68 75 6e |NK ***/.|EditChun|
|000008e0| 6b 2a 2a 20 4e 65 77 43 | 68 75 6e 6b 28 20 6c 6f |k** NewC|hunk( lo|
|000008f0| 6e 67 20 73 69 7a 65 2c | 20 6c 6f 6e 67 20 61 64 |ng size,| long ad|
|00000900| 64 72 2c 20 6c 6f 6e 67 | 20 66 69 6c 65 50 6f 73 |dr, long| filePos|
|00000910| 2c 20 73 68 6f 72 74 20 | 74 79 70 65 20 29 0d 7b |, short |type ).{|
|00000920| 0d 09 45 64 69 74 43 68 | 75 6e 6b 20 2a 2a 6e 63 |..EditCh|unk **nc|
|00000930| 3b 0d 09 6e 63 20 3d 20 | 28 20 45 64 69 74 43 68 |;..nc = |( EditCh|
|00000940| 75 6e 6b 20 2a 2a 20 29 | 20 4e 65 77 48 61 6e 64 |unk ** )| NewHand|
|00000950| 6c 65 43 6c 65 61 72 28 | 20 73 69 7a 65 6f 66 28 |leClear(| sizeof(|
|00000960| 20 45 64 69 74 43 68 75 | 6e 6b 20 29 20 29 3b 0d | EditChu|nk ) );.|
|00000970| 09 69 66 28 20 21 6e 63 | 20 29 0d 09 7b 0d 09 09 |.if( !nc| )..{...|
|00000980| 45 72 72 6f 72 41 6c 65 | 72 74 28 20 45 53 5f 43 |ErrorAle|rt( ES_C|
|00000990| 61 75 74 69 6f 6e 2c 20 | 65 72 72 4d 65 6d 6f 72 |aution, |errMemor|
|000009a0| 79 20 29 3b 0d 09 09 72 | 65 74 75 72 6e 20 4e 55 |y );...r|eturn NU|
|000009b0| 4c 4c 3b 0d 09 7d 0d 09 | 28 20 2a 6e 63 20 29 2d |LL;..}..|( *nc )-|
|000009c0| 3e 74 79 70 65 20 3d 20 | 74 79 70 65 3b 0d 09 28 |>type = |type;..(|
|000009d0| 20 2a 6e 63 20 29 2d 3e | 73 69 7a 65 20 3d 20 73 | *nc )->|size = s|
|000009e0| 69 7a 65 3b 0d 09 28 20 | 2a 6e 63 20 29 2d 3e 61 |ize;..( |*nc )->a|
|000009f0| 64 64 72 20 3d 20 61 64 | 64 72 3b 0d 09 28 20 2a |ddr = ad|dr;..( *|
|00000a00| 6e 63 20 29 2d 3e 66 69 | 6c 65 50 6f 73 20 3d 20 |nc )->fi|lePos = |
|00000a10| 66 69 6c 65 50 6f 73 3b | 0d 09 28 20 2a 6e 63 20 |filePos;|..( *nc |
|00000a20| 29 2d 3e 6c 61 73 74 43 | 74 72 20 3d 20 2d 31 3b |)->lastC|tr = -1;|
|00000a30| 0d 09 69 66 28 20 74 79 | 70 65 20 3d 3d 20 43 54 |..if( ty|pe == CT|
|00000a40| 5f 55 6e 77 72 69 74 74 | 65 6e 20 29 0d 09 7b 0d |_Unwritt|en )..{.|
|00000a50| 09 09 28 20 2a 6e 63 20 | 29 2d 3e 6c 6f 61 64 65 |..( *nc |)->loade|
|00000a60| 64 20 3d 20 74 72 75 65 | 3b 0d 09 09 28 20 2a 6e |d = true|;...( *n|
|00000a70| 63 20 29 2d 3e 61 6c 6c | 6f 63 53 69 7a 65 20 3d |c )->all|ocSize =|
|00000a80| 20 73 69 7a 65 3b 0d 09 | 09 28 20 2a 6e 63 20 29 | size;..|.( *nc )|
|00000a90| 2d 3e 64 61 74 61 20 3d | 20 4e 65 77 48 61 6e 64 |->data =| NewHand|
|00000aa0| 6c 65 43 6c 65 61 72 28 | 20 73 69 7a 65 20 29 3b |leClear(| size );|
|00000ab0| 0d 09 09 69 66 28 20 21 | 28 20 2a 6e 63 20 29 2d |...if( !|( *nc )-|
|00000ac0| 3e 64 61 74 61 20 29 0d | 09 09 7b 0d 09 09 09 45 |>data ).|..{....E|
|00000ad0| 72 72 6f 72 41 6c 65 72 | 74 28 20 45 53 5f 43 61 |rrorAler|t( ES_Ca|
|00000ae0| 75 74 69 6f 6e 2c 20 65 | 72 72 4d 65 6d 6f 72 79 |ution, e|rrMemory|
|00000af0| 20 29 3b 0d 09 09 09 44 | 69 73 70 6f 73 65 48 61 | );....D|isposeHa|
|00000b00| 6e 64 6c 65 28 20 28 48 | 61 6e 64 6c 65 29 20 6e |ndle( (H|andle) n|
|00000b10| 63 20 29 3b 0d 09 09 09 | 72 65 74 75 72 6e 20 4e |c );....|return N|
|00000b20| 55 4c 4c 3b 0d 09 09 7d | 0d 09 7d 0d 09 65 6c 73 |ULL;...}|..}..els|
|00000b30| 65 0d 09 7b 0d 09 09 28 | 20 2a 6e 63 20 29 2d 3e |e..{...(| *nc )->|
|00000b40| 6c 6f 61 64 65 64 20 3d | 20 66 61 6c 73 65 3b 0d |loaded =| false;.|
|00000b50| 09 09 28 20 2a 6e 63 20 | 29 2d 3e 64 61 74 61 20 |..( *nc |)->data |
|00000b60| 3d 20 4e 55 4c 4c 3b 0d | 09 09 28 20 2a 6e 63 20 |= NULL;.|..( *nc |
|00000b70| 29 2d 3e 61 6c 6c 6f 63 | 53 69 7a 65 20 3d 20 30 |)->alloc|Size = 0|
|00000b80| 4c 3b 0d 09 7d 0d 09 72 | 65 74 75 72 6e 20 6e 63 |L;..}..r|eturn nc|
|00000b90| 3b 0d 7d 0d 0d 2f 2a 2a | 2a 20 44 49 53 50 4f 53 |;.}../**|* DISPOS|
|00000ba0| 45 20 43 48 55 4e 4b 20 | 2a 2a 2a 2f 0d 76 6f 69 |E CHUNK |***/.voi|
|00000bb0| 64 20 44 69 73 70 6f 73 | 65 43 68 75 6e 6b 28 20 |d Dispos|eChunk( |
|00000bc0| 45 64 69 74 57 69 6e 64 | 6f 77 50 74 72 20 64 57 |EditWind|owPtr dW|
|00000bd0| 69 6e 2c 20 45 64 69 74 | 43 68 75 6e 6b 20 2a 2a |in, Edit|Chunk **|
|00000be0| 63 63 20 29 0d 7b 0d 09 | 69 66 28 20 64 57 69 6e |cc ).{..|if( dWin|
|00000bf0| 20 26 26 20 28 2a 63 63 | 29 2d 3e 6c 6f 61 64 65 | && (*cc|)->loade|
|00000c00| 64 20 29 0d 09 09 09 55 | 6e 6c 6f 61 64 43 68 75 |d )....U|nloadChu|
|00000c10| 6e 6b 28 20 64 57 69 6e | 2c 20 63 63 2c 20 66 61 |nk( dWin|, cc, fa|
|00000c20| 6c 73 65 20 29 3b 0d 0d | 09 44 69 73 70 6f 73 65 |lse );..|.Dispose|
|00000c30| 48 61 6e 64 6c 65 28 20 | 28 48 61 6e 64 6c 65 29 |Handle( |(Handle)|
|00000c40| 63 63 20 29 3b 0d 7d 0d | 0d 2f 2a 2a 2a 20 41 50 |cc );.}.|./*** AP|
|00000c50| 50 45 4e 44 20 43 48 55 | 4e 4b 20 2a 2a 2a 2f 0d |PEND CHU|NK ***/.|
|00000c60| 45 64 69 74 43 68 75 6e | 6b 2a 2a 20 41 70 70 65 |EditChun|k** Appe|
|00000c70| 6e 64 43 68 75 6e 6b 28 | 20 45 64 69 74 43 68 75 |ndChunk(| EditChu|
|00000c80| 6e 6b 20 2a 2a 6c 69 73 | 74 2c 20 45 64 69 74 43 |nk **lis|t, EditC|
|00000c90| 68 75 6e 6b 20 2a 2a 63 | 68 75 6e 6b 20 29 0d 7b |hunk **c|hunk ).{|
|00000ca0| 0d 09 69 66 28 20 6c 69 | 73 74 20 29 0d 09 7b 0d |..if( li|st )..{.|
|00000cb0| 09 09 72 65 67 69 73 74 | 65 72 20 45 64 69 74 43 |..regist|er EditC|
|00000cc0| 68 75 6e 6b 09 2a 2a 63 | 75 72 43 68 75 6e 6b 3b |hunk.**c|urChunk;|
|00000cd0| 0d 09 09 63 75 72 43 68 | 75 6e 6b 20 3d 20 6c 69 |...curCh|unk = li|
|00000ce0| 73 74 3b 0d 09 09 77 68 | 69 6c 65 28 20 28 20 2a |st;...wh|ile( ( *|
|00000cf0| 63 75 72 43 68 75 6e 6b | 20 29 2d 3e 6e 65 78 74 |curChunk| )->next|
|00000d00| 20 29 0d 09 09 09 63 75 | 72 43 68 75 6e 6b 09 09 | )....cu|rChunk..|
|00000d10| 3d 20 28 20 2a 63 75 72 | 43 68 75 6e 6b 20 29 2d |= ( *cur|Chunk )-|
|00000d20| 3e 6e 65 78 74 3b 0d 09 | 09 28 20 2a 63 75 72 43 |>next;..|.( *curC|
|00000d30| 68 75 6e 6b 20 29 2d 3e | 6e 65 78 74 09 3d 20 63 |hunk )->|next.= c|
|00000d40| 68 75 6e 6b 3b 0d 09 09 | 28 20 2a 63 68 75 6e 6b |hunk;...|( *chunk|
|00000d50| 20 29 2d 3e 70 72 65 76 | 09 3d 20 63 75 72 43 68 | )->prev|.= curCh|
|00000d60| 75 6e 6b 3b 0d 09 09 28 | 20 2a 63 68 75 6e 6b 20 |unk;...(| *chunk |
|00000d70| 29 2d 3e 6e 65 78 74 09 | 3d 20 4e 55 4c 4c 3b 0d |)->next.|= NULL;.|
|00000d80| 09 7d 0d 09 65 6c 73 65 | 0d 09 7b 0d 09 09 6c 69 |.}..else|..{...li|
|00000d90| 73 74 20 3d 20 63 68 75 | 6e 6b 3b 0d 09 09 28 20 |st = chu|nk;...( |
|00000da0| 2a 63 68 75 6e 6b 20 29 | 2d 3e 6e 65 78 74 09 3d |*chunk )|->next.=|
|00000db0| 20 28 20 2a 63 68 75 6e | 6b 20 29 2d 3e 70 72 65 | ( *chun|k )->pre|
|00000dc0| 76 20 3d 20 4e 55 4c 4c | 3b 0d 09 7d 0d 09 72 65 |v = NULL|;..}..re|
|00000dd0| 74 75 72 6e 20 6c 69 73 | 74 3b 0d 7d 0d 0d 2f 2a |turn lis|t;.}../*|
|00000de0| 2a 2a 20 53 45 54 20 43 | 55 52 52 45 4e 54 20 43 |** SET C|URRENT C|
|00000df0| 48 55 4e 4b 20 2a 2a 2a | 2f 0d 76 6f 69 64 20 53 |HUNK ***|/.void S|
|00000e00| 65 74 43 75 72 72 65 6e | 74 43 68 75 6e 6b 28 20 |etCurren|tChunk( |
|00000e10| 45 64 69 74 57 69 6e 64 | 6f 77 50 74 72 20 64 57 |EditWind|owPtr dW|
|00000e20| 69 6e 2c 20 6c 6f 6e 67 | 20 61 64 64 72 20 29 0d |in, long| addr ).|
|00000e30| 7b 0d 09 72 65 67 69 73 | 74 65 72 20 45 64 69 74 |{..regis|ter Edit|
|00000e40| 43 68 75 6e 6b 20 2a 2a | 63 63 3b 0d 09 63 63 20 |Chunk **|cc;..cc |
|00000e50| 3d 20 47 65 74 43 68 75 | 6e 6b 42 79 41 64 64 72 |= GetChu|nkByAddr|
|00000e60| 28 20 64 57 69 6e 2c 20 | 61 64 64 72 20 29 3b 0d |( dWin, |addr );.|
|00000e70| 09 64 57 69 6e 2d 3e 63 | 75 72 43 68 75 6e 6b 20 |.dWin->c|urChunk |
|00000e80| 3d 20 63 63 3b 0d 7d 0d | 0d 2f 2a 2a 2a 20 47 45 |= cc;.}.|./*** GE|
|00000e90| 54 20 43 48 55 4e 4b 20 | 42 59 20 41 44 44 52 45 |T CHUNK |BY ADDRE|
|00000ea0| 53 53 20 2a 2a 2a 2f 0d | 45 64 69 74 43 68 75 6e |SS ***/.|EditChun|
|00000eb0| 6b 2a 2a 20 47 65 74 43 | 68 75 6e 6b 42 79 41 64 |k** GetC|hunkByAd|
|00000ec0| 64 72 28 20 45 64 69 74 | 57 69 6e 64 6f 77 50 74 |dr( Edit|WindowPt|
|00000ed0| 72 20 64 57 69 6e 2c 20 | 6c 6f 6e 67 20 61 64 64 |r dWin, |long add|
|00000ee0| 72 20 29 0d 7b 0d 09 72 | 65 67 69 73 74 65 72 20 |r ).{..r|egister |
|00000ef0| 45 64 69 74 43 68 75 6e | 6b 20 2a 2a 63 63 3b 0d |EditChun|k **cc;.|
|00000f00| 0d 09 2f 2f 20 44 6f 65 | 73 20 63 75 72 72 65 6e |..// Doe|s curren|
|00000f10| 74 20 63 68 75 6e 6b 20 | 63 6f 6e 74 61 69 6e 20 |t chunk |contain |
|00000f20| 61 64 64 72 65 73 73 3f | 0d 09 69 66 28 20 64 57 |address?|..if( dW|
|00000f30| 69 6e 2d 3e 63 75 72 43 | 68 75 6e 6b 20 26 26 20 |in->curC|hunk && |
|00000f40| 61 64 64 72 20 3e 3d 20 | 28 20 2a 64 57 69 6e 2d |addr >= |( *dWin-|
|00000f50| 3e 63 75 72 43 68 75 6e | 6b 20 29 2d 3e 61 64 64 |>curChun|k )->add|
|00000f60| 72 20 29 0d 09 09 63 63 | 20 3d 20 64 57 69 6e 2d |r )...cc| = dWin-|
|00000f70| 3e 63 75 72 43 68 75 6e | 6b 3b 0d 09 65 6c 73 65 |>curChun|k;..else|
|00000f80| 09 2f 2f 20 4f 74 68 65 | 72 77 69 73 65 2c 20 73 |.// Othe|rwise, s|
|00000f90| 74 61 72 74 20 66 72 6f | 6d 20 62 65 67 69 6e 6e |tart fro|m beginn|
|00000fa0| 69 6e 67 20 6f 66 20 63 | 68 61 69 6e 0d 09 09 63 |ing of c|hain...c|
|00000fb0| 63 20 3d 20 64 57 69 6e | 2d 3e 66 69 72 73 74 43 |c = dWin|->firstC|
|00000fc0| 68 75 6e 6b 3b 0d 0d 09 | 2f 2f 20 53 65 61 72 63 |hunk;...|// Searc|
|00000fd0| 68 20 63 68 75 6e 63 6b | 20 6c 69 73 74 20 66 6f |h chunck| list fo|
|00000fe0| 72 20 63 68 75 6e 63 6b | 20 77 69 74 68 20 6f 75 |r chunck| with ou|
|00000ff0| 72 20 61 64 64 72 65 73 | 73 0d 09 77 68 69 6c 65 |r addres|s..while|
|00001000| 28 20 63 63 20 29 0d 09 | 7b 0d 09 09 69 66 28 20 |( cc )..|{...if( |
|00001010| 61 64 64 72 20 3c 20 28 | 20 2a 63 63 20 29 2d 3e |addr < (| *cc )->|
|00001020| 61 64 64 72 2b 28 20 2a | 63 63 20 29 2d 3e 73 69 |addr+( *|cc )->si|
|00001030| 7a 65 20 29 0d 09 09 09 | 62 72 65 61 6b 3b 0d 09 |ze )....|break;..|
|00001040| 09 65 6c 73 65 0d 09 09 | 7b 0d 09 09 09 69 66 28 |.else...|{....if(|
|00001050| 20 28 20 2a 63 63 20 29 | 2d 3e 6e 65 78 74 20 29 | ( *cc )|->next )|
|00001060| 0d 09 09 09 09 63 63 20 | 3d 20 28 20 2a 63 63 20 |.....cc |= ( *cc |
|00001070| 29 2d 3e 6e 65 78 74 3b | 0d 09 09 09 65 6c 73 65 |)->next;|....else|
|00001080| 0d 09 09 09 09 72 65 74 | 75 72 6e 20 63 63 3b 0d |.....ret|urn cc;.|
|00001090| 09 09 7d 0d 09 7d 0d 09 | 72 65 74 75 72 6e 20 63 |..}..}..|return c|
|000010a0| 63 3b 0d 7d 0d 0d 2f 2a | 2a 2a 20 47 45 54 20 42 |c;.}../*|** GET B|
|000010b0| 59 54 45 20 2a 2a 2a 2f | 0d 42 79 74 65 20 47 65 |YTE ***/|.Byte Ge|
|000010c0| 74 42 79 74 65 28 20 45 | 64 69 74 57 69 6e 64 6f |tByte( E|ditWindo|
|000010d0| 77 50 74 72 20 64 57 69 | 6e 2c 20 6c 6f 6e 67 20 |wPtr dWi|n, long |
|000010e0| 61 64 64 72 20 29 0d 7b | 0d 09 72 65 67 69 73 74 |addr ).{|..regist|
|000010f0| 65 72 20 45 64 69 74 43 | 68 75 6e 6b 20 2a 2a 63 |er EditC|hunk **c|
|00001100| 63 3b 0d 09 69 66 28 20 | 28 20 63 63 20 3d 20 47 |c;..if( |( cc = G|
|00001110| 65 74 43 68 75 6e 6b 42 | 79 41 64 64 72 28 20 64 |etChunkB|yAddr( d|
|00001120| 57 69 6e 2c 20 61 64 64 | 72 20 29 20 29 20 21 3d |Win, add|r ) ) !=|
|00001130| 20 4e 55 4c 4c 20 29 0d | 09 7b 0d 09 09 2f 2f 20 | NULL ).|.{...// |
|00001140| 43 6f 72 72 65 63 74 20 | 43 68 75 6e 6b 0d 09 09 |Correct |Chunk...|
|00001150| 69 66 28 20 21 28 20 2a | 63 63 20 29 2d 3e 6c 6f |if( !( *|cc )->lo|
|00001160| 61 64 65 64 20 29 20 4c | 6f 61 64 43 68 75 6e 6b |aded ) L|oadChunk|
|00001170| 28 20 64 57 69 6e 2c 20 | 63 63 20 29 3b 0d 09 09 |( dWin, |cc );...|
|00001180| 69 66 28 20 28 20 2a 63 | 63 20 29 2d 3e 6c 61 73 |if( ( *c|c )->las|
|00001190| 74 43 74 72 20 21 3d 20 | 64 57 69 6e 2d 3e 75 73 |tCtr != |dWin->us|
|000011a0| 65 43 74 72 20 29 0d 09 | 09 7b 0d 09 09 09 2f 2f |eCtr )..|.{....//|
|000011b0| 20 55 70 64 61 74 65 20 | 74 68 65 20 43 6f 75 6e | Update |the Coun|
|000011c0| 74 65 72 0d 09 09 09 2b | 2b 64 57 69 6e 2d 3e 75 |ter....+|+dWin->u|
|000011d0| 73 65 43 74 72 3b 0d 09 | 09 09 28 20 2a 63 63 20 |seCtr;..|..( *cc |
|000011e0| 29 2d 3e 6c 61 73 74 43 | 74 72 20 3d 20 64 57 69 |)->lastC|tr = dWi|
|000011f0| 6e 2d 3e 75 73 65 43 74 | 72 3b 0d 09 09 7d 0d 09 |n->useCt|r;...}..|
|00001200| 09 72 65 74 75 72 6e 20 | 28 42 79 74 65 29 20 28 |.return |(Byte) (|
|00001210| 20 2a 28 20 2a 63 63 20 | 29 2d 3e 64 61 74 61 20 | *( *cc |)->data |
|00001220| 29 5b 61 64 64 72 20 2d | 20 28 20 2a 63 63 20 29 |)[addr -| ( *cc )|
|00001230| 2d 3e 61 64 64 72 5d 3b | 0d 09 7d 0d 09 72 65 74 |->addr];|..}..ret|
|00001240| 75 72 6e 20 28 42 79 74 | 65 29 2d 31 3b 0d 7d 0d |urn (Byt|e)-1;.}.|
|00001250| 0d 2f 2a 2a 2a 20 4c 4f | 41 44 20 43 48 55 4e 4b |./*** LO|AD CHUNK|
|00001260| 20 2a 2a 2a 2f 0d 76 6f | 69 64 20 4c 6f 61 64 43 | ***/.vo|id LoadC|
|00001270| 68 75 6e 6b 28 20 45 64 | 69 74 57 69 6e 64 6f 77 |hunk( Ed|itWindow|
|00001280| 50 74 72 20 64 57 69 6e | 2c 20 45 64 69 74 43 68 |Ptr dWin|, EditCh|
|00001290| 75 6e 6b 20 2a 2a 63 63 | 20 29 0d 7b 0d 09 6c 6f |unk **cc| ).{..lo|
|000012a0| 6e 67 09 63 6f 75 6e 74 | 3b 0d 09 4f 53 45 72 72 |ng.count|;..OSErr|
|000012b0| 09 65 72 72 6f 72 3b 0d | 09 73 68 6f 72 74 09 72 |.error;.|.short.r|
|000012c0| 65 66 4e 75 6d 3b 0d 0d | 09 69 66 28 20 28 20 2a |efNum;..|.if( ( *|
|000012d0| 63 63 20 29 2d 3e 6c 6f | 61 64 65 64 20 29 0d 09 |cc )->lo|aded )..|
|000012e0| 09 72 65 74 75 72 6e 3b | 0d 0d 09 2f 2f 20 43 68 |.return;|...// Ch|
|000012f0| 65 63 6b 20 69 66 20 77 | 65 20 63 61 6e 20 66 69 |eck if w|e can fi|
|00001300| 74 20 77 69 74 68 69 6e | 20 4d 61 78 46 69 6c 65 |t within| MaxFile|
|00001310| 52 61 6d 2c 20 69 66 20 | 6e 6f 74 2c 20 64 65 61 |Ram, if |not, dea|
|00001320| 6c 6c 6f 63 61 74 65 20 | 6f 6c 64 20 63 68 75 6e |llocate |old chun|
|00001330| 6b 73 0d 09 2f 2f 20 75 | 6e 74 69 6c 20 77 65 27 |ks..// u|ntil we'|
|00001340| 72 65 20 6f 6b 0d 09 77 | 68 69 6c 65 28 20 64 57 |re ok..w|hile( dW|
|00001350| 69 6e 2d 3e 74 6f 74 4c | 6f 61 64 65 64 2b 28 20 |in->totL|oaded+( |
|00001360| 2a 63 63 20 29 2d 3e 73 | 69 7a 65 20 3e 20 6b 4d |*cc )->s|ize > kM|
|00001370| 61 78 46 69 6c 65 52 41 | 4d 20 29 0d 09 09 55 6e |axFileRA|M )...Un|
|00001380| 6c 6f 61 64 4c 65 61 73 | 74 55 73 65 64 43 68 75 |loadLeas|tUsedChu|
|00001390| 6e 6b 28 20 64 57 69 6e | 20 29 3b 0d 0d 09 28 20 |nk( dWin| );...( |
|000013a0| 2a 63 63 20 29 2d 3e 64 | 61 74 61 20 3d 20 4e 65 |*cc )->d|ata = Ne|
|000013b0| 77 48 61 6e 64 6c 65 43 | 6c 65 61 72 28 20 28 20 |wHandleC|lear( ( |
|000013c0| 2a 63 63 20 29 2d 3e 73 | 69 7a 65 20 29 3b 0d 09 |*cc )->s|ize );..|
|000013d0| 69 66 28 20 21 28 20 2a | 63 63 20 29 2d 3e 64 61 |if( !( *|cc )->da|
|000013e0| 74 61 20 29 0d 09 7b 0d | 09 09 45 72 72 6f 72 41 |ta )..{.|..ErrorA|
|000013f0| 6c 65 72 74 28 20 45 53 | 5f 43 61 75 74 69 6f 6e |lert( ES|_Caution|
|00001400| 2c 20 65 72 72 4d 65 6d | 6f 72 79 20 29 3b 0d 09 |, errMem|ory );..|
|00001410| 09 28 20 2a 63 63 20 29 | 2d 3e 61 6c 6c 6f 63 53 |.( *cc )|->allocS|
|00001420| 69 7a 65 20 3d 20 30 4c | 3b 0d 09 09 28 20 2a 63 |ize = 0L|;...( *c|
|00001430| 63 20 29 2d 3e 6c 6f 61 | 64 65 64 20 3d 20 66 61 |c )->loa|ded = fa|
|00001440| 6c 73 65 3b 0d 09 7d 0d | 09 65 6c 73 65 0d 09 7b |lse;..}.|.else..{|
|00001450| 0d 09 09 69 66 28 20 28 | 20 2a 63 63 20 29 2d 3e |...if( (| *cc )->|
|00001460| 74 79 70 65 20 3d 3d 20 | 43 54 5f 57 6f 72 6b 20 |type == |CT_Work |
|00001470| 29 20 72 65 66 4e 75 6d | 20 3d 20 64 57 69 6e 2d |) refNum| = dWin-|
|00001480| 3e 77 6f 72 6b 52 65 66 | 4e 75 6d 3b 0d 09 09 65 |>workRef|Num;...e|
|00001490| 6c 73 65 20 72 65 66 4e | 75 6d 20 3d 20 64 57 69 |lse refN|um = dWi|
|000014a0| 6e 2d 3e 72 65 66 4e 75 | 6d 3b 0d 09 09 28 20 2a |n->refNu|m;...( *|
|000014b0| 63 63 20 29 2d 3e 61 6c | 6c 6f 63 53 69 7a 65 20 |cc )->al|locSize |
|000014c0| 3d 20 28 20 2a 63 63 20 | 29 2d 3e 73 69 7a 65 3b |= ( *cc |)->size;|
|000014d0| 0d 09 09 28 20 2a 63 63 | 20 29 2d 3e 6c 6f 61 64 |...( *cc| )->load|
|000014e0| 65 64 20 3d 20 74 72 75 | 65 3b 0d 09 09 69 66 28 |ed = tru|e;...if(|
|000014f0| 20 28 20 65 72 72 6f 72 | 20 3d 20 53 65 74 46 50 | ( error| = SetFP|
|00001500| 6f 73 28 20 72 65 66 4e | 75 6d 2c 20 66 73 46 72 |os( refN|um, fsFr|
|00001510| 6f 6d 53 74 61 72 74 2c | 20 28 20 2a 63 63 20 29 |omStart,| ( *cc )|
|00001520| 2d 3e 66 69 6c 65 50 6f | 73 20 29 20 29 20 21 3d |->filePo|s ) ) !=|
|00001530| 20 6e 6f 45 72 72 20 29 | 0d 09 09 09 45 72 72 6f | noErr )|....Erro|
|00001540| 72 41 6c 65 72 74 28 20 | 45 53 5f 43 61 75 74 69 |rAlert( |ES_Cauti|
|00001550| 6f 6e 2c 20 65 72 72 53 | 65 65 6b 2c 20 65 72 72 |on, errS|eek, err|
|00001560| 6f 72 20 29 3b 0d 09 09 | 63 6f 75 6e 74 20 3d 20 |or );...|count = |
|00001570| 28 20 2a 63 63 20 29 2d | 3e 73 69 7a 65 3b 0d 09 |( *cc )-|>size;..|
|00001580| 09 69 66 28 20 63 6f 75 | 6e 74 20 29 09 2f 2f 4c |.if( cou|nt ).//L|
|00001590| 52 20 31 2e 37 33 20 3a | 65 6d 70 74 79 20 66 69 |R 1.73 :|empty fi|
|000015a0| 6c 65 20 69 73 20 4f 4b | 2c 20 64 6f 6e 27 74 20 |le is OK|, don't |
|000015b0| 62 72 69 6e 67 20 75 70 | 20 61 6e 20 65 72 72 6f |bring up| an erro|
|000015c0| 72 20 62 79 20 74 72 79 | 69 6e 67 20 74 6f 20 72 |r by try|ing to r|
|000015d0| 65 61 64 20 6e 6f 74 68 | 69 6e 67 21 0d 09 09 7b |ead noth|ing!...{|
|000015e0| 0d 09 09 09 64 57 69 6e | 2d 3e 74 6f 74 4c 6f 61 |....dWin|->totLoa|
|000015f0| 64 65 64 20 2b 3d 20 63 | 6f 75 6e 74 3b 0d 09 09 |ded += c|ount;...|
|00001600| 09 69 66 28 20 28 20 65 | 72 72 6f 72 20 3d 20 46 |.if( ( e|rror = F|
|00001610| 53 52 65 61 64 28 20 72 | 65 66 4e 75 6d 2c 20 26 |SRead( r|efNum, &|
|00001620| 63 6f 75 6e 74 2c 20 2a | 28 20 2a 63 63 20 29 2d |count, *|( *cc )-|
|00001630| 3e 64 61 74 61 20 29 20 | 29 20 21 3d 20 6e 6f 45 |>data ) |) != noE|
|00001640| 72 72 20 29 0d 09 09 09 | 09 45 72 72 6f 72 41 6c |rr )....|.ErrorAl|
|00001650| 65 72 74 28 20 45 53 5f | 43 61 75 74 69 6f 6e 2c |ert( ES_|Caution,|
|00001660| 20 65 72 72 52 65 61 64 | 2c 20 65 72 72 6f 72 20 | errRead|, error |
|00001670| 29 3b 0d 09 09 7d 0d 09 | 7d 0d 7d 0d 0d 2f 2a 2a |);...}..|}.}../**|
|00001680| 2a 20 55 4e 4c 4f 41 44 | 20 4c 45 41 53 54 20 55 |* UNLOAD| LEAST U|
|00001690| 53 45 44 20 43 48 55 4e | 4b 20 2a 2a 2a 2f 0d 76 |SED CHUN|K ***/.v|
|000016a0| 6f 69 64 20 55 6e 6c 6f | 61 64 4c 65 61 73 74 55 |oid Unlo|adLeastU|
|000016b0| 73 65 64 43 68 75 6e 6b | 28 20 45 64 69 74 57 69 |sedChunk|( EditWi|
|000016c0| 6e 64 6f 77 50 74 72 20 | 64 57 69 6e 20 29 0d 7b |ndowPtr |dWin ).{|
|000016d0| 0d 09 45 64 69 74 43 68 | 75 6e 6b 09 2a 2a 63 63 |..EditCh|unk.**cc|
|000016e0| 2c 20 2a 2a 6f 63 3d 4e | 55 4c 4c 3b 0d 09 6f 63 |, **oc=N|ULL;..oc|
|000016f0| 20 3d 20 63 63 20 3d 20 | 64 57 69 6e 2d 3e 66 69 | = cc = |dWin->fi|
|00001700| 72 73 74 43 68 75 6e 6b | 3b 0d 09 77 68 69 6c 65 |rstChunk|;..while|
|00001710| 28 20 63 63 20 29 0d 09 | 7b 0d 09 09 69 66 28 20 |( cc )..|{...if( |
|00001720| 28 20 2a 63 63 20 29 2d | 3e 6c 6f 61 64 65 64 20 |( *cc )-|>loaded |
|00001730| 26 26 20 28 20 21 28 20 | 2a 6f 63 20 29 2d 3e 6c |&& ( !( |*oc )->l|
|00001740| 6f 61 64 65 64 20 7c 7c | 20 28 20 2a 63 63 20 29 |oaded ||| ( *cc )|
|00001750| 2d 3e 6c 61 73 74 43 74 | 72 20 3c 20 28 20 2a 6f |->lastCt|r < ( *o|
|00001760| 63 20 29 2d 3e 6c 61 73 | 74 43 74 72 20 29 20 29 |c )->las|tCtr ) )|
|00001770| 0d 09 09 09 6f 63 20 3d | 20 63 63 3b 0d 09 09 63 |....oc =| cc;...c|
|00001780| 63 20 3d 20 28 20 2a 63 | 63 20 29 2d 3e 6e 65 78 |c = ( *c|c )->nex|
|00001790| 74 3b 0d 09 7d 0d 09 69 | 66 28 20 6f 63 20 29 20 |t;..}..i|f( oc ) |
|000017a0| 55 6e 6c 6f 61 64 43 68 | 75 6e 6b 28 20 64 57 69 |UnloadCh|unk( dWi|
|000017b0| 6e 2c 20 6f 63 2c 20 74 | 72 75 65 20 29 3b 0d 7d |n, oc, t|rue );.}|
|000017c0| 0d 0d 2f 2a 2a 2a 20 55 | 4e 4c 4f 41 44 20 43 48 |../*** U|NLOAD CH|
|000017d0| 55 4e 4b 20 2a 2a 2a 2f | 0d 76 6f 69 64 20 55 6e |UNK ***/|.void Un|
|000017e0| 6c 6f 61 64 43 68 75 6e | 6b 28 20 45 64 69 74 57 |loadChun|k( EditW|
|000017f0| 69 6e 64 6f 77 50 74 72 | 20 64 57 69 6e 2c 20 45 |indowPtr| dWin, E|
|00001800| 64 69 74 43 68 75 6e 6b | 09 2a 2a 63 63 2c 20 42 |ditChunk|.**cc, B|
|00001810| 6f 6f 6c 65 61 6e 20 77 | 72 69 74 65 46 6c 61 67 |oolean w|riteFlag|
|00001820| 20 29 0d 7b 0d 09 6c 6f | 6e 67 09 63 6f 75 6e 74 | ).{..lo|ng.count|
|00001830| 3b 0d 09 4f 53 45 72 72 | 09 65 72 72 6f 72 3b 0d |;..OSErr|.error;.|
|00001840| 0d 09 69 66 28 20 63 63 | 20 26 26 20 28 20 2a 63 |..if( cc| && ( *c|
|00001850| 63 20 29 2d 3e 6c 6f 61 | 64 65 64 20 26 26 20 28 |c )->loa|ded && (|
|00001860| 20 2a 63 63 20 29 2d 3e | 64 61 74 61 20 29 0d 09 | *cc )->|data )..|
|00001870| 7b 0d 09 09 69 66 28 20 | 77 72 69 74 65 46 6c 61 |{...if( |writeFla|
|00001880| 67 20 26 26 20 28 20 2a | 63 63 20 29 2d 3e 74 79 |g && ( *|cc )->ty|
|00001890| 70 65 20 3d 3d 20 43 54 | 5f 55 6e 77 72 69 74 74 |pe == CT|_Unwritt|
|000018a0| 65 6e 20 29 0d 09 09 7b | 0d 09 09 09 2f 2f 20 52 |en )...{|....// R|
|000018b0| 65 63 6f 72 64 20 4e 65 | 77 20 43 68 75 6e 6b 73 |ecord Ne|w Chunks|
|000018c0| 20 69 6e 20 57 6f 72 6b | 20 46 69 6c 65 0d 09 09 | in Work| File...|
|000018d0| 09 65 72 72 6f 72 20 3d | 20 53 65 74 46 50 6f 73 |.error =| SetFPos|
|000018e0| 28 20 64 57 69 6e 2d 3e | 77 6f 72 6b 52 65 66 4e |( dWin->|workRefN|
|000018f0| 75 6d 2c 20 66 73 46 72 | 6f 6d 53 74 61 72 74 2c |um, fsFr|omStart,|
|00001900| 20 64 57 69 6e 2d 3e 77 | 6f 72 6b 42 79 74 65 73 | dWin->w|orkBytes|
|00001910| 57 72 69 74 74 65 6e 20 | 29 3b 0d 09 09 09 69 66 |Written |);....if|
|00001920| 28 20 65 72 72 6f 72 20 | 29 0d 09 09 09 09 45 72 |( error |).....Er|
|00001930| 72 6f 72 41 6c 65 72 74 | 28 20 45 53 5f 43 61 75 |rorAlert|( ES_Cau|
|00001940| 74 69 6f 6e 2c 20 65 72 | 72 53 65 74 46 50 6f 73 |tion, er|rSetFPos|
|00001950| 2c 20 65 72 72 6f 72 20 | 29 3b 0d 09 09 09 63 6f |, error |);....co|
|00001960| 75 6e 74 20 3d 20 28 20 | 2a 63 63 20 29 2d 3e 73 |unt = ( |*cc )->s|
|00001970| 69 7a 65 3b 0d 09 09 09 | 65 72 72 6f 72 20 3d 20 |ize;....|error = |
|00001980| 46 53 57 72 69 74 65 28 | 20 64 57 69 6e 2d 3e 77 |FSWrite(| dWin->w|
|00001990| 6f 72 6b 52 65 66 4e 75 | 6d 2c 20 26 63 6f 75 6e |orkRefNu|m, &coun|
|000019a0| 74 2c 20 2a 28 20 2a 63 | 63 20 29 2d 3e 64 61 74 |t, *( *c|c )->dat|
|000019b0| 61 20 29 3b 0d 09 09 09 | 69 66 28 20 65 72 72 6f |a );....|if( erro|
|000019c0| 72 20 29 0d 09 09 09 09 | 45 72 72 6f 72 41 6c 65 |r ).....|ErrorAle|
|000019d0| 72 74 28 20 45 53 5f 43 | 61 75 74 69 6f 6e 2c 20 |rt( ES_C|aution, |
|000019e0| 65 72 72 57 72 69 74 65 | 2c 20 65 72 72 6f 72 20 |errWrite|, error |
|000019f0| 29 3b 0d 09 09 09 28 20 | 2a 63 63 20 29 2d 3e 74 |);....( |*cc )->t|
|00001a00| 79 70 65 20 3d 20 43 54 | 5f 57 6f 72 6b 3b 0d 09 |ype = CT|_Work;..|
|00001a10| 09 09 28 20 2a 63 63 20 | 29 2d 3e 66 69 6c 65 50 |..( *cc |)->fileP|
|00001a20| 6f 73 20 3d 20 64 57 69 | 6e 2d 3e 77 6f 72 6b 42 |os = dWi|n->workB|
|00001a30| 79 74 65 73 57 72 69 74 | 74 65 6e 3b 0d 09 09 09 |ytesWrit|ten;....|
|00001a40| 64 57 69 6e 2d 3e 77 6f | 72 6b 42 79 74 65 73 57 |dWin->wo|rkBytesW|
|00001a50| 72 69 74 74 65 6e 20 2b | 3d 20 63 6f 75 6e 74 3b |ritten +|= count;|
|00001a60| 0d 09 09 7d 0d 0d 09 09 | 64 57 69 6e 2d 3e 74 6f |...}....|dWin->to|
|00001a70| 74 4c 6f 61 64 65 64 20 | 2d 3d 20 28 20 2a 63 63 |tLoaded |-= ( *cc|
|00001a80| 20 29 2d 3e 73 69 7a 65 | 3b 0d 09 09 28 20 2a 63 | )->size|;...( *c|
|00001a90| 63 20 29 2d 3e 6c 6f 61 | 64 65 64 20 3d 20 66 61 |c )->loa|ded = fa|
|00001aa0| 6c 73 65 3b 0d 09 09 44 | 69 73 70 6f 73 65 48 61 |lse;...D|isposeHa|
|00001ab0| 6e 64 6c 65 28 20 28 20 | 2a 63 63 20 29 2d 3e 64 |ndle( ( |*cc )->d|
|00001ac0| 61 74 61 20 29 3b 0d 09 | 09 28 20 2a 63 63 20 29 |ata );..|.( *cc )|
|00001ad0| 2d 3e 64 61 74 61 20 3d | 20 4e 55 4c 4c 3b 0d 09 |->data =| NULL;..|
|00001ae0| 09 28 20 2a 63 63 20 29 | 2d 3e 61 6c 6c 6f 63 53 |.( *cc )|->allocS|
|00001af0| 69 7a 65 20 3d 20 30 4c | 3b 0d 09 7d 0d 7d 0d 0d |ize = 0L|;..}.}..|
|00001b00| 2f 2a 2a 2a 20 52 45 57 | 52 49 54 45 20 41 44 44 |/*** REW|RITE ADD|
|00001b10| 52 45 53 53 20 43 48 41 | 49 4e 20 2a 2a 2a 2f 0d |RESS CHA|IN ***/.|
|00001b20| 76 6f 69 64 20 52 65 77 | 72 69 74 65 41 64 64 72 |void Rew|riteAddr|
|00001b30| 65 73 73 43 68 61 69 6e | 28 20 45 64 69 74 43 68 |essChain|( EditCh|
|00001b40| 75 6e 6b 20 2a 2a 66 63 | 20 29 0d 7b 0d 09 45 64 |unk **fc| ).{..Ed|
|00001b50| 69 74 43 68 75 6e 6b 09 | 2a 2a 6e 63 3b 0d 09 2f |itChunk.|**nc;../|
|00001b60| 2f 20 52 65 77 72 69 74 | 65 20 41 64 64 72 65 73 |/ Rewrit|e Addres|
|00001b70| 73 65 73 20 6f 66 20 63 | 68 75 6e 6b 73 20 73 74 |ses of c|hunks st|
|00001b80| 61 72 74 69 6e 67 20 66 | 72 6f 6d 20 66 63 0d 09 |arting f|rom fc..|
|00001b90| 6e 63 20 3d 20 28 20 2a | 66 63 20 29 2d 3e 6e 65 |nc = ( *|fc )->ne|
|00001ba0| 78 74 3b 0d 09 77 68 69 | 6c 65 28 20 6e 63 20 29 |xt;..whi|le( nc )|
|00001bb0| 0d 09 7b 0d 09 09 28 20 | 2a 6e 63 20 29 2d 3e 61 |..{...( |*nc )->a|
|00001bc0| 64 64 72 20 3d 20 28 20 | 2a 28 20 2a 6e 63 20 29 |ddr = ( |*( *nc )|
|00001bd0| 2d 3e 70 72 65 76 20 29 | 2d 3e 61 64 64 72 20 2b |->prev )|->addr +|
|00001be0| 20 28 20 2a 28 20 2a 6e | 63 20 29 2d 3e 70 72 65 | ( *( *n|c )->pre|
|00001bf0| 76 20 29 2d 3e 73 69 7a | 65 3b 0d 09 09 6e 63 20 |v )->siz|e;...nc |
|00001c00| 3d 20 28 20 2a 6e 63 20 | 29 2d 3e 6e 65 78 74 3b |= ( *nc |)->next;|
|00001c10| 0d 09 7d 0d 7d 0d 0d 2f | 2a 2a 2a 20 44 45 4c 45 |..}.}../|*** DELE|
|00001c20| 54 45 20 53 45 4c 45 43 | 54 49 4f 4e 20 2a 2a 2a |TE SELEC|TION ***|
|00001c30| 2f 0d 76 6f 69 64 20 44 | 65 6c 65 74 65 53 65 6c |/.void D|eleteSel|
|00001c40| 65 63 74 69 6f 6e 28 20 | 45 64 69 74 57 69 6e 64 |ection( |EditWind|
|00001c50| 6f 77 50 74 72 20 64 57 | 69 6e 20 29 0d 7b 0d 09 |owPtr dW|in ).{..|
|00001c60| 45 64 69 74 43 68 75 6e | 6b 20 2a 2a 66 63 2c 20 |EditChun|k **fc, |
|00001c70| 2a 2a 65 63 2c 20 2a 2a | 6e 63 2c 20 2a 2a 74 63 |**ec, **|nc, **tc|
|00001c80| 3b 0d 0d 09 2f 2f 4c 52 | 20 31 38 30 20 2d 2d 20 |;...//LR| 180 -- |
|00001c90| 66 69 72 73 74 2c 20 74 | 68 69 73 20 69 73 20 75 |first, t|his is u|
|00001ca0| 73 65 6c 65 73 73 20 6f | 6e 20 72 65 61 64 2d 6f |seless o|n read-o|
|00001cb0| 6e 6c 79 20 66 69 6c 65 | 73 21 0d 09 69 66 28 20 |nly file|s!..if( |
|00001cc0| 64 57 69 6e 2d 3e 72 65 | 61 64 4f 6e 6c 79 46 6c |dWin->re|adOnlyFl|
|00001cd0| 61 67 20 29 0d 09 7b 0d | 09 09 45 72 72 6f 72 41 |ag )..{.|..ErrorA|
|00001ce0| 6c 65 72 74 28 20 45 53 | 5f 53 74 6f 70 2c 20 65 |lert( ES|_Stop, e|
|00001cf0| 72 72 52 65 61 64 4f 6e | 6c 79 20 29 3b 0d 09 09 |rrReadOn|ly );...|
|00001d00| 72 65 74 75 72 6e 3b 0d | 09 7d 0d 0d 09 69 66 28 |return;.|.}...if(|
|00001d10| 20 64 57 69 6e 2d 3e 65 | 6e 64 53 65 6c 20 3d 3d | dWin->e|ndSel ==|
|00001d20| 20 64 57 69 6e 2d 3e 73 | 74 61 72 74 53 65 6c 20 | dWin->s|tartSel |
|00001d30| 29 20 72 65 74 75 72 6e | 3b 0d 0d 09 2f 2f 20 49 |) return|;...// I|
|00001d40| 64 65 6e 74 69 66 79 20 | 53 74 61 72 74 69 6e 67 |dentify |Starting|
|00001d50| 20 43 68 75 6e 6b 0d 09 | 66 63 20 3d 20 47 65 74 | Chunk..|fc = Get|
|00001d60| 43 68 75 6e 6b 42 79 41 | 64 64 72 28 20 64 57 69 |ChunkByA|ddr( dWi|
|00001d70| 6e 2c 20 64 57 69 6e 2d | 3e 73 74 61 72 74 53 65 |n, dWin-|>startSe|
|00001d80| 6c 20 29 3b 0d 09 64 57 | 69 6e 2d 3e 63 75 72 43 |l );..dW|in->curC|
|00001d90| 68 75 6e 6b 20 3d 20 66 | 63 3b 09 09 2f 2f 20 4f |hunk = f|c;..// O|
|00001da0| 70 74 69 6d 69 7a 65 20 | 63 68 75 6e 6b 20 73 65 |ptimize |chunk se|
|00001db0| 61 72 63 68 65 73 0d 0d | 09 2f 2f 20 49 64 65 6e |arches..|.// Iden|
|00001dc0| 74 69 66 79 20 45 6e 64 | 69 6e 67 20 43 68 75 6e |tify End|ing Chun|
|00001dd0| 6b 0d 09 65 63 20 3d 20 | 47 65 74 43 68 75 6e 6b |k..ec = |GetChunk|
|00001de0| 42 79 41 64 64 72 28 20 | 64 57 69 6e 2c 20 64 57 |ByAddr( |dWin, dW|
|00001df0| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 29 3b 0d 0d 09 |in->endS|el );...|
|00001e00| 2f 2f 20 49 66 20 43 68 | 75 6e 6b 73 20 61 72 65 |// If Ch|unks are|
|00001e10| 20 74 68 65 20 73 61 6d | 65 0d 09 69 66 28 20 66 | the sam|e..if( f|
|00001e20| 63 20 3d 3d 20 65 63 20 | 29 0d 09 7b 0d 09 09 2f |c == ec |)..{.../|
|00001e30| 2f 20 49 66 20 63 68 75 | 6e 6b 20 69 73 20 75 6e |/ If chu|nk is un|
|00001e40| 77 72 69 74 74 65 6e 0d | 09 09 69 66 28 20 28 20 |written.|..if( ( |
|00001e50| 2a 66 63 20 29 2d 3e 74 | 79 70 65 20 3d 3d 20 43 |*fc )->t|ype == C|
|00001e60| 54 5f 55 6e 77 72 69 74 | 74 65 6e 20 29 0d 09 09 |T_Unwrit|ten )...|
|00001e70| 7b 0d 09 09 09 42 6c 6f | 63 6b 4d 6f 76 65 28 20 |{....Blo|ckMove( |
|00001e80| 2a 28 20 2a 66 63 20 29 | 2d 3e 64 61 74 61 20 2b |*( *fc )|->data +|
|00001e90| 20 28 20 64 57 69 6e 2d | 3e 65 6e 64 53 65 6c 20 | ( dWin-|>endSel |
|00001ea0| 2d 20 28 20 2a 66 63 20 | 29 2d 3e 61 64 64 72 20 |- ( *fc |)->addr |
|00001eb0| 29 2c 20 0d 09 09 09 09 | 09 09 2a 28 20 2a 66 63 |), .....|..*( *fc|
|00001ec0| 20 29 2d 3e 64 61 74 61 | 20 2b 20 28 20 64 57 69 | )->data| + ( dWi|
|00001ed0| 6e 2d 3e 73 74 61 72 74 | 53 65 6c 20 2d 20 28 20 |n->start|Sel - ( |
|00001ee0| 2a 66 63 20 29 2d 3e 61 | 64 64 72 20 29 2c 20 0d |*fc )->a|ddr ), .|
|00001ef0| 09 09 09 09 09 09 28 20 | 2a 66 63 20 29 2d 3e 73 |......( |*fc )->s|
|00001f00| 69 7a 65 20 2d 20 28 20 | 64 57 69 6e 2d 3e 65 6e |ize - ( |dWin->en|
|00001f10| 64 53 65 6c 20 2d 20 28 | 20 2a 66 63 20 29 2d 3e |dSel - (| *fc )->|
|00001f20| 61 64 64 72 20 29 20 29 | 3b 0d 09 09 09 28 20 2a |addr ) )|;....( *|
|00001f30| 66 63 20 29 2d 3e 73 69 | 7a 65 20 2d 3d 20 64 57 |fc )->si|ze -= dW|
|00001f40| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 2d 20 64 57 69 |in->endS|el - dWi|
|00001f50| 6e 2d 3e 73 74 61 72 74 | 53 65 6c 3b 0d 09 09 7d |n->start|Sel;...}|
|00001f60| 0d 09 09 65 6c 73 65 0d | 09 09 7b 0d 09 09 09 55 |...else.|..{....U|
|00001f70| 6e 6c 6f 61 64 43 68 75 | 6e 6b 28 20 64 57 69 6e |nloadChu|nk( dWin|
|00001f80| 2c 20 66 63 2c 20 74 72 | 75 65 20 29 3b 0d 09 09 |, fc, tr|ue );...|
|00001f90| 09 2f 2f 20 53 70 6c 69 | 74 20 69 6e 74 6f 20 74 |.// Spli|t into t|
|00001fa0| 77 6f 20 63 68 75 6e 6b | 73 0d 09 09 09 6e 63 20 |wo chunk|s....nc |
|00001fb0| 3d 20 4e 65 77 43 68 75 | 6e 6b 28 20 28 20 2a 66 |= NewChu|nk( ( *f|
|00001fc0| 63 20 29 2d 3e 73 69 7a | 65 20 2d 20 28 20 64 57 |c )->siz|e - ( dW|
|00001fd0| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 2d 20 28 20 2a |in->endS|el - ( *|
|00001fe0| 66 63 20 29 2d 3e 61 64 | 64 72 20 29 2c 20 0d 09 |fc )->ad|dr ), ..|
|00001ff0| 09 09 09 09 09 09 30 2c | 20 0d 09 09 09 09 09 09 |......0,| .......|
|00002000| 09 28 20 2a 66 63 20 29 | 2d 3e 66 69 6c 65 50 6f |.( *fc )|->filePo|
|00002010| 73 20 2b 20 28 20 64 57 | 69 6e 2d 3e 65 6e 64 53 |s + ( dW|in->endS|
|00002020| 65 6c 20 2d 20 28 20 2a | 66 63 20 29 2d 3e 61 64 |el - ( *|fc )->ad|
|00002030| 64 72 20 29 2c 20 0d 09 | 09 09 09 09 09 09 28 20 |dr ), ..|......( |
|00002040| 2a 66 63 20 29 2d 3e 74 | 79 70 65 20 29 3b 0d 09 |*fc )->t|ype );..|
|00002050| 09 09 28 20 2a 6e 63 20 | 29 2d 3e 70 72 65 76 20 |..( *nc |)->prev |
|00002060| 3d 20 66 63 3b 0d 09 09 | 09 28 20 2a 6e 63 20 29 |= fc;...|.( *nc )|
|00002070| 2d 3e 6e 65 78 74 20 3d | 20 28 20 2a 66 63 20 29 |->next =| ( *fc )|
|00002080| 2d 3e 6e 65 78 74 3b 0d | 09 09 09 69 66 28 20 28 |->next;.|...if( (|
|00002090| 20 2a 6e 63 20 29 2d 3e | 6e 65 78 74 20 29 0d 09 | *nc )->|next )..|
|000020a0| 09 09 09 28 20 2a 28 20 | 2a 6e 63 20 29 2d 3e 6e |...( *( |*nc )->n|
|000020b0| 65 78 74 20 29 2d 3e 70 | 72 65 76 20 3d 20 6e 63 |ext )->p|rev = nc|
|000020c0| 3b 0d 09 09 09 28 20 2a | 66 63 20 29 2d 3e 6e 65 |;....( *|fc )->ne|
|000020d0| 78 74 20 3d 20 6e 63 3b | 0d 09 09 09 28 20 2a 66 |xt = nc;|....( *f|
|000020e0| 63 20 29 2d 3e 73 69 7a | 65 20 3d 20 64 57 69 6e |c )->siz|e = dWin|
|000020f0| 2d 3e 73 74 61 72 74 53 | 65 6c 20 2d 20 28 20 2a |->startS|el - ( *|
|00002100| 66 63 20 29 2d 3e 61 64 | 64 72 3b 0d 09 09 7d 0d |fc )->ad|dr;...}.|
|00002110| 09 7d 0d 09 65 6c 73 65 | 0d 09 7b 0d 09 09 2f 2f |.}..else|..{...//|
|00002120| 20 54 72 75 6e 63 61 74 | 65 20 65 6e 64 20 6f 66 | Truncat|e end of|
|00002130| 20 66 69 72 73 74 20 43 | 68 75 6e 6b 0d 09 09 28 | first C|hunk...(|
|00002140| 20 2a 66 63 20 29 2d 3e | 73 69 7a 65 20 3d 20 64 | *fc )->|size = d|
|00002150| 57 69 6e 2d 3e 73 74 61 | 72 74 53 65 6c 20 2d 20 |Win->sta|rtSel - |
|00002160| 28 20 2a 66 63 20 29 2d | 3e 61 64 64 72 3b 0d 09 |( *fc )-|>addr;..|
|00002170| 09 2f 2f 20 55 6e 6c 69 | 6e 6b 20 26 20 44 69 73 |.// Unli|nk & Dis|
|00002180| 70 6f 73 65 20 4d 69 64 | 64 6c 65 20 43 68 75 6e |pose Mid|dle Chun|
|00002190| 6b 73 2c 20 49 66 20 41 | 6e 79 0d 09 09 6e 63 20 |ks, If A|ny...nc |
|000021a0| 3d 20 28 20 2a 66 63 20 | 29 2d 3e 6e 65 78 74 3b |= ( *fc |)->next;|
|000021b0| 0d 09 09 77 68 69 6c 65 | 28 20 6e 63 20 21 3d 20 |...while|( nc != |
|000021c0| 65 63 20 29 0d 09 09 7b | 0d 09 09 09 74 63 20 3d |ec )...{|....tc =|
|000021d0| 20 28 20 2a 6e 63 20 29 | 2d 3e 6e 65 78 74 3b 0d | ( *nc )|->next;.|
|000021e0| 09 09 09 44 69 73 70 6f | 73 65 43 68 75 6e 6b 28 |...Dispo|seChunk(|
|000021f0| 20 64 57 69 6e 2c 20 6e | 63 20 29 3b 0d 09 09 09 | dWin, n|c );....|
|00002200| 6e 63 20 3d 20 74 63 3b | 0d 09 09 7d 0d 09 09 28 |nc = tc;|...}...(|
|00002210| 20 2a 65 63 20 29 2d 3e | 70 72 65 76 20 3d 20 66 | *ec )->|prev = f|
|00002220| 63 3b 0d 09 09 28 20 2a | 66 63 20 29 2d 3e 6e 65 |c;...( *|fc )->ne|
|00002230| 78 74 20 3d 20 65 63 3b | 0d 09 09 2f 2f 20 54 72 |xt = ec;|...// Tr|
|00002240| 75 6e 63 61 74 65 20 62 | 65 67 20 6f 66 20 65 6e |uncate b|eg of en|
|00002250| 64 20 63 68 75 6e 6b 0d | 09 09 69 66 28 20 28 20 |d chunk.|..if( ( |
|00002260| 2a 65 63 20 29 2d 3e 74 | 79 70 65 20 3d 3d 20 43 |*ec )->t|ype == C|
|00002270| 54 5f 55 6e 77 72 69 74 | 74 65 6e 20 29 0d 09 09 |T_Unwrit|ten )...|
|00002280| 7b 0d 09 09 09 6c 6f 6e | 67 09 6f 66 66 73 65 74 |{....lon|g.offset|
|00002290| 3b 0d 09 09 09 6f 66 66 | 73 65 74 20 3d 20 64 57 |;....off|set = dW|
|000022a0| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 2d 20 28 20 2a |in->endS|el - ( *|
|000022b0| 65 63 20 29 2d 3e 61 64 | 64 72 3b 0d 2f 2f 20 4c |ec )->ad|dr;.// L|
|000022c0| 52 3a 20 2d 2d 20 66 69 | 78 20 61 63 63 6f 72 64 |R: -- fi|x accord|
|000022d0| 69 6e 67 20 74 6f 20 66 | 65 65 64 62 61 63 6b 20 |ing to f|eedback |
|000022e0| 66 72 6f 6d 20 4a 6f 6e | 61 74 68 61 6e 20 57 72 |from Jon|athan Wr|
|000022f0| 69 67 68 74 0d 2f 2f 20 | 09 09 09 42 6c 6f 63 6b |ight.// |...Block|
|00002300| 4d 6f 76 65 28 20 2a 28 | 20 2a 65 63 20 29 2d 3e |Move( *(| *ec )->|
|00002310| 64 61 74 61 2c 20 2a 28 | 20 2a 65 63 20 29 2d 3e |data, *(| *ec )->|
|00002320| 64 61 74 61 2b 6f 66 66 | 73 65 74 2c 20 28 20 2a |data+off|set, ( *|
|00002330| 65 63 20 29 2d 3e 73 69 | 7a 65 20 2d 20 6f 66 66 |ec )->si|ze - off|
|00002340| 73 65 74 20 29 3b 0d 09 | 09 09 42 6c 6f 63 6b 4d |set );..|..BlockM|
|00002350| 6f 76 65 28 20 2a 28 20 | 2a 65 63 20 29 2d 3e 64 |ove( *( |*ec )->d|
|00002360| 61 74 61 2b 6f 66 66 73 | 65 74 2c 20 2a 28 20 2a |ata+offs|et, *( *|
|00002370| 65 63 20 29 2d 3e 64 61 | 74 61 2c 20 28 20 2a 65 |ec )->da|ta, ( *e|
|00002380| 63 20 29 2d 3e 73 69 7a | 65 20 2d 20 6f 66 66 73 |c )->siz|e - offs|
|00002390| 65 74 20 29 3b 0d 09 09 | 09 28 20 2a 65 63 20 29 |et );...|.( *ec )|
|000023a0| 2d 3e 73 69 7a 65 20 2d | 3d 20 6f 66 66 73 65 74 |->size -|= offset|
|000023b0| 3b 0d 09 09 7d 0d 09 09 | 65 6c 73 65 0d 09 09 7b |;...}...|else...{|
|000023c0| 0d 09 09 09 6c 6f 6e 67 | 09 6f 66 66 73 65 74 3b |....long|.offset;|
|000023d0| 0d 09 09 09 6f 66 66 73 | 65 74 20 3d 20 64 57 69 |....offs|et = dWi|
|000023e0| 6e 2d 3e 65 6e 64 53 65 | 6c 20 2d 20 28 20 2a 65 |n->endSe|l - ( *e|
|000023f0| 63 20 29 2d 3e 61 64 64 | 72 3b 0d 09 09 09 55 6e |c )->add|r;....Un|
|00002400| 6c 6f 61 64 43 68 75 6e | 6b 28 20 64 57 69 6e 2c |loadChun|k( dWin,|
|00002410| 20 65 63 2c 20 74 72 75 | 65 20 29 3b 0d 09 09 09 | ec, tru|e );....|
|00002420| 28 20 2a 65 63 20 29 2d | 3e 66 69 6c 65 50 6f 73 |( *ec )-|>filePos|
|00002430| 20 2b 3d 20 6f 66 66 73 | 65 74 3b 0d 09 09 09 28 | += offs|et;....(|
|00002440| 20 2a 65 63 20 29 2d 3e | 73 69 7a 65 20 2d 3d 20 | *ec )->|size -= |
|00002450| 6f 66 66 73 65 74 3b 0d | 09 09 7d 0d 09 7d 0d 0d |offset;.|..}..}..|
|00002460| 09 64 57 69 6e 2d 3e 66 | 69 6c 65 53 69 7a 65 20 |.dWin->f|ileSize |
|00002470| 2d 3d 20 28 20 64 57 69 | 6e 2d 3e 65 6e 64 53 65 |-= ( dWi|n->endSe|
|00002480| 6c 20 2d 20 64 57 69 6e | 2d 3e 73 74 61 72 74 53 |l - dWin|->startS|
|00002490| 65 6c 20 29 3b 0d 0d 09 | 52 65 77 72 69 74 65 41 |el );...|RewriteA|
|000024a0| 64 64 72 65 73 73 43 68 | 61 69 6e 28 20 66 63 20 |ddressCh|ain( fc |
|000024b0| 29 3b 0d 0d 09 2f 2f 20 | 4d 6f 64 69 66 79 20 43 |);...// |Modify C|
|000024c0| 75 72 72 65 6e 74 20 53 | 65 6c 65 63 74 69 6f 6e |urrent S|election|
|000024d0| 20 73 75 63 68 20 74 68 | 61 74 09 65 6e 64 53 65 | such th|at.endSe|
|000024e0| 6c 20 3d 20 66 69 72 73 | 74 53 65 6c 0d 09 64 57 |l = firs|tSel..dW|
|000024f0| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 3d 20 64 57 69 |in->endS|el = dWi|
|00002500| 6e 2d 3e 73 74 61 72 74 | 53 65 6c 3b 0d 09 64 57 |n->start|Sel;..dW|
|00002510| 69 6e 2d 3e 64 69 72 74 | 79 46 6c 61 67 20 3d 20 |in->dirt|yFlag = |
|00002520| 74 72 75 65 3b 0d 7d 0d | 0d 2f 2f 20 41 73 73 75 |true;.}.|.// Assu|
|00002530| 6d 65 73 20 73 65 6c 65 | 63 74 69 6f 6e 20 50 6f |mes sele|ction Po|
|00002540| 69 6e 74 20 69 73 20 61 | 6c 72 65 61 64 79 20 30 |int is a|lready 0|
|00002550| 20 63 68 61 72 73 20 77 | 69 64 65 2e 2e 2e 0d 0d | chars w|ide.....|
|00002560| 2f 2a 2a 2a 20 49 4e 53 | 45 52 54 20 43 48 41 52 |/*** INS|ERT CHAR|
|00002570| 41 43 54 45 52 20 2a 2a | 2a 2f 0d 76 6f 69 64 20 |ACTER **|*/.void |
|00002580| 49 6e 73 65 72 74 43 68 | 61 72 61 63 74 65 72 28 |InsertCh|aracter(|
|00002590| 20 45 64 69 74 57 69 6e | 64 6f 77 50 74 72 20 64 | EditWin|dowPtr d|
|000025a0| 57 69 6e 2c 20 73 68 6f | 72 74 20 63 68 61 72 43 |Win, sho|rt charC|
|000025b0| 6f 64 65 20 29 0d 7b 0d | 09 45 64 69 74 43 68 75 |ode ).{.|.EditChu|
|000025c0| 6e 6b 20 2a 2a 66 63 2c | 20 2a 2a 65 63 2c 20 2a |nk **fc,| **ec, *|
|000025d0| 2a 6e 63 3b 09 2f 2f 20 | 4c 52 3a 20 72 65 6d 6f |*nc;.// |LR: remo|
|000025e0| 76 65 20 74 63 20 74 6f | 20 66 69 78 20 77 61 72 |ve tc to| fix war|
|000025f0| 6e 69 6e 67 73 0d 0d 09 | 2f 2f 4c 52 20 31 38 30 |nings...|//LR 180|
|00002600| 20 2d 2d 20 66 69 72 73 | 74 2c 20 74 68 69 73 20 | -- firs|t, this |
|00002610| 69 73 20 75 73 65 6c 65 | 73 73 20 6f 6e 20 72 65 |is usele|ss on re|
|00002620| 61 64 2d 6f 6e 6c 79 20 | 66 69 6c 65 73 21 0d 09 |ad-only |files!..|
|00002630| 69 66 28 20 64 57 69 6e | 2d 3e 72 65 61 64 4f 6e |if( dWin|->readOn|
|00002640| 6c 79 46 6c 61 67 20 29 | 0d 09 7b 0d 09 09 45 72 |lyFlag )|..{...Er|
|00002650| 72 6f 72 41 6c 65 72 74 | 28 20 45 53 5f 53 74 6f |rorAlert|( ES_Sto|
|00002660| 70 2c 20 65 72 72 52 65 | 61 64 4f 6e 6c 79 20 29 |p, errRe|adOnly )|
|00002670| 3b 0d 09 09 72 65 74 75 | 72 6e 3b 0d 09 7d 0d 0d |;...retu|rn;..}..|
|00002680| 09 2f 2f 20 21 21 20 52 | 65 6d 65 6d 62 65 72 20 |.// !! R|emember |
|00002690| 43 75 72 72 65 6e 74 20 | 53 74 61 74 65 20 66 6f |Current |State fo|
|000026a0| 72 20 55 6e 64 6f 0d 0d | 0d 09 2f 2f 20 49 6e 73 |r Undo..|..// Ins|
|000026b0| 65 72 74 20 43 68 61 72 | 61 63 74 65 72 20 69 6e |ert Char|acter in|
|000026c0| 74 6f 20 4c 69 73 74 0d | 09 2f 2f 20 09 49 64 65 |to List.|.// .Ide|
|000026d0| 6e 74 69 66 79 20 63 75 | 72 72 65 6e 74 20 63 68 |ntify cu|rrent ch|
|000026e0| 75 6e 6b 20 2d 20 6f 70 | 74 69 6d 69 7a 65 20 73 |unk - op|timize s|
|000026f0| 6f 20 74 68 61 74 20 69 | 66 20 63 68 61 72 20 69 |o that i|f char i|
|00002700| 73 20 62 65 74 77 65 65 | 6e 0d 09 2f 2f 20 09 09 |s betwee|n..// ..|
|00002710| 63 68 75 6e 6b 73 2c 20 | 70 69 63 6b 20 74 68 65 |chunks, |pick the|
|00002720| 20 75 6e 77 72 69 74 74 | 65 6e 20 6f 6e 65 20 6f | unwritt|en one o|
|00002730| 66 20 74 68 65 20 74 77 | 6f 2e 2e 2e 0d 0d 09 2f |f the tw|o....../|
|00002740| 2f 20 49 64 65 6e 74 69 | 66 79 20 53 74 61 72 74 |/ Identi|fy Start|
|00002750| 69 6e 67 20 43 68 75 6e | 6b 0d 09 66 63 20 3d 20 |ing Chun|k..fc = |
|00002760| 47 65 74 43 68 75 6e 6b | 42 79 41 64 64 72 28 20 |GetChunk|ByAddr( |
|00002770| 64 57 69 6e 2c 20 64 57 | 69 6e 2d 3e 73 74 61 72 |dWin, dW|in->star|
|00002780| 74 53 65 6c 20 29 3b 0d | 0d 09 2f 2f 20 09 49 64 |tSel );.|..// .Id|
|00002790| 65 6e 74 69 66 79 20 63 | 75 72 72 65 6e 74 20 63 |entify c|urrent c|
|000027a0| 68 75 6e 6b 20 2d 20 6f | 70 74 69 6d 69 7a 65 20 |hunk - o|ptimize |
|000027b0| 73 6f 20 74 68 61 74 20 | 69 66 20 63 68 61 72 20 |so that |if char |
|000027c0| 69 73 20 62 65 74 77 65 | 65 6e 0d 09 2f 2f 20 09 |is betwe|en..// .|
|000027d0| 63 68 75 6e 6b 73 2c 20 | 70 69 63 6b 20 74 68 65 |chunks, |pick the|
|000027e0| 20 75 6e 77 72 69 74 74 | 65 6e 20 6f 6e 65 20 6f | unwritt|en one o|
|000027f0| 66 20 74 68 65 20 74 77 | 6f 2e 2e 2e 20 2d 20 74 |f the tw|o... - t|
|00002800| 68 69 73 20 77 61 79 2c | 20 69 66 20 49 20 6b 65 |his way,| if I ke|
|00002810| 65 70 20 74 79 70 69 6e | 67 0d 09 2f 2f 20 09 63 |ep typin|g..// .c|
|00002820| 68 61 72 61 63 74 65 72 | 73 2c 20 49 20 77 6f 6e |haracter|s, I won|
|00002830| 27 74 20 67 65 6e 65 72 | 61 74 65 20 61 20 62 75 |'t gener|ate a bu|
|00002840| 6e 63 68 20 6f 66 20 31 | 20 62 79 74 65 20 63 68 |nch of 1| byte ch|
|00002850| 75 6e 6b 73 2e 0d 09 69 | 66 28 20 64 57 69 6e 2d |unks...i|f( dWin-|
|00002860| 3e 73 74 61 72 74 53 65 | 6c 20 2d 20 28 20 2a 66 |>startSe|l - ( *f|
|00002870| 63 20 29 2d 3e 61 64 64 | 72 20 3d 3d 20 30 20 26 |c )->add|r == 0 &|
|00002880| 26 0d 09 09 28 20 2a 66 | 63 20 29 2d 3e 70 72 65 |&...( *f|c )->pre|
|00002890| 76 20 26 26 20 28 20 2a | 66 63 20 29 2d 3e 74 79 |v && ( *|fc )->ty|
|000028a0| 70 65 20 21 3d 20 43 54 | 5f 55 6e 77 72 69 74 74 |pe != CT|_Unwritt|
|000028b0| 65 6e 20 26 26 0d 09 28 | 20 2a 28 20 2a 66 63 20 |en &&..(| *( *fc |
|000028c0| 29 2d 3e 70 72 65 76 20 | 29 2d 3e 74 79 70 65 20 |)->prev |)->type |
|000028d0| 3d 3d 20 43 54 5f 55 6e | 77 72 69 74 74 65 6e 20 |== CT_Un|written |
|000028e0| 29 0d 09 09 66 63 20 3d | 20 28 20 2a 66 63 20 29 |)...fc =| ( *fc )|
|000028f0| 2d 3e 70 72 65 76 3b 0d | 09 64 57 69 6e 2d 3e 63 |->prev;.|.dWin->c|
|00002900| 75 72 43 68 75 6e 6b 20 | 3d 20 66 63 3b 09 09 2f |urChunk |= fc;../|
|00002910| 2f 20 4f 70 74 69 6d 69 | 7a 65 20 63 68 75 6e 6b |/ Optimi|ze chunk|
|00002920| 20 73 65 61 72 63 68 65 | 73 0d 0d 09 2f 2f 20 09 | searche|s...// .|
|00002930| 49 66 20 63 75 72 72 65 | 6e 74 20 63 68 75 6e 6b |If curre|nt chunk|
|00002940| 20 69 73 20 6e 6f 74 20 | 75 6e 77 72 69 74 74 65 | is not |unwritte|
|00002950| 6e 0d 09 69 66 28 20 28 | 20 2a 66 63 20 29 2d 3e |n..if( (| *fc )->|
|00002960| 74 79 70 65 20 21 3d 20 | 43 54 5f 55 6e 77 72 69 |type != |CT_Unwri|
|00002970| 74 74 65 6e 20 29 0d 09 | 7b 0d 09 09 2f 2f 20 55 |tten )..|{...// U|
|00002980| 6e 6c 6f 61 64 20 69 74 | 0d 09 09 55 6e 6c 6f 61 |nload it|...Unloa|
|00002990| 64 43 68 75 6e 6b 28 20 | 64 57 69 6e 2c 20 66 63 |dChunk( |dWin, fc|
|000029a0| 2c 20 74 72 75 65 20 29 | 3b 0d 0d 09 09 69 66 28 |, true )|;....if(|
|000029b0| 20 64 57 69 6e 2d 3e 73 | 74 61 72 74 53 65 6c 20 | dWin->s|tartSel |
|000029c0| 3e 20 28 20 2a 66 63 20 | 29 2d 3e 61 64 64 72 20 |> ( *fc |)->addr |
|000029d0| 29 0d 09 09 7b 0d 0d 09 | 09 09 2f 2f 20 53 70 6c |)...{...|..// Spl|
|000029e0| 69 74 20 69 6e 74 6f 20 | 74 77 6f 20 63 68 75 6e |it into |two chun|
|000029f0| 6b 73 0d 09 09 09 69 66 | 28 20 64 57 69 6e 2d 3e |ks....if|( dWin->|
|00002a00| 73 74 61 72 74 53 65 6c | 20 3c 20 28 20 2a 66 63 |startSel| < ( *fc|
|00002a10| 20 29 2d 3e 61 64 64 72 | 20 2b 20 28 20 2a 66 63 | )->addr| + ( *fc|
|00002a20| 20 29 2d 3e 73 69 7a 65 | 20 29 0d 09 09 09 7b 0d | )->size| )....{.|
|00002a30| 09 09 09 09 65 63 20 3d | 20 4e 65 77 43 68 75 6e |....ec =| NewChun|
|00002a40| 6b 28 20 28 20 2a 66 63 | 20 29 2d 3e 73 69 7a 65 |k( ( *fc| )->size|
|00002a50| 20 2d 20 28 20 64 57 69 | 6e 2d 3e 73 74 61 72 74 | - ( dWi|n->start|
|00002a60| 53 65 6c 20 2d 20 28 20 | 2a 66 63 20 29 2d 3e 61 |Sel - ( |*fc )->a|
|00002a70| 64 64 72 20 29 2c 20 30 | 2c 20 0d 09 09 09 09 09 |ddr ), 0|, ......|
|00002a80| 09 09 09 28 20 2a 66 63 | 20 29 2d 3e 66 69 6c 65 |...( *fc| )->file|
|00002a90| 50 6f 73 20 2b 20 28 20 | 64 57 69 6e 2d 3e 73 74 |Pos + ( |dWin->st|
|00002aa0| 61 72 74 53 65 6c 20 2d | 20 28 20 2a 66 63 20 29 |artSel -| ( *fc )|
|00002ab0| 2d 3e 61 64 64 72 20 29 | 2c 20 0d 09 09 09 09 09 |->addr )|, ......|
|00002ac0| 09 09 09 28 20 2a 66 63 | 20 29 2d 3e 74 79 70 65 |...( *fc| )->type|
|00002ad0| 20 29 3b 0d 09 09 09 09 | 28 20 2a 65 63 20 29 2d | );.....|( *ec )-|
|00002ae0| 3e 70 72 65 76 20 3d 20 | 66 63 3b 0d 09 09 09 09 |>prev = |fc;.....|
|00002af0| 28 20 2a 65 63 20 29 2d | 3e 6e 65 78 74 20 3d 20 |( *ec )-|>next = |
|00002b00| 28 20 2a 66 63 20 29 2d | 3e 6e 65 78 74 3b 0d 09 |( *fc )-|>next;..|
|00002b10| 09 09 09 69 66 28 20 28 | 20 2a 65 63 20 29 2d 3e |...if( (| *ec )->|
|00002b20| 6e 65 78 74 20 29 0d 09 | 09 09 09 09 28 20 2a 28 |next )..|....( *(|
|00002b30| 20 2a 65 63 20 29 2d 3e | 6e 65 78 74 20 29 2d 3e | *ec )->|next )->|
|00002b40| 70 72 65 76 20 3d 20 65 | 63 3b 0d 09 09 09 09 28 |prev = e|c;.....(|
|00002b50| 20 2a 66 63 20 29 2d 3e | 6e 65 78 74 20 3d 20 65 | *fc )->|next = e|
|00002b60| 63 3b 0d 09 09 09 7d 0d | 09 09 09 65 6c 73 65 20 |c;....}.|...else |
|00002b70| 65 63 20 3d 20 28 20 2a | 66 63 20 29 2d 3e 6e 65 |ec = ( *|fc )->ne|
|00002b80| 78 74 3b 0d 0d 09 09 09 | 28 20 2a 66 63 20 29 2d |xt;.....|( *fc )-|
|00002b90| 3e 73 69 7a 65 20 3d 20 | 64 57 69 6e 2d 3e 73 74 |>size = |dWin->st|
|00002ba0| 61 72 74 53 65 6c 20 2d | 20 28 20 2a 66 63 20 29 |artSel -| ( *fc )|
|00002bb0| 2d 3e 61 64 64 72 3b 0d | 09 09 7d 0d 09 09 65 6c |->addr;.|..}...el|
|00002bc0| 73 65 0d 09 09 7b 0d 09 | 09 09 65 63 20 3d 20 66 |se...{..|..ec = f|
|00002bd0| 63 3b 0d 09 09 09 66 63 | 20 3d 20 28 20 2a 66 63 |c;....fc| = ( *fc|
|00002be0| 20 29 2d 3e 70 72 65 76 | 3b 0d 09 09 7d 0d 0d 09 | )->prev|;...}...|
|00002bf0| 09 2f 2f 20 41 64 64 20 | 4e 65 77 20 75 6e 77 72 |.// Add |New unwr|
|00002c00| 69 74 74 65 6e 20 63 68 | 75 6e 6b 20 69 6e 20 6d |itten ch|unk in m|
|00002c10| 69 64 64 6c 65 20 77 69 | 74 68 20 30 20 73 69 7a |iddle wi|th 0 siz|
|00002c20| 65 0d 09 09 6e 63 20 3d | 20 4e 65 77 43 68 75 6e |e...nc =| NewChun|
|00002c30| 6b 28 20 30 2c 20 30 2c | 20 30 2c 20 43 54 5f 55 |k( 0, 0,| 0, CT_U|
|00002c40| 6e 77 72 69 74 74 65 6e | 20 29 3b 0d 09 09 69 66 |nwritten| );...if|
|00002c50| 28 20 66 63 20 29 0d 09 | 09 7b 0d 09 09 09 28 20 |( fc )..|.{....( |
|00002c60| 2a 66 63 20 29 2d 3e 6e | 65 78 74 20 3d 20 6e 63 |*fc )->n|ext = nc|
|00002c70| 3b 0d 09 09 09 28 20 2a | 6e 63 20 29 2d 3e 61 64 |;....( *|nc )->ad|
|00002c80| 64 72 20 3d 20 28 20 2a | 66 63 20 29 2d 3e 61 64 |dr = ( *|fc )->ad|
|00002c90| 64 72 20 2b 20 28 20 2a | 66 63 20 29 2d 3e 73 69 |dr + ( *|fc )->si|
|00002ca0| 7a 65 3b 0d 09 09 7d 0d | 09 09 65 6c 73 65 0d 09 |ze;...}.|..else..|
|00002cb0| 09 09 64 57 69 6e 2d 3e | 66 69 72 73 74 43 68 75 |..dWin->|firstChu|
|00002cc0| 6e 6b 20 3d 20 6e 63 3b | 0d 09 09 69 66 28 20 65 |nk = nc;|...if( e|
|00002cd0| 63 20 29 0d 09 09 09 28 | 20 2a 65 63 20 29 2d 3e |c )....(| *ec )->|
|00002ce0| 70 72 65 76 20 3d 20 6e | 63 3b 0d 09 09 28 20 2a |prev = n|c;...( *|
|00002cf0| 6e 63 20 29 2d 3e 70 72 | 65 76 20 3d 20 66 63 3b |nc )->pr|ev = fc;|
|00002d00| 0d 09 09 28 20 2a 6e 63 | 20 29 2d 3e 6e 65 78 74 |...( *nc| )->next|
|00002d10| 20 3d 20 65 63 3b 0d 09 | 09 2f 2f 20 63 75 72 72 | = ec;..|.// curr|
|00002d20| 65 6e 74 20 63 68 75 6e | 6b 20 3d 20 6e 65 77 20 |ent chun|k = new |
|00002d30| 63 68 75 6e 6b 0d 09 09 | 64 57 69 6e 2d 3e 63 75 |chunk...|dWin->cu|
|00002d40| 72 43 68 75 6e 6b 20 3d | 20 6e 63 3b 0d 09 09 66 |rChunk =| nc;...f|
|00002d50| 63 20 3d 20 6e 63 3b 0d | 09 7d 0d 0d 09 2f 2f 20 |c = nc;.|.}...// |
|00002d60| 09 45 78 70 61 6e 64 20 | 50 74 72 20 69 66 20 4e |.Expand |Ptr if N|
|00002d70| 65 63 65 73 73 61 72 79 | 0d 09 69 66 28 20 28 20 |ecessary|..if( ( |
|00002d80| 2a 66 63 20 29 2d 3e 61 | 6c 6c 6f 63 53 69 7a 65 |*fc )->a|llocSize|
|00002d90| 20 3c 3d 20 28 20 2a 66 | 63 20 29 2d 3e 73 69 7a | <= ( *f|c )->siz|
|00002da0| 65 20 29 0d 09 7b 0d 09 | 09 28 20 2a 66 63 20 29 |e )..{..|.( *fc )|
|00002db0| 2d 3e 61 6c 6c 6f 63 53 | 69 7a 65 20 2b 3d 20 6b |->allocS|ize += k|
|00002dc0| 41 6c 6c 6f 63 49 6e 63 | 72 65 6d 65 6e 74 3b 09 |AllocInc|rement;.|
|00002dd0| 09 2f 2f 20 21 21 20 63 | 6f 6e 73 69 64 65 72 20 |.// !! c|onsider |
|00002de0| 65 78 70 61 6e 64 69 6e | 67 20 61 73 20 73 69 7a |expandin|g as siz|
|00002df0| 65 20 67 6f 65 73 20 75 | 70 0d 09 09 53 65 74 48 |e goes u|p...SetH|
|00002e00| 61 6e 64 6c 65 53 69 7a | 65 28 20 28 20 2a 66 63 |andleSiz|e( ( *fc|
|00002e10| 20 29 2d 3e 64 61 74 61 | 2c 20 28 20 2a 66 63 20 | )->data|, ( *fc |
|00002e20| 29 2d 3e 61 6c 6c 6f 63 | 53 69 7a 65 20 29 3b 0d |)->alloc|Size );.|
|00002e30| 09 7d 0d 0d 09 2f 2f 20 | 4d 61 6b 65 20 52 6f 6f |.}...// |Make Roo|
|00002e40| 6d 20 66 6f 72 20 43 68 | 61 72 61 63 74 65 72 20 |m for Ch|aracter |
|00002e50| 69 66 20 6e 65 63 65 73 | 73 61 72 79 0d 09 69 66 |if neces|sary..if|
|00002e60| 28 20 64 57 69 6e 2d 3e | 73 74 61 72 74 53 65 6c |( dWin->|startSel|
|00002e70| 20 3c 20 28 20 2a 66 63 | 20 29 2d 3e 61 64 64 72 | < ( *fc| )->addr|
|00002e80| 20 2b 20 28 20 2a 66 63 | 20 29 2d 3e 73 69 7a 65 | + ( *fc| )->size|
|00002e90| 20 29 0d 09 09 42 6c 6f | 63 6b 4d 6f 76 65 28 20 | )...Blo|ckMove( |
|00002ea0| 2a 28 20 2a 66 63 20 29 | 2d 3e 64 61 74 61 20 2b |*( *fc )|->data +|
|00002eb0| 20 28 20 64 57 69 6e 2d | 3e 73 74 61 72 74 53 65 | ( dWin-|>startSe|
|00002ec0| 6c 20 2d 20 28 20 2a 66 | 63 20 29 2d 3e 61 64 64 |l - ( *f|c )->add|
|00002ed0| 72 20 29 2c 20 0d 09 09 | 09 09 09 2a 28 20 2a 66 |r ), ...|...*( *f|
|00002ee0| 63 20 29 2d 3e 64 61 74 | 61 20 2b 20 28 20 31 2b |c )->dat|a + ( 1+|
|00002ef0| 28 20 64 57 69 6e 2d 3e | 73 74 61 72 74 53 65 6c |( dWin->|startSel|
|00002f00| 20 2d 20 28 20 2a 66 63 | 20 29 2d 3e 61 64 64 72 | - ( *fc| )->addr|
|00002f10| 20 29 20 29 2c 20 0d 09 | 09 09 09 09 28 20 2a 66 | ) ), ..|....( *f|
|00002f20| 63 20 29 2d 3e 61 64 64 | 72 20 2b 20 28 20 2a 66 |c )->add|r + ( *f|
|00002f30| 63 20 29 2d 3e 73 69 7a | 65 20 2d 20 64 57 69 6e |c )->siz|e - dWin|
|00002f40| 2d 3e 73 74 61 72 74 53 | 65 6c 20 29 3b 0d 0d 09 |->startS|el );...|
|00002f50| 2f 2f 20 09 49 6e 73 65 | 72 74 20 43 68 61 72 20 |// .Inse|rt Char |
|00002f60| 69 6e 74 6f 20 62 75 66 | 66 65 72 0d 09 28 20 2a |into buf|fer..( *|
|00002f70| 28 20 2a 66 63 20 29 2d | 3e 64 61 74 61 20 29 5b |( *fc )-|>data )[|
|00002f80| 64 57 69 6e 2d 3e 73 74 | 61 72 74 53 65 6c 20 2d |dWin->st|artSel -|
|00002f90| 20 28 20 2a 66 63 20 29 | 2d 3e 61 64 64 72 5d 20 | ( *fc )|->addr] |
|00002fa0| 3d 20 63 68 61 72 43 6f | 64 65 3b 0d 0d 09 2f 2f |= charCo|de;...//|
|00002fb0| 20 09 55 70 64 61 74 65 | 20 46 69 65 6c 64 73 20 | .Update| Fields |
|00002fc0| 69 6e 20 74 68 69 73 20 | 63 68 75 6e 6b 0d 09 28 |in this |chunk..(|
|00002fd0| 20 2a 66 63 20 29 2d 3e | 73 69 7a 65 2b 2b 3b 0d | *fc )->|size++;.|
|00002fe0| 09 64 57 69 6e 2d 3e 66 | 69 6c 65 53 69 7a 65 2b |.dWin->f|ileSize+|
|00002ff0| 2b 3b 0d 0d 09 2f 2f 20 | 53 65 74 20 44 69 72 74 |+;...// |Set Dirt|
|00003000| 79 20 46 6c 61 67 0d 09 | 64 57 69 6e 2d 3e 64 69 |y Flag..|dWin->di|
|00003010| 72 74 79 46 6c 61 67 20 | 3d 20 74 72 75 65 3b 0d |rtyFlag |= true;.|
|00003020| 0d 09 2f 2f 20 09 55 70 | 64 61 74 65 20 61 64 64 |..// .Up|date add|
|00003030| 72 20 66 69 65 6c 64 73 | 20 6f 66 20 66 6f 6c 6c |r fields| of foll|
|00003040| 6f 77 69 6e 67 20 63 68 | 75 6e 6b 73 0d 09 52 65 |owing ch|unks..Re|
|00003050| 77 72 69 74 65 41 64 64 | 72 65 73 73 43 68 61 69 |writeAdd|ressChai|
|00003060| 6e 28 20 66 63 20 29 3b | 0d 0d 09 2f 2f 20 49 6e |n( fc );|...// In|
|00003070| 63 72 65 6d 65 6e 74 20 | 63 75 72 72 65 6e 74 20 |crement |current |
|00003080| 53 65 6c 65 63 74 69 6f | 6e 0d 09 64 57 69 6e 2d |Selectio|n..dWin-|
|00003090| 3e 73 74 61 72 74 53 65 | 6c 2b 2b 3b 0d 09 64 57 |>startSe|l++;..dW|
|000030a0| 69 6e 2d 3e 65 6e 64 53 | 65 6c 2b 2b 3b 0d 0d 0d |in->endS|el++;...|
|000030b0| 09 2f 2f 20 55 70 64 61 | 74 65 20 44 69 73 70 6c |.// Upda|te Displ|
|000030c0| 61 79 0d 09 53 63 72 6f | 6c 6c 54 6f 53 65 6c 65 |ay..Scro|llToSele|
|000030d0| 63 74 69 6f 6e 28 20 64 | 57 69 6e 2c 20 64 57 69 |ction( d|Win, dWi|
|000030e0| 6e 2d 3e 73 74 61 72 74 | 53 65 6c 2c 20 66 61 6c |n->start|Sel, fal|
|000030f0| 73 65 20 29 3b 0d 7d 0d | 0d 2f 2a 2a 2a 20 52 45 |se );.}.|./*** RE|
|00003100| 4c 45 41 53 45 20 45 44 | 49 54 20 53 43 52 41 50 |LEASE ED|IT SCRAP|
|00003110| 20 2a 2a 2a 2f 0d 76 6f | 69 64 20 52 65 6c 65 61 | ***/.vo|id Relea|
|00003120| 73 65 45 64 69 74 53 63 | 72 61 70 28 20 45 64 69 |seEditSc|rap( Edi|
|00003130| 74 57 69 6e 64 6f 77 50 | 74 72 20 64 57 69 6e 2c |tWindowP|tr dWin,|
|00003140| 20 45 64 69 74 43 68 75 | 6e 6b 20 2a 2a 2a 73 63 | EditChu|nk ***sc|
|00003150| 72 61 70 20 29 0d 7b 0d | 09 45 64 69 74 43 68 75 |rap ).{.|.EditChu|
|00003160| 6e 6b 09 2a 2a 63 63 2c | 20 2a 2a 62 63 3b 0d 09 |nk.**cc,| **bc;..|
|00003170| 63 63 20 3d 20 2a 73 63 | 72 61 70 3b 0d 09 77 68 |cc = *sc|rap;..wh|
|00003180| 69 6c 65 28 20 63 63 20 | 29 0d 09 7b 0d 09 09 62 |ile( cc |)..{...b|
|00003190| 63 20 3d 20 28 20 2a 63 | 63 20 29 2d 3e 6e 65 78 |c = ( *c|c )->nex|
|000031a0| 74 3b 0d 09 09 44 69 73 | 70 6f 73 65 43 68 75 6e |t;...Dis|poseChun|
|000031b0| 6b 28 20 64 57 69 6e 2c | 20 63 63 20 29 3b 0d 09 |k( dWin,| cc );..|
|000031c0| 09 63 63 20 3d 20 62 63 | 3b 0d 09 7d 0d 09 2a 73 |.cc = bc|;..}..*s|
|000031d0| 63 72 61 70 20 3d 20 4e | 55 4c 4c 3b 0d 7d 0d 0d |crap = N|ULL;.}..|
|000031e0| 2f 2f 20 48 69 67 68 20 | 4c 65 76 65 6c 20 43 6f |// High |Level Co|
|000031f0| 70 79 0d 0d 2f 2a 2a 2a | 20 43 4f 50 59 20 53 45 |py../***| COPY SE|
|00003200| 4c 45 43 54 49 4f 4e 20 | 2a 2a 2a 2f 0d 76 6f 69 |LECTION |***/.voi|
|00003210| 64 20 43 6f 70 79 53 65 | 6c 65 63 74 69 6f 6e 28 |d CopySe|lection(|
|00003220| 20 45 64 69 74 57 69 6e | 64 6f 77 50 74 72 20 64 | EditWin|dowPtr d|
|00003230| 57 69 6e 20 29 0d 7b 0d | 23 69 66 20 21 54 41 52 |Win ).{.|#if !TAR|
|00003240| 47 45 54 5f 41 50 49 5f | 4d 41 43 5f 43 41 52 42 |GET_API_|MAC_CARB|
|00003250| 4f 4e 0d 2f 2f 20 4c 52 | 3a 20 76 31 2e 36 2e 35 |ON.// LR|: v1.6.5|
|00003260| 09 50 53 63 72 61 70 53 | 74 75 66 66 20 53 63 72 |.PScrapS|tuff Scr|
|00003270| 61 70 49 6e 66 6f 3b 09 | 2f 2f 20 4c 52 3a 20 73 |apInfo;.|// LR: s|
|00003280| 65 65 20 62 65 6c 6f 77 | 0d 23 65 6e 64 69 66 0d |ee below|.#endif.|
|00003290| 0d 09 43 6f 70 79 4f 70 | 65 72 61 74 69 6f 6e 28 |..CopyOp|eration(|
|000032a0| 20 64 57 69 6e 2c 20 26 | 5f 73 63 72 61 70 43 68 | dWin, &|_scrapCh|
|000032b0| 75 6e 6b 20 29 3b 0d 09 | 69 66 28 20 5f 73 63 72 |unk );..|if( _scr|
|000032c0| 61 70 43 68 75 6e 6b 20 | 29 0d 09 7b 0d 09 09 4f |apChunk |)..{...O|
|000032d0| 53 45 72 72 20 61 6e 45 | 72 72 3b 0d 0d 23 69 66 |SErr anE|rr;..#if|
|000032e0| 20 54 41 52 47 45 54 5f | 41 50 49 5f 4d 41 43 5f | TARGET_|API_MAC_|
|000032f0| 43 41 52 42 4f 4e 0d 09 | 09 53 63 72 61 70 52 65 |CARBON..|.ScrapRe|
|00003300| 66 20 73 63 72 61 70 52 | 65 66 3b 0d 0d 09 09 61 |f scrapR|ef;....a|
|00003310| 6e 45 72 72 20 3d 20 43 | 6c 65 61 72 43 75 72 72 |nErr = C|learCurr|
|00003320| 65 6e 74 53 63 72 61 70 | 28 29 3b 0d 09 09 69 66 |entScrap|();...if|
|00003330| 28 20 21 61 6e 45 72 72 | 20 29 0d 09 09 09 61 6e |( !anErr| )....an|
|00003340| 45 72 72 20 3d 20 47 65 | 74 43 75 72 72 65 6e 74 |Err = Ge|tCurrent|
|00003350| 53 63 72 61 70 28 20 26 | 73 63 72 61 70 52 65 66 |Scrap( &|scrapRef|
|00003360| 20 29 3b 0d 23 65 6c 73 | 65 0d 09 09 5a 65 72 6f | );.#els|e...Zero|
|00003370| 53 63 72 61 70 28 29 3b | 0d 23 65 6e 64 69 66 0d |Scrap();|.#endif.|
|00003380| 0d 09 09 2f 2f 20 4c 52 | 3a 20 2d 2d 20 73 75 72 |...// LR|: -- sur|
|00003390| 65 20 77 69 73 68 20 49 | 20 72 65 6d 65 6d 62 65 |e wish I| remembe|
|000033a0| 72 65 64 20 77 68 6f 20 | 73 65 6e 74 20 6d 65 20 |red who |sent me |
|000033b0| 74 68 69 73 20 63 6f 64 | 65 21 21 21 0d 0d 09 09 |this cod|e!!!....|
|000033c0| 69 66 28 20 45 4d 5f 48 | 65 78 20 3d 3d 20 64 57 |if( EM_H|ex == dW|
|000033d0| 69 6e 2d 3e 65 64 69 74 | 4d 6f 64 65 20 29 0d 09 |in->edit|Mode )..|
|000033e0| 09 7b 0d 09 09 09 48 61 | 6e 64 6c 65 20 74 6d 70 |.{....Ha|ndle tmp|
|000033f0| 3b 0d 09 09 09 63 6f 6e | 73 74 20 63 68 61 72 20 |;....con|st char |
|00003400| 2a 73 72 63 3b 0d 09 09 | 09 63 68 61 72 20 2a 64 |*src;...|.char *d|
|00003410| 65 73 74 2c 20 62 69 74 | 3b 0d 09 09 09 6c 6f 6e |est, bit|;....lon|
|00003420| 67 20 69 2c 20 6c 65 6e | 20 3d 20 28 20 2a 5f 73 |g i, len| = ( *_s|
|00003430| 63 72 61 70 43 68 75 6e | 6b 20 29 2d 3e 73 69 7a |crapChun|k )->siz|
|00003440| 65 20 2a 20 28 67 50 72 | 65 66 73 2e 66 6f 72 6d |e * (gPr|efs.form|
|00003450| 61 74 43 6f 70 69 65 73 | 20 3f 20 33 20 3a 20 32 |atCopies| ? 3 : 2|
|00003460| 29 3b 09 2f 2f 4c 52 20 | 31 2e 37 32 20 2d 2d 20 |);.//LR |1.72 -- |
|00003470| 73 69 7a 65 20 64 65 70 | 65 6e 64 73 20 6f 6e 20 |size dep|ends on |
|00003480| 68 6f 77 20 63 6f 70 69 | 65 64 0d 0d 09 09 09 74 |how copi|ed.....t|
|00003490| 6d 70 20 3d 20 4e 65 77 | 48 61 6e 64 6c 65 28 20 |mp = New|Handle( |
|000034a0| 6c 65 6e 20 29 3b 0d 09 | 09 09 69 66 28 20 74 6d |len );..|..if( tm|
|000034b0| 70 20 29 0d 09 09 09 7b | 0d 09 09 09 09 48 4c 6f |p )....{|.....HLo|
|000034c0| 63 6b 28 20 28 20 2a 5f | 73 63 72 61 70 43 68 75 |ck( ( *_|scrapChu|
|000034d0| 6e 6b 20 29 2d 3e 64 61 | 74 61 20 29 3b 0d 09 09 |nk )->da|ta );...|
|000034e0| 09 09 48 4c 6f 63 6b 28 | 20 74 6d 70 20 29 3b 0d |..HLock(| tmp );.|
|000034f0| 0d 09 09 09 09 73 72 63 | 20 3d 20 28 20 63 6f 6e |.....src| = ( con|
|00003500| 73 74 20 63 68 61 72 20 | 2a 20 29 20 2a 28 20 2a |st char |* ) *( *|
|00003510| 5f 73 63 72 61 70 43 68 | 75 6e 6b 20 29 2d 3e 64 |_scrapCh|unk )->d|
|00003520| 61 74 61 3b 0d 09 09 09 | 09 64 65 73 74 20 3d 20 |ata;....|.dest = |
|00003530| 2a 74 6d 70 3b 0d 0d 09 | 09 09 09 6c 65 6e 20 3d |*tmp;...|...len =|
|00003540| 20 28 20 2a 5f 73 63 72 | 61 70 43 68 75 6e 6b 20 | ( *_scr|apChunk |
|00003550| 29 2d 3e 73 69 7a 65 3b | 0d 09 09 09 09 66 6f 72 |)->size;|.....for|
|00003560| 28 20 69 3d 30 3b 20 69 | 3c 6c 65 6e 3b 20 2b 2b |( i=0; i|<len; ++|
|00003570| 69 2c 20 2b 2b 73 72 63 | 20 29 0d 09 09 09 09 7b |i, ++src| ).....{|
|00003580| 0d 09 09 09 09 09 20 62 | 69 74 20 3d 20 28 20 73 |...... b|it = ( s|
|00003590| 72 63 5b 30 5d 20 26 20 | 30 78 46 30 20 29 20 3e |rc[0] & |0xF0 ) >|
|000035a0| 3e 20 34 3b 0d 09 09 09 | 09 09 20 2a 64 65 73 74 |> 4;....|.. *dest|
|000035b0| 2b 2b 20 3d 20 62 69 74 | 20 3e 20 39 20 3f 20 28 |++ = bit| > 9 ? (|
|000035c0| 20 62 69 74 2d 31 30 2b | 27 41 27 20 29 20 3a 20 | bit-10+|'A' ) : |
|000035d0| 28 20 62 69 74 2b 27 30 | 27 20 29 3b 0d 09 09 09 |( bit+'0|' );....|
|000035e0| 09 09 20 62 69 74 20 3d | 20 28 20 73 72 63 5b 30 |.. bit =| ( src[0|
|000035f0| 5d 20 26 20 30 78 30 46 | 20 29 3b 0d 09 09 09 09 |] & 0x0F| );.....|
|00003600| 09 20 2a 64 65 73 74 2b | 2b 20 3d 20 62 69 74 20 |. *dest+|+ = bit |
|00003610| 3e 20 39 20 3f 20 28 20 | 62 69 74 2d 31 30 2b 27 |> 9 ? ( |bit-10+'|
|00003620| 41 27 20 29 20 3a 20 28 | 20 62 69 74 2b 27 30 27 |A' ) : (| bit+'0'|
|00003630| 20 29 3b 0d 09 09 09 09 | 09 20 69 66 28 20 67 50 | );.....|. if( gP|
|00003640| 72 65 66 73 2e 66 6f 72 | 6d 61 74 43 6f 70 69 65 |refs.for|matCopie|
|00003650| 73 20 29 0d 09 09 09 09 | 09 09 20 2a 64 65 73 74 |s ).....|.. *dest|
|00003660| 2b 2b 20 3d 20 28 69 20 | 2b 20 31 29 20 25 20 6b |++ = (i |+ 1) % k|
|00003670| 42 79 74 65 73 50 65 72 | 4c 69 6e 65 20 3d 3d 20 |BytesPer|Line == |
|00003680| 30 20 3f 20 27 5c 72 27 | 20 3a 20 27 20 27 3b 0d |0 ? '\r'| : ' ';.|
|00003690| 09 09 09 09 7d 0d 0d 09 | 09 09 09 48 55 6e 6c 6f |....}...|...HUnlo|
|000036a0| 63 6b 28 20 28 20 2a 5f | 73 63 72 61 70 43 68 75 |ck( ( *_|scrapChu|
|000036b0| 6e 6b 20 29 2d 3e 64 61 | 74 61 20 29 3b 0d 0d 23 |nk )->da|ta );..#|
|000036c0| 69 66 20 54 41 52 47 45 | 54 5f 41 50 49 5f 4d 41 |if TARGE|T_API_MA|
|000036d0| 43 5f 43 41 52 42 4f 4e | 0d 09 09 09 09 61 6e 45 |C_CARBON|.....anE|
|000036e0| 72 72 20 3d 20 50 75 74 | 53 63 72 61 70 46 6c 61 |rr = Put|ScrapFla|
|000036f0| 76 6f 72 28 20 73 63 72 | 61 70 52 65 66 2c 20 6b |vor( scr|apRef, k|
|00003700| 53 63 72 61 70 46 6c 61 | 76 6f 72 54 79 70 65 54 |ScrapFla|vorTypeT|
|00003710| 65 78 74 2c 20 6b 53 63 | 72 61 70 46 6c 61 76 6f |ext, kSc|rapFlavo|
|00003720| 72 4d 61 73 6b 4e 6f 6e | 65 2c 20 47 65 74 48 61 |rMaskNon|e, GetHa|
|00003730| 6e 64 6c 65 53 69 7a 65 | 28 20 74 6d 70 20 29 2c |ndleSize|( tmp ),|
|00003740| 20 2a 74 6d 70 20 29 3b | 0d 23 65 6c 73 65 0d 09 | *tmp );|.#else..|
|00003750| 09 09 09 61 6e 45 72 72 | 20 3d 20 50 75 74 53 63 |...anErr| = PutSc|
|00003760| 72 61 70 28 20 47 65 74 | 48 61 6e 64 6c 65 53 69 |rap( Get|HandleSi|
|00003770| 7a 65 28 20 74 6d 70 20 | 29 2c 20 6b 53 63 72 61 |ze( tmp |), kScra|
|00003780| 70 46 6c 61 76 6f 72 54 | 79 70 65 54 65 78 74 2c |pFlavorT|ypeText,|
|00003790| 20 2a 74 6d 70 20 29 3b | 0d 23 65 6e 64 69 66 0d | *tmp );|.#endif.|
|000037a0| 09 09 09 09 48 55 6e 6c | 6f 63 6b 28 20 74 6d 70 |....HUnl|ock( tmp|
|000037b0| 20 29 3b 0d 09 09 09 09 | 44 69 73 70 6f 73 65 48 | );.....|DisposeH|
|000037c0| 61 6e 64 6c 65 28 20 74 | 6d 70 20 29 3b 0d 09 09 |andle( t|mp );...|
|000037d0| 09 7d 0d 09 09 7d 0d 09 | 09 65 6c 73 65 0d 09 09 |.}...}..|.else...|
|000037e0| 7b 0d 09 09 09 20 48 4c | 6f 63 6b 28 20 28 20 2a |{.... HL|ock( ( *|
|000037f0| 5f 73 63 72 61 70 43 68 | 75 6e 6b 20 29 2d 3e 64 |_scrapCh|unk )->d|
|00003800| 61 74 61 20 29 3b 0d 23 | 69 66 20 54 41 52 47 45 |ata );.#|if TARGE|
|00003810| 54 5f 41 50 49 5f 4d 41 | 43 5f 43 41 52 42 4f 4e |T_API_MA|C_CARBON|
|00003820| 0d 09 09 09 61 6e 45 72 | 72 20 3d 20 50 75 74 53 |....anEr|r = PutS|
|00003830| 63 72 61 70 46 6c 61 76 | 6f 72 28 20 73 63 72 61 |crapFlav|or( scra|
|00003840| 70 52 65 66 2c 20 6b 53 | 63 72 61 70 46 6c 61 76 |pRef, kS|crapFlav|
|00003850| 6f 72 54 79 70 65 54 65 | 78 74 2c 20 6b 53 63 72 |orTypeTe|xt, kScr|
|00003860| 61 70 46 6c 61 76 6f 72 | 4d 61 73 6b 4e 6f 6e 65 |apFlavor|MaskNone|
|00003870| 2c 20 28 2a 5f 73 63 72 | 61 70 43 68 75 6e 6b 29 |, (*_scr|apChunk)|
|00003880| 2d 3e 73 69 7a 65 2c 20 | 2a 28 2a 5f 73 63 72 61 |->size, |*(*_scra|
|00003890| 70 43 68 75 6e 6b 29 2d | 3e 64 61 74 61 20 29 3b |pChunk)-|>data );|
|000038a0| 0d 23 65 6c 73 65 0d 09 | 09 09 61 6e 45 72 72 20 |.#else..|..anErr |
|000038b0| 3d 20 50 75 74 53 63 72 | 61 70 28 20 28 2a 5f 73 |= PutScr|ap( (*_s|
|000038c0| 63 72 61 70 43 68 75 6e | 6b 29 2d 3e 73 69 7a 65 |crapChun|k)->size|
|000038d0| 2c 20 6b 53 63 72 61 70 | 46 6c 61 76 6f 72 54 79 |, kScrap|FlavorTy|
|000038e0| 70 65 54 65 78 74 2c 20 | 2a 28 2a 5f 73 63 72 61 |peText, |*(*_scra|
|000038f0| 70 43 68 75 6e 6b 29 2d | 3e 64 61 74 61 20 29 3b |pChunk)-|>data );|
|00003900| 0d 23 65 6e 64 69 66 0d | 09 09 09 20 48 55 6e 6c |.#endif.|... HUnl|
|00003910| 6f 63 6b 28 20 28 20 2a | 5f 73 63 72 61 70 43 68 |ock( ( *|_scrapCh|
|00003920| 75 6e 6b 20 29 2d 3e 64 | 61 74 61 20 29 3b 0d 09 |unk )->d|ata );..|
|00003930| 09 7d 0d 0d 09 09 20 2f | 2f 20 4c 52 3a 20 74 68 |.}.... /|/ LR: th|
|00003940| 65 20 22 63 6f 72 72 65 | 63 74 22 20 77 61 79 20 |e "corre|ct" way |
|00003950| 74 6f 20 64 6f 20 74 68 | 69 6e 67 73 20 28 20 55 |to do th|ings ( U|
|00003960| 6e 69 76 65 72 73 61 6c | 48 65 61 64 65 72 73 20 |niversal|Headers |
|00003970| 29 0d 2f 2a 20 31 2e 36 | 35 20 4c 52 20 2d 2d 20 |)./* 1.6|5 LR -- |
|00003980| 74 68 69 73 20 69 73 20 | 6e 6f 74 20 6e 65 65 64 |this is |not need|
|00003990| 65 64 20 66 6f 72 20 61 | 6e 79 74 68 69 6e 67 0d |ed for a|nything.|
|000039a0| 23 69 66 20 54 41 52 47 | 45 54 5f 41 50 49 5f 4d |#if TARG|ET_API_M|
|000039b0| 41 43 5f 43 41 52 42 4f | 4e 0d 09 09 7b 0d 09 09 |AC_CARBO|N...{...|
|000039c0| 09 61 6e 45 72 72 20 3d | 20 47 65 74 53 63 72 61 |.anErr =| GetScra|
|000039d0| 70 46 6c 61 76 6f 72 53 | 69 7a 65 28 20 67 53 63 |pFlavorS|ize( gSc|
|000039e0| 72 61 70 52 65 66 2c 20 | 6b 53 63 72 61 70 46 6c |rapRef, |kScrapFl|
|000039f0| 61 76 6f 72 54 79 70 65 | 54 65 78 74 2c 20 26 67 |avorType|Text, &g|
|00003a00| 53 63 72 61 70 43 6f 75 | 6e 74 20 29 3b 0d 09 09 |ScrapCou|nt );...|
|00003a10| 7d 0d 23 65 6c 73 65 0d | 09 09 20 53 63 72 61 70 |}.#else.|.. Scrap|
|00003a20| 49 6e 66 6f 20 3d 20 49 | 6e 66 6f 53 63 72 61 70 |Info = I|nfoScrap|
|00003a30| 28 29 3b 0d 09 09 20 67 | 53 63 72 61 70 43 6f 75 |();... g|ScrapCou|
|00003a40| 6e 74 20 3d 20 53 63 72 | 61 70 49 6e 66 6f 2d 3e |nt = Scr|apInfo->|
|00003a50| 73 63 72 61 70 43 6f 75 | 6e 74 3b 0d 2f 2f 20 09 |scrapCou|nt;.// .|
|00003a60| 09 67 53 63 72 61 70 43 | 6f 75 6e 74 20 3d 20 53 |.gScrapC|ount = S|
|00003a70| 63 72 61 70 49 6e 66 6f | 2e 73 63 72 61 70 43 6f |crapInfo|.scrapCo|
|00003a80| 75 6e 74 3b 0d 23 65 6e | 64 69 66 0d 2a 2f 0d 09 |unt;.#en|dif.*/..|
|00003a90| 09 20 28 20 2a 5f 73 63 | 72 61 70 43 68 75 6e 6b |. ( *_sc|rapChunk|
|00003aa0| 20 29 2d 3e 6c 61 73 74 | 43 74 72 20 3d 20 30 3b | )->last|Ctr = 0;|
|00003ab0| 09 2f 2f 20 46 6c 61 67 | 20 61 73 20 73 68 6f 72 |.// Flag| as shor|
|00003ac0| 74 65 72 6e 61 6c 0d 0d | 09 7d 0d 7d 0d 0d 0d 2f |ternal..|.}.}.../|
|00003ad0| 2a 2a 2a 20 43 4f 50 59 | 20 4f 50 45 52 41 54 49 |*** COPY| OPERATI|
|00003ae0| 4f 4e 20 2a 2a 2a 2f 0d | 76 6f 69 64 20 43 6f 70 |ON ***/.|void Cop|
|00003af0| 79 4f 70 65 72 61 74 69 | 6f 6e 28 20 45 64 69 74 |yOperati|on( Edit|
|00003b00| 57 69 6e 64 6f 77 50 74 | 72 20 64 57 69 6e 2c 20 |WindowPt|r dWin, |
|00003b10| 45 64 69 74 43 68 75 6e | 6b 20 2a 2a 2a 73 63 72 |EditChun|k ***scr|
|00003b20| 61 70 43 68 75 6e 6b 20 | 29 0d 7b 0d 09 45 64 69 |apChunk |).{..Edi|
|00003b30| 74 43 68 75 6e 6b 09 2a | 2a 66 63 2c 20 2a 2a 65 |tChunk.*|*fc, **e|
|00003b40| 63 2c 20 2a 2a 6e 63 2c | 20 2a 2a 74 63 3b 0d 09 |c, **nc,| **tc;..|
|00003b50| 2f 2f 20 55 6e 6c 6f 61 | 64 20 63 75 72 72 65 6e |// Unloa|d curren|
|00003b60| 74 20 73 63 72 61 70 0d | 09 52 65 6c 65 61 73 65 |t scrap.|.Release|
|00003b70| 45 64 69 74 53 63 72 61 | 70 28 20 64 57 69 6e 2c |EditScra|p( dWin,|
|00003b80| 20 73 63 72 61 70 43 68 | 75 6e 6b 20 29 3b 0d 0d | scrapCh|unk );..|
|00003b90| 09 2f 2f 20 43 6f 70 79 | 20 63 75 72 72 65 6e 74 |.// Copy| current|
|00003ba0| 20 73 65 6c 65 63 74 69 | 6f 6e 20 69 6e 74 6f 20 | selecti|on into |
|00003bb0| 73 63 72 61 70 43 68 75 | 6e 6b 0d 09 2f 2f 20 49 |scrapChu|nk..// I|
|00003bc0| 64 65 6e 74 69 66 79 20 | 53 74 61 72 74 69 6e 67 |dentify |Starting|
|00003bd0| 20 43 68 75 6e 6b 0d 09 | 66 63 20 3d 20 47 65 74 | Chunk..|fc = Get|
|00003be0| 43 68 75 6e 6b 42 79 41 | 64 64 72 28 20 64 57 69 |ChunkByA|ddr( dWi|
|00003bf0| 6e 2c 20 64 57 69 6e 2d | 3e 73 74 61 72 74 53 65 |n, dWin-|>startSe|
|00003c00| 6c 20 29 3b 0d 09 64 57 | 69 6e 2d 3e 63 75 72 43 |l );..dW|in->curC|
|00003c10| 68 75 6e 6b 20 3d 20 66 | 63 3b 09 09 2f 2f 20 4f |hunk = f|c;..// O|
|00003c20| 70 74 69 6d 69 7a 65 20 | 63 68 75 6e 6b 20 73 65 |ptimize |chunk se|
|00003c30| 61 72 63 68 65 73 0d 0d | 09 2f 2f 20 49 64 65 6e |arches..|.// Iden|
|00003c40| 74 69 66 79 20 45 6e 64 | 69 6e 67 20 43 68 75 6e |tify End|ing Chun|
|00003c50| 6b 0d 09 65 63 20 3d 20 | 47 65 74 43 68 75 6e 6b |k..ec = |GetChunk|
|00003c60| 42 79 41 64 64 72 28 20 | 64 57 69 6e 2c 20 64 57 |ByAddr( |dWin, dW|
|00003c70| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 29 3b 0d 0d 09 |in->endS|el );...|
|00003c80| 2f 2f 20 49 66 20 43 68 | 75 6e 6b 73 20 61 72 65 |// If Ch|unks are|
|00003c90| 20 74 68 65 20 73 61 6d | 65 0d 09 6e 63 20 3d 20 | the sam|e..nc = |
|00003ca0| 4e 65 77 43 68 75 6e 6b | 28 20 64 57 69 6e 2d 3e |NewChunk|( dWin->|
|00003cb0| 65 6e 64 53 65 6c 20 2d | 20 64 57 69 6e 2d 3e 73 |endSel -| dWin->s|
|00003cc0| 74 61 72 74 53 65 6c 2c | 20 30 2c 20 30 2c 20 43 |tartSel,| 0, 0, C|
|00003cd0| 54 5f 55 6e 77 72 69 74 | 74 65 6e 20 29 3b 0d 09 |T_Unwrit|ten );..|
|00003ce0| 69 66 28 20 21 6e 63 20 | 29 20 72 65 74 75 72 6e |if( !nc |) return|
|00003cf0| 3b 0d 0d 09 2a 73 63 72 | 61 70 43 68 75 6e 6b 20 |;...*scr|apChunk |
|00003d00| 3d 20 6e 63 3b 0d 0d 09 | 69 66 28 20 66 63 20 3d |= nc;...|if( fc =|
|00003d10| 3d 20 65 63 20 29 0d 09 | 7b 0d 09 09 4c 6f 61 64 |= ec )..|{...Load|
|00003d20| 43 68 75 6e 6b 28 20 64 | 57 69 6e 2c 20 66 63 20 |Chunk( d|Win, fc |
|00003d30| 29 3b 0d 09 09 42 6c 6f | 63 6b 4d 6f 76 65 28 20 |);...Blo|ckMove( |
|00003d40| 2a 28 20 2a 66 63 20 29 | 2d 3e 64 61 74 61 20 2b |*( *fc )|->data +|
|00003d50| 20 28 20 64 57 69 6e 2d | 3e 73 74 61 72 74 53 65 | ( dWin-|>startSe|
|00003d60| 6c 20 2d 20 28 20 2a 66 | 63 20 29 2d 3e 61 64 64 |l - ( *f|c )->add|
|00003d70| 72 20 29 2c 20 0d 09 09 | 09 09 09 2a 28 20 2a 6e |r ), ...|...*( *n|
|00003d80| 63 20 29 2d 3e 64 61 74 | 61 2c 20 28 20 2a 6e 63 |c )->dat|a, ( *nc|
|00003d90| 20 29 2d 3e 73 69 7a 65 | 20 29 3b 0d 09 7d 0d 09 | )->size| );..}..|
|00003da0| 65 6c 73 65 0d 09 7b 0d | 09 09 2f 2f 20 46 69 72 |else..{.|..// Fir|
|00003db0| 73 74 20 43 68 75 6e 6b | 20 74 6f 20 45 6e 64 0d |st Chunk| to End.|
|00003dc0| 09 09 74 63 20 3d 20 66 | 63 3b 0d 09 09 4c 6f 61 |..tc = f|c;...Loa|
|00003dd0| 64 43 68 75 6e 6b 28 20 | 64 57 69 6e 2c 20 74 63 |dChunk( |dWin, tc|
|00003de0| 20 29 3b 0d 09 09 42 6c | 6f 63 6b 4d 6f 76 65 28 | );...Bl|ockMove(|
|00003df0| 20 2a 28 20 2a 74 63 20 | 29 2d 3e 64 61 74 61 20 | *( *tc |)->data |
|00003e00| 2b 20 28 20 64 57 69 6e | 2d 3e 73 74 61 72 74 53 |+ ( dWin|->startS|
|00003e10| 65 6c 20 2d 20 28 20 2a | 74 63 20 29 2d 3e 61 64 |el - ( *|tc )->ad|
|00003e20| 64 72 20 29 2c 20 2a 28 | 20 2a 6e 63 20 29 2d 3e |dr ), *(| *nc )->|
|00003e30| 64 61 74 61 2c 20 0d 09 | 09 09 09 09 28 20 2a 74 |data, ..|....( *t|
|00003e40| 63 20 29 2d 3e 73 69 7a | 65 20 2d 20 28 20 64 57 |c )->siz|e - ( dW|
|00003e50| 69 6e 2d 3e 73 74 61 72 | 74 53 65 6c 20 2d 20 28 |in->star|tSel - (|
|00003e60| 20 2a 74 63 20 29 2d 3e | 61 64 64 72 20 29 20 29 | *tc )->|addr ) )|
|00003e70| 3b 0d 09 09 74 63 20 3d | 20 28 20 2a 74 63 20 29 |;...tc =| ( *tc )|
|00003e80| 2d 3e 6e 65 78 74 3b 0d | 0d 09 09 2f 2f 20 4d 69 |->next;.|...// Mi|
|00003e90| 64 64 6c 65 20 43 68 75 | 6e 6b 73 2c 20 49 66 20 |ddle Chu|nks, If |
|00003ea0| 41 6e 79 0d 09 09 77 68 | 69 6c 65 28 20 74 63 20 |Any...wh|ile( tc |
|00003eb0| 21 3d 20 65 63 20 29 0d | 09 09 7b 0d 09 09 09 4c |!= ec ).|..{....L|
|00003ec0| 6f 61 64 43 68 75 6e 6b | 28 20 64 57 69 6e 2c 20 |oadChunk|( dWin, |
|00003ed0| 74 63 20 29 3b 0d 09 09 | 09 42 6c 6f 63 6b 4d 6f |tc );...|.BlockMo|
|00003ee0| 76 65 28 20 2a 28 20 2a | 74 63 20 29 2d 3e 64 61 |ve( *( *|tc )->da|
|00003ef0| 74 61 2c 20 2a 28 20 2a | 6e 63 20 29 2d 3e 64 61 |ta, *( *|nc )->da|
|00003f00| 74 61 20 2b 20 28 20 28 | 20 2a 74 63 20 29 2d 3e |ta + ( (| *tc )->|
|00003f10| 61 64 64 72 20 2d 20 64 | 57 69 6e 2d 3e 73 74 61 |addr - d|Win->sta|
|00003f20| 72 74 53 65 6c 20 29 2c | 20 0d 09 09 09 09 09 09 |rtSel ),| .......|
|00003f30| 28 20 2a 74 63 20 29 2d | 3e 73 69 7a 65 20 29 3b |( *tc )-|>size );|
|00003f40| 0d 09 09 09 74 63 20 3d | 20 28 20 2a 74 63 20 29 |....tc =| ( *tc )|
|00003f50| 2d 3e 6e 65 78 74 3b 0d | 09 09 7d 0d 0d 09 09 2f |->next;.|..}..../|
|00003f60| 2f 20 4c 61 73 74 20 43 | 68 75 6e 6b 0d 09 09 4c |/ Last C|hunk...L|
|00003f70| 6f 61 64 43 68 75 6e 6b | 28 20 64 57 69 6e 2c 20 |oadChunk|( dWin, |
|00003f80| 74 63 20 29 3b 0d 09 09 | 42 6c 6f 63 6b 4d 6f 76 |tc );...|BlockMov|
|00003f90| 65 28 20 2a 28 20 2a 74 | 63 20 29 2d 3e 64 61 74 |e( *( *t|c )->dat|
|00003fa0| 61 2c 20 2a 28 20 2a 6e | 63 20 29 2d 3e 64 61 74 |a, *( *n|c )->dat|
|00003fb0| 61 20 2b 20 28 20 28 20 | 2a 74 63 20 29 2d 3e 61 |a + ( ( |*tc )->a|
|00003fc0| 64 64 72 20 2d 20 64 57 | 69 6e 2d 3e 73 74 61 72 |ddr - dW|in->star|
|00003fd0| 74 53 65 6c 20 29 2c 20 | 0d 09 09 09 09 09 64 57 |tSel ), |......dW|
|00003fe0| 69 6e 2d 3e 65 6e 64 53 | 65 6c 20 2d 20 28 20 2a |in->endS|el - ( *|
|00003ff0| 74 63 20 29 2d 3e 61 64 | 64 72 20 29 3b 0d 09 7d |tc )->ad|dr );..}|
|00004000| 0d 7d 0d 0d 2f 2a 2a 2a | 20 43 55 54 20 53 45 4c |.}../***| CUT SEL|
|00004010| 45 43 54 49 4f 4e 20 2a | 2a 2a 2f 0d 76 6f 69 64 |ECTION *|**/.void|
|00004020| 20 43 75 74 53 65 6c 65 | 63 74 69 6f 6e 28 20 45 | CutSele|ction( E|
|00004030| 64 69 74 57 69 6e 64 6f | 77 50 74 72 20 64 57 69 |ditWindo|wPtr dWi|
|00004040| 6e 20 29 0d 7b 0d 09 2f | 2f 4c 52 20 31 38 30 20 |n ).{../|/LR 180 |
|00004050| 2d 2d 20 66 69 72 73 74 | 2c 20 74 68 69 73 20 69 |-- first|, this i|
|00004060| 73 20 75 73 65 6c 65 73 | 73 20 6f 6e 20 72 65 61 |s useles|s on rea|
|00004070| 64 2d 6f 6e 6c 79 20 66 | 69 6c 65 73 21 0d 09 69 |d-only f|iles!..i|
|00004080| 66 28 20 64 57 69 6e 2d | 3e 72 65 61 64 4f 6e 6c |f( dWin-|>readOnl|
|00004090| 79 46 6c 61 67 20 29 0d | 09 7b 0d 09 09 45 72 72 |yFlag ).|.{...Err|
|000040a0| 6f 72 41 6c 65 72 74 28 | 20 45 53 5f 53 74 6f 70 |orAlert(| ES_Stop|
|000040b0| 2c 20 65 72 72 52 65 61 | 64 4f 6e 6c 79 20 29 3b |, errRea|dOnly );|
|000040c0| 0d 09 09 72 65 74 75 72 | 6e 3b 0d 09 7d 0d 0d 09 |...retur|n;..}...|
|000040d0| 52 65 6d 65 6d 62 65 72 | 4f 70 65 72 61 74 69 6f |Remember|Operatio|
|000040e0| 6e 28 20 64 57 69 6e 2c | 20 45 4f 5f 43 75 74 2c |n( dWin,| EO_Cut,|
|000040f0| 20 26 67 55 6e 64 6f 20 | 29 3b 0d 09 43 6f 70 79 | &gUndo |);..Copy|
|00004100| 53 65 6c 65 63 74 69 6f | 6e 28 20 64 57 69 6e 20 |Selectio|n( dWin |
|00004110| 29 3b 09 09 2f 2f 20 43 | 6f 70 79 20 69 6e 74 6f |);..// C|opy into|
|00004120| 20 70 61 73 74 65 20 62 | 75 66 66 65 72 20 28 31 | paste b|uffer (1|
|00004130| 38 30 20 2d 2d 20 63 6f | 70 79 20 73 65 6c 65 63 |80 -- co|py selec|
|00004140| 74 69 6f 6e 2c 20 6e 6f | 74 20 6a 75 73 74 20 6f |tion, no|t just o|
|00004150| 70 65 72 61 74 69 6f 6e | 21 29 0d 09 44 65 6c 65 |peration|!)..Dele|
|00004160| 74 65 53 65 6c 65 63 74 | 69 6f 6e 28 20 64 57 69 |teSelect|ion( dWi|
|00004170| 6e 20 29 3b 0d 09 53 63 | 72 6f 6c 6c 54 6f 53 65 |n );..Sc|rollToSe|
|00004180| 6c 65 63 74 69 6f 6e 28 | 20 64 57 69 6e 2c 20 64 |lection(| dWin, d|
|00004190| 57 69 6e 2d 3e 73 74 61 | 72 74 53 65 6c 2c 20 66 |Win->sta|rtSel, f|
|000041a0| 61 6c 73 65 20 29 3b 0d | 7d 0d 0d 2f 2f 20 4c 52 |alse );.|}..// LR|
|000041b0| 3a 20 76 31 2e 36 2e 35 | 20 2d 2d 20 4e 65 77 20 |: v1.6.5| -- New |
|000041c0| 63 6f 64 65 20 66 6f 72 | 20 67 65 74 74 69 6e 67 |code for| getting|
|000041d0| 20 73 63 72 61 70 20 69 | 6e 20 43 61 72 62 6f 6e | scrap i|n Carbon|
|000041e0| 20 26 20 43 6c 61 73 73 | 69 63 20 73 74 79 6c 65 | & Class|ic style|
|000041f0| 73 2e 20 48 65 72 65 0d | 2f 2f 20 62 65 63 61 75 |s. Here.|// becau|
|00004200| 73 65 20 69 74 20 64 69 | 64 6e 27 74 20 6d 61 6b |se it di|dn't mak|
|00004210| 65 20 73 65 6e 73 65 20 | 74 6f 20 67 72 61 62 20 |e sense |to grab |
|00004220| 69 74 20 61 6c 6c 20 74 | 68 65 20 74 69 6d 65 20 |it all t|he time |
|00004230| 69 6e 20 74 68 65 20 69 | 64 6c 65 20 72 6f 75 74 |in the i|dle rout|
|00004240| 69 6e 65 0d 0d 2f 2a 2a | 2a 20 4d 59 20 47 45 54 |ine../**|* MY GET|
|00004250| 20 53 43 52 41 50 20 2a | 2a 2a 2f 0d 76 6f 69 64 | SCRAP *|**/.void|
|00004260| 20 4d 79 47 65 74 53 63 | 72 61 70 28 20 45 64 69 | MyGetSc|rap( Edi|
|00004270| 74 57 69 6e 64 6f 77 50 | 74 72 20 64 57 69 6e 20 |tWindowP|tr dWin |
|00004280| 29 0d 7b 0d 09 6c 6f 6e | 67 20 73 63 72 61 70 53 |).{..lon|g scrapS|
|00004290| 69 7a 65 20 3d 20 30 3b | 0d 09 4f 53 45 72 72 20 |ize = 0;|..OSErr |
|000042a0| 61 6e 45 72 72 3b 0d 0d | 23 69 66 20 54 41 52 47 |anErr;..|#if TARG|
|000042b0| 45 54 5f 41 50 49 5f 4d | 41 43 5f 43 41 52 42 4f |ET_API_M|AC_CARBO|
|000042c0| 4e 0d 09 53 63 72 61 70 | 52 65 66 20 73 63 72 61 |N..Scrap|Ref scra|
|000042d0| 70 52 65 66 3b 0d 09 53 | 63 72 61 70 46 6c 61 76 |pRef;..S|crapFlav|
|000042e0| 6f 72 46 6c 61 67 73 20 | 66 6c 61 76 6f 72 46 6c |orFlags |flavorFl|
|000042f0| 61 67 73 3b 0d 0d 09 61 | 6e 45 72 72 20 3d 20 47 |ags;...a|nErr = G|
|00004300| 65 74 43 75 72 72 65 6e | 74 53 63 72 61 70 28 20 |etCurren|tScrap( |
|00004310| 26 73 63 72 61 70 52 65 | 66 20 29 3b 0d 09 69 66 |&scrapRe|f );..if|
|00004320| 28 20 21 61 6e 45 72 72 | 20 29 0d 09 09 61 6e 45 |( !anErr| )...anE|
|00004330| 72 72 20 3d 20 47 65 74 | 53 63 72 61 70 46 6c 61 |rr = Get|ScrapFla|
|00004340| 76 6f 72 46 6c 61 67 73 | 28 20 73 63 72 61 70 52 |vorFlags|( scrapR|
|00004350| 65 66 2c 20 6b 53 63 72 | 61 70 46 6c 61 76 6f 72 |ef, kScr|apFlavor|
|00004360| 54 79 70 65 54 65 78 74 | 2c 20 26 66 6c 61 76 6f |TypeText|, &flavo|
|00004370| 72 46 6c 61 67 73 20 29 | 3b 09 09 2f 2f 20 6e 6f |rFlags )|;..// no|
|00004380| 6e 2d 62 6c 6f 63 6b 69 | 6e 67 20 63 68 65 63 6b |n-blocki|ng check|
|00004390| 20 66 6f 72 20 73 63 72 | 61 70 20 64 61 74 61 0d | for scr|ap data.|
|000043a0| 09 69 66 28 20 21 61 6e | 45 72 72 20 29 0d 09 09 |.if( !an|Err )...|
|000043b0| 61 6e 45 72 72 20 3d 20 | 47 65 74 53 63 72 61 70 |anErr = |GetScrap|
|000043c0| 46 6c 61 76 6f 72 53 69 | 7a 65 28 20 73 63 72 61 |FlavorSi|ze( scra|
|000043d0| 70 52 65 66 2c 20 6b 53 | 63 72 61 70 46 6c 61 76 |pRef, kS|crapFlav|
|000043e0| 6f 72 54 79 70 65 54 65 | 78 74 2c 20 26 73 63 72 |orTypeTe|xt, &scr|
|000043f0| 61 70 53 69 7a 65 20 29 | 3b 09 2f 2f 20 62 6c 6f |apSize )|;.// blo|
|00004400| 63 6b 69 6e 67 20 63 61 | 6c 6c 20 74 6f 20 67 65 |cking ca|ll to ge|
|00004410| 74 20 73 69 7a 65 0d 23 | 65 6c 73 65 0d 09 6c 6f |t size.#|else..lo|
|00004420| 6e 67 09 09 6f 66 66 73 | 65 74 3b 0d 0d 09 73 63 |ng..offs|et;...sc|
|00004430| 72 61 70 53 69 7a 65 20 | 3d 20 47 65 74 53 63 72 |rapSize |= GetScr|
|00004440| 61 70 28 20 4e 55 4c 4c | 2c 20 6b 53 63 72 61 70 |ap( NULL|, kScrap|
|00004450| 46 6c 61 76 6f 72 54 79 | 70 65 54 65 78 74 2c 20 |FlavorTy|peText, |
|00004460| 26 6f 66 66 73 65 74 20 | 29 3b 0d 23 65 6e 64 69 |&offset |);.#endi|
|00004470| 66 0d 0d 09 69 66 28 20 | 73 63 72 61 70 53 69 7a |f...if( |scrapSiz|
|00004480| 65 20 3e 20 30 20 29 0d | 09 7b 0d 09 09 45 64 69 |e > 0 ).|.{...Edi|
|00004490| 74 43 68 75 6e 6b 09 2a | 2a 6e 63 3b 0d 0d 09 09 |tChunk.*|*nc;....|
|000044a0| 6e 63 20 3d 20 4e 65 77 | 43 68 75 6e 6b 28 20 73 |nc = New|Chunk( s|
|000044b0| 63 72 61 70 53 69 7a 65 | 2c 20 30 2c 20 30 2c 20 |crapSize|, 0, 0, |
|000044c0| 43 54 5f 55 6e 77 72 69 | 74 74 65 6e 20 29 3b 0d |CT_Unwri|tten );.|
|000044d0| 09 09 69 66 28 20 21 6e | 63 20 29 20 45 72 72 6f |..if( !n|c ) Erro|
|000044e0| 72 41 6c 65 72 74 28 20 | 45 53 5f 43 61 75 74 69 |rAlert( |ES_Cauti|
|000044f0| 6f 6e 2c 20 65 72 72 4d | 65 6d 6f 72 79 20 29 3b |on, errM|emory );|
|00004500| 0d 09 09 65 6c 73 65 0d | 09 09 7b 0d 09 09 09 52 |...else.|..{....R|
|00004510| 65 6c 65 61 73 65 45 64 | 69 74 53 63 72 61 70 28 |eleaseEd|itScrap(|
|00004520| 20 64 57 69 6e 2c 20 26 | 5f 73 63 72 61 70 43 68 | dWin, &|_scrapCh|
|00004530| 75 6e 6b 20 29 3b 0d 09 | 09 09 5f 73 63 72 61 70 |unk );..|.._scrap|
|00004540| 43 68 75 6e 6b 20 3d 20 | 6e 63 3b 0d 0d 09 09 09 |Chunk = |nc;.....|
|00004550| 48 4c 6f 63 6b 28 20 28 | 2a 5f 73 63 72 61 70 43 |HLock( (|*_scrapC|
|00004560| 68 75 6e 6b 29 2d 3e 64 | 61 74 61 20 29 3b 0d 23 |hunk)->d|ata );.#|
|00004570| 69 66 20 54 41 52 47 45 | 54 5f 41 50 49 5f 4d 41 |if TARGE|T_API_MA|
|00004580| 43 5f 43 41 52 42 4f 4e | 0d 09 09 09 61 6e 45 72 |C_CARBON|....anEr|
|00004590| 72 20 3d 20 47 65 74 53 | 63 72 61 70 46 6c 61 76 |r = GetS|crapFlav|
|000045a0| 6f 72 44 61 74 61 28 20 | 73 63 72 61 70 52 65 66 |orData( |scrapRef|
|000045b0| 2c 20 6b 53 63 72 61 70 | 46 6c 61 76 6f 72 54 79 |, kScrap|FlavorTy|
|000045c0| 70 65 54 65 78 74 2c 20 | 26 73 63 72 61 70 53 69 |peText, |&scrapSi|
|000045d0| 7a 65 2c 20 2a 28 2a 5f | 73 63 72 61 70 43 68 75 |ze, *(*_|scrapChu|
|000045e0| 6e 6b 29 2d 3e 64 61 74 | 61 20 29 3b 0d 23 65 6c |nk)->dat|a );.#el|
|000045f0| 73 65 0d 09 09 09 61 6e | 45 72 72 20 3d 20 47 65 |se....an|Err = Ge|
|00004600| 74 53 63 72 61 70 28 20 | 28 2a 5f 73 63 72 61 70 |tScrap( |(*_scrap|
|00004610| 43 68 75 6e 6b 29 2d 3e | 64 61 74 61 2c 20 6b 53 |Chunk)->|data, kS|
|00004620| 63 72 61 70 46 6c 61 76 | 6f 72 54 79 70 65 54 65 |crapFlav|orTypeTe|
|00004630| 78 74 2c 20 26 6f 66 66 | 73 65 74 20 29 3b 0d 23 |xt, &off|set );.#|
|00004640| 65 6e 64 69 66 0d 0d 09 | 09 09 48 55 6e 6c 6f 63 |endif...|..HUnloc|
|00004650| 6b 28 20 28 2a 5f 73 63 | 72 61 70 43 68 75 6e 6b |k( (*_sc|rapChunk|
|00004660| 29 2d 3e 64 61 74 61 20 | 29 3b 0d 09 09 09 69 66 |)->data |);....if|
|00004670| 28 20 61 6e 45 72 72 20 | 3e 3d 20 30 20 29 0d 09 |( anErr |>= 0 )..|
|00004680| 09 09 09 28 20 2a 5f 73 | 63 72 61 70 43 68 75 6e |...( *_s|crapChun|
|00004690| 6b 20 29 2d 3e 6c 61 73 | 74 43 74 72 20 3d 20 31 |k )->las|tCtr = 1|
|000046a0| 3b 09 2f 2f 20 46 6c 61 | 67 20 61 73 20 65 78 74 |;.// Fla|g as ext|
|000046b0| 65 72 6e 61 6c 0d 09 09 | 09 65 6c 73 65 0d 09 09 |ernal...|.else...|
|000046c0| 09 7b 0d 09 09 09 09 52 | 65 6c 65 61 73 65 45 64 |.{.....R|eleaseEd|
|000046d0| 69 74 53 63 72 61 70 28 | 20 64 57 69 6e 2c 20 26 |itScrap(| dWin, &|
|000046e0| 5f 73 63 72 61 70 43 68 | 75 6e 6b 20 29 3b 09 2f |_scrapCh|unk );./|
|000046f0| 2f 20 65 72 72 6f 72 21 | 0d 09 09 09 09 45 72 72 |/ error!|.....Err|
|00004700| 6f 72 41 6c 65 72 74 28 | 20 45 53 5f 43 61 75 74 |orAlert(| ES_Caut|
|00004710| 69 6f 6e 2c 20 65 72 72 | 50 61 73 74 65 2c 20 28 |ion, err|Paste, (|
|00004720| 69 6e 74 29 61 6e 45 72 | 72 20 29 3b 0d 09 09 09 |int)anEr|r );....|
|00004730| 7d 0d 09 09 7d 0d 09 7d | 0d 7d 0d 0d 2f 2f 20 48 |}...}..}|.}..// H|
|00004740| 69 67 68 20 4c 65 76 65 | 6c 20 50 61 73 74 65 0d |igh Leve|l Paste.|
|00004750| 0d 2f 2a 2a 2a 20 50 41 | 53 54 45 20 53 45 4c 45 |./*** PA|STE SELE|
|00004760| 43 54 49 4f 4e 20 2a 2a | 2a 2f 0d 76 6f 69 64 20 |CTION **|*/.void |
|00004770| 50 61 73 74 65 53 65 6c | 65 63 74 69 6f 6e 28 20 |PasteSel|ection( |
|00004780| 45 64 69 74 57 69 6e 64 | 6f 77 50 74 72 20 64 57 |EditWind|owPtr dW|
|00004790| 69 6e 20 29 0d 7b 0d 09 | 2f 2f 4c 52 20 31 38 30 |in ).{..|//LR 180|
|000047a0| 20 2d 2d 20 66 69 72 73 | 74 2c 20 74 68 69 73 20 | -- firs|t, this |
|000047b0| 69 73 20 75 73 65 6c 65 | 73 73 20 6f 6e 20 72 65 |is usele|ss on re|
|000047c0| 61 64 2d 6f 6e 6c 79 20 | 66 69 6c 65 73 21 0d 09 |ad-only |files!..|
|000047d0| 69 66 28 20 64 57 69 6e | 2d 3e 72 65 61 64 4f 6e |if( dWin|->readOn|
|000047e0| 6c 79 46 6c 61 67 20 29 | 0d 09 7b 0d 09 09 45 72 |lyFlag )|..{...Er|
|000047f0| 72 6f 72 41 6c 65 72 74 | 28 20 45 53 5f 53 74 6f |rorAlert|( ES_Sto|
|00004800| 70 2c 20 65 72 72 52 65 | 61 64 4f 6e 6c 79 20 29 |p, errRe|adOnly )|
|00004810| 3b 0d 09 09 72 65 74 75 | 72 6e 3b 0d 09 7d 0d 0d |;...retu|rn;..}..|
|00004820| 09 4d 79 47 65 74 53 63 | 72 61 70 28 20 64 57 69 |.MyGetSc|rap( dWi|
|00004830| 6e 20 29 3b 09 2f 2f 20 | 4c 52 3a 20 76 31 2e 36 |n );.// |LR: v1.6|
|00004840| 2e 35 20 67 65 74 20 73 | 63 72 61 70 20 6f 6e 6c |.5 get s|crap onl|
|00004850| 79 20 61 73 20 6e 65 65 | 64 65 64 0d 0d 09 69 66 |y as nee|ded...if|
|00004860| 28 20 5f 73 63 72 61 70 | 43 68 75 6e 6b 20 29 09 |( _scrap|Chunk ).|
|00004870| 2f 2f 20 4c 52 3a 20 31 | 2e 37 20 64 75 65 20 74 |// LR: 1|.7 due t|
|00004880| 6f 20 62 75 67 20 28 3f | 29 20 69 6e 20 43 61 72 |o bug (?|) in Car|
|00004890| 62 6f 6e 2c 20 73 63 72 | 61 70 20 6d 61 79 20 6e |bon, scr|ap may n|
|000048a0| 6f 74 20 62 65 20 61 76 | 61 69 6c 61 62 6c 65 21 |ot be av|ailable!|
|000048b0| 0d 09 7b 0d 09 09 2f 2f | 20 4c 52 3a 20 76 31 2e |..{...//| LR: v1.|
|000048c0| 36 2e 35 20 6d 6f 76 65 | 64 20 66 72 6f 6d 20 50 |6.5 move|d from P|
|000048d0| 61 73 74 65 4f 70 65 72 | 61 74 69 6f 6e 20 74 6f |asteOper|ation to|
|000048e0| 20 61 76 6f 69 64 20 62 | 61 64 20 55 6e 64 6f 0d | avoid b|ad Undo.|
|000048f0| 09 09 2f 2f 20 48 65 78 | 20 50 61 73 74 69 6e 67 |..// Hex| Pasting|
|00004900| 20 4d 6f 64 65 20 66 6f | 72 20 4f 75 74 73 69 64 | Mode fo|r Outsid|
|00004910| 65 20 50 61 73 74 65 73 | 0d 09 09 69 66 28 20 45 |e Pastes|...if( E|
|00004920| 4d 5f 48 65 78 20 3d 3d | 20 64 57 69 6e 2d 3e 65 |M_Hex ==| dWin->e|
|00004930| 64 69 74 4d 6f 64 65 20 | 26 26 20 28 20 2a 5f 73 |ditMode |&& ( *_s|
|00004940| 63 72 61 70 43 68 75 6e | 6b 20 29 2d 3e 6c 61 73 |crapChun|k )->las|
|00004950| 74 43 74 72 20 3d 3d 20 | 31 20 29 0d 09 09 7b 0d |tCtr == |1 )...{.|
|00004960| 2f 2f 20 4c 52 3a 20 76 | 31 2e 36 2e 35 20 66 61 |// LR: v|1.6.5 fa|
|00004970| 69 6c 75 72 65 20 6e 6f | 74 20 61 20 70 72 6f 62 |ilure no|t a prob|
|00004980| 6c 65 6d 21 09 09 69 66 | 28 20 21 48 65 78 43 6f |lem!..if|( !HexCo|
|00004990| 6e 76 65 72 74 53 63 72 | 61 70 28 20 64 57 69 6e |nvertScr|ap( dWin|
|000049a0| 2c 20 5f 73 63 72 61 70 | 43 68 75 6e 6b 20 29 20 |, _scrap|Chunk ) |
|000049b0| 29 20 72 65 74 75 72 6e | 3b 0d 09 09 09 48 65 78 |) return|;....Hex|
|000049c0| 43 6f 6e 76 65 72 74 53 | 63 72 61 70 28 20 64 57 |ConvertS|crap( dW|
|000049d0| 69 6e 2c 20 5f 73 63 72 | 61 70 43 68 75 6e 6b 20 |in, _scr|apChunk |
|000049e0| 29 3b 0d 09 09 7d 0d 0d | 09 09 2f 2f 20 44 6f 20 |);...}..|..// Do |
|000049f0| 61 63 74 75 61 6c 20 70 | 61 73 74 65 0d 09 09 52 |actual p|aste...R|
|00004a00| 65 6d 65 6d 62 65 72 4f | 70 65 72 61 74 69 6f 6e |ememberO|peration|
|00004a10| 28 20 64 57 69 6e 2c 20 | 45 4f 5f 50 61 73 74 65 |( dWin, |EO_Paste|
|00004a20| 2c 20 26 67 55 6e 64 6f | 20 29 3b 0d 0d 09 09 50 |, &gUndo| );....P|
|00004a30| 61 73 74 65 4f 70 65 72 | 61 74 69 6f 6e 28 20 64 |asteOper|ation( d|
|00004a40| 57 69 6e 2c 20 5f 73 63 | 72 61 70 43 68 75 6e 6b |Win, _sc|rapChunk|
|00004a50| 20 29 3b 0d 09 09 53 63 | 72 6f 6c 6c 54 6f 53 65 | );...Sc|rollToSe|
|00004a60| 6c 65 63 74 69 6f 6e 28 | 20 64 57 69 6e 2c 20 64 |lection(| dWin, d|
|00004a70| 57 69 6e 2d 3e 73 74 61 | 72 74 53 65 6c 2c 20 66 |Win->sta|rtSel, f|
|00004a80| 61 6c 73 65 20 29 3b 0d | 09 7d 0d 7d 0d 0d 2f 2a |alse );.|.}.}../*|
|00004a90| 2a 2a 20 48 45 58 20 43 | 4f 4e 56 45 52 54 20 53 |** HEX C|ONVERT S|
|00004aa0| 43 52 41 50 20 2a 2a 2a | 2f 0d 42 6f 6f 6c 65 61 |CRAP ***|/.Boolea|
|00004ab0| 6e 20 48 65 78 43 6f 6e | 76 65 72 74 53 63 72 61 |n HexCon|vertScra|
|00004ac0| 70 28 20 45 64 69 74 57 | 69 6e 64 6f 77 50 74 72 |p( EditW|indowPtr|
|00004ad0| 20 64 57 69 6e 2c 20 45 | 64 69 74 43 68 75 6e 6b | dWin, E|ditChunk|
|00004ae0| 20 2a 2a 73 63 72 61 70 | 43 68 75 6e 6b 20 29 0d | **scrap|Chunk ).|
|00004af0| 7b 0d 09 23 70 72 61 67 | 6d 61 20 75 6e 75 73 65 |{..#prag|ma unuse|
|00004b00| 64 28 20 64 57 69 6e 20 | 29 09 2f 2f 20 4c 52 3a |d( dWin |).// LR:|
|00004b10| 20 66 69 78 20 77 61 72 | 6e 69 6e 67 73 0d 0d 09 | fix war|nings...|
|00004b20| 48 61 6e 64 6c 65 09 72 | 68 20 3d 20 4e 55 4c 4c |Handle.r|h = NULL|
|00004b30| 3b 0d 09 50 74 72 09 09 | 73 70 2c 20 64 70 2c 20 |;..Ptr..|sp, dp, |
|00004b40| 65 73 70 3b 0d 09 73 68 | 6f 72 74 09 76 61 6c 3b |esp;..sh|ort.val;|
|00004b50| 0d 09 42 6f 6f 6c 65 61 | 6e 09 6c 6f 46 6c 61 67 |..Boolea|n.loFlag|
|00004b60| 3b 0d 0d 09 72 68 20 3d | 20 4e 65 77 48 61 6e 64 |;...rh =| NewHand|
|00004b70| 6c 65 28 20 28 20 2a 73 | 63 72 61 70 43 68 75 6e |le( ( *s|crapChun|
|00004b80| 6b 20 29 2d 3e 73 69 7a | 65 20 29 3b 0d 09 69 66 |k )->siz|e );..if|
|00004b90| 28 20 21 72 68 20 29 0d | 09 7b 0d 09 09 45 72 72 |( !rh ).|.{...Err|
|00004ba0| 6f 72 41 6c 65 72 74 28 | 20 45 53 5f 43 61 75 74 |orAlert(| ES_Caut|
|00004bb0| 69 6f 6e 2c 20 65 72 72 | 4d 65 6d 6f 72 79 20 29 |ion, err|Memory )|
|00004bc0| 3b 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |;...retu|rn false|
|00004bd0| 3b 0d 09 7d 0d 09 48 4c | 6f 63 6b 28 20 72 68 20 |;..}..HL|ock( rh |
|00004be0| 29 3b 0d 09 48 4c 6f 63 | 6b 28 20 28 20 2a 73 63 |);..HLoc|k( ( *sc|
|00004bf0| 72 61 70 43 68 75 6e 6b | 20 29 2d 3e 64 61 74 61 |rapChunk| )->data|
|00004c00| 20 29 3b 0d 09 73 70 20 | 3d 20 2a 28 20 2a 73 63 | );..sp |= *( *sc|
|00004c10| 72 61 70 43 68 75 6e 6b | 20 29 2d 3e 64 61 74 61 |rapChunk| )->data|
|00004c20| 3b 0d 09 65 73 70 20 3d | 20 73 70 20 2b 20 28 20 |;..esp =| sp + ( |
|00004c30| 2a 73 63 72 61 70 43 68 | 75 6e 6b 20 29 2d 3e 73 |*scrapCh|unk )->s|
|00004c40| 69 7a 65 3b 0d 09 64 70 | 20 3d 20 2a 72 68 3b 0d |ize;..dp| = *rh;.|
|00004c50| 09 6c 6f 46 6c 61 67 20 | 3d 20 66 61 6c 73 65 3b |.loFlag |= false;|
|00004c60| 0d 09 66 6f 72 28 20 3b | 20 73 70 20 3c 20 65 73 |..for( ;| sp < es|
|00004c70| 70 3b 20 2b 2b 73 70 20 | 29 0d 09 7b 0d 09 09 69 |p; ++sp |)..{...i|
|00004c80| 66 28 20 2a 73 70 20 3d | 3d 20 27 30 27 20 26 26 |f( *sp =|= '0' &&|
|00004c90| 20 2a 28 20 73 70 20 2b | 31 20 29 20 3d 3d 20 27 | *( sp +|1 ) == '|
|00004ca0| 78 27 20 29 0d 09 09 7b | 0d 09 09 09 6c 6f 46 6c |x' )...{|....loFl|
|00004cb0| 61 67 20 3d 20 30 3b 0d | 09 09 09 2b 2b 73 70 3b |ag = 0;.|...++sp;|
|00004cc0| 0d 09 09 09 63 6f 6e 74 | 69 6e 75 65 3b 0d 09 09 |....cont|inue;...|
|00004cd0| 7d 0d 09 09 69 66 28 20 | 69 73 73 70 61 63 65 28 |}...if( |isspace(|
|00004ce0| 20 2a 73 70 20 29 20 7c | 7c 20 69 73 70 75 6e 63 | *sp ) ||| ispunc|
|00004cf0| 74 28 20 2a 73 70 20 29 | 20 29 0d 09 09 7b 0d 09 |t( *sp )| )...{..|
|00004d00| 09 09 6c 6f 46 6c 61 67 | 20 3d 20 30 3b 0d 09 09 |..loFlag| = 0;...|
|00004d10| 09 63 6f 6e 74 69 6e 75 | 65 3b 0d 09 09 7d 0d 09 |.continu|e;...}..|
|00004d20| 09 69 66 28 20 2a 73 70 | 20 3e 3d 20 27 30 27 20 |.if( *sp| >= '0' |
|00004d30| 26 26 20 2a 73 70 20 3c | 3d 20 27 39 27 20 29 09 |&& *sp <|= '9' ).|
|00004d40| 09 76 61 6c 20 3d 20 2a | 73 70 20 2d 20 27 30 27 |.val = *|sp - '0'|
|00004d50| 3b 0d 09 09 65 6c 73 65 | 20 69 66 28 20 2a 73 70 |;...else| if( *sp|
|00004d60| 20 3e 3d 20 27 41 27 20 | 26 26 20 2a 73 70 20 3c | >= 'A' |&& *sp <|
|00004d70| 3d 20 27 46 27 20 29 09 | 76 61 6c 20 3d 20 30 78 |= 'F' ).|val = 0x|
|00004d80| 30 41 20 2b 20 28 20 2a | 73 70 20 2d 20 27 41 27 |0A + ( *|sp - 'A'|
|00004d90| 20 29 3b 0d 09 09 65 6c | 73 65 20 69 66 28 20 2a | );...el|se if( *|
|00004da0| 73 70 20 3e 3d 20 27 61 | 27 20 26 26 20 2a 73 70 |sp >= 'a|' && *sp|
|00004db0| 20 3c 3d 20 27 66 27 20 | 29 09 76 61 6c 20 3d 20 | <= 'f' |).val = |
|00004dc0| 30 78 30 41 20 2b 20 28 | 20 2a 73 70 20 2d 20 27 |0x0A + (| *sp - '|
|00004dd0| 61 27 20 29 3b 0d 09 09 | 65 6c 73 65 20 67 6f 74 |a' );...|else got|
|00004de0| 6f 20 48 65 78 45 72 72 | 6f 72 3b 0d 09 09 69 66 |o HexErr|or;...if|
|00004df0| 28 20 6c 6f 46 6c 61 67 | 20 29 0d 09 09 7b 0d 09 |( loFlag| )...{..|
|00004e00| 09 09 2a 28 20 64 70 2d | 31 20 29 20 3d 20 28 20 |..*( dp-|1 ) = ( |
|00004e10| 2a 28 20 64 70 2d 31 20 | 29 20 3c 3c 20 34 20 29 |*( dp-1 |) << 4 )|
|00004e20| 20 7c 20 76 61 6c 3b 0d | 09 09 09 6c 6f 46 6c 61 | | val;.|...loFla|
|00004e30| 67 20 3d 20 30 3b 0d 09 | 09 7d 09 09 09 0d 09 09 |g = 0;..|.}......|
|00004e40| 65 6c 73 65 0d 09 09 7b | 0d 09 09 09 2a 64 70 20 |else...{|....*dp |
|00004e50| 3d 20 76 61 6c 3b 0d 09 | 09 09 2b 2b 64 70 3b 0d |= val;..|..++dp;.|
|00004e60| 09 09 09 6c 6f 46 6c 61 | 67 20 3d 20 31 3b 0d 09 |...loFla|g = 1;..|
|00004e70| 09 7d 0d 09 7d 0d 09 69 | 66 28 20 64 70 20 2d 20 |.}..}..i|f( dp - |
|00004e80| 2a 72 68 20 3d 3d 20 30 | 20 29 20 67 6f 74 6f 20 |*rh == 0| ) goto |
|00004e90| 48 65 78 45 72 72 6f 72 | 3b 0d 0d 09 28 20 2a 73 |HexError|;...( *s|
|00004ea0| 63 72 61 70 43 68 75 6e | 6b 20 29 2d 3e 73 69 7a |crapChun|k )->siz|
|00004eb0| 65 20 3d 20 64 70 20 2d | 20 2a 72 68 3b 0d 0d 2f |e = dp -| *rh;../|
|00004ec0| 2f 20 4c 52 3a 20 76 31 | 2e 36 2e 35 09 48 55 6e |/ LR: v1|.6.5.HUn|
|00004ed0| 6c 6f 63 6b 28 20 72 68 | 20 29 3b 0d 09 42 6c 6f |lock( rh| );..Blo|
|00004ee0| 63 6b 4d 6f 76 65 28 20 | 2a 72 68 2c 20 2a 28 20 |ckMove( |*rh, *( |
|00004ef0| 2a 73 63 72 61 70 43 68 | 75 6e 6b 20 29 2d 3e 64 |*scrapCh|unk )->d|
|00004f00| 61 74 61 2c 20 28 20 2a | 73 63 72 61 70 43 68 75 |ata, ( *|scrapChu|
|00004f10| 6e 6b 20 29 2d 3e 73 69 | 7a 65 20 29 3b 0d 09 48 |nk )->si|ze );..H|
|00004f20| 55 6e 6c 6f 63 6b 28 20 | 28 20 2a 73 63 72 61 70 |Unlock( |( *scrap|
|00004f30| 43 68 75 6e 6b 20 29 2d | 3e 64 61 74 61 20 29 3b |Chunk )-|>data );|
|00004f40| 0d 09 44 69 73 70 6f 73 | 65 48 61 6e 64 6c 65 28 |..Dispos|eHandle(|
|00004f50| 20 72 68 20 29 3b 0d 0d | 09 28 20 2a 73 63 72 61 | rh );..|.( *scra|
|00004f60| 70 43 68 75 6e 6b 20 29 | 2d 3e 6c 61 73 74 43 74 |pChunk )|->lastCt|
|00004f70| 72 20 3d 20 30 3b 09 09 | 2f 2f 20 4d 61 72 6b 20 |r = 0;..|// Mark |
|00004f80| 61 73 20 69 6e 74 65 72 | 6e 61 6c 0d 09 72 65 74 |as inter|nal..ret|
|00004f90| 75 72 6e 20 74 72 75 65 | 3b 0d 09 0d 48 65 78 45 |urn true|;...HexE|
|00004fa0| 72 72 6f 72 3a 0d 2f 2f | 20 4c 52 3a 20 76 31 2e |rror:.//| LR: v1.|
|00004fb0| 36 2e 35 09 48 55 6e 6c | 6f 63 6b 28 20 72 68 20 |6.5.HUnl|ock( rh |
|00004fc0| 29 3b 0d 09 44 69 73 70 | 6f 73 65 48 61 6e 64 6c |);..Disp|oseHandl|
|00004fd0| 65 28 20 72 68 20 29 3b | 0d 09 48 55 6e 6c 6f 63 |e( rh );|..HUnloc|
|00004fe0| 6b 28 20 28 20 2a 73 63 | 72 61 70 43 68 75 6e 6b |k( ( *sc|rapChunk|
|00004ff0| 20 29 2d 3e 64 61 74 61 | 20 29 3b 0d 2f 2f 20 4c | )->data| );.// L|
|00005000| 52 3a 20 76 31 2e 36 2e | 35 20 6e 6f 20 6e 65 65 |R: v1.6.|5 no nee|
|00005010| 64 20 74 6f 20 61 6c 65 | 72 74 20 75 73 65 72 2c |d to ale|rt user,|
|00005020| 20 77 65 20 70 61 73 74 | 65 20 61 6e 79 77 61 79 | we past|e anyway|
|00005030| 21 09 45 72 72 6f 72 41 | 6c 65 72 74 28 20 45 53 |!.ErrorA|lert( ES|
|00005040| 5f 43 61 75 74 69 6f 6e | 2c 20 22 4f 6e 6c 79 20 |_Caution|, "Only |
|00005050| 76 61 6c 69 64 20 48 65 | 78 20 76 61 6c 75 65 73 |valid He|x values|
|00005060| 20 6d 61 79 20 62 65 20 | 70 61 73 74 65 64 20 68 | may be |pasted h|
|00005070| 65 72 65 22 20 29 3b 0d | 09 72 65 74 75 72 6e 20 |ere" );.|.return |
|00005080| 66 61 6c 73 65 3b 0d 7d | 0d 0d 76 6f 69 64 20 50 |false;.}|..void P|
|00005090| 61 73 74 65 4f 70 65 72 | 61 74 69 6f 6e 28 20 45 |asteOper|ation( E|
|000050a0| 64 69 74 57 69 6e 64 6f | 77 50 74 72 20 64 57 69 |ditWindo|wPtr dWi|
|000050b0| 6e 2c 20 45 64 69 74 43 | 68 75 6e 6b 20 2a 2a 73 |n, EditC|hunk **s|
|000050c0| 63 72 61 70 43 68 75 6e | 6b 20 29 0d 7b 0d 09 45 |crapChun|k ).{..E|
|000050d0| 64 69 74 43 68 75 6e 6b | 20 2a 2a 66 63 2c 20 2a |ditChunk| **fc, *|
|000050e0| 2a 65 63 2c 20 2a 2a 6e | 63 3b 0d 0d 09 2f 2f 4c |*ec, **n|c;...//L|
|000050f0| 52 20 31 38 30 20 2d 2d | 20 66 69 72 73 74 2c 20 |R 180 --| first, |
|00005100| 74 68 69 73 20 69 73 20 | 75 73 65 6c 65 73 73 20 |this is |useless |
|00005110| 6f 6e 20 72 65 61 64 2d | 6f 6e 6c 79 20 66 69 6c |on read-|only fil|
|00005120| 65 73 21 0d 09 69 66 28 | 20 64 57 69 6e 2d 3e 72 |es!..if(| dWin->r|
|00005130| 65 61 64 4f 6e 6c 79 46 | 6c 61 67 20 29 0d 09 7b |eadOnlyF|lag )..{|
|00005140| 0d 09 09 45 72 72 6f 72 | 41 6c 65 72 74 28 20 45 |...Error|Alert( E|
|00005150| 53 5f 53 74 6f 70 2c 20 | 65 72 72 52 65 61 64 4f |S_Stop, |errReadO|
|00005160| 6e 6c 79 20 29 3b 0d 09 | 09 72 65 74 75 72 6e 3b |nly );..|.return;|
|00005170| 0d 09 7d 0d 0d 09 2f 2f | 20 43 72 65 61 74 65 20 |..}...//| Create |
|00005180| 64 75 70 6c 69 63 61 74 | 65 20 73 63 72 61 70 20 |duplicat|e scrap |
|00005190| 61 74 74 61 63 68 65 64 | 20 74 6f 20 6e 63 2d 3e |attached| to nc->|
|000051a0| 6e 65 63 0d 09 6e 63 20 | 3d 20 4e 65 77 43 68 75 |nec..nc |= NewChu|
|000051b0| 6e 6b 28 20 28 20 2a 73 | 63 72 61 70 43 68 75 6e |nk( ( *s|crapChun|
|000051c0| 6b 20 29 2d 3e 73 69 7a | 65 2c 20 30 2c 20 30 2c |k )->siz|e, 0, 0,|
|000051d0| 20 43 54 5f 55 6e 77 72 | 69 74 74 65 6e 20 29 3b | CT_Unwr|itten );|
|000051e0| 0d 09 69 66 28 20 21 6e | 63 20 29 20 72 65 74 75 |..if( !n|c ) retu|
|000051f0| 72 6e 3b 0d 0d 09 42 6c | 6f 63 6b 4d 6f 76 65 28 |rn;...Bl|ockMove(|
|00005200| 20 2a 28 20 2a 73 63 72 | 61 70 43 68 75 6e 6b 20 | *( *scr|apChunk |
|00005210| 29 2d 3e 64 61 74 61 2c | 20 2a 28 20 2a 6e 63 20 |)->data,| *( *nc |
|00005220| 29 2d 3e 64 61 74 61 2c | 20 28 20 2a 6e 63 20 29 |)->data,| ( *nc )|
|00005230| 2d 3e 73 69 7a 65 20 29 | 3b 0d 0d 09 44 65 6c 65 |->size )|;...Dele|
|00005240| 74 65 53 65 6c 65 63 74 | 69 6f 6e 28 20 64 57 69 |teSelect|ion( dWi|
|00005250| 6e 20 29 3b 0d 0d 09 2f | 2f 20 49 6e 73 65 72 74 |n );.../|/ Insert|
|00005260| 20 70 61 73 74 65 20 62 | 75 66 66 65 72 20 69 6e | paste b|uffer in|
|00005270| 74 6f 20 73 65 6c 53 74 | 61 72 74 0d 0d 09 66 63 |to selSt|art...fc|
|00005280| 20 3d 20 47 65 74 43 68 | 75 6e 6b 42 79 41 64 64 | = GetCh|unkByAdd|
|00005290| 72 28 20 64 57 69 6e 2c | 20 64 57 69 6e 2d 3e 73 |r( dWin,| dWin->s|
|000052a0| 74 61 72 74 53 65 6c 20 | 29 3b 0d 09 69 66 28 20 |tartSel |);..if( |
|000052b0| 28 20 2a 66 63 20 29 2d | 3e 61 64 64 72 20 3c 20 |( *fc )-|>addr < |
|000052c0| 64 57 69 6e 2d 3e 73 74 | 61 72 74 53 65 6c 20 29 |dWin->st|artSel )|
|000052d0| 0d 09 7b 0d 09 09 2f 2f | 20 53 70 6c 69 74 20 27 |..{...//| Split '|
|000052e0| 65 6d 20 75 70 0d 09 09 | 2f 2f 20 55 6e 6c 6f 61 |em up...|// Unloa|
|000052f0| 64 20 69 74 0d 09 09 55 | 6e 6c 6f 61 64 43 68 75 |d it...U|nloadChu|
|00005300| 6e 6b 28 20 64 57 69 6e | 2c 20 66 63 2c 20 74 72 |nk( dWin|, fc, tr|
|00005310| 75 65 20 29 3b 0d 0d 09 | 09 2f 2f 20 53 70 6c 69 |ue );...|.// Spli|
|00005320| 74 20 69 6e 74 6f 20 74 | 77 6f 20 63 68 75 6e 6b |t into t|wo chunk|
|00005330| 73 0d 09 09 69 66 28 20 | 64 57 69 6e 2d 3e 73 74 |s...if( |dWin->st|
|00005340| 61 72 74 53 65 6c 20 3c | 20 28 20 2a 66 63 20 29 |artSel <| ( *fc )|
|00005350| 2d 3e 61 64 64 72 20 2b | 20 28 20 2a 66 63 20 29 |->addr +| ( *fc )|
|00005360| 2d 3e 73 69 7a 65 20 29 | 0d 09 09 7b 0d 09 09 09 |->size )|...{....|
|00005370| 65 63 20 3d 20 4e 65 77 | 43 68 75 6e 6b 28 20 28 |ec = New|Chunk( (|
|00005380| 20 2a 66 63 20 29 2d 3e | 73 69 7a 65 20 2d 20 28 | *fc )->|size - (|
|00005390| 20 64 57 69 6e 2d 3e 73 | 74 61 72 74 53 65 6c 20 | dWin->s|tartSel |
|000053a0| 2d 20 28 20 2a 66 63 20 | 29 2d 3e 61 64 64 72 20 |- ( *fc |)->addr |
|000053b0| 29 2c 20 30 2c 20 0d 09 | 09 09 09 09 09 09 28 20 |), 0, ..|......( |
|000053c0| 2a 66 63 20 29 2d 3e 66 | 69 6c 65 50 6f 73 20 2b |*fc )->f|ilePos +|
|000053d0| 20 28 20 64 57 69 6e 2d | 3e 73 74 61 72 74 53 65 | ( dWin-|>startSe|
|000053e0| 6c 20 2d 20 28 20 2a 66 | 63 20 29 2d 3e 61 64 64 |l - ( *f|c )->add|
|000053f0| 72 20 29 2c 20 28 20 2a | 66 63 20 29 2d 3e 74 79 |r ), ( *|fc )->ty|
|00005400| 70 65 20 29 3b 0d 09 09 | 09 28 20 2a 65 63 20 29 |pe );...|.( *ec )|
|00005410| 2d 3e 70 72 65 76 20 3d | 20 66 63 3b 0d 09 09 09 |->prev =| fc;....|
|00005420| 28 20 2a 65 63 20 29 2d | 3e 6e 65 78 74 20 3d 20 |( *ec )-|>next = |
|00005430| 28 20 2a 66 63 20 29 2d | 3e 6e 65 78 74 3b 0d 09 |( *fc )-|>next;..|
|00005440| 09 09 69 66 28 20 28 20 | 2a 65 63 20 29 2d 3e 6e |..if( ( |*ec )->n|
|00005450| 65 78 74 20 29 20 28 20 | 2a 28 20 2a 65 63 20 29 |ext ) ( |*( *ec )|
|00005460| 2d 3e 6e 65 78 74 20 29 | 2d 3e 70 72 65 76 20 3d |->next )|->prev =|
|00005470| 20 65 63 3b 0d 09 09 7d | 0d 09 09 65 6c 73 65 20 | ec;...}|...else |
|00005480| 65 63 20 3d 20 28 20 2a | 66 63 20 29 2d 3e 6e 65 |ec = ( *|fc )->ne|
|00005490| 78 74 3b 0d 0d 09 09 28 | 20 2a 66 63 20 29 2d 3e |xt;....(| *fc )->|
|000054a0| 6e 65 78 74 20 3d 20 65 | 63 3b 0d 09 09 28 20 2a |next = e|c;...( *|
|000054b0| 66 63 20 29 2d 3e 73 69 | 7a 65 20 3d 20 64 57 69 |fc )->si|ze = dWi|
|000054c0| 6e 2d 3e 73 74 61 72 74 | 53 65 6c 20 2d 20 28 20 |n->start|Sel - ( |
|000054d0| 2a 66 63 20 29 2d 3e 61 | 64 64 72 3b 0d 09 7d 0d |*fc )->a|ddr;..}.|
|000054e0| 09 65 6c 73 65 0d 09 7b | 0d 09 09 65 63 20 3d 20 |.else..{|...ec = |
|000054f0| 66 63 3b 0d 09 09 66 63 | 20 3d 20 28 20 2a 66 63 |fc;...fc| = ( *fc|
|00005500| 20 29 2d 3e 70 72 65 76 | 3b 0d 09 7d 0d 0d 09 2f | )->prev|;..}.../|
|00005510| 2f 20 49 6e 73 65 72 74 | 20 66 63 2d 3e 6e 63 2d |/ Insert| fc->nc-|
|00005520| 3e 65 63 0d 09 69 66 28 | 20 66 63 20 29 0d 09 7b |>ec..if(| fc )..{|
|00005530| 0d 09 09 28 20 2a 66 63 | 20 29 2d 3e 6e 65 78 74 |...( *fc| )->next|
|00005540| 20 3d 20 6e 63 3b 0d 09 | 09 28 20 2a 6e 63 20 29 | = nc;..|.( *nc )|
|00005550| 2d 3e 70 72 65 76 20 3d | 20 66 63 3b 0d 09 09 28 |->prev =| fc;...(|
|00005560| 20 2a 6e 63 20 29 2d 3e | 61 64 64 72 20 3d 20 28 | *nc )->|addr = (|
|00005570| 20 2a 66 63 20 29 2d 3e | 61 64 64 72 20 2b 20 28 | *fc )->|addr + (|
|00005580| 20 2a 66 63 20 29 2d 3e | 73 69 7a 65 3b 0d 09 7d | *fc )->|size;..}|
|00005590| 0d 09 65 6c 73 65 0d 09 | 7b 0d 09 09 64 57 69 6e |..else..|{...dWin|
|000055a0| 2d 3e 66 69 72 73 74 43 | 68 75 6e 6b 20 3d 20 6e |->firstC|hunk = n|
|000055b0| 63 3b 0d 09 09 28 20 2a | 6e 63 20 29 2d 3e 61 64 |c;...( *|nc )->ad|
|000055c0| 64 72 20 3d 20 30 4c 3b | 0d 09 7d 0d 0d 09 69 66 |dr = 0L;|..}...if|
|000055d0| 28 20 65 63 20 29 0d 09 | 7b 0d 09 09 28 20 2a 6e |( ec )..|{...( *n|
|000055e0| 63 20 29 2d 3e 6e 65 78 | 74 20 3d 20 65 63 3b 0d |c )->nex|t = ec;.|
|000055f0| 09 09 28 20 2a 65 63 20 | 29 2d 3e 70 72 65 76 20 |..( *ec |)->prev |
|00005600| 3d 20 6e 63 3b 0d 09 7d | 0d 0d 09 2f 2f 20 43 6f |= nc;..}|...// Co|
|00005610| 72 72 65 63 74 20 61 64 | 64 72 65 73 73 65 73 0d |rrect ad|dresses.|
|00005620| 09 52 65 77 72 69 74 65 | 41 64 64 72 65 73 73 43 |.Rewrite|AddressC|
|00005630| 68 61 69 6e 28 20 6e 63 | 20 29 3b 0d 0d 09 2f 2f |hain( nc| );...//|
|00005640| 20 52 65 73 65 74 20 53 | 65 6c 65 63 74 69 6f 6e | Reset S|election|
|00005650| 0d 09 64 57 69 6e 2d 3e | 73 74 61 72 74 53 65 6c |..dWin->|startSel|
|00005660| 20 3d 20 64 57 69 6e 2d | 3e 65 6e 64 53 65 6c 20 | = dWin-|>endSel |
|00005670| 3d 20 28 20 2a 6e 63 20 | 29 2d 3e 61 64 64 72 20 |= ( *nc |)->addr |
|00005680| 2b 20 28 20 2a 6e 63 20 | 29 2d 3e 73 69 7a 65 3b |+ ( *nc |)->size;|
|00005690| 0d 0d 09 2f 2f 20 55 70 | 64 61 74 65 20 6f 74 68 |...// Up|date oth|
|000056a0| 65 72 20 73 74 75 66 66 | 0d 09 64 57 69 6e 2d 3e |er stuff|..dWin->|
|000056b0| 66 69 6c 65 53 69 7a 65 | 20 2b 3d 20 28 20 2a 73 |fileSize| += ( *s|
|000056c0| 63 72 61 70 43 68 75 6e | 6b 20 29 2d 3e 73 69 7a |crapChun|k )->siz|
|000056d0| 65 3b 0d 09 64 57 69 6e | 2d 3e 64 69 72 74 79 46 |e;..dWin|->dirtyF|
|000056e0| 6c 61 67 20 3d 20 74 72 | 75 65 3b 0d 7d 0d 0d 2f |lag = tr|ue;.}../|
|000056f0| 2a 2a 2a 20 43 4c 45 41 | 52 20 53 45 4c 45 43 54 |*** CLEA|R SELECT|
|00005700| 49 4f 4e 20 2a 2a 2a 2f | 0d 76 6f 69 64 20 43 6c |ION ***/|.void Cl|
|00005710| 65 61 72 53 65 6c 65 63 | 74 69 6f 6e 28 20 45 64 |earSelec|tion( Ed|
|00005720| 69 74 57 69 6e 64 6f 77 | 50 74 72 20 64 57 69 6e |itWindow|Ptr dWin|
|00005730| 20 29 0d 7b 0d 09 2f 2f | 4c 52 20 31 38 30 20 2d | ).{..//|LR 180 -|
|00005740| 2d 20 66 69 72 73 74 2c | 20 74 68 69 73 20 69 73 |- first,| this is|
|00005750| 20 75 73 65 6c 65 73 73 | 20 6f 6e 20 72 65 61 64 | useless| on read|
|00005760| 2d 6f 6e 6c 79 20 66 69 | 6c 65 73 21 0d 09 69 66 |-only fi|les!..if|
|00005770| 28 20 64 57 69 6e 2d 3e | 72 65 61 64 4f 6e 6c 79 |( dWin->|readOnly|
|00005780| 46 6c 61 67 20 29 0d 09 | 7b 0d 09 09 45 72 72 6f |Flag )..|{...Erro|
|00005790| 72 41 6c 65 72 74 28 20 | 45 53 5f 53 74 6f 70 2c |rAlert( |ES_Stop,|
|000057a0| 20 65 72 72 52 65 61 64 | 4f 6e 6c 79 20 29 3b 0d | errRead|Only );.|
|000057b0| 09 09 72 65 74 75 72 6e | 3b 0d 09 7d 0d 0d 09 52 |..return|;..}...R|
|000057c0| 65 6d 65 6d 62 65 72 4f | 70 65 72 61 74 69 6f 6e |ememberO|peration|
|000057d0| 28 20 64 57 69 6e 2c 20 | 45 4f 5f 43 6c 65 61 72 |( dWin, |EO_Clear|
|000057e0| 2c 20 26 67 55 6e 64 6f | 20 29 3b 0d 09 44 65 6c |, &gUndo| );..Del|
|000057f0| 65 74 65 53 65 6c 65 63 | 74 69 6f 6e 28 20 64 57 |eteSelec|tion( dW|
|00005800| 69 6e 20 29 3b 0d 09 53 | 63 72 6f 6c 6c 54 6f 53 |in );..S|crollToS|
|00005810| 65 6c 65 63 74 69 6f 6e | 28 20 64 57 69 6e 2c 20 |election|( dWin, |
|00005820| 64 57 69 6e 2d 3e 73 74 | 61 72 74 53 65 6c 2c 20 |dWin->st|artSel, |
|00005830| 66 61 6c 73 65 20 29 3b | 0d 7d 0d 0d 2f 2f 20 52 |false );|.}..// R|
|00005840| 65 6d 65 6d 62 65 72 20 | 63 75 72 72 65 6e 74 20 |emember |current |
|00005850| 73 74 61 74 65 20 66 6f | 72 20 55 6e 64 6f 20 6f |state fo|r Undo o|
|00005860| 66 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 6f 70 65 72 |f follow|ing oper|
|00005870| 61 74 69 6f 6e 0d 0d 2f | 2a 2a 2a 20 52 45 4d 45 |ation../|*** REME|
|00005880| 4d 42 45 52 20 4f 50 45 | 52 41 54 49 4f 4e 20 2a |MBER OPE|RATION *|
|00005890| 2a 2a 2f 0d 76 6f 69 64 | 20 52 65 6d 65 6d 62 65 |**/.void| Remembe|
|000058a0| 72 4f 70 65 72 61 74 69 | 6f 6e 28 20 45 64 69 74 |rOperati|on( Edit|
|000058b0| 57 69 6e 64 6f 77 50 74 | 72 20 64 57 69 6e 2c 20 |WindowPt|r dWin, |
|000058c0| 73 68 6f 72 74 20 6f 70 | 54 79 70 65 2c 20 55 6e |short op|Type, Un|
|000058d0| 64 6f 50 74 72 20 75 72 | 20 29 0d 7b 0d 09 53 74 |doPtr ur| ).{..St|
|000058e0| 72 33 31 09 75 6e 64 6f | 53 74 72 2c 20 6d 65 6e |r31.undo|Str, men|
|000058f0| 75 53 74 72 3b 0d 09 4d | 65 6e 75 52 65 66 20 65 |uStr;..M|enuRef e|
|00005900| 64 69 74 4d 65 6e 75 3b | 0d 0d 09 2f 2f 4c 52 3a |ditMenu;|...//LR:|
|00005910| 20 31 2e 36 36 20 2d 20 | 74 6f 74 61 6c 20 72 65 | 1.66 - |total re|
|00005920| 2d 77 72 69 74 65 20 74 | 6f 20 62 65 20 6c 6f 63 |-write t|o be loc|
|00005930| 61 6c 69 7a 61 62 6c 65 | 21 0d 0d 09 2f 2f 20 41 |alizable|!...// A|
|00005940| 73 73 75 6d 65 20 75 6e | 64 6f 0d 09 47 65 74 49 |ssume un|do..GetI|
|00005950| 6e 64 53 74 72 69 6e 67 | 28 20 6d 65 6e 75 53 74 |ndString|( menuSt|
|00005960| 72 2c 20 73 74 72 55 6e | 64 6f 2c 20 45 4f 5f 55 |r, strUn|do, EO_U|
|00005970| 6e 64 6f 20 29 3b 0d 0d | 09 2f 2f 20 63 68 65 63 |ndo );..|.// chec|
|00005980| 6b 20 66 6f 72 20 52 65 | 64 6f 20 28 69 65 2c 20 |k for Re|do (ie, |
|00005990| 69 66 20 55 6e 64 6f 20 | 63 68 61 6e 67 65 20 74 |if Undo |change t|
|000059a0| 6f 20 52 65 64 6f 29 0d | 09 65 64 69 74 4d 65 6e |o Redo).|.editMen|
|000059b0| 75 20 3d 20 47 65 74 4d | 65 6e 75 52 65 66 28 20 |u = GetM|enuRef( |
|000059c0| 6b 45 64 69 74 4d 65 6e | 75 20 29 3b 0d 09 69 66 |kEditMen|u );..if|
|000059d0| 28 20 75 72 20 3d 3d 20 | 26 67 52 65 64 6f 20 29 |( ur == |&gRedo )|
|000059e0| 0d 09 7b 0d 09 09 53 74 | 72 33 31 20 74 65 6d 70 |..{...St|r31 temp|
|000059f0| 53 74 72 3b 0d 0d 09 09 | 47 65 74 4d 65 6e 75 49 |Str;....|GetMenuI|
|00005a00| 74 65 6d 54 65 78 74 28 | 20 65 64 69 74 4d 65 6e |temText(| editMen|
|00005a10| 75 2c 20 45 4d 5f 55 6e | 64 6f 2c 20 74 65 6d 70 |u, EM_Un|do, temp|
|00005a20| 53 74 72 20 29 3b 0d 09 | 09 69 66 28 20 74 65 6d |Str );..|.if( tem|
|00005a30| 70 53 74 72 5b 31 5d 20 | 3d 3d 20 27 55 27 20 29 |pStr[1] |== 'U' )|
|00005a40| 0d 09 09 09 47 65 74 49 | 6e 64 53 74 72 69 6e 67 |....GetI|ndString|
|00005a50| 28 20 6d 65 6e 75 53 74 | 72 2c 20 73 74 72 55 6e |( menuSt|r, strUn|
|00005a60| 64 6f 2c 20 45 4f 5f 52 | 65 64 6f 20 29 3b 0d 09 |do, EO_R|edo );..|
|00005a70| 7d 0d 0d 09 2f 2f 20 4e | 6f 77 2c 20 67 65 74 20 |}...// N|ow, get |
|00005a80| 6f 70 65 72 61 74 69 6f | 6e 20 73 74 72 69 6e 67 |operatio|n string|
|00005a90| 20 61 6e 64 20 63 72 65 | 61 74 65 20 6d 65 6e 75 | and cre|ate menu|
|00005aa0| 20 73 74 72 69 6e 67 0d | 09 47 65 74 49 6e 64 53 | string.|.GetIndS|
|00005ab0| 74 72 69 6e 67 28 20 75 | 6e 64 6f 53 74 72 2c 20 |tring( u|ndoStr, |
|00005ac0| 73 74 72 55 6e 64 6f 2c | 20 6f 70 54 79 70 65 20 |strUndo,| opType |
|00005ad0| 29 3b 0d 09 42 6c 6f 63 | 6b 4d 6f 76 65 28 20 26 |);..Bloc|kMove( &|
|00005ae0| 75 6e 64 6f 53 74 72 5b | 31 5d 2c 20 26 6d 65 6e |undoStr[|1], &men|
|00005af0| 75 53 74 72 5b 6d 65 6e | 75 53 74 72 5b 30 5d 20 |uStr[men|uStr[0] |
|00005b00| 2b 20 31 5d 2c 20 75 6e | 64 6f 53 74 72 5b 30 5d |+ 1], un|doStr[0]|
|00005b10| 20 29 3b 0d 09 6d 65 6e | 75 53 74 72 5b 30 5d 20 | );..men|uStr[0] |
|00005b20| 2b 3d 20 75 6e 64 6f 53 | 74 72 5b 30 5d 3b 0d 09 |+= undoS|tr[0];..|
|00005b30| 53 65 74 4d 65 6e 75 49 | 74 65 6d 54 65 78 74 28 |SetMenuI|temText(|
|00005b40| 20 65 64 69 74 4d 65 6e | 75 2c 20 45 4d 5f 55 6e | editMen|u, EM_Un|
|00005b50| 64 6f 2c 20 6d 65 6e 75 | 53 74 72 20 29 3b 0d 0d |do, menu|Str );..|
|00005b60| 09 52 65 6c 65 61 73 65 | 45 64 69 74 53 63 72 61 |.Release|EditScra|
|00005b70| 70 28 20 64 57 69 6e 2c | 20 26 75 72 2d 3e 75 6e |p( dWin,| &ur->un|
|00005b80| 64 6f 53 63 72 61 70 20 | 29 3b 0d 0d 09 2f 2f 20 |doScrap |);...// |
|00005b90| 43 6c 65 61 72 20 55 6e | 64 6f 20 53 74 75 66 66 |Clear Un|do Stuff|
|00005ba0| 0d 09 75 72 2d 3e 75 6e | 64 6f 53 63 72 61 70 20 |..ur->un|doScrap |
|00005bb0| 3d 20 4e 55 4c 4c 3b 0d | 09 75 72 2d 3e 74 79 70 |= NULL;.|.ur->typ|
|00005bc0| 65 20 3d 20 6f 70 54 79 | 70 65 3b 0d 09 75 72 2d |e = opTy|pe;..ur-|
|00005bd0| 3e 73 74 61 72 74 53 65 | 6c 20 3d 20 64 57 69 6e |>startSe|l = dWin|
|00005be0| 2d 3e 73 74 61 72 74 53 | 65 6c 3b 0d 09 75 72 2d |->startS|el;..ur-|
|00005bf0| 3e 65 6e 64 53 65 6c 20 | 3d 20 64 57 69 6e 2d 3e |>endSel |= dWin->|
|00005c00| 65 6e 64 53 65 6c 3b 0d | 09 75 72 2d 3e 66 69 6c |endSel;.|.ur->fil|
|00005c10| 65 53 69 7a 65 20 3d 20 | 64 57 69 6e 2d 3e 66 69 |eSize = |dWin->fi|
|00005c20| 6c 65 53 69 7a 65 3b 0d | 09 75 72 2d 3e 74 68 65 |leSize;.|.ur->the|
|00005c30| 57 69 6e 20 3d 20 64 57 | 69 6e 3b 0d 0d 09 43 6f |Win = dW|in;...Co|
|00005c40| 70 79 4f 70 65 72 61 74 | 69 6f 6e 28 20 64 57 69 |pyOperat|ion( dWi|
|00005c50| 6e 2c 20 26 75 72 2d 3e | 75 6e 64 6f 53 63 72 61 |n, &ur->|undoScra|
|00005c60| 70 20 29 3b 0d 0d 09 28 | 20 2a 75 72 2d 3e 75 6e |p );...(| *ur->un|
|00005c70| 64 6f 53 63 72 61 70 20 | 29 2d 3e 6c 61 73 74 43 |doScrap |)->lastC|
|00005c80| 74 72 3d 20 30 3b 0d 0d | 09 64 57 69 6e 2d 3e 6c |tr= 0;..|.dWin->l|
|00005c90| 61 73 74 54 79 70 65 50 | 6f 73 20 3d 20 2d 31 3b |astTypeP|os = -1;|
|00005ca0| 09 2f 2f 20 43 6c 65 61 | 72 20 53 70 65 63 69 61 |.// Clea|r Specia|
|00005cb0| 6c 20 45 64 69 74 69 6e | 67 20 4d 6f 64 65 73 0d |l Editin|g Modes.|
|00005cc0| 09 64 57 69 6e 2d 3e 6c | 6f 42 79 74 65 46 6c 61 |.dWin->l|oByteFla|
|00005cd0| 67 20 3d 20 66 61 6c 73 | 65 3b 0d 7d 0d 0d 2f 2a |g = fals|e;.}../*|
|00005ce0| 2a 2a 20 55 4e 44 4f 20 | 4f 50 45 52 41 54 49 4f |** UNDO |OPERATIO|
|00005cf0| 4e 20 2a 2a 2a 2f 0d 76 | 6f 69 64 20 55 6e 64 6f |N ***/.v|oid Undo|
|00005d00| 4f 70 65 72 61 74 69 6f | 6e 28 20 76 6f 69 64 20 |Operatio|n( void |
|00005d10| 29 0d 7b 0d 09 57 69 6e | 64 6f 77 52 65 66 20 77 |).{..Win|dowRef w|
|00005d20| 69 6e 3b 0d 09 45 64 69 | 74 57 69 6e 64 6f 77 50 |in;..Edi|tWindowP|
|00005d30| 74 72 20 64 57 69 6e 3b | 0d 0d 09 69 66 28 20 21 |tr dWin;|...if( !|
|00005d40| 67 55 6e 64 6f 2e 74 68 | 65 57 69 6e 20 29 09 2f |gUndo.th|eWin )./|
|00005d50| 2f 4c 52 3a 20 31 2e 36 | 36 20 2d 2d 20 63 61 6e |/LR: 1.6|6 -- can|
|00005d60| 20 62 65 20 4e 55 4c 4c | 21 0d 09 09 72 65 74 75 | be NULL|!...retu|
|00005d70| 72 6e 3b 0d 0d 09 64 57 | 69 6e 20 3d 20 67 55 6e |rn;...dW|in = gUn|
|00005d80| 64 6f 2e 74 68 65 57 69 | 6e 3b 0d 09 69 66 28 20 |do.theWi|n;..if( |
|00005d90| 67 55 6e 64 6f 2e 74 79 | 70 65 20 3d 3d 20 30 20 |gUndo.ty|pe == 0 |
|00005da0| 29 20 72 65 74 75 72 6e | 3b 0d 0d 09 2f 2f 4c 52 |) return|;...//LR|
|00005db0| 3a 20 31 2e 36 36 20 63 | 68 65 63 6b 20 66 6f 72 |: 1.66 c|heck for|
|00005dc0| 20 6e 75 6c 6c 20 66 72 | 6f 6e 74 20 77 69 6e 64 | null fr|ont wind|
|00005dd0| 6f 77 21 0d 09 77 69 6e | 20 3d 20 46 72 6f 6e 74 |ow!..win| = Front|
|00005de0| 4e 6f 6e 46 6c 6f 61 74 | 69 6e 67 57 69 6e 64 6f |NonFloat|ingWindo|
|00005df0| 77 28 29 3b 0d 09 69 66 | 28 20 21 77 69 6e 20 7c |w();..if|( !win ||
|00005e00| 7c 20 64 57 69 6e 20 21 | 3d 20 28 45 64 69 74 57 || dWin !|= (EditW|
|00005e10| 69 6e 64 6f 77 50 74 72 | 29 47 65 74 57 52 65 66 |indowPtr|)GetWRef|
|00005e20| 43 6f 6e 28 20 77 69 6e | 20 29 20 29 0d 09 09 53 |Con( win| ) )...S|
|00005e30| 65 6c 65 63 74 57 69 6e | 64 6f 77 28 20 64 57 69 |electWin|dow( dWi|
|00005e40| 6e 2d 3e 6f 57 69 6e 2e | 74 68 65 57 69 6e 20 29 |n->oWin.|theWin )|
|00005e50| 3b 0d 09 0d 09 73 77 69 | 74 63 68 28 20 67 55 6e |;....swi|tch( gUn|
|00005e60| 64 6f 2e 74 79 70 65 20 | 29 0d 09 7b 0d 09 09 63 |do.type |)..{...c|
|00005e70| 61 73 65 20 45 4f 5f 54 | 79 70 69 6e 67 3a 0d 09 |ase EO_T|yping:..|
|00005e80| 09 63 61 73 65 20 45 4f | 5f 50 61 73 74 65 3a 0d |.case EO|_Paste:.|
|00005e90| 09 09 63 61 73 65 20 45 | 4f 5f 49 6e 73 65 72 74 |..case E|O_Insert|
|00005ea0| 3a 0d 09 09 09 64 57 69 | 6e 2d 3e 73 74 61 72 74 |:....dWi|n->start|
|00005eb0| 53 65 6c 20 3d 20 67 55 | 6e 64 6f 2e 73 74 61 72 |Sel = gU|ndo.star|
|00005ec0| 74 53 65 6c 3b 0d 09 09 | 09 64 57 69 6e 2d 3e 65 |tSel;...|.dWin->e|
|00005ed0| 6e 64 53 65 6c 20 3d 20 | 64 57 69 6e 2d 3e 66 69 |ndSel = |dWin->fi|
|00005ee0| 6c 65 53 69 7a 65 20 2d | 20 28 20 67 55 6e 64 6f |leSize -| ( gUndo|
|00005ef0| 2e 66 69 6c 65 53 69 7a | 65 20 2d 20 67 55 6e 64 |.fileSiz|e - gUnd|
|00005f00| 6f 2e 65 6e 64 53 65 6c | 20 29 3b 0d 09 09 09 52 |o.endSel| );....R|
|00005f10| 65 6d 65 6d 62 65 72 4f | 70 65 72 61 74 69 6f 6e |ememberO|peration|
|00005f20| 28 20 64 57 69 6e 2c 20 | 45 4f 5f 44 65 6c 65 74 |( dWin, |EO_Delet|
|00005f30| 65 2c 20 26 67 52 65 64 | 6f 20 29 3b 0d 09 09 09 |e, &gRed|o );....|
|00005f40| 44 65 6c 65 74 65 53 65 | 6c 65 63 74 69 6f 6e 28 |DeleteSe|lection(|
|00005f50| 20 64 57 69 6e 20 29 3b | 0d 09 09 09 50 61 73 74 | dWin );|....Past|
|00005f60| 65 4f 70 65 72 61 74 69 | 6f 6e 28 20 64 57 69 6e |eOperati|on( dWin|
|00005f70| 2c 20 67 55 6e 64 6f 2e | 75 6e 64 6f 53 63 72 61 |, gUndo.|undoScra|
|00005f80| 70 20 29 3b 0d 09 09 09 | 62 72 65 61 6b 3b 0d 09 |p );....|break;..|
|00005f90| 09 63 61 73 65 20 45 4f | 5f 43 75 74 3a 0d 09 09 |.case EO|_Cut:...|
|00005fa0| 63 61 73 65 20 45 4f 5f | 43 6c 65 61 72 3a 0d 09 |case EO_|Clear:..|
|00005fb0| 09 63 61 73 65 20 45 4f | 5f 44 65 6c 65 74 65 3a |.case EO|_Delete:|
|00005fc0| 0d 09 09 09 64 57 69 6e | 2d 3e 73 74 61 72 74 53 |....dWin|->startS|
|00005fd0| 65 6c 20 3d 20 64 57 69 | 6e 2d 3e 65 6e 64 53 65 |el = dWi|n->endSe|
|00005fe0| 6c 20 3d 20 67 55 6e 64 | 6f 2e 73 74 61 72 74 53 |l = gUnd|o.startS|
|00005ff0| 65 6c 3b 0d 09 09 09 52 | 65 6d 65 6d 62 65 72 4f |el;....R|ememberO|
|00006000| 70 65 72 61 74 69 6f 6e | 28 20 64 57 69 6e 2c 20 |peration|( dWin, |
|00006010| 45 4f 5f 49 6e 73 65 72 | 74 2c 20 26 67 52 65 64 |EO_Inser|t, &gRed|
|00006020| 6f 20 29 3b 0d 09 09 09 | 50 61 73 74 65 4f 70 65 |o );....|PasteOpe|
|00006030| 72 61 74 69 6f 6e 28 20 | 64 57 69 6e 2c 20 67 55 |ration( |dWin, gU|
|00006040| 6e 64 6f 2e 75 6e 64 6f | 53 63 72 61 70 20 29 3b |ndo.undo|Scrap );|
|00006050| 0d 09 09 09 62 72 65 61 | 6b 3b 0d 09 7d 0d 0d 09 |....brea|k;..}...|
|00006060| 52 65 6c 65 61 73 65 45 | 64 69 74 53 63 72 61 70 |ReleaseE|ditScrap|
|00006070| 28 20 64 57 69 6e 2c 20 | 26 67 55 6e 64 6f 2e 75 |( dWin, |&gUndo.u|
|00006080| 6e 64 6f 53 63 72 61 70 | 20 29 3b 0d 09 67 55 6e |ndoScrap| );..gUn|
|00006090| 64 6f 20 3d 20 67 52 65 | 64 6f 3b 0d 09 67 52 65 |do = gRe|do;..gRe|
|000060a0| 64 6f 2e 75 6e 64 6f 53 | 63 72 61 70 20 3d 20 4e |do.undoS|crap = N|
|000060b0| 55 4c 4c 3b 0d 0d 09 53 | 63 72 6f 6c 6c 54 6f 53 |ULL;...S|crollToS|
|000060c0| 65 6c 65 63 74 69 6f 6e | 28 20 64 57 69 6e 2c 20 |election|( dWin, |
|000060d0| 64 57 69 6e 2d 3e 73 74 | 61 72 74 53 65 6c 2c 20 |dWin->st|artSel, |
|000060e0| 66 61 6c 73 65 20 29 3b | 0d 7d 00 00 00 00 00 00 |false );|.}......|
|000060f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006100| 00 00 01 00 00 00 01 4d | 00 00 00 4d 00 00 00 41 |.......M|...M...A|
|00006110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000061a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000061b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000061c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000061d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000061e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000061f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006200| 00 00 00 49 0c 47 bb 21 | 3f e5 32 30 00 04 00 00 |...I.G.!|?.20....|
|00006210| 00 01 00 00 00 00 b9 e7 | 4c db b9 e7 4c db 00 00 |........|L...L...|
|00006220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 06 72 |........|.......r|
|00006230| 61 76 69 6e 67 00 00 00 | 0e 45 64 69 74 52 6f 75 |aving...|.EditRou|
|00006240| 74 69 6e 65 73 2e 63 00 | 00 00 00 00 00 00 00 01 |tines.c.|........|
|00006250| 00 00 00 01 4d 00 00 00 | 4d 00 00 00 41 03 4d 66 |....M...|M...A.Mf|
|00006260| e0 06 82 00 80 00 1c 00 | 32 00 00 63 6b 69 64 00 |........|2..ckid.|
|00006270| 00 00 0a 00 80 00 00 00 | 00 00 00 03 51 0e ac 0e |........|....Q...|
|00006280| 50 72 6f 6a 65 63 74 6f | 72 20 44 61 74 61 00 00 |Projecto|r Data..|
|00006290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+