/ BBS in a Box 15
/ BBS in a box XV-2.iso / Files II / Prog / N-P / NString 1.0 beta.sit / NString 1.0 beta / Sources / NString_Assignment.cxx ![]() | < prev | next > |
MacBinary | 1994-11-11 | 2.4 KB | [TEXT/KAHL] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, Fri Nov 11 19:25:33 1994, modified Fri Nov 11 19:25:33 1994, creator Think C, type ASCII, 1763 bytes "NString_Assignment.cxx" , at 0x763 444 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 | [KAHL] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 16 4e 53 74 72 69 6e | 67 5f 41 73 73 69 67 6e |..NStrin|g_Assign|
|00000010| 6d 65 6e 74 2e 63 78 78 | 00 00 00 00 00 00 00 00 |ment.cxx|........|
|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 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 06 e3 00 | 00 01 bc aa e9 bb fd aa |........|........|
|00000060| e9 bb fd 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4b e6 00 00 |........|....K...|
|00000080| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 72 69 6e |.#includ|e <strin|
|00000090| 67 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 73 |g.h>.#in|clude <s|
|000000a0| 74 64 6c 69 62 2e 68 3e | 0d 0d 23 69 6e 63 6c 75 |tdlib.h>|..#inclu|
|000000b0| 64 65 20 22 4e 53 74 72 | 69 6e 67 2e 68 22 0d 23 |de "NStr|ing.h".#|
|000000c0| 69 6e 63 6c 75 64 65 20 | 22 4e 53 74 72 69 6e 67 |include |"NString|
|000000d0| 5f 4d 69 73 63 2e 68 22 | 0d 0d 2f 2f 5f 5f 5f 5f |_Misc.h"|..//____|
|000000e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000000f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000100| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000110| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000120| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 0d 0d 4e |________|_____..N|
|00000130| 53 74 72 69 6e 67 26 20 | 4e 53 74 72 69 6e 67 3a |String& |NString:|
|00000140| 3a 6f 70 65 72 61 74 6f | 72 3d 20 28 63 6f 6e 73 |:operato|r= (cons|
|00000150| 74 20 63 68 61 72 20 2a | 73 29 0d 7b 0d 09 63 6f |t char *|s).{..co|
|00000160| 6e 73 74 20 63 68 61 72 | 20 2a 66 6e 61 6d 65 20 |nst char| *fname |
|00000170| 3d 20 22 6f 70 65 72 61 | 74 6f 72 3d 20 28 63 6f |= "opera|tor= (co|
|00000180| 6e 73 74 20 63 68 61 72 | 20 2a 29 22 3b 0d 09 75 |nst char| *)";..u|
|00000190| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 69 6e 74 |nsigned |long int|
|000001a0| 20 6e 65 77 5f 6c 65 6e | 67 74 68 3b 0d 09 0d 09 | new_len|gth;....|
|000001b0| 69 66 20 28 73 20 3d 3d | 20 4e 55 4c 4c 29 0d 09 |if (s ==| NULL)..|
|000001c0| 09 73 20 3d 20 22 22 3b | 0d 09 09 0d 09 6e 65 77 |.s = "";|.....new|
|000001d0| 5f 6c 65 6e 67 74 68 20 | 3d 20 73 74 72 6c 65 6e |_length |= strlen|
|000001e0| 28 73 29 3b 0d 0d 09 69 | 66 20 28 73 62 2d 3e 72 |(s);...i|f (sb->r|
|000001f0| 65 66 73 20 3e 20 31 29 | 09 09 09 09 09 09 09 09 |efs > 1)|........|
|00000200| 09 09 09 2f 2f 20 74 68 | 65 72 65 27 73 20 61 6e |...// th|ere's an|
|00000210| 6f 74 68 65 72 20 76 61 | 72 69 61 62 6c 65 20 6c |other va|riable l|
|00000220| 6f 6f 6b 69 6e 67 20 61 | 74 20 74 68 69 73 20 73 |ooking a|t this s|
|00000230| 74 72 69 6e 67 20 62 6f | 64 79 0d 09 7b 0d 09 09 |tring bo|dy..{...|
|00000240| 69 66 20 28 21 20 47 65 | 74 4e 65 77 53 42 28 6e |if (! Ge|tNewSB(n|
|00000250| 65 77 5f 6c 65 6e 67 74 | 68 29 29 0d 09 09 09 4f |ew_lengt|h))....O|
|00000260| 55 54 5f 4f 46 5f 4d 45 | 4d 28 66 6e 61 6d 65 29 |UT_OF_ME|M(fname)|
|00000270| 3b 0d 09 7d 0d 09 65 6c | 73 65 0d 09 7b 0d 09 09 |;..}..el|se..{...|
|00000280| 69 66 20 28 21 20 52 65 | 61 6c 6c 6f 63 53 74 72 |if (! Re|allocStr|
|00000290| 42 75 66 28 6e 65 77 5f | 6c 65 6e 67 74 68 29 29 |Buf(new_|length))|
|000002a0| 0d 09 09 09 4f 55 54 5f | 4f 46 5f 4d 45 4d 28 66 |....OUT_|OF_MEM(f|
|000002b0| 6e 61 6d 65 29 3b 0d 09 | 09 73 62 2d 3e 6c 65 6e |name);..|.sb->len|
|000002c0| 20 3d 20 6e 65 77 5f 6c | 65 6e 67 74 68 3b 0d 09 | = new_l|ength;..|
|000002d0| 7d 0d 09 09 0d 09 73 74 | 72 63 70 79 28 73 62 2d |}.....st|rcpy(sb-|
|000002e0| 3e 73 74 72 2c 20 73 29 | 3b 0d 09 72 65 74 75 72 |>str, s)|;..retur|
|000002f0| 6e 20 28 2a 74 68 69 73 | 29 3b 0d 7d 0d 0d 2f 2f |n (*this|);.}..//|
|00000300| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000310| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000320| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000330| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000340| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000350| 5f 0d 0d 4e 53 74 72 69 | 6e 67 26 20 4e 53 74 72 |_..NStri|ng& NStr|
|00000360| 69 6e 67 3a 3a 6f 70 65 | 72 61 74 6f 72 3d 20 28 |ing::ope|rator= (|
|00000370| 63 6f 6e 73 74 20 63 68 | 61 72 20 63 29 0d 7b 0d |const ch|ar c).{.|
|00000380| 09 63 6f 6e 73 74 20 63 | 68 61 72 20 2a 66 6e 61 |.const c|har *fna|
|00000390| 6d 65 20 3d 20 22 6f 70 | 65 72 61 74 6f 72 3d 20 |me = "op|erator= |
|000003a0| 28 63 6f 6e 73 74 20 63 | 68 61 72 29 22 3b 09 2f |(const c|har)";./|
|000003b0| 2f 20 74 68 65 20 6d 65 | 74 68 6f 64 27 73 20 6e |/ the me|thod's n|
|000003c0| 61 6d 65 20 28 66 6f 72 | 20 65 72 72 6f 72 20 68 |ame (for| error h|
|000003d0| 61 6e 64 6c 69 6e 67 20 | 70 75 72 70 6f 73 65 73 |andling |purposes|
|000003e0| 29 0d 09 0d 09 69 66 20 | 28 63 20 3d 3d 20 27 5c |)....if |(c == '\|
|000003f0| 30 27 29 0d 09 09 55 53 | 41 47 45 5f 45 52 52 28 |0')...US|AGE_ERR(|
|00000400| 66 6e 61 6d 65 2c 20 22 | 41 74 74 65 6d 70 74 65 |fname, "|Attempte|
|00000410| 64 20 61 73 73 69 67 6e | 6d 65 6e 74 20 6f 66 20 |d assign|ment of |
|00000420| 4e 55 4c 20 63 68 61 72 | 61 63 74 65 72 20 74 6f |NUL char|acter to|
|00000430| 20 4e 53 74 72 69 6e 67 | 22 29 3b 0d 0d 09 69 66 | NString|");...if|
|00000440| 20 28 73 62 2d 3e 72 65 | 66 73 20 3e 20 31 29 09 | (sb->re|fs > 1).|
|00000450| 09 09 09 09 09 09 09 09 | 09 09 2f 2f 20 74 68 65 |........|..// the|
|00000460| 72 65 27 73 20 61 6e 6f | 74 68 65 72 20 76 61 72 |re's ano|ther var|
|00000470| 69 61 62 6c 65 20 6c 6f | 6f 6b 69 6e 67 20 61 74 |iable lo|oking at|
|00000480| 20 74 68 69 73 20 73 74 | 72 69 6e 67 20 62 6f 64 | this st|ring bod|
|00000490| 79 0d 09 7b 0d 09 09 69 | 66 20 28 21 20 47 65 74 |y..{...i|f (! Get|
|000004a0| 4e 65 77 53 42 28 31 29 | 29 0d 09 09 09 4f 55 54 |NewSB(1)|)....OUT|
|000004b0| 5f 4f 46 5f 4d 45 4d 28 | 66 6e 61 6d 65 29 3b 0d |_OF_MEM(|fname);.|
|000004c0| 09 7d 0d 09 65 6c 73 65 | 09 09 09 09 09 09 09 09 |.}..else|........|
|000004d0| 09 09 09 09 09 09 09 09 | 2f 2f 20 74 68 69 73 20 |........|// this |
|000004e0| 73 74 72 69 6e 67 20 62 | 6f 64 79 20 69 73 6e 27 |string b|ody isn'|
|000004f0| 74 20 62 65 69 6e 67 20 | 75 73 65 64 20 62 79 20 |t being |used by |
|00000500| 61 6e 79 6f 6e 65 20 65 | 6c 73 65 20 28 73 62 2d |anyone e|lse (sb-|
|00000510| 3e 72 65 66 73 20 3d 3d | 20 31 29 0d 09 7b 0d 09 |>refs ==| 1)..{..|
|00000520| 09 69 66 20 28 21 20 52 | 65 61 6c 6c 6f 63 53 74 |.if (! R|eallocSt|
|00000530| 72 42 75 66 28 31 29 29 | 0d 09 09 09 4f 55 54 5f |rBuf(1))|....OUT_|
|00000540| 4f 46 5f 4d 45 4d 28 66 | 6e 61 6d 65 29 3b 0d 09 |OF_MEM(f|name);..|
|00000550| 09 73 62 2d 3e 6c 65 6e | 20 3d 20 31 3b 0d 09 7d |.sb->len| = 1;..}|
|00000560| 0d 09 09 0d 09 73 62 2d | 3e 73 74 72 5b 30 5d 20 |.....sb-|>str[0] |
|00000570| 3d 20 63 3b 09 09 09 09 | 09 09 09 09 09 09 09 09 |= c;....|........|
|00000580| 2f 2f 20 64 65 66 69 6e | 65 20 74 68 65 20 73 74 |// defin|e the st|
|00000590| 72 69 6e 67 20 63 6f 6e | 74 65 6e 74 73 0d 09 73 |ring con|tents..s|
|000005a0| 62 2d 3e 73 74 72 5b 31 | 5d 20 3d 20 27 5c 30 27 |b->str[1|] = '\0'|
|000005b0| 3b 0d 09 0d 09 72 65 74 | 75 72 6e 20 28 2a 74 68 |;....ret|urn (*th|
|000005c0| 69 73 29 3b 0d 7d 0d 0d | 2f 2f 5f 5f 5f 5f 5f 5f |is);.}..|//______|
|000005d0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000005e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000005f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000600| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000610| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 0d 0d 4e 53 74 |________|___..NSt|
|00000620| 72 69 6e 67 26 20 4e 53 | 74 72 69 6e 67 3a 3a 6f |ring& NS|tring::o|
|00000630| 70 65 72 61 74 6f 72 3d | 20 28 63 6f 6e 73 74 20 |perator=| (const |
|00000640| 4e 53 74 72 69 6e 67 26 | 20 73 29 0d 7b 0d 09 73 |NString&| s).{..s|
|00000650| 2e 73 62 2d 3e 72 65 66 | 73 2b 2b 3b 09 09 09 09 |.sb->ref|s++;....|
|00000660| 09 09 09 09 09 09 09 09 | 2f 2f 20 70 72 6f 74 65 |........|// prote|
|00000670| 63 74 20 61 67 61 69 6e | 73 74 20 22 73 74 20 3d |ct again|st "st =|
|00000680| 20 73 74 22 0d 09 69 66 | 20 28 28 2d 2d 28 73 62 | st"..if| ((--(sb|
|00000690| 2d 3e 72 65 66 73 29 29 | 20 3d 3d 20 30 29 09 09 |->refs))| == 0)..|
|000006a0| 09 09 09 09 09 09 2f 2f | 20 74 68 65 20 6f 6c 64 |......//| the old|
|000006b0| 20 73 74 72 69 6e 67 20 | 62 6f 64 79 20 69 73 6e | string |body isn|
|000006c0| 27 74 20 62 65 69 6e 67 | 20 75 73 65 64 20 61 6e |'t being| used an|
|000006d0| 79 20 6d 6f 72 65 0d 09 | 7b 0d 09 09 66 72 65 65 |y more..|{...free|
|000006e0| 28 73 62 2d 3e 73 74 72 | 29 3b 0d 09 09 64 65 6c |(sb->str|);...del|
|000006f0| 65 74 65 20 73 62 3b 0d | 09 7d 0d 09 73 62 20 3d |ete sb;.|.}..sb =|
|00000700| 20 73 2e 73 62 3b 09 09 | 09 09 09 09 09 09 09 09 | s.sb;..|........|
|00000710| 09 09 09 09 2f 2f 20 73 | 65 74 20 74 68 69 73 20 |....// s|et this |
|00000720| 76 61 72 69 61 62 6c 65 | 20 74 6f 20 6c 6f 6f 6b |variable| to look|
|00000730| 20 61 74 20 74 68 65 20 | 73 61 6d 65 20 73 74 72 | at the |same str|
|00000740| 69 6e 67 20 62 6f 64 79 | 20 61 73 20 22 73 22 0d |ing body| as "s".|
|00000750| 09 72 65 74 75 72 6e 20 | 28 2a 74 68 69 73 29 3b |.return |(*this);|
|00000760| 0d 7d 0d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.}......|........|
|00000770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000780| 00 00 01 00 00 00 01 62 | 00 00 00 62 00 00 00 5a |.......b|...b...Z|
|00000790| fc 00 fc 00 00 00 00 18 | 80 02 00 00 00 00 00 06 |........|........|
|000007a0| 00 0a 00 01 aa 80 aa 80 | aa 80 aa 80 aa 80 aa 80 |........|........|
|000007b0| 16 4e 53 74 72 69 6e 67 | 5f 41 73 73 69 67 6e 6d |.NString|_Assignm|
|000007c0| 65 6e 74 2e 63 78 78 6e | 02 00 00 00 50 61 72 74 |ent.cxxn|....Part|
|000007d0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|000007e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007f0| 00 00 ab 4c 25 31 00 00 | 00 00 00 00 01 bc 62 6c |...L%1..|......bl|
|00000800| f0 6b f0 6b 00 00 00 00 | 00 00 00 00 00 00 00 80 |.k.k....|........|
|00000810| ff ff ff ff ff ff ff f0 | f0 00 00 00 00 00 00 f0 |........|........|
|00000820| f0 0c 0f ff ff ff c0 f0 | f0 c0 f0 0e ee 0c fc f0 |........|........|
|00000830| f0 0c f0 0e 0e 0c f0 f0 | ff 00 f0 00 ee 0c fc ff |........|........|
|00000840| 0f 0c f0 00 e0 0c f0 cf | 0f 00 fc cc ec cc fc 0f |........|........|
|00000850| 0f 0e cf cf ff ff c0 cf | 0f 0e c0 ff ce 0c 0c 0f |........|........|
|00000860| ff ce cd fd ce c0 c0 ff | f0 0e c0 d0 ce 0c 0c f0 |........|........|
|00000870| f0 ce cc cc ce c0 c0 f0 | f0 0e cc cc ce 0c 0c f0 |........|........|
|00000880| 00 00 00 04 00 07 00 02 | 00 00 00 0a 00 0a 06 47 |........|.......G|
|00000890| 65 6e 65 76 61 a7 00 00 | 00 48 00 0a 47 65 6e 65 |eneva...|.H..Gene|
|000008a0| 76 61 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |va......|........|
|000008b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 07 00 02 |........|........|
|000008c0| 00 2c 00 03 01 dd 02 7d | 00 2a 00 04 01 dc 02 7c |.,.....}|.*.....||
|000008d0| aa e9 75 b1 00 00 00 2a | 00 00 00 2a 00 00 00 00 |..u....*|...*....|
|000008e0| 00 00 00 00 01 00 00 00 | 01 62 00 00 00 62 00 00 |........|.b...b..|
|000008f0| 00 5a 00 bb c0 80 12 5e | 00 00 00 1c 00 5a 00 02 |.Z.....^|.....Z..|
|00000900| 45 54 41 42 00 00 00 1a | 45 46 4e 54 00 00 00 26 |ETAB....|EFNT...&|
|00000910| 4d 50 53 52 00 00 00 32 | 03 ec ff ff 00 00 00 00 |MPSR...2|........|
|00000920| 00 00 00 00 03 eb ff ff | 00 00 00 08 00 00 00 00 |........|........|
|00000930| 03 ed ff ff 00 00 00 16 | 00 bb be 48 00 00 00 00 |........|...H....|
|00000940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+