home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1994-04-15 | 18.4 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| MS-DOS Code Page Info (other/dosCodePage)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Fri Apr 15 12:01:04 1994, modified Fri Apr 15 12:01:04 1994, creator 'MPS ', type ASCII, 18171 bytes "PascalString.cp" , at 0x477b 478 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0f 50 61 73 63 61 6c | 53 74 72 69 6e 67 2e 63 |..Pascal|String.c|
|00000010| 70 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |p.......|........|
|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 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 46 fb 00 | 00 01 de a9 d4 6a c0 a9 |.....F..|.....j..|
|00000060| d4 6a c0 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.j......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 2e 70 00 00 |........|.....p..|
|00000080| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 50 61 |--------|--.// Pa|
|000000e0| 73 63 61 6c 53 74 72 69 | 6e 67 2e 63 70 20 0d 2f |scalStri|ng.cp ./|
|000000f0| 2f 20 43 6f 70 79 72 69 | 67 68 74 20 a9 20 31 39 |/ Copyri|ght . 19|
|00000100| 38 35 2d 31 39 39 32 20 | 62 79 20 41 70 70 6c 65 |85-1992 |by Apple|
|00000110| 20 43 6f 6d 70 75 74 65 | 72 2c 20 49 6e 63 2e 20 | Compute|r, Inc. |
|00000120| 20 41 6c 6c 20 72 69 67 | 68 74 73 20 72 65 73 65 | All rig|hts rese|
|00000130| 72 76 65 64 2e 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |rved..//|--------|
|00000140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000190| 0d 0d 0d 23 69 6e 63 6c | 75 64 65 20 22 50 61 73 |...#incl|ude "Pas|
|000001a0| 63 61 6c 53 74 72 69 6e | 67 2e 68 22 0d 0d 23 69 |calStrin|g.h"..#i|
|000001b0| 66 6e 64 65 66 20 5f 5f | 53 54 44 49 4f 5f 5f 0d |fndef __|STDIO__.|
|000001c0| 23 69 6e 63 6c 75 64 65 | 20 3c 53 74 64 49 6f 2e |#include| <StdIo.|
|000001d0| 68 3e 0d 23 65 6e 64 69 | 66 0d 0d 0d 23 70 72 61 |h>.#endi|f...#pra|
|000001e0| 67 6d 61 20 73 65 67 6d | 65 6e 74 20 4d 61 69 6e |gma segm|ent Main|
|000001f0| 0d 0d 0d 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...//===|========|
|00000200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000220| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000230| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000240| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//|
|00000250| 20 43 4c 41 53 53 20 43 | 53 74 72 69 6e 67 0d 2f | CLASS C|String./|
|00000260| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00000270| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000280| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000290| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000002a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000002b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0d 43 53 74 72 69 |========|=..CStri|
|000002c0| 6e 67 3a 3a 43 53 74 72 | 69 6e 67 28 29 0d 7b 0d |ng::CStr|ing().{.|
|000002d0| 7d 0d 0d 43 53 74 72 69 | 6e 67 3a 3a 7e 43 53 74 |}..CStri|ng::~CSt|
|000002e0| 72 69 6e 67 28 29 0d 7b | 0d 7d 0d 0d 0d 43 53 74 |ring().{|.}...CSt|
|000002f0| 72 32 35 35 3a 3a 43 53 | 74 72 32 35 35 28 29 0d |r255::CS|tr255().|
|00000300| 7b 0d 7d 0d 0d 43 53 74 | 72 32 35 35 3a 3a 7e 43 |{.}..CSt|r255::~C|
|00000310| 53 74 72 32 35 35 28 29 | 0d 7b 0d 7d 0d 0d 0d 43 |Str255()|.{.}...C|
|00000320| 53 74 72 36 33 3a 3a 43 | 53 74 72 36 33 28 29 0d |Str63::C|Str63().|
|00000330| 7b 0d 7d 0d 0d 43 53 74 | 72 36 33 3a 3a 7e 43 53 |{.}..CSt|r63::~CS|
|00000340| 74 72 36 33 28 29 0d 7b | 0d 7d 0d 0d 43 53 74 72 |tr63().{|.}..CStr|
|00000350| 33 32 3a 3a 43 53 74 72 | 33 32 28 29 0d 7b 0d 7d |32::CStr|32().{.}|
|00000360| 0d 0d 43 53 74 72 33 32 | 3a 3a 7e 43 53 74 72 33 |..CStr32|::~CStr3|
|00000370| 32 28 29 0d 7b 0d 7d 0d | 0d 43 53 74 72 33 31 3a |2().{.}.|.CStr31:|
|00000380| 3a 43 53 74 72 33 31 28 | 29 0d 7b 0d 7d 0d 0d 43 |:CStr31(|).{.}..C|
|00000390| 53 74 72 33 31 3a 3a 7e | 43 53 74 72 33 31 28 29 |Str31::~|CStr31()|
|000003a0| 0d 7b 0d 7d 0d 0d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |.{.}....|//------|
|000003b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000400| 2d 2d 0d 2f 2f 20 43 53 | 74 72 69 6e 67 3a 3a 49 |--.// CS|tring::I|
|00000410| 6e 73 65 72 74 48 65 6c | 70 65 72 28 43 53 74 72 |nsertHel|per(CStr|
|00000420| 69 6e 67 29 3a 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ing):.//|--------|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000480| 0d 0d 76 6f 69 64 20 43 | 53 74 72 69 6e 67 3a 3a |..void C|String::|
|00000490| 49 6e 73 65 72 74 48 65 | 6c 70 65 72 28 63 6f 6e |InsertHe|lper(con|
|000004a0| 73 74 20 43 53 74 72 69 | 6e 67 26 20 69 6e 73 53 |st CStri|ng& insS|
|000004b0| 74 72 2c 0d 09 09 09 09 | 09 09 20 20 73 68 6f 72 |tr,.....|.. shor|
|000004c0| 74 20 70 6f 73 2c 0d 09 | 09 09 09 09 09 20 20 73 |t pos,..|..... s|
|000004d0| 68 6f 72 74 20 6d 61 78 | 4c 65 6e 67 74 68 29 0d |hort max|Length).|
|000004e0| 7b 0d 09 69 66 20 28 70 | 6f 73 20 3e 20 4c 65 6e |{..if (p|os > Len|
|000004f0| 67 74 68 28 29 20 2b 20 | 31 29 0d 09 7b 0d 23 69 |gth() + |1)..{.#i|
|00000500| 66 20 71 44 65 62 75 67 | 4d 73 67 0d 09 09 66 70 |f qDebug|Msg...fp|
|00000510| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 20 22 23 |rintf(st|derr, "#|
|00000520| 23 23 43 53 74 72 69 6e | 67 3a 3a 49 6e 73 65 72 |##CStrin|g::Inser|
|00000530| 74 48 65 6c 70 65 72 3a | 20 49 6e 73 65 72 74 20 |tHelper:| Insert |
|00000540| 70 6f 73 69 74 69 6f 6e | 20 67 72 65 61 74 65 72 |position| greater|
|00000550| 20 74 68 61 6e 20 6c 65 | 6e 67 74 68 20 6f 66 20 | than le|ngth of |
|00000560| 43 53 74 72 69 6e 67 2e | 5c 6e 22 29 3b 0d 23 65 |CString.|\n");.#e|
|00000570| 6e 64 69 66 0d 09 09 69 | 66 20 28 4c 65 6e 67 74 |ndif...i|f (Lengt|
|00000580| 68 28 29 20 3c 20 6d 61 | 78 4c 65 6e 67 74 68 29 |h() < ma|xLength)|
|00000590| 09 0d 09 09 09 70 6f 73 | 20 3d 20 4c 65 6e 67 74 |.....pos| = Lengt|
|000005a0| 68 28 29 20 2b 20 31 3b | 0d 09 7d 0d 09 0d 23 69 |h() + 1;|..}...#i|
|000005b0| 66 20 71 44 65 62 75 67 | 4d 73 67 0d 09 69 66 20 |f qDebug|Msg..if |
|000005c0| 28 4c 65 6e 67 74 68 28 | 29 20 2b 20 69 6e 73 53 |(Length(|) + insS|
|000005d0| 74 72 2e 4c 65 6e 67 74 | 68 28 29 20 3e 20 6d 61 |tr.Lengt|h() > ma|
|000005e0| 78 4c 65 6e 67 74 68 29 | 0d 09 09 66 70 72 69 6e |xLength)|...fprin|
|000005f0| 74 66 28 73 74 64 65 72 | 72 2c 20 22 23 23 23 20 |tf(stder|r, "### |
|00000600| 43 53 74 72 69 6e 67 3a | 3a 49 6e 73 65 72 74 48 |CString:|:InsertH|
|00000610| 65 6c 70 65 72 3a 20 43 | 53 74 72 69 6e 67 20 74 |elper: C|String t|
|00000620| 72 75 6e 63 61 74 65 64 | 20 64 75 72 69 6e 67 20 |runcated| during |
|00000630| 69 6e 73 65 72 74 20 63 | 61 6c 6c 2e 5c 6e 22 29 |insert c|all.\n")|
|00000640| 3b 09 0d 23 65 6e 64 69 | 66 0d 0d 09 73 68 6f 72 |;..#endi|f...shor|
|00000650| 74 20 75 73 61 62 6c 65 | 4c 65 6e 67 74 68 4f 66 |t usable|LengthOf|
|00000660| 49 6e 73 65 72 74 53 74 | 72 69 6e 67 3b 0d 09 73 |InsertSt|ring;..s|
|00000670| 68 6f 72 74 20 65 6e 64 | 50 6f 73 4f 66 49 6e 73 |hort end|PosOfIns|
|00000680| 65 72 74 53 74 72 69 6e | 67 3b 0d 09 73 68 6f 72 |ertStrin|g;..shor|
|00000690| 74 20 75 73 61 62 6c 65 | 4c 65 6e 67 74 68 4f 66 |t usable|LengthOf|
|000006a0| 53 68 69 66 74 65 64 53 | 74 72 69 6e 67 3b 0d 09 |ShiftedS|tring;..|
|000006b0| 0d 09 69 66 20 28 70 6f | 73 20 2b 20 69 6e 73 53 |..if (po|s + insS|
|000006c0| 74 72 2e 4c 65 6e 67 74 | 68 28 29 20 3e 20 6d 61 |tr.Lengt|h() > ma|
|000006d0| 78 4c 65 6e 67 74 68 29 | 0d 09 09 75 73 61 62 6c |xLength)|...usabl|
|000006e0| 65 4c 65 6e 67 74 68 4f | 66 49 6e 73 65 72 74 53 |eLengthO|fInsertS|
|000006f0| 74 72 69 6e 67 20 3d 20 | 6d 61 78 4c 65 6e 67 74 |tring = |maxLengt|
|00000700| 68 20 2d 20 70 6f 73 20 | 2b 20 31 3b 0d 09 65 6c |h - pos |+ 1;..el|
|00000710| 73 65 0d 09 09 75 73 61 | 62 6c 65 4c 65 6e 67 74 |se...usa|bleLengt|
|00000720| 68 4f 66 49 6e 73 65 72 | 74 53 74 72 69 6e 67 20 |hOfInser|tString |
|00000730| 3d 20 69 6e 73 53 74 72 | 2e 4c 65 6e 67 74 68 28 |= insStr|.Length(|
|00000740| 29 3b 0d 09 65 6e 64 50 | 6f 73 4f 66 49 6e 73 65 |);..endP|osOfInse|
|00000750| 72 74 53 74 72 69 6e 67 | 20 3d 20 70 6f 73 20 2b |rtString| = pos +|
|00000760| 20 75 73 61 62 6c 65 4c | 65 6e 67 74 68 4f 66 49 | usableL|engthOfI|
|00000770| 6e 73 65 72 74 53 74 72 | 69 6e 67 20 2d 20 31 3b |nsertStr|ing - 1;|
|00000780| 0d 09 0d 09 69 66 20 28 | 28 65 6e 64 50 6f 73 4f |....if (|(endPosO|
|00000790| 66 49 6e 73 65 72 74 53 | 74 72 69 6e 67 20 2b 20 |fInsertS|tring + |
|000007a0| 31 29 20 2b 20 28 4c 65 | 6e 67 74 68 28 29 20 2d |1) + (Le|ngth() -|
|000007b0| 20 70 6f 73 20 2b 20 31 | 29 20 3e 20 6d 61 78 4c | pos + 1|) > maxL|
|000007c0| 65 6e 67 74 68 29 0d 09 | 09 75 73 61 62 6c 65 4c |ength)..|.usableL|
|000007d0| 65 6e 67 74 68 4f 66 53 | 68 69 66 74 65 64 53 74 |engthOfS|hiftedSt|
|000007e0| 72 69 6e 67 20 3d 20 6d | 61 78 4c 65 6e 67 74 68 |ring = m|axLength|
|000007f0| 20 2d 20 65 6e 64 50 6f | 73 4f 66 49 6e 73 65 72 | - endPo|sOfInser|
|00000800| 74 53 74 72 69 6e 67 3b | 0d 09 65 6c 73 65 0d 09 |tString;|..else..|
|00000810| 09 75 73 61 62 6c 65 4c | 65 6e 67 74 68 4f 66 53 |.usableL|engthOfS|
|00000820| 68 69 66 74 65 64 53 74 | 72 69 6e 67 20 3d 20 4c |hiftedSt|ring = L|
|00000830| 65 6e 67 74 68 28 29 20 | 2d 20 70 6f 73 20 2b 20 |ength() |- pos + |
|00000840| 31 3b 0d 09 09 0d 09 6d | 65 6d 6d 6f 76 65 28 26 |1;.....m|emmove(&|
|00000850| 66 53 74 72 5b 65 6e 64 | 50 6f 73 4f 66 49 6e 73 |fStr[end|PosOfIns|
|00000860| 65 72 74 53 74 72 69 6e | 67 20 2b 20 31 5d 2c 20 |ertStrin|g + 1], |
|00000870| 26 66 53 74 72 5b 70 6f | 73 5d 2c 20 75 73 61 62 |&fStr[po|s], usab|
|00000880| 6c 65 4c 65 6e 67 74 68 | 4f 66 53 68 69 66 74 65 |leLength|OfShifte|
|00000890| 64 53 74 72 69 6e 67 29 | 3b 0d 09 6d 65 6d 6d 6f |dString)|;..memmo|
|000008a0| 76 65 28 26 66 53 74 72 | 5b 70 6f 73 5d 2c 20 26 |ve(&fStr|[pos], &|
|000008b0| 69 6e 73 53 74 72 2e 66 | 53 74 72 5b 31 5d 2c 20 |insStr.f|Str[1], |
|000008c0| 75 73 61 62 6c 65 4c 65 | 6e 67 74 68 4f 66 49 6e |usableLe|ngthOfIn|
|000008d0| 73 65 72 74 53 74 72 69 | 6e 67 29 3b 0d 09 4c 65 |sertStri|ng);..Le|
|000008e0| 6e 67 74 68 28 29 20 3d | 20 75 73 61 62 6c 65 4c |ngth() =| usableL|
|000008f0| 65 6e 67 74 68 4f 66 53 | 68 69 66 74 65 64 53 74 |engthOfS|hiftedSt|
|00000900| 72 69 6e 67 20 2b 20 65 | 6e 64 50 6f 73 4f 66 49 |ring + e|ndPosOfI|
|00000910| 6e 73 65 72 74 53 74 72 | 69 6e 67 3b 0d 7d 20 2f |nsertStr|ing;.} /|
|00000920| 2f 20 43 53 74 72 69 6e | 67 3a 3a 49 6e 73 65 72 |/ CStrin|g::Inser|
|00000930| 74 48 65 6c 70 65 72 28 | 43 53 74 72 69 6e 67 29 |tHelper(|CString)|
|00000940| 0d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...//---|--------|
|00000950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|000009a0| 20 43 53 74 72 69 6e 67 | 3a 3a 49 6e 73 65 72 74 | CString|::Insert|
|000009b0| 48 65 6c 70 65 72 28 63 | 68 61 72 2a 29 3a 0d 2f |Helper(c|har*):./|
|000009c0| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|000009d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 0d 76 6f 69 64 20 |--------|-..void |
|00000a20| 43 53 74 72 69 6e 67 3a | 3a 49 6e 73 65 72 74 48 |CString:|:InsertH|
|00000a30| 65 6c 70 65 72 28 63 6f | 6e 73 74 20 63 68 61 72 |elper(co|nst char|
|00000a40| 2a 20 69 6e 73 53 74 72 | 2c 0d 09 09 09 09 09 09 |* insStr|,.......|
|00000a50| 20 20 73 68 6f 72 74 20 | 70 6f 73 2c 0d 09 09 09 | short |pos,....|
|00000a60| 09 09 09 20 20 73 68 6f | 72 74 20 6d 61 78 4c 65 |... sho|rt maxLe|
|00000a70| 6e 67 74 68 29 0d 7b 0d | 09 74 68 69 73 2d 3e 49 |ngth).{.|.this->I|
|00000a80| 6e 73 65 72 74 48 65 6c | 70 65 72 28 43 53 74 72 |nsertHel|per(CStr|
|00000a90| 32 35 35 28 69 6e 73 53 | 74 72 29 2c 20 70 6f 73 |255(insS|tr), pos|
|00000aa0| 2c 20 6d 61 78 4c 65 6e | 67 74 68 29 3b 0d 7d 20 |, maxLen|gth);.} |
|00000ab0| 2f 2f 20 43 53 74 72 69 | 6e 67 3a 3a 49 6e 73 65 |// CStri|ng::Inse|
|00000ac0| 72 74 48 65 6c 70 65 72 | 28 63 68 61 72 2a 29 0d |rtHelper|(char*).|
|00000ad0| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00000ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00000b30| 43 53 74 72 69 6e 67 3a | 3a 6f 70 65 72 61 74 6f |CString:|:operato|
|00000b40| 72 5b 5d 3a 20 21 21 21 | 20 77 65 27 64 20 69 64 |r[]: !!!| we'd id|
|00000b50| 65 61 6c 6c 79 20 6c 69 | 6b 65 20 74 68 69 73 20 |eally li|ke this |
|00000b60| 6d 65 74 68 6f 64 20 74 | 6f 20 62 65 20 69 6e 6c |method t|o be inl|
|00000b70| 69 6e 65 64 20 62 75 74 | 20 43 46 72 6f 6e 74 20 |ined but| CFront |
|00000b80| 64 6f 65 73 6e 27 74 0d | 2f 2f 20 73 65 65 6d 20 |doesn't.|// seem |
|00000b90| 74 6f 20 77 61 6e 74 20 | 74 6f 20 69 6e 6c 69 6e |to want |to inlin|
|00000ba0| 65 20 69 74 20 66 6f 72 | 20 75 73 20 21 21 21 0d |e it for| us !!!.|
|00000bb0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000bc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 75 6e 73 69 |--------|--..unsi|
|00000c10| 67 6e 65 64 20 63 68 61 | 72 26 20 43 53 74 72 69 |gned cha|r& CStri|
|00000c20| 6e 67 3a 3a 6f 70 65 72 | 61 74 6f 72 5b 5d 28 73 |ng::oper|ator[](s|
|00000c30| 68 6f 72 74 20 70 6f 73 | 29 0d 7b 0d 09 72 65 74 |hort pos|).{..ret|
|00000c40| 75 72 6e 20 66 53 74 72 | 5b 70 6f 73 5d 3b 0d 7d |urn fStr|[pos];.}|
|00000c50| 20 2f 2f 20 43 53 74 72 | 69 6e 67 3a 3a 6f 70 65 | // CStr|ing::ope|
|00000c60| 72 61 74 6f 72 5b 5d 20 | 66 6f 72 20 6e 6f 6e 2d |rator[] |for non-|
|00000c70| 63 6f 6e 73 74 20 43 53 | 74 72 69 6e 67 0d 0d 0d |const CS|tring...|
|00000c80| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 43 53 |--------|--.// CS|
|00000ce0| 74 72 69 6e 67 3a 3a 6f | 70 65 72 61 74 6f 72 20 |tring::o|perator |
|00000cf0| 63 68 61 72 2a 3a 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |char*:./|/-------|
|00000d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d50| 2d 0d 0d 43 53 74 72 69 | 6e 67 3a 3a 6f 70 65 72 |-..CStri|ng::oper|
|00000d60| 61 74 6f 72 20 63 68 61 | 72 2a 28 29 20 63 6f 6e |ator cha|r*() con|
|00000d70| 73 74 0d 7b 0d 09 63 6f | 6e 73 74 20 73 68 6f 72 |st.{..co|nst shor|
|00000d80| 74 20 6b 54 65 6d 70 43 | 53 74 72 69 6e 67 73 20 |t kTempC|Strings |
|00000d90| 3d 20 34 3b 0d 09 73 74 | 61 74 69 63 20 73 68 6f |= 4;..st|atic sho|
|00000da0| 72 74 20 63 75 72 72 65 | 6e 74 43 53 74 72 69 6e |rt curre|ntCStrin|
|00000db0| 67 20 3d 20 30 3b 0d 09 | 73 74 61 74 69 63 20 63 |g = 0;..|static c|
|00000dc0| 68 61 72 20 63 53 74 72 | 69 6e 67 73 5b 6b 54 65 |har cStr|ings[kTe|
|00000dd0| 6d 70 43 53 74 72 69 6e | 67 73 5d 5b 6b 53 74 72 |mpCStrin|gs][kStr|
|00000de0| 32 35 35 4c 65 6e 2b 31 | 5d 3b 0d 09 0d 09 63 75 |255Len+1|];....cu|
|00000df0| 72 72 65 6e 74 43 53 74 | 72 69 6e 67 20 3d 20 28 |rrentCSt|ring = (|
|00000e00| 63 75 72 72 65 6e 74 43 | 53 74 72 69 6e 67 20 2b |currentC|String +|
|00000e10| 20 31 29 20 25 20 6b 54 | 65 6d 70 43 53 74 72 69 | 1) % kT|empCStri|
|00000e20| 6e 67 73 3b 0d 09 0d 09 | 73 74 72 6e 63 70 79 28 |ngs;....|strncpy(|
|00000e30| 63 53 74 72 69 6e 67 73 | 5b 63 75 72 72 65 6e 74 |cStrings|[current|
|00000e40| 43 53 74 72 69 6e 67 5d | 2c 20 28 63 68 61 72 20 |CString]|, (char |
|00000e50| 2a 29 20 26 66 53 74 72 | 5b 31 5d 2c 20 4c 65 6e |*) &fStr|[1], Len|
|00000e60| 67 74 68 28 29 29 3b 0d | 09 63 53 74 72 69 6e 67 |gth());.|.cString|
|00000e70| 73 5b 63 75 72 72 65 6e | 74 43 53 74 72 69 6e 67 |s[curren|tCString|
|00000e80| 5d 5b 4c 65 6e 67 74 68 | 28 29 5d 20 3d 20 27 5c |][Length|()] = '\|
|00000e90| 30 27 3b 0d 09 0d 09 72 | 65 74 75 72 6e 20 63 53 |0';....r|eturn cS|
|00000ea0| 74 72 69 6e 67 73 5b 63 | 75 72 72 65 6e 74 43 53 |trings[c|urrentCS|
|00000eb0| 74 72 69 6e 67 5d 3b 0d | 7d 20 2f 2f 20 43 53 74 |tring];.|} // CSt|
|00000ec0| 72 69 6e 67 3a 3a 6f 70 | 65 72 61 74 6f 72 20 63 |ring::op|erator c|
|00000ed0| 68 61 72 2a 0d 0d 43 53 | 74 72 69 6e 67 3a 3a 6f |har*..CS|tring::o|
|00000ee0| 70 65 72 61 74 6f 72 20 | 63 6f 6e 73 74 20 75 6e |perator |const un|
|00000ef0| 73 69 67 6e 65 64 20 63 | 68 61 72 2a 28 29 20 63 |signed c|har*() c|
|00000f00| 6f 6e 73 74 0d 7b 0d 20 | 09 72 65 74 75 72 6e 20 |onst.{. |.return |
|00000f10| 28 63 6f 6e 73 74 20 75 | 6e 73 69 67 6e 65 64 20 |(const u|nsigned |
|00000f20| 63 68 61 72 20 2a 29 20 | 74 68 69 73 3b 0d 7d 0d |char *) |this;.}.|
|00000f30| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00000f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00000f90| 43 53 74 72 69 6e 67 3a | 3a 6f 70 65 72 61 74 6f |CString:|:operato|
|00000fa0| 72 20 6c 6f 6e 67 3a 0d | 2f 2f 2d 2d 2d 2d 2d 2d |r long:.|//------|
|00000fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001000| 2d 2d 0d 0d 43 53 74 72 | 69 6e 67 3a 3a 6f 70 65 |--..CStr|ing::ope|
|00001010| 72 61 74 6f 72 20 6c 6f | 6e 67 28 29 20 63 6f 6e |rator lo|ng() con|
|00001020| 73 74 0d 7b 0d 09 2f 2f | 20 54 68 65 20 66 6f 6c |st.{..//| The fol|
|00001030| 6c 6f 77 69 6e 67 20 73 | 74 61 74 65 6d 65 6e 74 |lowing s|tatement|
|00001040| 20 6c 6f 6f 6b 73 20 6c | 69 6b 65 20 69 74 20 73 | looks l|ike it s|
|00001050| 68 6f 75 6c 64 20 77 6f | 72 6b 2e 20 52 69 67 68 |hould wo|rk. Righ|
|00001060| 74 3f 0d 09 2f 2f 0d 09 | 2f 2f 09 72 65 74 75 72 |t?..//..|//.retur|
|00001070| 6e 20 2a 28 28 6c 6f 6e | 67 20 2a 29 20 26 66 53 |n *((lon|g *) &fS|
|00001080| 74 72 5b 31 5d 29 3b 0d | 09 2f 2f 0d 09 2f 2f 20 |tr[1]);.|.//..// |
|00001090| 57 72 6f 6e 67 2c 20 74 | 68 65 20 43 20 63 6f 6d |Wrong, t|he C com|
|000010a0| 70 69 6c 65 72 20 67 65 | 6e 65 72 61 74 65 73 20 |piler ge|nerates |
|000010b0| 61 20 4d 4f 56 45 2e 4c | 20 73 74 61 72 74 69 6e |a MOVE.L| startin|
|000010c0| 67 20 6f 6e 20 61 20 6f | 64 64 20 62 79 74 65 20 |g on a o|dd byte |
|000010d0| 62 6f 75 6e 64 61 72 79 | 20 66 6f 72 20 74 68 65 |boundary| for the|
|000010e0| 0d 20 20 20 20 2f 2f 20 | 70 72 65 63 65 64 69 6e |. // |precedin|
|000010f0| 67 20 73 74 61 74 65 6d | 65 6e 74 2e 20 54 68 69 |g statem|ent. Thi|
|00001100| 73 20 69 73 20 69 6c 6c | 65 67 61 6c 20 6f 6e 20 |s is ill|egal on |
|00001110| 74 68 65 20 36 38 30 30 | 30 2e 20 42 75 74 20 69 |the 6800|0. But i|
|00001120| 74 73 20 5f 4e 4f 54 5f | 20 61 20 62 75 67 2c 20 |ts _NOT_| a bug, |
|00001130| 62 65 63 61 75 73 65 0d | 20 20 20 20 2f 2f 20 61 |because.| // a|
|00001140| 63 63 6f 72 64 69 6e 67 | 20 74 6f 20 74 68 65 20 |ccording| to the |
|00001150| 41 4e 53 49 20 43 20 72 | 65 66 65 72 65 6e 63 65 |ANSI C r|eference|
|00001160| 20 6d 61 6e 75 61 6c 2c | 20 22 41 20 70 6f 69 6e | manual,| "A poin|
|00001170| 74 65 72 20 74 6f 20 6f | 6e 65 20 74 79 70 65 20 |ter to o|ne type |
|00001180| 6d 61 79 20 62 65 20 63 | 6f 6e 76 65 72 74 65 64 |may be c|onverted|
|00001190| 0d 20 20 20 20 2f 2f 20 | 74 6f 20 61 20 70 6f 69 |. // |to a poi|
|000011a0| 6e 74 65 72 20 74 6f 20 | 61 6e 6f 74 68 65 72 20 |nter to |another |
|000011b0| 74 79 70 65 2e 20 54 68 | 65 20 72 65 73 75 6c 74 |type. Th|e result|
|000011c0| 69 6e 67 20 70 6f 69 6e | 74 65 72 20 6d 61 79 20 |ing poin|ter may |
|000011d0| 63 61 75 73 65 20 61 6e | 20 61 64 64 72 65 73 73 |cause an| address|
|000011e0| 69 6e 67 0d 20 20 20 20 | 2f 2f 20 65 78 63 65 70 |ing. |// excep|
|000011f0| 74 69 6f 6e 20 69 66 20 | 74 68 65 20 73 75 62 6a |tion if |the subj|
|00001200| 65 63 74 20 70 6f 69 6e | 74 65 72 20 64 6f 65 73 |ect poin|ter does|
|00001210| 20 6e 6f 74 20 72 65 66 | 65 72 20 74 6f 20 61 6e | not ref|er to an|
|00001220| 20 6f 62 6a 65 63 74 20 | 73 75 69 74 61 62 6c 79 | object |suitably|
|00001230| 20 61 6c 69 67 6e 65 64 | 20 69 6e 0d 20 20 20 20 | aligned| in. |
|00001240| 2f 2f 20 73 74 6f 72 61 | 67 65 22 2e 0d 09 0d 09 |// stora|ge".....|
|00001250| 6c 6f 6e 67 20 72 65 74 | 75 72 6e 4c 6f 6e 67 3b |long ret|urnLong;|
|00001260| 0d 09 0d 09 6d 65 6d 63 | 70 79 28 26 72 65 74 75 |....memc|py(&retu|
|00001270| 72 6e 4c 6f 6e 67 2c 20 | 26 66 53 74 72 5b 31 5d |rnLong, |&fStr[1]|
|00001280| 2c 20 73 69 7a 65 6f 66 | 28 6c 6f 6e 67 29 29 3b |, sizeof|(long));|
|00001290| 0d 09 72 65 74 75 72 6e | 20 72 65 74 75 72 6e 4c |..return| returnL|
|000012a0| 6f 6e 67 3b 0d 7d 20 2f | 2f 20 43 53 74 72 69 6e |ong;.} /|/ CStrin|
|000012b0| 67 3a 3a 6f 70 65 72 61 | 74 6f 72 20 6c 6f 6e 67 |g::opera|tor long|
|000012c0| 0d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...//---|--------|
|000012d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00001320| 20 43 53 74 72 69 6e 67 | 3a 3a 50 6f 73 28 63 68 | CString|::Pos(ch|
|00001330| 61 72 2a 29 3a 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ar*):.//|--------|
|00001340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001390| 0d 0d 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 |..unsign|ed char |
|000013a0| 43 53 74 72 69 6e 67 3a | 3a 50 6f 73 28 63 6f 6e |CString:|:Pos(con|
|000013b0| 73 74 20 63 68 61 72 2a | 20 73 75 62 53 74 72 2c |st char*| subStr,|
|000013c0| 20 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 73 | unsigne|d char s|
|000013d0| 74 61 72 74 50 6f 73 29 | 0d 7b 0d 09 63 68 61 72 |tartPos)|.{..char|
|000013e0| 20 63 53 74 72 5b 6b 53 | 74 72 32 35 35 4c 65 6e | cStr[kS|tr255Len|
|000013f0| 20 2b 20 31 5d 3b 0d 09 | 63 68 61 72 2a 20 70 74 | + 1];..|char* pt|
|00001400| 72 3b 0d 09 0d 09 6d 65 | 6d 63 70 79 28 63 53 74 |r;....me|mcpy(cSt|
|00001410| 72 2c 20 26 66 53 74 72 | 5b 31 5d 2c 20 4c 65 6e |r, &fStr|[1], Len|
|00001420| 67 74 68 28 29 29 3b 0d | 09 63 53 74 72 5b 4c 65 |gth());.|.cStr[Le|
|00001430| 6e 67 74 68 28 29 5d 20 | 3d 20 30 3b 0d 09 70 74 |ngth()] |= 0;..pt|
|00001440| 72 20 3d 20 73 74 72 73 | 74 72 28 26 63 53 74 72 |r = strs|tr(&cStr|
|00001450| 5b 73 74 61 72 74 50 6f | 73 20 2d 20 31 5d 2c 20 |[startPo|s - 1], |
|00001460| 73 75 62 53 74 72 29 3b | 0d 09 72 65 74 75 72 6e |subStr);|..return|
|00001470| 20 70 74 72 20 21 3d 20 | 4e 55 4c 4c 20 3f 20 28 | ptr != |NULL ? (|
|00001480| 70 74 72 20 2d 20 63 53 | 74 72 29 20 2b 20 31 20 |ptr - cS|tr) + 1 |
|00001490| 3a 20 30 3b 0d 7d 20 2f | 2f 20 43 53 74 72 69 6e |: 0;.} /|/ CStrin|
|000014a0| 67 3a 3a 50 6f 73 28 63 | 68 61 72 2a 29 0d 0d 0d |g::Pos(c|har*)...|
|000014b0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000014c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 43 53 |--------|--.// CS|
|00001510| 74 72 69 6e 67 3a 3a 50 | 6f 73 28 43 53 74 72 69 |tring::P|os(CStri|
|00001520| 6e 67 29 3a 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ng):.//-|--------|
|00001530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00001580| 0d 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 43 |.unsigne|d char C|
|00001590| 53 74 72 69 6e 67 3a 3a | 50 6f 73 28 63 6f 6e 73 |String::|Pos(cons|
|000015a0| 74 20 43 53 74 72 69 6e | 67 26 20 73 75 62 53 74 |t CStrin|g& subSt|
|000015b0| 72 2c 20 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |r, unsig|ned char|
|000015c0| 20 73 74 61 72 74 50 6f | 73 29 0d 7b 0d 09 63 68 | startPo|s).{..ch|
|000015d0| 61 72 20 63 53 74 72 5b | 6b 53 74 72 32 35 35 4c |ar cStr[|kStr255L|
|000015e0| 65 6e 20 2b 20 31 5d 3b | 0d 0d 09 6d 65 6d 63 70 |en + 1];|...memcp|
|000015f0| 79 28 63 53 74 72 2c 20 | 26 73 75 62 53 74 72 2e |y(cStr, |&subStr.|
|00001600| 66 53 74 72 5b 31 5d 2c | 20 73 75 62 53 74 72 2e |fStr[1],| subStr.|
|00001610| 4c 65 6e 67 74 68 28 29 | 29 3b 0d 09 63 53 74 72 |Length()|);..cStr|
|00001620| 5b 73 75 62 53 74 72 2e | 4c 65 6e 67 74 68 28 29 |[subStr.|Length()|
|00001630| 5d 20 3d 20 30 3b 0d 09 | 72 65 74 75 72 6e 20 74 |] = 0;..|return t|
|00001640| 68 69 73 2d 3e 50 6f 73 | 28 63 53 74 72 2c 20 73 |his->Pos|(cStr, s|
|00001650| 74 61 72 74 50 6f 73 29 | 3b 0d 7d 20 2f 2f 20 43 |tartPos)|;.} // C|
|00001660| 53 74 72 69 6e 67 3a 3a | 50 6f 73 28 43 53 74 72 |String::|Pos(CStr|
|00001670| 69 6e 67 29 0d 0d 0d 0d | 2f 2f 3d 3d 3d 3d 3d 3d |ing)....|//======|
|00001680| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001690| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016d0| 3d 3d 0d 2f 2f 20 43 4c | 41 53 53 20 43 53 74 72 |==.// CL|ASS CStr|
|000016e0| 32 35 35 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |255.//==|========|
|000016f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001700| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001710| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001720| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001730| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |========|======..|
|00001740| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00001750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 43 |--------|---.// C|
|000017a0| 53 74 72 32 35 35 3a 3a | 43 53 74 72 32 35 35 28 |Str255::|CStr255(|
|000017b0| 63 68 61 72 2a 29 3a 0d | 2f 2f 2d 2d 2d 2d 2d 2d |char*):.|//------|
|000017c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 0d 0d 43 53 74 72 | 32 35 35 3a 3a 43 53 74 |--..CStr|255::CSt|
|00001820| 72 32 35 35 28 63 6f 6e | 73 74 20 63 68 61 72 2a |r255(con|st char*|
|00001830| 20 73 74 72 29 0d 7b 0d | 09 2f 2f 20 54 72 75 6e | str).{.|.// Trun|
|00001840| 63 61 74 65 20 74 68 65 | 20 43 20 43 53 74 72 69 |cate the| C CStri|
|00001850| 6e 67 20 74 6f 20 32 35 | 35 20 62 79 74 65 73 20 |ng to 25|5 bytes |
|00001860| 69 66 20 6e 65 63 65 73 | 73 61 72 79 2e 0d 0d 09 |if neces|sary....|
|00001870| 4c 65 6e 67 74 68 28 29 | 20 3d 20 73 74 72 20 3d |Length()| = str =|
|00001880| 3d 20 4e 55 4c 4c 20 3f | 20 30 20 3a 20 73 74 72 |= NULL ?| 0 : str|
|00001890| 6c 65 6e 28 73 74 72 29 | 3b 0d 09 0d 09 69 66 20 |len(str)|;....if |
|000018a0| 28 4c 65 6e 67 74 68 28 | 29 20 3e 20 6b 53 74 72 |(Length(|) > kStr|
|000018b0| 32 35 35 4c 65 6e 29 0d | 09 09 4c 65 6e 67 74 68 |255Len).|..Length|
|000018c0| 28 29 20 3d 20 6b 53 74 | 72 32 35 35 4c 65 6e 3b |() = kSt|r255Len;|
|000018d0| 0d 09 6d 65 6d 63 70 79 | 28 26 66 53 74 72 5b 31 |..memcpy|(&fStr[1|
|000018e0| 5d 2c 20 73 74 72 2c 20 | 4c 65 6e 67 74 68 28 29 |], str, |Length()|
|000018f0| 29 3b 0d 7d 20 2f 2f 20 | 43 53 74 72 32 35 35 3a |);.} // |CStr255:|
|00001900| 3a 43 53 74 72 32 35 35 | 28 63 68 61 72 2a 29 0d |:CStr255|(char*).|
|00001910| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00001920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00001970| 43 53 74 72 32 35 35 3a | 3a 43 53 74 72 32 35 35 |CStr255:|:CStr255|
|00001980| 28 6c 6f 6e 67 29 3a 20 | 55 73 65 66 75 6c 20 66 |(long): |Useful f|
|00001990| 6f 72 20 63 6f 6e 76 65 | 72 74 69 6e 67 20 4f 53 |or conve|rting OS|
|000019a0| 54 79 70 65 27 73 20 69 | 6e 74 6f 20 43 53 74 72 |Type's i|nto CStr|
|000019b0| 32 35 35 27 73 2e 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |255's../|/-------|
|000019c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a10| 2d 0d 0d 43 53 74 72 32 | 35 35 3a 3a 43 53 74 72 |-..CStr2|55::CStr|
|00001a20| 32 35 35 28 63 6f 6e 73 | 74 20 6c 6f 6e 67 20 69 |255(cons|t long i|
|00001a30| 64 29 0d 7b 0d 09 4c 65 | 6e 67 74 68 28 29 20 3d |d).{..Le|ngth() =|
|00001a40| 20 34 3b 0d 09 6d 65 6d | 63 70 79 28 26 66 53 74 | 4;..mem|cpy(&fSt|
|00001a50| 72 5b 31 5d 2c 20 26 69 | 64 2c 20 4c 65 6e 67 74 |r[1], &i|d, Lengt|
|00001a60| 68 28 29 29 3b 0d 7d 20 | 2f 2f 20 43 53 74 72 32 |h());.} |// CStr2|
|00001a70| 35 35 3a 3a 43 53 74 72 | 32 35 35 28 6c 6f 6e 67 |55::CStr|255(long|
|00001a80| 29 0d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |)...//--|--------|
|00001a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00001ae0| 2f 20 43 53 74 72 32 35 | 35 3a 3a 43 6f 70 79 3a |/ CStr25|5::Copy:|
|00001af0| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00001b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0d 43 53 74 |--------|---..CSt|
|00001b50| 72 32 35 35 20 43 53 74 | 72 32 35 35 3a 3a 43 6f |r255 CSt|r255::Co|
|00001b60| 70 79 28 73 68 6f 72 74 | 20 70 6f 73 2c 20 73 68 |py(short| pos, sh|
|00001b70| 6f 72 74 20 6c 65 6e 67 | 74 68 29 0d 7b 0d 09 43 |ort leng|th).{..C|
|00001b80| 53 74 72 32 35 35 20 6e | 65 77 53 74 72 69 6e 67 |Str255 n|ewString|
|00001b90| 3b 0d 09 0d 09 6c 65 6e | 67 74 68 20 3d 20 6c 65 |;....len|gth = le|
|00001ba0| 6e 67 74 68 20 3e 20 4c | 65 6e 67 74 68 28 29 20 |ngth > L|ength() |
|00001bb0| 2d 20 70 6f 73 20 2b 20 | 6b 4c 65 6e 67 74 68 42 |- pos + |kLengthB|
|00001bc0| 79 74 65 20 3f 20 4c 65 | 6e 67 74 68 28 29 20 2d |yte ? Le|ngth() -|
|00001bd0| 20 70 6f 73 20 2b 20 6b | 4c 65 6e 67 74 68 42 79 | pos + k|LengthBy|
|00001be0| 74 65 20 3a 20 6c 65 6e | 67 74 68 3b 0d 09 0d 09 |te : len|gth;....|
|00001bf0| 69 66 20 28 6c 65 6e 67 | 74 68 20 3e 20 30 29 0d |if (leng|th > 0).|
|00001c00| 09 7b 0d 09 09 6d 65 6d | 63 70 79 28 26 6e 65 77 |.{...mem|cpy(&new|
|00001c10| 53 74 72 69 6e 67 2e 66 | 53 74 72 5b 31 5d 2c 20 |String.f|Str[1], |
|00001c20| 26 66 53 74 72 5b 70 6f | 73 5d 2c 20 6c 65 6e 67 |&fStr[po|s], leng|
|00001c30| 74 68 29 3b 0d 09 09 6e | 65 77 53 74 72 69 6e 67 |th);...n|ewString|
|00001c40| 2e 4c 65 6e 67 74 68 28 | 29 20 3d 20 6c 65 6e 67 |.Length(|) = leng|
|00001c50| 74 68 3b 0d 09 7d 0d 09 | 65 6c 73 65 0d 09 09 6e |th;..}..|else...n|
|00001c60| 65 77 53 74 72 69 6e 67 | 20 3d 20 22 22 3b 0d 09 |ewString| = "";..|
|00001c70| 09 0d 09 72 65 74 75 72 | 6e 20 6e 65 77 53 74 72 |...retur|n newStr|
|00001c80| 69 6e 67 3b 0d 09 0d 7d | 20 2f 2f 20 43 53 74 72 |ing;...}| // CStr|
|00001c90| 32 35 35 3a 3a 43 6f 70 | 79 0d 0d 0d 2f 2f 2d 2d |255::Cop|y...//--|
|00001ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cf0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 43 53 74 72 32 35 |------./|/ CStr25|
|00001d00| 35 3a 3a 6f 70 65 72 61 | 74 6f 72 2b 3a 0d 2f 2f |5::opera|tor+:.//|
|00001d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d60| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 0d 43 53 74 72 32 35 |--------|..CStr25|
|00001d70| 35 20 6f 70 65 72 61 74 | 6f 72 2b 28 63 6f 6e 73 |5 operat|or+(cons|
|00001d80| 74 20 43 53 74 72 69 6e | 67 26 20 73 31 2c 0d 20 |t CStrin|g& s1,. |
|00001d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001da0| 20 63 6f 6e 73 74 20 63 | 68 61 72 2a 20 73 32 29 | const c|har* s2)|
|00001db0| 0d 7b 0d 09 43 53 74 72 | 32 35 35 20 6e 65 77 53 |.{..CStr|255 newS|
|00001dc0| 74 72 3b 0d 09 73 68 6f | 72 74 20 73 32 4c 65 6e |tr;..sho|rt s2Len|
|00001dd0| 20 3d 20 73 32 20 3d 3d | 20 4e 55 4c 4c 20 3f 20 | = s2 ==| NULL ? |
|00001de0| 30 20 3a 20 73 74 72 6c | 65 6e 28 28 63 6f 6e 73 |0 : strl|en((cons|
|00001df0| 74 20 63 68 61 72 20 2a | 29 20 73 32 29 3b 0d 0d |t char *|) s2);..|
|00001e00| 09 69 66 20 28 73 31 2e | 4c 65 6e 67 74 68 28 29 |.if (s1.|Length()|
|00001e10| 20 2b 20 73 32 4c 65 6e | 20 3e 20 6b 53 74 72 32 | + s2Len| > kStr2|
|00001e20| 35 35 4c 65 6e 29 0d 09 | 09 6e 65 77 53 74 72 2e |55Len)..|.newStr.|
|00001e30| 4c 65 6e 67 74 68 28 29 | 20 3d 20 6b 53 74 72 32 |Length()| = kStr2|
|00001e40| 35 35 4c 65 6e 3b 0d 09 | 65 6c 73 65 0d 09 09 6e |55Len;..|else...n|
|00001e50| 65 77 53 74 72 2e 4c 65 | 6e 67 74 68 28 29 20 3d |ewStr.Le|ngth() =|
|00001e60| 20 73 31 2e 4c 65 6e 67 | 74 68 28 29 20 2b 20 73 | s1.Leng|th() + s|
|00001e70| 32 4c 65 6e 3b 0d 09 09 | 0d 09 6d 65 6d 63 70 79 |2Len;...|..memcpy|
|00001e80| 28 26 6e 65 77 53 74 72 | 2e 66 53 74 72 5b 31 5d |(&newStr|.fStr[1]|
|00001e90| 2c 20 26 73 31 2e 66 53 | 74 72 5b 31 5d 2c 20 73 |, &s1.fS|tr[1], s|
|00001ea0| 31 2e 4c 65 6e 67 74 68 | 28 29 29 3b 0d 09 6d 65 |1.Length|());..me|
|00001eb0| 6d 63 70 79 28 26 6e 65 | 77 53 74 72 2e 66 53 74 |mcpy(&ne|wStr.fSt|
|00001ec0| 72 5b 73 31 2e 4c 65 6e | 67 74 68 28 29 20 2b 20 |r[s1.Len|gth() + |
|00001ed0| 6b 4c 65 6e 67 74 68 42 | 79 74 65 5d 2c 20 73 32 |kLengthB|yte], s2|
|00001ee0| 2c 20 6e 65 77 53 74 72 | 2e 4c 65 6e 67 74 68 28 |, newStr|.Length(|
|00001ef0| 29 20 2d 20 73 31 2e 4c | 65 6e 67 74 68 28 29 29 |) - s1.L|ength())|
|00001f00| 3b 0d 0d 09 72 65 74 75 | 72 6e 20 6e 65 77 53 74 |;...retu|rn newSt|
|00001f10| 72 3b 0d 7d 20 2f 2f 20 | 43 53 74 72 32 35 35 3a |r;.} // |CStr255:|
|00001f20| 3a 6f 70 65 72 61 74 6f | 72 2b 0d 0d 0d 2f 2f 2d |:operato|r+...//-|
|00001f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f80| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 43 53 74 72 32 |-------.|// CStr2|
|00001f90| 35 35 3a 3a 6f 70 65 72 | 61 74 6f 72 2b 28 63 68 |55::oper|ator+(ch|
|00001fa0| 61 72 2a 2c 43 53 74 72 | 69 6e 67 29 3a 0d 2f 2f |ar*,CStr|ing):.//|
|00001fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002000| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 0d 43 53 74 72 32 35 |--------|..CStr25|
|00002010| 35 20 6f 70 65 72 61 74 | 6f 72 2b 28 63 6f 6e 73 |5 operat|or+(cons|
|00002020| 74 20 63 68 61 72 2a 20 | 73 31 2c 0d 20 20 20 20 |t char* |s1,. |
|00002030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 6f | | co|
|00002040| 6e 73 74 20 43 53 74 72 | 69 6e 67 26 20 73 32 29 |nst CStr|ing& s2)|
|00002050| 0d 7b 0d 09 43 53 74 72 | 32 35 35 20 6e 65 77 53 |.{..CStr|255 newS|
|00002060| 74 72 3b 0d 09 73 68 6f | 72 74 20 73 31 4c 65 6e |tr;..sho|rt s1Len|
|00002070| 20 3d 20 73 31 20 3d 3d | 20 4e 55 4c 4c 20 3f 20 | = s1 ==| NULL ? |
|00002080| 30 20 3a 20 73 74 72 6c | 65 6e 28 28 63 6f 6e 73 |0 : strl|en((cons|
|00002090| 74 20 63 68 61 72 20 2a | 29 20 73 31 29 3b 0d 0d |t char *|) s1);..|
|000020a0| 09 69 66 20 28 73 31 4c | 65 6e 20 2b 20 73 32 2e |.if (s1L|en + s2.|
|000020b0| 4c 65 6e 67 74 68 28 29 | 20 3e 20 6b 53 74 72 32 |Length()| > kStr2|
|000020c0| 35 35 4c 65 6e 29 0d 09 | 09 6e 65 77 53 74 72 2e |55Len)..|.newStr.|
|000020d0| 4c 65 6e 67 74 68 28 29 | 20 3d 20 6b 53 74 72 32 |Length()| = kStr2|
|000020e0| 35 35 4c 65 6e 3b 0d 09 | 65 6c 73 65 0d 09 09 6e |55Len;..|else...n|
|000020f0| 65 77 53 74 72 2e 4c 65 | 6e 67 74 68 28 29 20 3d |ewStr.Le|ngth() =|
|00002100| 20 73 31 4c 65 6e 20 2b | 20 73 32 2e 4c 65 6e 67 | s1Len +| s2.Leng|
|00002110| 74 68 28 29 3b 0d 09 09 | 0d 09 6d 65 6d 63 70 79 |th();...|..memcpy|
|00002120| 28 26 6e 65 77 53 74 72 | 2e 66 53 74 72 5b 31 5d |(&newStr|.fStr[1]|
|00002130| 2c 20 73 31 2c 20 73 31 | 4c 65 6e 29 3b 0d 09 6d |, s1, s1|Len);..m|
|00002140| 65 6d 63 70 79 28 26 6e | 65 77 53 74 72 2e 66 53 |emcpy(&n|ewStr.fS|
|00002150| 74 72 5b 73 31 4c 65 6e | 20 2b 20 6b 4c 65 6e 67 |tr[s1Len| + kLeng|
|00002160| 74 68 42 79 74 65 5d 2c | 20 73 32 2e 66 53 74 72 |thByte],| s2.fStr|
|00002170| 20 2b 20 31 2c 20 6e 65 | 77 53 74 72 2e 4c 65 6e | + 1, ne|wStr.Len|
|00002180| 67 74 68 28 29 20 2d 20 | 73 31 4c 65 6e 29 3b 0d |gth() - |s1Len);.|
|00002190| 0d 09 72 65 74 75 72 6e | 20 6e 65 77 53 74 72 3b |..return| newStr;|
|000021a0| 0d 7d 20 2f 2f 20 43 53 | 74 72 32 35 35 3a 3a 6f |.} // CS|tr255::o|
|000021b0| 70 65 72 61 74 6f 72 2b | 28 63 68 61 72 2a 2c 43 |perator+|(char*,C|
|000021c0| 53 74 72 69 6e 67 29 0d | 0d 0d 2f 2f 2d 2d 2d 2d |String).|..//----|
|000021d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002220| 2d 2d 2d 2d 0d 2f 2f 20 | 43 53 74 72 32 35 35 3a |----.// |CStr255:|
|00002230| 3a 6f 70 65 72 61 74 6f | 72 2b 28 43 53 74 72 69 |:operato|r+(CStri|
|00002240| 6e 67 2c 43 53 74 72 69 | 6e 67 29 3a 0d 2f 2f 2d |ng,CStri|ng):.//-|
|00002250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022a0| 2d 2d 2d 2d 2d 2d 2d 0d | 0d 43 53 74 72 32 35 35 |-------.|.CStr255|
|000022b0| 20 6f 70 65 72 61 74 6f | 72 2b 28 63 6f 6e 73 74 | operato|r+(const|
|000022c0| 20 43 53 74 72 69 6e 67 | 26 20 73 31 2c 0d 20 20 | CString|& s1,. |
|000022d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000022e0| 63 6f 6e 73 74 20 43 53 | 74 72 69 6e 67 26 20 73 |const CS|tring& s|
|000022f0| 32 29 0d 7b 0d 09 43 53 | 74 72 32 35 35 20 6e 65 |2).{..CS|tr255 ne|
|00002300| 77 53 74 72 3b 0d 0d 09 | 69 66 20 28 73 31 2e 4c |wStr;...|if (s1.L|
|00002310| 65 6e 67 74 68 28 29 20 | 2b 20 73 32 2e 4c 65 6e |ength() |+ s2.Len|
|00002320| 67 74 68 28 29 20 3e 20 | 6b 53 74 72 32 35 35 4c |gth() > |kStr255L|
|00002330| 65 6e 29 0d 09 09 6e 65 | 77 53 74 72 2e 4c 65 6e |en)...ne|wStr.Len|
|00002340| 67 74 68 28 29 20 3d 20 | 6b 53 74 72 32 35 35 4c |gth() = |kStr255L|
|00002350| 65 6e 3b 0d 09 65 6c 73 | 65 0d 09 09 6e 65 77 53 |en;..els|e...newS|
|00002360| 74 72 2e 4c 65 6e 67 74 | 68 28 29 20 3d 20 73 31 |tr.Lengt|h() = s1|
|00002370| 2e 4c 65 6e 67 74 68 28 | 29 20 2b 20 73 32 2e 4c |.Length(|) + s2.L|
|00002380| 65 6e 67 74 68 28 29 3b | 0d 09 09 0d 09 6d 65 6d |ength();|.....mem|
|00002390| 63 70 79 28 26 6e 65 77 | 53 74 72 2e 66 53 74 72 |cpy(&new|Str.fStr|
|000023a0| 5b 31 5d 2c 20 26 73 31 | 2e 66 53 74 72 5b 31 5d |[1], &s1|.fStr[1]|
|000023b0| 2c 20 73 31 2e 4c 65 6e | 67 74 68 28 29 29 3b 0d |, s1.Len|gth());.|
|000023c0| 09 6d 65 6d 63 70 79 28 | 26 6e 65 77 53 74 72 2e |.memcpy(|&newStr.|
|000023d0| 66 53 74 72 5b 73 31 2e | 4c 65 6e 67 74 68 28 29 |fStr[s1.|Length()|
|000023e0| 20 2b 20 6b 4c 65 6e 67 | 74 68 42 79 74 65 5d 2c | + kLeng|thByte],|
|000023f0| 20 73 32 2e 66 53 74 72 | 20 2b 20 31 2c 20 6e 65 | s2.fStr| + 1, ne|
|00002400| 77 53 74 72 2e 4c 65 6e | 67 74 68 28 29 20 2d 20 |wStr.Len|gth() - |
|00002410| 73 31 2e 4c 65 6e 67 74 | 68 28 29 29 3b 0d 0d 09 |s1.Lengt|h());...|
|00002420| 72 65 74 75 72 6e 20 6e | 65 77 53 74 72 3b 0d 7d |return n|ewStr;.}|
|00002430| 20 2f 2f 20 43 53 74 72 | 32 35 35 3a 3a 6f 70 65 | // CStr|255::ope|
|00002440| 72 61 74 6f 72 2b 28 43 | 53 74 72 69 6e 67 2c 43 |rator+(C|String,C|
|00002450| 53 74 72 69 6e 67 29 0d | 0d 0d 2f 2f 2d 2d 2d 2d |String).|..//----|
|00002460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024b0| 2d 2d 2d 2d 0d 2f 2f 20 | 43 53 74 72 32 35 35 3a |----.// |CStr255:|
|000024c0| 3a 6f 70 65 72 61 74 6f | 72 20 2b 3d 28 43 53 74 |:operato|r +=(CSt|
|000024d0| 72 69 6e 67 29 3a 20 20 | 43 6f 6e 63 61 74 69 6e |ring): |Concatin|
|000024e0| 61 74 65 20 61 20 73 74 | 72 69 6e 67 0d 2f 2f 2d |ate a st|ring.//-|
|000024f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002540| 2d 2d 2d 2d 2d 2d 2d 0d | 0d 43 53 74 72 32 35 35 |-------.|.CStr255|
|00002550| 26 20 43 53 74 72 32 35 | 35 3a 3a 6f 70 65 72 61 |& CStr25|5::opera|
|00002560| 74 6f 72 20 2b 3d 20 28 | 63 6f 6e 73 74 20 43 53 |tor += (|const CS|
|00002570| 74 72 69 6e 67 26 20 73 | 74 72 29 0d 7b 0d 09 49 |tring& s|tr).{..I|
|00002580| 6e 73 65 72 74 48 65 6c | 70 65 72 20 28 73 74 72 |nsertHel|per (str|
|00002590| 2c 20 4c 65 6e 67 74 68 | 28 29 20 2b 20 31 2c 20 |, Length|() + 1, |
|000025a0| 6b 53 74 72 32 35 35 4c | 65 6e 29 3b 0d 09 72 65 |kStr255L|en);..re|
|000025b0| 74 75 72 6e 20 2a 74 68 | 69 73 3b 0d 7d 20 2f 2f |turn *th|is;.} //|
|000025c0| 20 43 53 74 72 32 35 35 | 3a 3a 6f 70 65 72 61 74 | CStr255|::operat|
|000025d0| 6f 72 20 2b 3d 28 43 53 | 74 72 69 6e 67 29 0d 0d |or +=(CS|tring)..|
|000025e0| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|000025f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 43 |--------|---.// C|
|00002640| 53 74 72 32 35 35 3a 3a | 6f 70 65 72 61 74 6f 72 |Str255::|operator|
|00002650| 20 2b 3d 28 63 68 61 72 | 2a 29 3a 20 20 43 6f 6e | +=(char|*): Con|
|00002660| 63 61 74 69 6e 61 74 65 | 20 61 20 73 74 72 69 6e |catinate| a strin|
|00002670| 67 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |g.//----|--------|
|00002680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 43 53 |--------|----..CS|
|000026d0| 74 72 32 35 35 26 20 43 | 53 74 72 32 35 35 3a 3a |tr255& C|Str255::|
|000026e0| 6f 70 65 72 61 74 6f 72 | 20 2b 3d 20 28 63 6f 6e |operator| += (con|
|000026f0| 73 74 20 63 68 61 72 2a | 20 73 74 72 29 0d 7b 0d |st char*| str).{.|
|00002700| 09 49 6e 73 65 72 74 48 | 65 6c 70 65 72 20 28 73 |.InsertH|elper (s|
|00002710| 74 72 2c 20 4c 65 6e 67 | 74 68 28 29 20 2b 20 31 |tr, Leng|th() + 1|
|00002720| 2c 20 6b 53 74 72 32 35 | 35 4c 65 6e 29 3b 0d 09 |, kStr25|5Len);..|
|00002730| 72 65 74 75 72 6e 20 2a | 74 68 69 73 3b 0d 7d 20 |return *|this;.} |
|00002740| 2f 2f 20 43 53 74 72 32 | 35 35 3a 3a 6f 70 65 72 |// CStr2|55::oper|
|00002750| 61 74 6f 72 20 2b 3d 28 | 63 68 61 72 2a 29 0d 0d |ator +=(|char*)..|
|00002760| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00002770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 43 |--------|---.// C|
|000027c0| 53 74 72 32 35 35 3a 3a | 6f 70 65 72 61 74 6f 72 |Str255::|operator|
|000027d0| 20 2b 3d 28 63 68 61 72 | 29 3a 20 20 43 6f 6e 63 | +=(char|): Conc|
|000027e0| 61 74 69 6e 61 74 65 20 | 61 20 73 69 6e 67 6c 65 |atinate |a single|
|000027f0| 20 63 68 61 72 61 63 74 | 65 72 0d 2f 2f 2d 2d 2d | charact|er.//---|
|00002800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002850| 2d 2d 2d 2d 2d 0d 0d 43 | 53 74 72 32 35 35 26 20 |-----..C|Str255& |
|00002860| 43 53 74 72 32 35 35 3a | 3a 6f 70 65 72 61 74 6f |CStr255:|:operato|
|00002870| 72 20 2b 3d 20 28 63 6f | 6e 73 74 20 63 68 61 72 |r += (co|nst char|
|00002880| 20 63 68 29 0d 7b 0d 09 | 69 66 20 28 2b 2b 4c 65 | ch).{..|if (++Le|
|00002890| 6e 67 74 68 28 29 20 3c | 3d 20 6b 53 74 72 32 35 |ngth() <|= kStr25|
|000028a0| 35 4c 65 6e 29 0d 09 09 | 66 53 74 72 5b 4c 65 6e |5Len)...|fStr[Len|
|000028b0| 67 74 68 28 29 5d 20 3d | 20 63 68 3b 0d 09 65 6c |gth()] =| ch;..el|
|000028c0| 73 65 0d 09 7b 0d 09 09 | 2d 2d 4c 65 6e 67 74 68 |se..{...|--Length|
|000028d0| 28 29 3b 0d 23 69 66 20 | 71 44 65 62 75 67 4d 73 |();.#if |qDebugMs|
|000028e0| 67 0d 09 09 66 70 72 69 | 6e 74 66 28 73 74 64 65 |g...fpri|ntf(stde|
|000028f0| 72 72 2c 20 22 23 23 23 | 43 53 74 72 32 35 35 3a |rr, "###|CStr255:|
|00002900| 3a 6f 70 65 72 61 74 6f | 72 2b 3d 3a 20 43 6f 6e |:operato|r+=: Con|
|00002910| 63 61 74 65 6e 61 74 69 | 6f 6e 20 70 72 6f 64 75 |catenati|on produ|
|00002920| 63 65 73 20 43 53 74 72 | 32 35 35 20 6f 76 65 72 |ces CStr|255 over|
|00002930| 66 6c 6f 77 2e 5c 6e 22 | 29 3b 0d 23 65 6e 64 69 |flow.\n"|);.#endi|
|00002940| 66 0d 09 7d 0d 09 0d 09 | 72 65 74 75 72 6e 20 2a |f..}....|return *|
|00002950| 74 68 69 73 3b 0d 7d 20 | 2f 2f 20 43 53 74 72 32 |this;.} |// CStr2|
|00002960| 35 35 3a 3a 6f 70 65 72 | 61 74 6f 72 20 2b 3d 28 |55::oper|ator +=(|
|00002970| 63 68 61 72 29 0d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |char)...|//------|
|00002980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029d0| 2d 2d 0d 2f 2f 20 43 53 | 74 72 32 35 35 3a 3a 6f |--.// CS|tr255::o|
|000029e0| 70 65 72 61 74 6f 72 20 | 3d 3a 0d 2f 2f 2d 2d 2d |perator |=:.//---|
|000029f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a40| 2d 2d 2d 2d 2d 0d 0d 43 | 53 74 72 32 35 35 26 20 |-----..C|Str255& |
|00002a50| 43 53 74 72 32 35 35 3a | 3a 6f 70 65 72 61 74 6f |CStr255:|:operato|
|00002a60| 72 20 3d 20 28 63 6f 6e | 73 74 20 63 68 61 72 2a |r = (con|st char*|
|00002a70| 20 73 74 72 29 0d 7b 0d | 09 69 66 20 28 73 74 72 | str).{.|.if (str|
|00002a80| 29 0d 09 7b 0d 09 09 2f | 2f 20 54 72 75 6e 63 61 |)..{.../|/ Trunca|
|00002a90| 74 65 20 74 68 65 20 43 | 20 43 53 74 72 69 6e 67 |te the C| CString|
|00002aa0| 20 74 6f 20 32 35 35 20 | 62 79 74 65 73 20 69 66 | to 255 |bytes if|
|00002ab0| 20 6e 65 63 65 73 73 61 | 72 79 2e 0d 09 09 72 65 | necessa|ry....re|
|00002ac0| 67 69 73 74 65 72 20 73 | 69 7a 65 5f 74 20 69 74 |gister s|ize_t it|
|00002ad0| 73 53 69 7a 65 20 3d 20 | 73 74 72 6c 65 6e 28 73 |sSize = |strlen(s|
|00002ae0| 74 72 29 3b 0d 09 09 69 | 66 20 28 69 74 73 53 69 |tr);...i|f (itsSi|
|00002af0| 7a 65 20 3e 20 6b 53 74 | 72 32 35 35 4c 65 6e 29 |ze > kSt|r255Len)|
|00002b00| 0d 09 09 09 4c 65 6e 67 | 74 68 28 29 20 3d 20 6b |....Leng|th() = k|
|00002b10| 53 74 72 32 35 35 4c 65 | 6e 3b 0d 09 09 65 6c 73 |Str255Le|n;...els|
|00002b20| 65 0d 09 09 09 4c 65 6e | 67 74 68 28 29 20 3d 20 |e....Len|gth() = |
|00002b30| 69 74 73 53 69 7a 65 3b | 0d 0d 09 09 6d 65 6d 63 |itsSize;|....memc|
|00002b40| 70 79 28 26 66 53 74 72 | 5b 31 5d 2c 20 73 74 72 |py(&fStr|[1], str|
|00002b50| 2c 20 4c 65 6e 67 74 68 | 28 29 29 3b 0d 09 7d 0d |, Length|());..}.|
|00002b60| 09 65 6c 73 65 0d 09 09 | 4c 65 6e 67 74 68 28 29 |.else...|Length()|
|00002b70| 20 3d 20 30 3b 0d 09 0d | 09 72 65 74 75 72 6e 20 | = 0;...|.return |
|00002b80| 2a 74 68 69 73 3b 0d 7d | 20 2f 2f 20 43 53 74 72 |*this;.}| // CStr|
|00002b90| 32 35 35 3a 3a 6f 70 65 | 72 61 74 6f 72 20 3d 0d |255::ope|rator =.|
|00002ba0| 0d 0d 0d 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...//===|========|
|00002bb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 2f 2f |========|=====.//|
|00002c00| 20 43 4c 41 53 53 20 43 | 53 74 72 36 33 0d 2f 2f | CLASS C|Str63.//|
|00002c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002c60| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0d 0d 2f 2f 2d 2d 2d |========|...//---|
|00002c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002cc0| 2d 2d 2d 2d 2d 0d 2f 2f | 20 43 53 74 72 36 33 3a |-----.//| CStr63:|
|00002cd0| 3a 43 53 74 72 36 33 28 | 63 68 61 72 2a 29 3a 0d |:CStr63(|char*):.|
|00002ce0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00002cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 43 53 74 72 |--------|--..CStr|
|00002d40| 36 33 3a 3a 43 53 74 72 | 36 33 28 63 6f 6e 73 74 |63::CStr|63(const|
|00002d50| 20 63 68 61 72 2a 20 73 | 74 72 29 0d 7b 0d 09 2f | char* s|tr).{../|
|00002d60| 2f 20 54 72 75 6e 63 61 | 74 65 20 74 68 65 20 43 |/ Trunca|te the C|
|00002d70| 20 43 53 74 72 69 6e 67 | 20 74 6f 20 36 33 20 62 | CString| to 63 b|
|00002d80| 79 74 65 73 20 69 66 20 | 6e 65 63 65 73 73 61 72 |ytes if |necessar|
|00002d90| 79 2e 0d 0d 09 4c 65 6e | 67 74 68 28 29 20 3d 20 |y....Len|gth() = |
|00002da0| 73 74 72 20 3d 3d 20 4e | 55 4c 4c 20 3f 20 30 20 |str == N|ULL ? 0 |
|00002db0| 3a 20 73 74 72 6c 65 6e | 28 28 63 6f 6e 73 74 20 |: strlen|((const |
|00002dc0| 63 68 61 72 2a 29 73 74 | 72 29 3b 0d 09 69 66 20 |char*)st|r);..if |
|00002dd0| 28 4c 65 6e 67 74 68 28 | 29 20 3e 20 6b 53 74 72 |(Length(|) > kStr|
|00002de0| 36 33 4c 65 6e 29 0d 09 | 09 4c 65 6e 67 74 68 28 |63Len)..|.Length(|
|00002df0| 29 20 3d 20 6b 53 74 72 | 36 33 4c 65 6e 3b 0d 09 |) = kStr|63Len;..|
|00002e00| 6d 65 6d 63 70 79 28 26 | 66 53 74 72 5b 31 5d 2c |memcpy(&|fStr[1],|
|00002e10| 20 73 74 72 2c 20 4c 65 | 6e 67 74 68 28 29 29 3b | str, Le|ngth());|
|00002e20| 0d 7d 20 2f 2f 20 43 53 | 74 72 36 33 3a 3a 43 53 |.} // CS|tr63::CS|
|00002e30| 74 72 36 33 28 63 68 61 | 72 2a 29 0d 0d 0d 2f 2f |tr63(cha|r*)...//|
|00002e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e90| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 43 53 74 72 |--------|.// CStr|
|00002ea0| 36 33 3a 3a 43 53 74 72 | 36 33 28 6c 6f 6e 67 29 |63::CStr|63(long)|
|00002eb0| 3a 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |:.//----|--------|
|00002ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 43 53 |--------|----..CS|
|00002f10| 74 72 36 33 3a 3a 43 53 | 74 72 36 33 28 63 6f 6e |tr63::CS|tr63(con|
|00002f20| 73 74 20 6c 6f 6e 67 20 | 69 64 29 0d 7b 0d 09 4c |st long |id).{..L|
|00002f30| 65 6e 67 74 68 28 29 20 | 3d 20 34 3b 0d 09 6d 65 |ength() |= 4;..me|
|00002f40| 6d 63 70 79 28 26 66 53 | 74 72 5b 31 5d 2c 20 26 |mcpy(&fS|tr[1], &|
|00002f50| 69 64 2c 20 4c 65 6e 67 | 74 68 28 29 29 3b 0d 7d |id, Leng|th());.}|
|00002f60| 20 2f 2f 20 43 53 74 72 | 36 33 3a 3a 43 53 74 72 | // CStr|63::CStr|
|00002f70| 36 33 28 6c 6f 6e 67 29 | 0d 0d 0d 2f 2f 2d 2d 2d |63(long)|...//---|
|00002f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002fd0| 2d 2d 2d 2d 2d 0d 2f 2f | 20 43 53 74 72 36 33 3a |-----.//| CStr63:|
|00002fe0| 3a 43 6f 70 79 3a 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |:Copy:./|/-------|
|00002ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003040| 2d 0d 0d 43 53 74 72 36 | 33 20 43 53 74 72 36 33 |-..CStr6|3 CStr63|
|00003050| 3a 3a 43 6f 70 79 28 73 | 68 6f 72 74 20 70 6f 73 |::Copy(s|hort pos|
|00003060| 2c 20 73 68 6f 72 74 20 | 6c 65 6e 67 74 68 29 0d |, short |length).|
|00003070| 7b 0d 09 43 53 74 72 36 | 33 20 6e 65 77 53 74 72 |{..CStr6|3 newStr|
|00003080| 69 6e 67 3b 0d 09 0d 09 | 6c 65 6e 67 74 68 20 3d |ing;....|length =|
|00003090| 20 6c 65 6e 67 74 68 20 | 3e 20 4c 65 6e 67 74 68 | length |> Length|
|000030a0| 28 29 20 2d 20 70 6f 73 | 20 2b 20 6b 4c 65 6e 67 |() - pos| + kLeng|
|000030b0| 74 68 42 79 74 65 20 3f | 20 4c 65 6e 67 74 68 28 |thByte ?| Length(|
|000030c0| 29 20 2d 20 70 6f 73 20 | 2b 20 6b 4c 65 6e 67 74 |) - pos |+ kLengt|
|000030d0| 68 42 79 74 65 20 3a 20 | 6c 65 6e 67 74 68 3b 0d |hByte : |length;.|
|000030e0| 09 0d 09 69 66 20 28 6c | 65 6e 67 74 68 20 3e 20 |...if (l|ength > |
|000030f0| 30 29 0d 09 7b 0d 09 09 | 6d 65 6d 63 70 79 28 26 |0)..{...|memcpy(&|
|00003100| 6e 65 77 53 74 72 69 6e | 67 2e 66 53 74 72 5b 31 |newStrin|g.fStr[1|
|00003110| 5d 2c 20 26 66 53 74 72 | 5b 70 6f 73 5d 2c 20 6c |], &fStr|[pos], l|
|00003120| 65 6e 67 74 68 29 3b 0d | 09 09 6e 65 77 53 74 72 |ength);.|..newStr|
|00003130| 69 6e 67 2e 4c 65 6e 67 | 74 68 28 29 20 3d 20 6c |ing.Leng|th() = l|
|00003140| 65 6e 67 74 68 3b 0d 09 | 7d 0d 09 65 6c 73 65 0d |ength;..|}..else.|
|00003150| 09 09 6e 65 77 53 74 72 | 69 6e 67 20 3d 20 22 22 |..newStr|ing = ""|
|00003160| 3b 0d 09 09 0d 09 72 65 | 74 75 72 6e 20 6e 65 77 |;.....re|turn new|
|00003170| 53 74 72 69 6e 67 3b 0d | 09 0d 7d 20 2f 2f 20 43 |String;.|..} // C|
|00003180| 53 74 72 36 33 3a 3a 43 | 6f 70 79 0d 0d 0d 2f 2f |Str63::C|opy...//|
|00003190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000031e0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 43 53 74 72 |--------|.// CStr|
|000031f0| 36 33 3a 3a 6f 70 65 72 | 61 74 6f 72 20 2b 3d 28 |63::oper|ator +=(|
|00003200| 43 53 74 72 69 6e 67 29 | 3a 20 20 43 6f 6e 63 61 |CString)|: Conca|
|00003210| 74 69 6e 61 74 65 20 61 | 20 73 74 72 69 6e 67 0d |tinate a| string.|
|00003220| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00003230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 43 53 74 72 |--------|--..CStr|
|00003280| 36 33 26 20 43 53 74 72 | 36 33 3a 3a 6f 70 65 72 |63& CStr|63::oper|
|00003290| 61 74 6f 72 20 2b 3d 20 | 28 63 6f 6e 73 74 20 43 |ator += |(const C|
|000032a0| 53 74 72 69 6e 67 26 20 | 73 74 72 29 0d 7b 0d 09 |String& |str).{..|
|000032b0| 49 6e 73 65 72 74 48 65 | 6c 70 65 72 20 28 73 74 |InsertHe|lper (st|
|000032c0| 72 2c 20 4c 65 6e 67 74 | 68 28 29 20 2b 20 31 2c |r, Lengt|h() + 1,|
|000032d0| 20 6b 53 74 72 36 33 4c | 65 6e 29 3b 0d 09 72 65 | kStr63L|en);..re|
|000032e0| 74 75 72 6e 20 2a 74 68 | 69 73 3b 0d 7d 20 2f 2f |turn *th|is;.} //|
|000032f0| 20 43 53 74 72 36 33 3a | 3a 6f 70 65 72 61 74 6f | CStr63:|:operato|
|00003300| 72 20 2b 3d 28 43 53 74 | 72 69 6e 67 29 0d 0d 0d |r +=(CSt|ring)...|
|00003310| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00003320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 43 53 |--------|--.// CS|
|00003370| 74 72 36 33 3a 3a 6f 70 | 65 72 61 74 6f 72 20 2b |tr63::op|erator +|
|00003380| 3d 28 63 68 61 72 2a 29 | 3a 20 20 43 6f 6e 63 61 |=(char*)|: Conca|
|00003390| 74 69 6e 61 74 65 20 61 | 20 73 74 72 69 6e 67 0d |tinate a| string.|
|000033a0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000033b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000033f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 43 53 74 72 |--------|--..CStr|
|00003400| 36 33 26 20 43 53 74 72 | 36 33 3a 3a 6f 70 65 72 |63& CStr|63::oper|
|00003410| 61 74 6f 72 20 2b 3d 20 | 28 63 6f 6e 73 74 20 63 |ator += |(const c|
|00003420| 68 61 72 2a 20 73 74 72 | 29 0d 7b 0d 09 49 6e 73 |har* str|).{..Ins|
|00003430| 65 72 74 48 65 6c 70 65 | 72 20 28 73 74 72 2c 20 |ertHelpe|r (str, |
|00003440| 4c 65 6e 67 74 68 28 29 | 20 2b 20 31 2c 20 6b 53 |Length()| + 1, kS|
|00003450| 74 72 36 33 4c 65 6e 29 | 3b 0d 09 72 65 74 75 72 |tr63Len)|;..retur|
|00003460| 6e 20 2a 74 68 69 73 3b | 0d 7d 20 2f 2f 20 43 53 |n *this;|.} // CS|
|00003470| 74 72 36 33 3a 3a 6f 70 | 65 72 61 74 6f 72 20 2b |tr63::op|erator +|
|00003480| 3d 28 63 68 61 72 2a 29 | 0d 0d 0d 2f 2f 2d 2d 2d |=(char*)|...//---|
|00003490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034e0| 2d 2d 2d 2d 2d 0d 2f 2f | 20 43 53 74 72 36 33 3a |-----.//| CStr63:|
|000034f0| 3a 6f 70 65 72 61 74 6f | 72 20 2b 3d 28 63 68 61 |:operato|r +=(cha|
|00003500| 72 29 3a 20 20 43 6f 6e | 63 61 74 69 6e 61 74 65 |r): Con|catinate|
|00003510| 20 61 20 73 69 6e 67 6c | 65 20 63 68 61 72 61 63 | a singl|e charac|
|00003520| 74 65 72 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ter.//--|--------|
|00003530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|00003580| 43 53 74 72 36 33 26 20 | 43 53 74 72 36 33 3a 3a |CStr63& |CStr63::|
|00003590| 6f 70 65 72 61 74 6f 72 | 20 2b 3d 20 28 63 6f 6e |operator| += (con|
|000035a0| 73 74 20 63 68 61 72 20 | 63 68 29 0d 7b 0d 09 69 |st char |ch).{..i|
|000035b0| 66 20 28 2b 2b 4c 65 6e | 67 74 68 28 29 20 3c 3d |f (++Len|gth() <=|
|000035c0| 20 6b 53 74 72 36 33 4c | 65 6e 29 0d 09 09 66 53 | kStr63L|en)...fS|
|000035d0| 74 72 5b 4c 65 6e 67 74 | 68 28 29 5d 20 3d 20 63 |tr[Lengt|h()] = c|
|000035e0| 68 3b 0d 09 65 6c 73 65 | 0d 09 7b 0d 09 09 2d 2d |h;..else|..{...--|
|000035f0| 4c 65 6e 67 74 68 28 29 | 3b 0d 23 69 66 20 71 44 |Length()|;.#if qD|
|00003600| 65 62 75 67 4d 73 67 0d | 09 09 66 70 72 69 6e 74 |ebugMsg.|..fprint|
|00003610| 66 28 73 74 64 65 72 72 | 2c 20 22 23 23 23 43 53 |f(stderr|, "###CS|
|00003620| 74 72 36 33 3a 3a 6f 70 | 65 72 61 74 6f 72 2b 3d |tr63::op|erator+=|
|00003630| 3a 20 43 6f 6e 63 61 74 | 65 6e 61 74 69 6f 6e 20 |: Concat|enation |
|00003640| 70 72 6f 64 75 63 65 73 | 20 43 53 74 72 36 33 20 |produces| CStr63 |
|00003650| 6f 76 65 72 66 6c 6f 77 | 2e 5c 6e 22 29 3b 0d 23 |overflow|.\n");.#|
|00003660| 65 6e 64 69 66 0d 09 7d | 0d 09 0d 09 72 65 74 75 |endif..}|....retu|
|00003670| 72 6e 20 2a 74 68 69 73 | 3b 0d 7d 20 2f 2f 20 43 |rn *this|;.} // C|
|00003680| 53 74 72 36 33 3a 3a 6f | 70 65 72 61 74 6f 72 20 |Str63::o|perator |
|00003690| 2b 3d 28 63 68 61 72 29 | 0d 0d 0d 0d 2f 2f 3d 3d |+=(char)|....//==|
|000036a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000036b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000036c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000036d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000036e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000036f0| 3d 3d 3d 3d 3d 3d 0d 2f | 2f 20 43 4c 41 53 53 20 |======./|/ CLASS |
|00003700| 43 53 74 72 33 32 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d |CStr32./|/=======|
|00003710| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003720| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003730| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003740| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003750| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003760| 3d 0d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |=...//--|--------|
|00003770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|000037c0| 2f 20 43 53 74 72 33 32 | 3a 3a 43 53 74 72 33 32 |/ CStr32|::CStr32|
|000037d0| 28 63 68 61 72 2a 29 3a | 0d 2f 2f 2d 2d 2d 2d 2d |(char*):|.//-----|
|000037e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003830| 2d 2d 2d 0d 0d 43 53 74 | 72 33 32 3a 3a 43 53 74 |---..CSt|r32::CSt|
|00003840| 72 33 32 28 63 6f 6e 73 | 74 20 63 68 61 72 2a 20 |r32(cons|t char* |
|00003850| 73 74 72 29 0d 7b 0d 09 | 2f 2f 20 54 72 75 6e 63 |str).{..|// Trunc|
|00003860| 61 74 65 20 74 68 65 20 | 43 20 43 53 74 72 69 6e |ate the |C CStrin|
|00003870| 67 20 74 6f 20 33 32 20 | 62 79 74 65 73 20 69 66 |g to 32 |bytes if|
|00003880| 20 6e 65 63 65 73 73 61 | 72 79 2e 0d 0d 09 4c 65 | necessa|ry....Le|
|00003890| 6e 67 74 68 28 29 20 3d | 20 73 74 72 20 3d 3d 20 |ngth() =| str == |
|000038a0| 4e 55 4c 4c 20 3f 20 30 | 20 3a 20 73 74 72 6c 65 |NULL ? 0| : strle|
|000038b0| 6e 28 28 63 6f 6e 73 74 | 20 63 68 61 72 2a 29 73 |n((const| char*)s|
|000038c0| 74 72 29 3b 0d 09 69 66 | 20 28 4c 65 6e 67 74 68 |tr);..if| (Length|
|000038d0| 28 29 20 3e 20 6b 53 74 | 72 33 32 4c 65 6e 29 0d |() > kSt|r32Len).|
|000038e0| 09 09 4c 65 6e 67 74 68 | 28 29 20 3d 20 6b 53 74 |..Length|() = kSt|
|000038f0| 72 33 32 4c 65 6e 3b 0d | 09 6d 65 6d 63 70 79 28 |r32Len;.|.memcpy(|
|00003900| 26 66 53 74 72 5b 31 5d | 2c 20 73 74 72 2c 20 4c |&fStr[1]|, str, L|
|00003910| 65 6e 67 74 68 28 29 29 | 3b 0d 7d 20 2f 2f 20 43 |ength())|;.} // C|
|00003920| 53 74 72 33 32 3a 3a 43 | 53 74 72 33 32 28 63 68 |Str32::C|Str32(ch|
|00003930| 61 72 2a 29 0d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |ar*).../|/-------|
|00003940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003990| 2d 0d 2f 2f 20 43 53 74 | 72 33 32 3a 3a 43 53 74 |-.// CSt|r32::CSt|
|000039a0| 72 33 32 28 6c 6f 6e 67 | 29 3a 0d 2f 2f 2d 2d 2d |r32(long|):.//---|
|000039b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a00| 2d 2d 2d 2d 2d 0d 0d 43 | 53 74 72 33 32 3a 3a 43 |-----..C|Str32::C|
|00003a10| 53 74 72 33 32 28 63 6f | 6e 73 74 20 6c 6f 6e 67 |Str32(co|nst long|
|00003a20| 20 69 64 29 0d 7b 0d 09 | 4c 65 6e 67 74 68 28 29 | id).{..|Length()|
|00003a30| 20 3d 20 34 3b 0d 09 6d | 65 6d 63 70 79 28 26 66 | = 4;..m|emcpy(&f|
|00003a40| 53 74 72 5b 31 5d 2c 20 | 26 69 64 2c 20 4c 65 6e |Str[1], |&id, Len|
|00003a50| 67 74 68 28 29 29 3b 0d | 7d 20 2f 2f 20 43 53 74 |gth());.|} // CSt|
|00003a60| 72 33 32 3a 3a 43 53 74 | 72 33 32 28 6c 6f 6e 67 |r32::CSt|r32(long|
|00003a70| 29 0d 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |)...//--|--------|
|00003a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00003ad0| 2f 20 43 53 74 72 33 32 | 3a 3a 43 6f 70 79 3a 0d |/ CStr32|::Copy:.|
|00003ae0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00003af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 43 53 74 72 |--------|--..CStr|
|00003b40| 33 32 20 43 53 74 72 33 | 32 3a 3a 43 6f 70 79 28 |32 CStr3|2::Copy(|
|00003b50| 73 68 6f 72 74 20 70 6f | 73 2c 20 73 68 6f 72 74 |short po|s, short|
|00003b60| 20 6c 65 6e 67 74 68 29 | 0d 7b 0d 09 43 53 74 72 | length)|.{..CStr|
|00003b70| 33 32 20 6e 65 77 53 74 | 72 69 6e 67 3b 0d 09 0d |32 newSt|ring;...|
|00003b80| 09 6c 65 6e 67 74 68 20 | 3d 20 6c 65 6e 67 74 68 |.length |= length|
|00003b90| 20 3e 20 4c 65 6e 67 74 | 68 28 29 20 2d 20 70 6f | > Lengt|h() - po|
|00003ba0| 73 20 2b 20 6b 4c 65 6e | 67 74 68 42 79 74 65 20 |s + kLen|gthByte |
|00003bb0| 3f 20 4c 65 6e 67 74 68 | 28 29 20 2d 20 70 6f 73 |? Length|() - pos|
|00003bc0| 20 2b 20 6b 4c 65 6e 67 | 74 68 42 79 74 65 20 3a | + kLeng|thByte :|
|00003bd0| 20 6c 65 6e 67 74 68 3b | 0d 09 0d 09 69 66 20 28 | length;|....if (|
|00003be0| 6c 65 6e 67 74 68 20 3e | 20 30 29 0d 09 7b 0d 09 |length >| 0)..{..|
|00003bf0| 09 6d 65 6d 63 70 79 28 | 26 6e 65 77 53 74 72 69 |.memcpy(|&newStri|
|00003c00| 6e 67 2e 66 53 74 72 5b | 31 5d 2c 20 26 66 53 74 |ng.fStr[|1], &fSt|
|00003c10| 72 5b 70 6f 73 5d 2c 20 | 6c 65 6e 67 74 68 29 3b |r[pos], |length);|
|00003c20| 0d 09 09 6e 65 77 53 74 | 72 69 6e 67 2e 4c 65 6e |...newSt|ring.Len|
|00003c30| 67 74 68 28 29 20 3d 20 | 6c 65 6e 67 74 68 3b 0d |gth() = |length;.|
|00003c40| 09 7d 0d 09 65 6c 73 65 | 0d 09 09 6e 65 77 53 74 |.}..else|...newSt|
|00003c50| 72 69 6e 67 20 3d 20 22 | 22 3b 0d 09 09 0d 09 72 |ring = "|";.....r|
|00003c60| 65 74 75 72 6e 20 6e 65 | 77 53 74 72 69 6e 67 3b |eturn ne|wString;|
|00003c70| 0d 0d 7d 20 2f 2f 20 43 | 53 74 72 33 32 3a 3a 43 |..} // C|Str32::C|
|00003c80| 6f 70 79 0d 0d 0d 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d |opy..../|/=======|
|00003c90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ca0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003cd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ce0| 3d 0d 2f 2f 20 43 4c 41 | 53 53 20 43 53 74 72 33 |=.// CLA|SS CStr3|
|00003cf0| 31 0d 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |1.//====|========|
|00003d00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003d40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0d 0d 2f |========|====.../|
|00003d50| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00003d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 43 53 74 |--------|-.// CSt|
|00003db0| 72 33 31 3a 3a 43 53 74 | 72 33 31 28 63 68 61 72 |r31::CSt|r31(char|
|00003dc0| 2a 29 3a 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*):.//--|--------|
|00003dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|00003e20| 43 53 74 72 33 31 3a 3a | 43 53 74 72 33 31 28 63 |CStr31::|CStr31(c|
|00003e30| 6f 6e 73 74 20 63 68 61 | 72 2a 20 73 74 72 29 0d |onst cha|r* str).|
|00003e40| 7b 0d 09 2f 2f 20 54 72 | 75 6e 63 61 74 65 20 74 |{..// Tr|uncate t|
|00003e50| 68 65 20 43 20 43 53 74 | 72 69 6e 67 20 74 6f 20 |he C CSt|ring to |
|00003e60| 33 31 20 62 79 74 65 73 | 20 69 66 20 6e 65 63 65 |31 bytes| if nece|
|00003e70| 73 73 61 72 79 2e 0d 0d | 09 4c 65 6e 67 74 68 28 |ssary...|.Length(|
|00003e80| 29 20 3d 20 73 74 72 20 | 3d 3d 20 4e 55 4c 4c 20 |) = str |== NULL |
|00003e90| 3f 20 30 20 3a 20 73 74 | 72 6c 65 6e 28 28 63 6f |? 0 : st|rlen((co|
|00003ea0| 6e 73 74 20 63 68 61 72 | 2a 29 73 74 72 29 3b 0d |nst char|*)str);.|
|00003eb0| 09 69 66 20 28 4c 65 6e | 67 74 68 28 29 20 3e 20 |.if (Len|gth() > |
|00003ec0| 6b 53 74 72 33 31 4c 65 | 6e 29 0d 09 09 4c 65 6e |kStr31Le|n)...Len|
|00003ed0| 67 74 68 28 29 20 3d 20 | 6b 53 74 72 33 31 4c 65 |gth() = |kStr31Le|
|00003ee0| 6e 3b 0d 09 6d 65 6d 63 | 70 79 28 26 66 53 74 72 |n;..memc|py(&fStr|
|00003ef0| 5b 31 5d 2c 20 73 74 72 | 2c 20 4c 65 6e 67 74 68 |[1], str|, Length|
|00003f00| 28 29 29 3b 0d 7d 20 2f | 2f 20 43 53 74 72 33 31 |());.} /|/ CStr31|
|00003f10| 3a 3a 43 53 74 72 33 31 | 28 63 68 61 72 2a 29 0d |::CStr31|(char*).|
|00003f20| 0d 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|00003f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00003f80| 43 53 74 72 33 31 3a 3a | 43 53 74 72 33 31 28 6c |CStr31::|CStr31(l|
|00003f90| 6f 6e 67 29 3a 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ong):.//|--------|
|00003fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ff0| 0d 0d 43 53 74 72 33 31 | 3a 3a 43 53 74 72 33 31 |..CStr31|::CStr31|
|00004000| 28 63 6f 6e 73 74 20 6c | 6f 6e 67 20 69 64 29 0d |(const l|ong id).|
|00004010| 7b 0d 09 4c 65 6e 67 74 | 68 28 29 20 3d 20 34 3b |{..Lengt|h() = 4;|
|00004020| 0d 09 6d 65 6d 63 70 79 | 28 26 66 53 74 72 5b 31 |..memcpy|(&fStr[1|
|00004030| 5d 2c 20 26 69 64 2c 20 | 4c 65 6e 67 74 68 28 29 |], &id, |Length()|
|00004040| 29 3b 0d 7d 20 2f 2f 20 | 43 53 74 72 33 31 3a 3a |);.} // |CStr31::|
|00004050| 43 53 74 72 33 31 28 6c | 6f 6e 67 29 0d 0d 0d 2f |CStr31(l|ong).../|
|00004060| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00004070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 43 53 74 |--------|-.// CSt|
|000040c0| 72 33 31 3a 3a 43 6f 70 | 79 3a 0d 2f 2f 2d 2d 2d |r31::Cop|y:.//---|
|000040d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004120| 2d 2d 2d 2d 2d 0d 0d 43 | 53 74 72 33 31 20 43 53 |-----..C|Str31 CS|
|00004130| 74 72 33 31 3a 3a 43 6f | 70 79 28 73 68 6f 72 74 |tr31::Co|py(short|
|00004140| 20 70 6f 73 2c 20 73 68 | 6f 72 74 20 6c 65 6e 67 | pos, sh|ort leng|
|00004150| 74 68 29 0d 7b 0d 09 43 | 53 74 72 33 31 20 6e 65 |th).{..C|Str31 ne|
|00004160| 77 53 74 72 69 6e 67 3b | 0d 09 0d 09 6c 65 6e 67 |wString;|....leng|
|00004170| 74 68 20 3d 20 6c 65 6e | 67 74 68 20 3e 20 4c 65 |th = len|gth > Le|
|00004180| 6e 67 74 68 28 29 20 2d | 20 70 6f 73 20 2b 20 6b |ngth() -| pos + k|
|00004190| 4c 65 6e 67 74 68 42 79 | 74 65 20 3f 20 4c 65 6e |LengthBy|te ? Len|
|000041a0| 67 74 68 28 29 20 2d 20 | 70 6f 73 20 2b 20 6b 4c |gth() - |pos + kL|
|000041b0| 65 6e 67 74 68 42 79 74 | 65 20 3a 20 6c 65 6e 67 |engthByt|e : leng|
|000041c0| 74 68 3b 0d 09 0d 09 69 | 66 20 28 6c 65 6e 67 74 |th;....i|f (lengt|
|000041d0| 68 20 3e 20 30 29 0d 09 | 7b 0d 09 09 6d 65 6d 63 |h > 0)..|{...memc|
|000041e0| 70 79 28 26 6e 65 77 53 | 74 72 69 6e 67 2e 66 53 |py(&newS|tring.fS|
|000041f0| 74 72 5b 31 5d 2c 20 26 | 66 53 74 72 5b 70 6f 73 |tr[1], &|fStr[pos|
|00004200| 5d 2c 20 6c 65 6e 67 74 | 68 29 3b 0d 09 09 6e 65 |], lengt|h);...ne|
|00004210| 77 53 74 72 69 6e 67 2e | 4c 65 6e 67 74 68 28 29 |wString.|Length()|
|00004220| 20 3d 20 6c 65 6e 67 74 | 68 3b 0d 09 7d 0d 09 65 | = lengt|h;..}..e|
|00004230| 6c 73 65 0d 09 09 6e 65 | 77 53 74 72 69 6e 67 20 |lse...ne|wString |
|00004240| 3d 20 22 22 3b 0d 09 09 | 0d 09 72 65 74 75 72 6e |= "";...|..return|
|00004250| 20 6e 65 77 53 74 72 69 | 6e 67 3b 0d 0d 7d 20 2f | newStri|ng;..} /|
|00004260| 2f 20 43 53 74 72 33 31 | 3a 3a 43 6f 70 79 0d 0d |/ CStr31|::Copy..|
|00004270| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00004280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 43 |--------|---.// C|
|000042d0| 53 74 72 33 31 3a 3a 6f | 70 65 72 61 74 6f 72 20 |Str31::o|perator |
|000042e0| 2b 3d 28 43 53 74 72 69 | 6e 67 29 3a 20 20 43 6f |+=(CStri|ng): Co|
|000042f0| 6e 63 61 74 69 6e 61 74 | 65 20 61 20 73 74 72 69 |ncatinat|e a stri|
|00004300| 6e 67 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ng.//---|--------|
|00004310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0d 43 |--------|-----..C|
|00004360| 53 74 72 33 31 26 20 43 | 53 74 72 33 31 3a 3a 6f |Str31& C|Str31::o|
|00004370| 70 65 72 61 74 6f 72 20 | 2b 3d 20 28 63 6f 6e 73 |perator |+= (cons|
|00004380| 74 20 43 53 74 72 69 6e | 67 26 20 73 74 72 29 0d |t CStrin|g& str).|
|00004390| 7b 0d 09 49 6e 73 65 72 | 74 48 65 6c 70 65 72 20 |{..Inser|tHelper |
|000043a0| 28 73 74 72 2c 20 4c 65 | 6e 67 74 68 28 29 20 2b |(str, Le|ngth() +|
|000043b0| 20 31 2c 20 6b 53 74 72 | 33 31 4c 65 6e 29 3b 0d | 1, kStr|31Len);.|
|000043c0| 09 72 65 74 75 72 6e 20 | 2a 74 68 69 73 3b 0d 7d |.return |*this;.}|
|000043d0| 20 2f 2f 20 43 53 74 72 | 33 31 3a 3a 6f 70 65 72 | // CStr|31::oper|
|000043e0| 61 74 6f 72 20 2b 3d 28 | 43 53 74 72 69 6e 67 29 |ator +=(|CString)|
|000043f0| 0d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |...//---|--------|
|00004400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00004450| 20 43 53 74 72 33 31 3a | 3a 6f 70 65 72 61 74 6f | CStr31:|:operato|
|00004460| 72 20 2b 3d 28 63 68 61 | 72 2a 29 3a 20 20 43 6f |r +=(cha|r*): Co|
|00004470| 6e 63 61 74 69 6e 61 74 | 65 20 61 20 73 74 72 69 |ncatinat|e a stri|
|00004480| 6e 67 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ng.//---|--------|
|00004490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000044a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000044b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000044c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000044d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0d 43 |--------|-----..C|
|000044e0| 53 74 72 33 31 26 20 43 | 53 74 72 33 31 3a 3a 6f |Str31& C|Str31::o|
|000044f0| 70 65 72 61 74 6f 72 20 | 2b 3d 20 28 63 6f 6e 73 |perator |+= (cons|
|00004500| 74 20 63 68 61 72 2a 20 | 73 74 72 29 0d 7b 0d 09 |t char* |str).{..|
|00004510| 49 6e 73 65 72 74 48 65 | 6c 70 65 72 20 28 73 74 |InsertHe|lper (st|
|00004520| 72 2c 20 4c 65 6e 67 74 | 68 28 29 20 2b 20 31 2c |r, Lengt|h() + 1,|
|00004530| 20 6b 53 74 72 33 31 4c | 65 6e 29 3b 0d 09 72 65 | kStr31L|en);..re|
|00004540| 74 75 72 6e 20 2a 74 68 | 69 73 3b 0d 7d 20 2f 2f |turn *th|is;.} //|
|00004550| 20 43 53 74 72 33 31 3a | 3a 6f 70 65 72 61 74 6f | CStr31:|:operato|
|00004560| 72 20 2b 3d 28 63 68 61 | 72 2a 29 0d 0d 0d 2f 2f |r +=(cha|r*)...//|
|00004570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045c0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 43 53 74 72 |--------|.// CStr|
|000045d0| 33 31 3a 3a 6f 70 65 72 | 61 74 6f 72 20 2b 3d 28 |31::oper|ator +=(|
|000045e0| 63 68 61 72 29 3a 20 20 | 43 6f 6e 63 61 74 69 6e |char): |Concatin|
|000045f0| 61 74 65 20 61 20 73 69 | 6e 67 6c 65 20 63 68 61 |ate a si|ngle cha|
|00004600| 72 61 63 74 65 72 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |racter./|/-------|
|00004610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004660| 2d 0d 0d 43 53 74 72 33 | 31 26 20 43 53 74 72 33 |-..CStr3|1& CStr3|
|00004670| 31 3a 3a 6f 70 65 72 61 | 74 6f 72 20 2b 3d 20 28 |1::opera|tor += (|
|00004680| 63 6f 6e 73 74 20 63 68 | 61 72 20 63 68 29 0d 7b |const ch|ar ch).{|
|00004690| 0d 09 69 66 20 28 2b 2b | 4c 65 6e 67 74 68 28 29 |..if (++|Length()|
|000046a0| 20 3c 3d 20 6b 53 74 72 | 33 31 4c 65 6e 29 0d 09 | <= kStr|31Len)..|
|000046b0| 09 66 53 74 72 5b 4c 65 | 6e 67 74 68 28 29 5d 20 |.fStr[Le|ngth()] |
|000046c0| 3d 20 63 68 3b 0d 09 65 | 6c 73 65 0d 09 7b 0d 09 |= ch;..e|lse..{..|
|000046d0| 09 2d 2d 4c 65 6e 67 74 | 68 28 29 3b 0d 23 69 66 |.--Lengt|h();.#if|
|000046e0| 20 71 44 65 62 75 67 4d | 73 67 0d 09 09 66 70 72 | qDebugM|sg...fpr|
|000046f0| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 22 23 23 23 |intf(std|err,"###|
|00004700| 43 53 74 72 33 31 3a 3a | 6f 70 65 72 61 74 6f 72 |CStr31::|operator|
|00004710| 2b 3d 3a 20 43 6f 6e 63 | 61 74 65 6e 61 74 69 6f |+=: Conc|atenatio|
|00004720| 6e 20 70 72 6f 64 75 63 | 65 73 20 43 53 74 72 33 |n produc|es CStr3|
|00004730| 31 20 6f 76 65 72 66 6c | 6f 77 2e 5c 6e 22 29 3b |1 overfl|ow.\n");|
|00004740| 0d 23 65 6e 64 69 66 0d | 09 7d 0d 09 0d 09 72 65 |.#endif.|.}....re|
|00004750| 74 75 72 6e 20 2a 74 68 | 69 73 3b 0d 7d 20 2f 2f |turn *th|is;.} //|
|00004760| 20 43 53 74 72 33 31 3a | 3a 6f 70 65 72 61 74 6f | CStr31:|:operato|
|00004770| 72 20 2b 3d 28 63 68 61 | 72 29 0d 00 00 00 00 00 |r +=(cha|r)......|
|00004780| 00 00 01 00 00 00 01 8c | 00 00 00 8c 00 00 00 52 |........|.......R|
|00004790| 00 02 d8 2c 10 55 4d 61 | 63 41 70 70 47 6c 6f 62 |...,.UMa|cAppGlob|
|000047a0| 61 6c 73 2e 70 61 02 00 | 00 00 54 45 58 54 4d 50 |als.pa..|..TEXTMP|
|000047b0| 0f 50 61 73 63 61 6c 53 | 74 72 69 6e 67 2e 63 70 |.PascalS|tring.cp|
|000047c0| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 ff ff |....TEXT|MPS ....|
|000047d0| 00 00 54 45 58 54 4d 50 | 53 20 01 00 ff ff ff ff |..TEXTMP|S ......|
|000047e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047f0| 00 00 a3 93 d8 fc 00 00 | 46 fb 00 00 01 de 00 01 |........|F.......|
|00004800| 00 00 00 00 00 00 00 00 | 00 00 00 00 18 00 00 02 |........|........|
|00004810| d8 2c 12 55 4d 61 63 41 | 70 70 55 74 69 6c 69 74 |.,.UMacA|ppUtilit|
|00004820| 69 65 73 2e 70 41 02 00 | 00 00 54 45 58 54 4d 50 |ies.pA..|..TEXTMP|
|00004830| 53 20 01 00 01 d4 00 40 | 00 00 00 02 d8 50 00 00 |S .....@|.....P..|
|00004840| 00 00 56 a7 00 00 5a 00 | 00 00 00 00 01 54 00 00 |..V...Z.|.....T..|
|00004850| 0a 00 9f 01 40 cd a6 55 | 2e cc 00 00 00 00 00 00 |....@..U|........|
|00004860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004870| 0e 9d 00 09 00 00 00 00 | 00 00 00 00 7d f6 00 01 |........|....}...|
|00004880| 00 00 00 1a 03 01 80 00 | 00 00 05 33 2e 30 2e 31 |........|...3.0.1|
|00004890| 0d 4d 61 63 41 70 70 a8 | 20 33 2e 30 2e 31 00 00 |.MacApp.| 3.0.1..|
|000048a0| 00 48 00 09 4d 6f 6e 61 | 63 6f 00 00 00 00 00 00 |.H..Mona|co......|
|000048b0| 00 00 00 00 01 6c 00 09 | 56 c8 00 0a 00 00 00 00 |.....l..|V.......|
|000048c0| 00 00 00 00 00 06 00 04 | 00 5e 00 9d 01 d7 02 be |........|.^......|
|000048d0| 00 5e 00 9d 01 d7 02 be | a9 d4 32 80 00 00 00 00 |.^......|..2.....|
|000048e0| 00 00 00 00 00 00 00 00 | 01 00 00 00 00 1e 00 5e |........|.......^|
|000048f0| 00 9d 01 d7 02 be 00 5e | 00 9d 01 d7 02 be 00 00 |.......^|........|
|00004900| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 01 00 |........|........|
|00004910| 00 00 01 8c 00 00 00 8c | 00 00 00 52 00 df 57 f0 |........|...R..W.|
|00004920| 23 42 00 00 00 1c 00 52 | 00 01 76 65 72 73 00 00 |#B.....R|..vers..|
|00004930| 00 12 4d 50 53 52 00 01 | 00 1e 00 02 ff ff 20 00 |..MPSR..|...... .|
|00004940| 00 00 00 00 00 00 03 ed | ff ff 00 00 00 1e 00 00 |........|........|
|00004950| 00 00 03 f0 ff ff 00 00 | 00 6a 00 e1 af f0 00 00 |........|.j......|
|00004960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+