home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1995-07-11 | 26.8 KB | [TEXT/MMCC] |
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
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Tue Jul 11 10:25:46 1995, modified Tue Jul 11 10:25:46 1995, creator 'MMCC', type ASCII, 26637 bytes "fileutil.c" , at 0x688d 410 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 | [MMCC] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 66 69 6c 65 75 74 | 69 6c 2e 63 00 00 00 00 |..fileut|il.c....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 68 0d 00 | 00 01 9a ac 28 3a 6a ac |.....h..|....(:j.|
|00000060| 28 3a 6a 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 be 32 00 00 |........|.....2..|
|00000080| 2f 2a 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 0d 0d |--------|------..|
|000000d0| 09 66 69 6c 65 75 74 69 | 6c 2e 63 0d 0d 09 54 68 |.fileuti|l.c...Th|
|000000e0| 69 73 20 72 65 75 73 61 | 62 6c 65 20 6d 6f 64 75 |is reusa|ble modu|
|000000f0| 6c 65 20 63 6f 6e 74 61 | 69 6e 73 20 6d 69 73 63 |le conta|ins misc|
|00000100| 65 6c 6c 61 6e 65 6f 75 | 73 20 66 69 6c 65 20 6d |ellaneou|s file m|
|00000110| 61 6e 61 67 65 6d 65 6e | 74 20 75 74 69 6c 69 74 |anagemen|t utilit|
|00000120| 79 20 72 6f 75 74 69 6e | 65 73 2e 0d 09 0d 09 43 |y routin|es.....C|
|00000130| 6f 70 79 72 69 67 68 74 | 20 a9 20 31 39 39 34 2d |opyright| . 1994-|
|00000140| 31 39 39 35 2c 20 4e 6f | 72 74 68 77 65 73 74 65 |1995, No|rthweste|
|00000150| 72 6e 20 55 6e 69 76 65 | 72 73 69 74 79 2e 0d 0d |rn Unive|rsity...|
|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| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|000001b0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 69 6f 2e |#include| <stdio.|
|000001c0| 68 3e 0d 23 69 6e 63 6c | 75 64 65 20 3c 73 74 72 |h>.#incl|ude <str|
|000001d0| 69 6e 67 2e 68 3e 0d 0d | 23 69 6e 63 6c 75 64 65 |ing.h>..|#include|
|000001e0| 20 22 64 65 66 2e 68 22 | 0d 23 69 6e 63 6c 75 64 | "def.h"|.#includ|
|000001f0| 65 20 22 66 69 6c 65 75 | 74 69 6c 2e 68 22 0d 23 |e "fileu|til.h".#|
|00000200| 69 6e 63 6c 75 64 65 20 | 22 73 74 72 75 74 69 6c |include |"strutil|
|00000210| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 6d 65 |.h".#inc|lude "me|
|00000220| 6d 75 74 69 6c 2e 68 22 | 0d 0d 0d 0d 2f 2a 2d 2d |mutil.h"|..../*--|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 49 73 45 71 |--------|--..IsEq|
|00000280| 75 61 6c 46 53 53 70 65 | 63 20 0d 09 0d 09 43 6f |ualFSSpe|c ....Co|
|00000290| 6d 70 61 72 65 20 74 77 | 6f 20 63 61 6e 6f 6e 69 |mpare tw|o canoni|
|000002a0| 63 61 6c 20 46 53 53 70 | 65 63 20 72 65 63 6f 72 |cal FSSp|ec recor|
|000002b0| 64 73 2e 0d 09 09 09 0d | 09 45 6e 74 72 79 3a 09 |ds......|.Entry:.|
|000002c0| 66 69 6c 65 31 20 3d 20 | 70 6f 69 6e 74 65 72 20 |file1 = |pointer |
|000002d0| 74 6f 20 66 69 72 73 74 | 20 46 53 53 70 65 63 20 |to first| FSSpec |
|000002e0| 72 65 63 6f 72 64 2e 0d | 09 09 09 66 69 6c 65 32 |record..|...file2|
|000002f0| 20 3d 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 73 65 | = point|er to se|
|00000300| 63 6f 6e 64 20 46 53 53 | 70 65 63 20 72 65 63 6f |cond FSS|pec reco|
|00000310| 72 64 2e 0d 09 0d 09 45 | 78 69 74 3a 09 66 75 6e |rd.....E|xit:.fun|
|00000320| 63 74 69 6f 6e 20 72 65 | 73 75 6c 74 20 3d 20 74 |ction re|sult = t|
|00000330| 72 75 65 20 69 66 20 74 | 68 65 20 46 53 53 70 65 |rue if t|he FSSpe|
|00000340| 63 20 72 65 63 6f 72 64 | 73 20 61 72 65 20 65 71 |c record|s are eq|
|00000350| 75 61 6c 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ual..---|--------|
|00000360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003a0| 2d 2a 2f 0d 0d 42 6f 6f | 6c 65 61 6e 20 49 73 45 |-*/..Boo|lean IsE|
|000003b0| 71 75 61 6c 46 53 53 70 | 65 63 20 28 46 53 53 70 |qualFSSp|ec (FSSp|
|000003c0| 65 63 20 2a 66 69 6c 65 | 31 2c 20 46 53 53 70 65 |ec *file|1, FSSpe|
|000003d0| 63 20 2a 66 69 6c 65 32 | 29 0d 7b 0d 09 72 65 74 |c *file2|).{..ret|
|000003e0| 75 72 6e 0d 09 09 66 69 | 6c 65 31 2d 3e 76 52 65 |urn...fi|le1->vRe|
|000003f0| 66 4e 75 6d 20 3d 3d 20 | 66 69 6c 65 32 2d 3e 76 |fNum == |file2->v|
|00000400| 52 65 66 4e 75 6d 20 26 | 26 0d 09 09 66 69 6c 65 |RefNum &|&...file|
|00000410| 31 2d 3e 70 61 72 49 44 | 20 3d 3d 20 66 69 6c 65 |1->parID| == file|
|00000420| 32 2d 3e 70 61 72 49 44 | 20 26 26 0d 09 09 45 71 |2->parID| &&...Eq|
|00000430| 75 61 6c 53 74 72 69 6e | 67 28 66 69 6c 65 31 2d |ualStrin|g(file1-|
|00000440| 3e 6e 61 6d 65 2c 20 66 | 69 6c 65 32 2d 3e 6e 61 |>name, f|ile2->na|
|00000450| 6d 65 2c 20 66 61 6c 73 | 65 2c 20 74 72 75 65 29 |me, fals|e, true)|
|00000460| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 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| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004b0| 2d 2d 2d 2d 2d 0d 09 56 | 6f 6c 4e 61 6d 65 54 6f |-----..V|olNameTo|
|000004c0| 56 52 65 66 4e 75 6d 20 | 0d 09 0d 09 47 65 74 20 |VRefNum |....Get |
|000004d0| 74 68 65 20 76 6f 6c 75 | 6d 65 20 72 65 66 65 72 |the volu|me refer|
|000004e0| 65 6e 63 65 20 6e 75 6d | 62 65 72 20 67 69 76 65 |ence num|ber give|
|000004f0| 6e 20 61 20 76 6f 6c 75 | 6d 65 20 6e 61 6d 65 2e |n a volu|me name.|
|00000500| 0d 09 09 09 0d 09 45 6e | 74 72 79 3a 09 6e 61 6d |......En|try:.nam|
|00000510| 65 20 3d 20 76 6f 6c 75 | 6d 65 20 6e 61 6d 65 2e |e = volu|me name.|
|00000520| 0d 09 0d 09 45 78 69 74 | 3a 09 66 75 6e 63 74 69 |....Exit|:.functi|
|00000530| 6f 6e 20 72 65 73 75 6c | 74 20 3d 20 65 72 72 6f |on resul|t = erro|
|00000540| 72 20 63 6f 64 65 2e 0d | 09 09 09 2a 76 52 65 66 |r code..|...*vRef|
|00000550| 4e 75 6d 20 3d 20 76 6f | 6c 75 6d 65 20 72 65 66 |Num = vo|lume ref|
|00000560| 65 72 65 6e 63 65 20 6e | 75 6d 62 65 72 2e 0d 2d |erence n|umber..-|
|00000570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 4f |--------|---*/..O|
|000005c0| 53 45 72 72 20 56 6f 6c | 4e 61 6d 65 54 6f 56 52 |SErr Vol|NameToVR|
|000005d0| 65 66 4e 75 6d 20 28 53 | 74 72 69 6e 67 50 74 72 |efNum (S|tringPtr|
|000005e0| 20 6e 61 6d 65 2c 20 73 | 68 6f 72 74 20 2a 76 52 | name, s|hort *vR|
|000005f0| 65 66 4e 75 6d 29 0d 7b | 0d 09 48 50 61 72 61 6d |efNum).{|..HParam|
|00000600| 42 6c 6f 63 6b 52 65 63 | 20 70 62 3b 0d 09 53 74 |BlockRec| pb;..St|
|00000610| 72 33 31 20 76 6f 6c 4e | 61 6d 65 57 69 74 68 43 |r31 volN|ameWithC|
|00000620| 6f 6c 6f 6e 3b 0d 09 73 | 68 6f 72 74 20 6c 65 6e |olon;..s|hort len|
|00000630| 3b 0d 09 4f 53 45 72 72 | 20 65 72 72 20 3d 20 6e |;..OSErr| err = n|
|00000640| 6f 45 72 72 3b 0d 09 0d | 09 43 6f 70 79 50 61 73 |oErr;...|.CopyPas|
|00000650| 63 61 6c 53 74 72 69 6e | 67 28 76 6f 6c 4e 61 6d |calStrin|g(volNam|
|00000660| 65 57 69 74 68 43 6f 6c | 6f 6e 2c 20 6e 61 6d 65 |eWithCol|on, name|
|00000670| 29 3b 0d 09 6c 65 6e 20 | 3d 20 2a 76 6f 6c 4e 61 |);..len |= *volNa|
|00000680| 6d 65 57 69 74 68 43 6f | 6c 6f 6e 3b 0d 09 69 66 |meWithCo|lon;..if|
|00000690| 20 28 76 6f 6c 4e 61 6d | 65 57 69 74 68 43 6f 6c | (volNam|eWithCol|
|000006a0| 6f 6e 5b 6c 65 6e 5d 20 | 21 3d 20 27 3a 27 29 20 |on[len] |!= ':') |
|000006b0| 7b 0d 09 09 6c 65 6e 20 | 3d 20 2b 2b 28 2a 76 6f |{...len |= ++(*vo|
|000006c0| 6c 4e 61 6d 65 57 69 74 | 68 43 6f 6c 6f 6e 29 3b |lNameWit|hColon);|
|000006d0| 0d 09 09 76 6f 6c 4e 61 | 6d 65 57 69 74 68 43 6f |...volNa|meWithCo|
|000006e0| 6c 6f 6e 5b 6c 65 6e 5d | 20 3d 20 27 3a 27 3b 0d |lon[len]| = ':';.|
|000006f0| 09 7d 0d 09 70 62 2e 76 | 6f 6c 75 6d 65 50 61 72 |.}..pb.v|olumePar|
|00000700| 61 6d 2e 69 6f 4e 61 6d | 65 50 74 72 20 3d 20 76 |am.ioNam|ePtr = v|
|00000710| 6f 6c 4e 61 6d 65 57 69 | 74 68 43 6f 6c 6f 6e 3b |olNameWi|thColon;|
|00000720| 0d 09 70 62 2e 76 6f 6c | 75 6d 65 50 61 72 61 6d |..pb.vol|umeParam|
|00000730| 2e 69 6f 56 6f 6c 49 6e | 64 65 78 20 3d 20 2d 31 |.ioVolIn|dex = -1|
|00000740| 3b 0d 09 65 72 72 20 3d | 20 50 42 48 47 65 74 56 |;..err =| PBHGetV|
|00000750| 49 6e 66 6f 53 79 6e 63 | 28 26 70 62 29 3b 0d 09 |InfoSync|(&pb);..|
|00000760| 2a 76 52 65 66 4e 75 6d | 20 3d 20 70 62 2e 76 6f |*vRefNum| = pb.vo|
|00000770| 6c 75 6d 65 50 61 72 61 | 6d 2e 69 6f 56 52 65 66 |lumePara|m.ioVRef|
|00000780| 4e 75 6d 3b 0d 09 72 65 | 74 75 72 6e 20 65 72 72 |Num;..re|turn err|
|00000790| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|000007a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007e0| 2d 2d 2d 2d 2d 0d 09 56 | 6f 6c 4e 61 6d 65 41 6e |-----..V|olNameAn|
|000007f0| 64 43 72 65 61 74 69 6f | 6e 44 61 74 65 54 6f 56 |dCreatio|nDateToV|
|00000800| 52 65 66 4e 75 6d 20 0d | 09 0d 09 47 65 74 20 74 |RefNum .|...Get t|
|00000810| 68 65 20 76 6f 6c 75 6d | 65 20 72 65 66 65 72 65 |he volum|e refere|
|00000820| 6e 63 65 20 6e 75 6d 62 | 65 72 20 67 69 76 65 6e |nce numb|er given|
|00000830| 20 61 20 76 6f 6c 75 6d | 65 20 6e 61 6d 65 20 61 | a volum|e name a|
|00000840| 6e 64 20 63 72 65 61 74 | 69 6f 6e 20 64 61 74 65 |nd creat|ion date|
|00000850| 2e 0d 09 09 09 0d 09 45 | 6e 74 72 79 3a 09 6e 61 |.......E|ntry:.na|
|00000860| 6d 65 20 3d 20 76 6f 6c | 75 6d 65 20 6e 61 6d 65 |me = vol|ume name|
|00000870| 2e 0d 09 09 09 63 72 44 | 61 74 65 20 3d 20 63 72 |.....crD|ate = cr|
|00000880| 65 61 74 69 6f 6e 20 64 | 61 74 65 2e 0d 09 0d 09 |eation d|ate.....|
|00000890| 45 78 69 74 3a 09 66 75 | 6e 63 74 69 6f 6e 20 72 |Exit:.fu|nction r|
|000008a0| 65 73 75 6c 74 20 3d 20 | 65 72 72 6f 72 20 63 6f |esult = |error co|
|000008b0| 64 65 2e 0d 09 09 09 2a | 76 52 65 66 4e 75 6d 20 |de.....*|vRefNum |
|000008c0| 3d 20 76 6f 6c 75 6d 65 | 20 72 65 66 65 72 65 6e |= volume| referen|
|000008d0| 63 65 20 6e 75 6d 62 65 | 72 2e 0d 2d 2d 2d 2d 2d |ce numbe|r..-----|
|000008e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000920| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 0d 4f 53 45 72 72 |-------*|/..OSErr|
|00000930| 20 56 6f 6c 4e 61 6d 65 | 41 6e 64 43 72 65 61 74 | VolName|AndCreat|
|00000940| 69 6f 6e 44 61 74 65 54 | 6f 56 52 65 66 4e 75 6d |ionDateT|oVRefNum|
|00000950| 20 28 53 74 72 69 6e 67 | 50 74 72 20 6e 61 6d 65 | (String|Ptr name|
|00000960| 2c 20 6c 6f 6e 67 20 63 | 72 44 61 74 65 2c 20 73 |, long c|rDate, s|
|00000970| 68 6f 72 74 20 2a 76 52 | 65 66 4e 75 6d 29 0d 7b |hort *vR|efNum).{|
|00000980| 0d 09 48 50 61 72 61 6d | 42 6c 6f 63 6b 52 65 63 |..HParam|BlockRec|
|00000990| 20 70 62 3b 0d 09 53 74 | 72 33 31 20 76 6f 6c 4e | pb;..St|r31 volN|
|000009a0| 61 6d 65 2c 20 76 6f 6c | 4e 61 6d 65 57 69 74 68 |ame, vol|NameWith|
|000009b0| 43 6f 6c 6f 6e 3b 0d 09 | 73 68 6f 72 74 20 6c 65 |Colon;..|short le|
|000009c0| 6e 2c 20 69 6f 56 6f 6c | 49 6e 64 65 78 3b 0d 09 |n, ioVol|Index;..|
|000009d0| 4f 53 45 72 72 20 65 72 | 72 20 3d 20 6e 6f 45 72 |OSErr er|r = noEr|
|000009e0| 72 3b 0d 0d 09 66 6f 72 | 20 28 69 6f 56 6f 6c 49 |r;...for| (ioVolI|
|000009f0| 6e 64 65 78 20 3d 20 31 | 3b 20 3b 20 69 6f 56 6f |ndex = 1|; ; ioVo|
|00000a00| 6c 49 6e 64 65 78 2b 2b | 29 20 7b 0d 09 09 70 62 |lIndex++|) {...pb|
|00000a10| 2e 76 6f 6c 75 6d 65 50 | 61 72 61 6d 2e 69 6f 4e |.volumeP|aram.ioN|
|00000a20| 61 6d 65 50 74 72 20 3d | 20 76 6f 6c 4e 61 6d 65 |amePtr =| volName|
|00000a30| 3b 0d 09 09 70 62 2e 76 | 6f 6c 75 6d 65 50 61 72 |;...pb.v|olumePar|
|00000a40| 61 6d 2e 69 6f 56 6f 6c | 49 6e 64 65 78 20 3d 20 |am.ioVol|Index = |
|00000a50| 69 6f 56 6f 6c 49 6e 64 | 65 78 3b 0d 09 09 65 72 |ioVolInd|ex;...er|
|00000a60| 72 20 3d 20 50 42 48 47 | 65 74 56 49 6e 66 6f 53 |r = PBHG|etVInfoS|
|00000a70| 79 6e 63 28 26 70 62 29 | 3b 0d 09 09 69 66 20 28 |ync(&pb)|;...if (|
|00000a80| 65 72 72 20 21 3d 20 6e | 6f 45 72 72 29 20 72 65 |err != n|oErr) re|
|00000a90| 74 75 72 6e 20 65 72 72 | 3b 0d 09 09 43 6f 70 79 |turn err|;...Copy|
|00000aa0| 50 61 73 63 61 6c 53 74 | 72 69 6e 67 28 76 6f 6c |PascalSt|ring(vol|
|00000ab0| 4e 61 6d 65 57 69 74 68 | 43 6f 6c 6f 6e 2c 20 76 |NameWith|Colon, v|
|00000ac0| 6f 6c 4e 61 6d 65 29 3b | 0d 09 09 6c 65 6e 20 3d |olName);|...len =|
|00000ad0| 20 2a 76 6f 6c 4e 61 6d | 65 57 69 74 68 43 6f 6c | *volNam|eWithCol|
|00000ae0| 6f 6e 3b 0d 09 09 69 66 | 20 28 76 6f 6c 4e 61 6d |on;...if| (volNam|
|00000af0| 65 57 69 74 68 43 6f 6c | 6f 6e 5b 6c 65 6e 5d 20 |eWithCol|on[len] |
|00000b00| 3d 3d 20 27 3a 27 29 20 | 7b 0d 09 09 09 28 2a 76 |== ':') |{....(*v|
|00000b10| 6f 6c 4e 61 6d 65 29 2d | 2d 3b 0d 09 09 7d 20 65 |olName)-|-;...} e|
|00000b20| 6c 73 65 20 7b 0d 09 09 | 09 6c 65 6e 20 3d 20 2b |lse {...|.len = +|
|00000b30| 2b 28 2a 76 6f 6c 4e 61 | 6d 65 57 69 74 68 43 6f |+(*volNa|meWithCo|
|00000b40| 6c 6f 6e 29 3b 0d 09 09 | 09 76 6f 6c 4e 61 6d 65 |lon);...|.volName|
|00000b50| 57 69 74 68 43 6f 6c 6f | 6e 5b 6c 65 6e 5d 20 3d |WithColo|n[len] =|
|00000b60| 20 27 3a 27 3b 0d 09 09 | 7d 0d 09 09 69 66 20 28 | ':';...|}...if (|
|00000b70| 45 71 75 61 6c 53 74 72 | 69 6e 67 28 6e 61 6d 65 |EqualStr|ing(name|
|00000b80| 2c 20 76 6f 6c 4e 61 6d | 65 2c 20 66 61 6c 73 65 |, volNam|e, false|
|00000b90| 2c 20 74 72 75 65 29 20 | 7c 7c 20 0d 09 09 09 45 |, true) ||| ....E|
|00000ba0| 71 75 61 6c 53 74 72 69 | 6e 67 28 6e 61 6d 65 2c |qualStri|ng(name,|
|00000bb0| 20 76 6f 6c 4e 61 6d 65 | 57 69 74 68 43 6f 6c 6f | volName|WithColo|
|00000bc0| 6e 2c 20 66 61 6c 73 65 | 2c 20 74 72 75 65 29 29 |n, false|, true))|
|00000bd0| 0d 09 09 7b 0d 09 09 09 | 69 66 20 28 70 62 2e 76 |...{....|if (pb.v|
|00000be0| 6f 6c 75 6d 65 50 61 72 | 61 6d 2e 69 6f 56 43 72 |olumePar|am.ioVCr|
|00000bf0| 44 61 74 65 20 3d 3d 20 | 63 72 44 61 74 65 29 20 |Date == |crDate) |
|00000c00| 7b 0d 09 09 09 09 2a 76 | 52 65 66 4e 75 6d 20 3d |{.....*v|RefNum =|
|00000c10| 20 70 62 2e 76 6f 6c 75 | 6d 65 50 61 72 61 6d 2e | pb.volu|meParam.|
|00000c20| 69 6f 56 52 65 66 4e 75 | 6d 3b 0d 09 09 09 09 72 |ioVRefNu|m;.....r|
|00000c30| 65 74 75 72 6e 20 6e 6f | 45 72 72 3b 0d 09 09 09 |eturn no|Err;....|
|00000c40| 7d 0d 09 09 7d 0d 09 7d | 0d 7d 0d 0d 0d 0d 2f 2a |}...}..}|.}..../*|
|00000c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c80| 2d 2d 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 0d 09 43 72 |--------|----..Cr|
|00000ca0| 65 61 74 65 54 65 6d 70 | 6f 72 61 72 79 46 69 6c |eateTemp|oraryFil|
|00000cb0| 65 20 0d 09 0d 09 43 72 | 65 61 74 65 20 61 20 74 |e ....Cr|eate a t|
|00000cc0| 65 6d 70 6f 72 61 72 79 | 20 66 69 6c 65 2e 0d 0d |emporary| file...|
|00000cd0| 09 45 6e 74 72 79 3a 09 | 70 72 65 66 69 78 20 3d |.Entry:.|prefix =|
|00000ce0| 20 34 20 63 68 61 72 61 | 63 74 65 72 20 70 72 65 | 4 chara|cter pre|
|00000cf0| 66 69 78 20 66 6f 72 20 | 66 69 6c 65 20 6e 61 6d |fix for |file nam|
|00000d00| 65 20 28 65 2e 67 2e 2c | 20 63 61 6c 6c 65 72 27 |e (e.g.,| caller'|
|00000d10| 73 0d 09 09 09 09 63 72 | 65 61 74 6f 72 20 63 6f |s.....cr|eator co|
|00000d20| 64 65 29 2e 0d 09 09 09 | 63 72 65 61 74 6f 72 20 |de).....|creator |
|00000d30| 3d 20 66 69 6c 65 20 63 | 72 65 61 74 6f 72 2e 0d |= file c|reator..|
|00000d40| 09 09 09 74 79 70 65 20 | 3d 20 66 69 6c 65 20 74 |...type |= file t|
|00000d50| 79 70 65 2e 0d 09 09 09 | 0d 09 45 78 69 74 3a 09 |ype.....|..Exit:.|
|00000d60| 66 75 6e 63 74 69 6f 6e | 20 72 65 73 75 6c 74 20 |function| result |
|00000d70| 3d 20 65 72 72 6f 72 20 | 63 6f 64 65 2e 0d 09 09 |= error |code....|
|00000d80| 09 2a 66 53 70 65 63 20 | 3d 20 46 53 53 70 65 63 |.*fSpec |= FSSpec|
|00000d90| 20 72 65 63 6f 72 64 20 | 66 6f 72 20 6e 65 77 20 | record |for new |
|00000da0| 74 65 6d 70 6f 72 61 72 | 79 20 66 69 6c 65 2e 0d |temporar|y file..|
|00000db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|00000e00| 4f 53 45 72 72 20 43 72 | 65 61 74 65 54 65 6d 70 |OSErr Cr|eateTemp|
|00000e10| 6f 72 61 72 79 46 69 6c | 65 20 28 46 53 53 70 65 |oraryFil|e (FSSpe|
|00000e20| 63 20 2a 66 53 70 65 63 | 2c 20 4f 53 54 79 70 65 |c *fSpec|, OSType|
|00000e30| 20 70 72 65 66 69 78 2c | 20 4f 53 54 79 70 65 20 | prefix,| OSType |
|00000e40| 63 72 65 61 74 6f 72 2c | 20 4f 53 54 79 70 65 20 |creator,| OSType |
|00000e50| 74 79 70 65 29 0d 7b 0d | 09 4f 53 45 72 72 20 65 |type).{.|.OSErr e|
|00000e60| 72 72 20 3d 20 6e 6f 45 | 72 72 3b 0d 09 6c 6f 6e |rr = noE|rr;..lon|
|00000e70| 67 20 74 69 63 6b 73 3b | 0d 0d 09 65 72 72 20 3d |g ticks;|...err =|
|00000e80| 20 46 69 6e 64 46 6f 6c | 64 65 72 28 6b 4f 6e 53 | FindFol|der(kOnS|
|00000e90| 79 73 74 65 6d 44 69 73 | 6b 2c 20 6b 54 65 6d 70 |ystemDis|k, kTemp|
|00000ea0| 6f 72 61 72 79 46 6f 6c | 64 65 72 54 79 70 65 2c |oraryFol|derType,|
|00000eb0| 20 6b 43 72 65 61 74 65 | 46 6f 6c 64 65 72 2c 0d | kCreate|Folder,.|
|00000ec0| 09 09 26 66 53 70 65 63 | 2d 3e 76 52 65 66 4e 75 |..&fSpec|->vRefNu|
|00000ed0| 6d 2c 20 26 66 53 70 65 | 63 2d 3e 70 61 72 49 44 |m, &fSpe|c->parID|
|00000ee0| 29 3b 0d 09 69 66 20 28 | 65 72 72 20 21 3d 20 6e |);..if (|err != n|
|00000ef0| 6f 45 72 72 29 20 72 65 | 74 75 72 6e 20 65 72 72 |oErr) re|turn err|
|00000f00| 3b 0d 09 74 69 63 6b 73 | 20 3d 20 54 69 63 6b 43 |;..ticks| = TickC|
|00000f10| 6f 75 6e 74 28 29 3b 0d | 09 77 68 69 6c 65 20 28 |ount();.|.while (|
|00000f20| 74 72 75 65 29 20 7b 0d | 09 09 73 70 72 69 6e 74 |true) {.|..sprint|
|00000f30| 66 28 28 63 68 61 72 2a | 29 66 53 70 65 63 2d 3e |f((char*|)fSpec->|
|00000f40| 6e 61 6d 65 2c 20 22 25 | 2e 34 73 2d 74 6d 70 2d |name, "%|.4s-tmp-|
|00000f50| 25 6c 64 22 2c 20 26 70 | 72 65 66 69 78 2c 20 74 |%ld", &p|refix, t|
|00000f60| 69 63 6b 73 29 3b 0d 09 | 09 63 32 70 73 74 72 28 |icks);..|.c2pstr(|
|00000f70| 28 63 68 61 72 2a 29 66 | 53 70 65 63 2d 3e 6e 61 |(char*)f|Spec->na|
|00000f80| 6d 65 29 3b 0d 09 09 65 | 72 72 20 3d 20 46 53 70 |me);...e|rr = FSp|
|00000f90| 43 72 65 61 74 65 28 66 | 53 70 65 63 2c 20 63 72 |Create(f|Spec, cr|
|00000fa0| 65 61 74 6f 72 2c 20 74 | 79 70 65 2c 20 73 6d 53 |eator, t|ype, smS|
|00000fb0| 79 73 74 65 6d 53 63 72 | 69 70 74 29 3b 0d 09 09 |ystemScr|ipt);...|
|00000fc0| 69 66 20 28 65 72 72 20 | 3d 3d 20 6e 6f 45 72 72 |if (err |== noErr|
|00000fd0| 29 20 72 65 74 75 72 6e | 20 6e 6f 45 72 72 3b 0d |) return| noErr;.|
|00000fe0| 09 09 69 66 20 28 65 72 | 72 20 21 3d 20 64 75 70 |..if (er|r != dup|
|00000ff0| 46 4e 45 72 72 29 20 72 | 65 74 75 72 6e 20 65 72 |FNErr) r|eturn er|
|00001000| 72 3b 0d 09 09 74 69 63 | 6b 73 2b 2b 3b 0d 09 7d |r;...tic|ks++;..}|
|00001010| 0d 09 72 65 74 75 72 6e | 20 6e 6f 45 72 72 3b 0d |..return| noErr;.|
|00001020| 7d 0d 0d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..../*-|--------|
|00001030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001060| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001070| 2d 2d 2d 0d 09 44 65 6c | 65 74 65 54 65 6d 70 6f |---..Del|eteTempo|
|00001080| 72 61 72 79 46 69 6c 65 | 73 20 0d 09 0d 09 44 65 |raryFile|s ....De|
|00001090| 6c 65 74 65 20 61 6c 6c | 20 74 65 6d 70 6f 72 61 |lete all| tempora|
|000010a0| 72 79 20 66 69 6c 65 73 | 2e 0d 0d 09 45 6e 74 72 |ry files|....Entr|
|000010b0| 79 3a 09 70 72 65 66 69 | 78 20 3d 20 34 20 63 68 |y:.prefi|x = 4 ch|
|000010c0| 61 72 61 63 74 65 72 20 | 70 72 65 66 69 78 20 66 |aracter |prefix f|
|000010d0| 6f 72 20 66 69 6c 65 20 | 6e 61 6d 65 20 28 65 2e |or file |name (e.|
|000010e0| 67 2e 2c 20 63 61 6c 6c | 65 72 27 73 0d 09 09 09 |g., call|er's....|
|000010f0| 09 63 72 65 61 74 6f 72 | 20 63 6f 64 65 29 2e 0d |.creator| code)..|
|00001100| 09 09 09 0d 09 45 78 69 | 74 3a 09 66 75 6e 63 74 |.....Exi|t:.funct|
|00001110| 69 6f 6e 20 72 65 73 75 | 6c 74 20 3d 20 65 72 72 |ion resu|lt = err|
|00001120| 6f 72 20 63 6f 64 65 2e | 0d 2d 2d 2d 2d 2d 2d 2d |or code.|.-------|
|00001130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001170| 2d 2d 2d 2d 2d 2a 2f 0d | 0d 4f 53 45 72 72 20 44 |-----*/.|.OSErr D|
|00001180| 65 6c 65 74 65 54 65 6d | 70 6f 72 61 72 79 46 69 |eleteTem|poraryFi|
|00001190| 6c 65 73 20 28 4f 53 54 | 79 70 65 20 70 72 65 66 |les (OST|ype pref|
|000011a0| 69 78 29 0d 7b 0d 09 43 | 49 6e 66 6f 50 42 52 65 |ix).{..C|InfoPBRe|
|000011b0| 63 20 70 42 6c 6f 63 6b | 3b 0d 09 73 68 6f 72 74 |c pBlock|;..short|
|000011c0| 20 76 52 65 66 4e 75 6d | 3b 0d 09 6c 6f 6e 67 20 | vRefNum|;..long |
|000011d0| 64 69 72 49 44 3b 0d 09 | 4f 53 45 72 72 20 65 72 |dirID;..|OSErr er|
|000011e0| 72 20 3d 20 6e 6f 45 72 | 72 3b 0d 09 53 74 72 33 |r = noEr|r;..Str3|
|000011f0| 31 20 66 4e 61 6d 65 3b | 0d 09 73 68 6f 72 74 20 |1 fName;|..short |
|00001200| 69 3b 0d 0d 09 65 72 72 | 20 3d 20 46 69 6e 64 46 |i;...err| = FindF|
|00001210| 6f 6c 64 65 72 28 6b 4f | 6e 53 79 73 74 65 6d 44 |older(kO|nSystemD|
|00001220| 69 73 6b 2c 20 6b 54 65 | 6d 70 6f 72 61 72 79 46 |isk, kTe|mporaryF|
|00001230| 6f 6c 64 65 72 54 79 70 | 65 2c 20 6b 44 6f 6e 74 |olderTyp|e, kDont|
|00001240| 43 72 65 61 74 65 46 6f | 6c 64 65 72 2c 0d 09 09 |CreateFo|lder,...|
|00001250| 26 76 52 65 66 4e 75 6d | 2c 20 26 64 69 72 49 44 |&vRefNum|, &dirID|
|00001260| 29 3b 0d 09 69 66 20 28 | 65 72 72 20 21 3d 20 6e |);..if (|err != n|
|00001270| 6f 45 72 72 29 20 72 65 | 74 75 72 6e 20 6e 6f 45 |oErr) re|turn noE|
|00001280| 72 72 3b 0d 09 0d 09 69 | 20 3d 20 31 3b 0d 09 77 |rr;....i| = 1;..w|
|00001290| 68 69 6c 65 20 28 74 72 | 75 65 29 20 7b 0d 09 09 |hile (tr|ue) {...|
|000012a0| 70 42 6c 6f 63 6b 2e 68 | 46 69 6c 65 49 6e 66 6f |pBlock.h|FileInfo|
|000012b0| 2e 69 6f 56 52 65 66 4e | 75 6d 20 3d 20 76 52 65 |.ioVRefN|um = vRe|
|000012c0| 66 4e 75 6d 3b 0d 09 09 | 70 42 6c 6f 63 6b 2e 68 |fNum;...|pBlock.h|
|000012d0| 46 69 6c 65 49 6e 66 6f | 2e 69 6f 44 69 72 49 44 |FileInfo|.ioDirID|
|000012e0| 20 3d 20 64 69 72 49 44 | 3b 0d 09 09 70 42 6c 6f | = dirID|;...pBlo|
|000012f0| 63 6b 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 4e |ck.hFile|Info.ioN|
|00001300| 61 6d 65 50 74 72 20 3d | 20 66 4e 61 6d 65 3b 0d |amePtr =| fName;.|
|00001310| 09 09 70 42 6c 6f 63 6b | 2e 68 46 69 6c 65 49 6e |..pBlock|.hFileIn|
|00001320| 66 6f 2e 69 6f 46 44 69 | 72 49 6e 64 65 78 20 3d |fo.ioFDi|rIndex =|
|00001330| 20 69 3b 0d 09 09 65 72 | 72 20 3d 20 50 42 47 65 | i;...er|r = PBGe|
|00001340| 74 43 61 74 49 6e 66 6f | 53 79 6e 63 28 26 70 42 |tCatInfo|Sync(&pB|
|00001350| 6c 6f 63 6b 29 3b 0d 09 | 09 69 66 20 28 65 72 72 |lock);..|.if (err|
|00001360| 20 21 3d 20 6e 6f 45 72 | 72 29 20 72 65 74 75 72 | != noEr|r) retur|
|00001370| 6e 20 6e 6f 45 72 72 3b | 0d 09 09 69 66 20 28 28 |n noErr;|...if ((|
|00001380| 28 70 42 6c 6f 63 6b 2e | 68 46 69 6c 65 49 6e 66 |(pBlock.|hFileInf|
|00001390| 6f 2e 69 6f 46 6c 41 74 | 74 72 69 62 20 3e 3e 20 |o.ioFlAt|trib >> |
|000013a0| 34 29 20 26 20 31 29 20 | 3d 3d 20 30 29 20 7b 0d |4) & 1) |== 0) {.|
|000013b0| 09 09 09 69 66 20 28 2a | 66 4e 61 6d 65 20 3e 3d |...if (*|fName >=|
|000013c0| 20 34 20 26 26 20 73 74 | 72 6e 63 6d 70 28 28 63 | 4 && st|rncmp((c|
|000013d0| 68 61 72 2a 29 66 4e 61 | 6d 65 2b 31 2c 20 28 63 |har*)fNa|me+1, (c|
|000013e0| 68 61 72 2a 29 26 70 72 | 65 66 69 78 2c 20 34 29 |har*)&pr|efix, 4)|
|000013f0| 20 3d 3d 20 30 29 20 7b | 0d 09 09 09 09 48 44 65 | == 0) {|.....HDe|
|00001400| 6c 65 74 65 28 76 52 65 | 66 4e 75 6d 2c 20 64 69 |lete(vRe|fNum, di|
|00001410| 72 49 44 2c 20 66 4e 61 | 6d 65 29 3b 0d 09 09 09 |rID, fNa|me);....|
|00001420| 7d 0d 09 09 7d 0d 09 09 | 69 2b 2b 3b 0d 09 7d 0d |}...}...|i++;..}.|
|00001430| 7d 0d 0d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..../*-|--------|
|00001440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001480| 2d 2d 2d 0d 09 47 65 74 | 53 79 73 56 6f 6c 75 6d |---..Get|SysVolum|
|00001490| 65 20 0d 09 0d 09 47 65 | 74 20 74 68 65 20 76 6f |e ....Ge|t the vo|
|000014a0| 6c 75 6d 65 20 72 65 66 | 65 72 65 6e 63 65 20 6e |lume ref|erence n|
|000014b0| 75 6d 62 65 72 20 6f 66 | 20 74 68 65 20 73 79 73 |umber of| the sys|
|000014c0| 74 65 6d 20 76 6f 6c 75 | 6d 65 2e 0d 09 09 09 0d |tem volu|me......|
|000014d0| 09 45 78 69 74 3a 09 66 | 75 6e 63 74 69 6f 6e 20 |.Exit:.f|unction |
|000014e0| 72 65 73 75 6c 74 20 3d | 20 65 72 72 6f 72 20 63 |result =| error c|
|000014f0| 6f 64 65 2e 0d 09 09 09 | 2a 76 52 65 66 4e 75 6d |ode.....|*vRefNum|
|00001500| 20 3d 20 76 6f 6c 20 72 | 65 66 20 6e 75 6d 20 6f | = vol r|ef num o|
|00001510| 66 20 73 79 73 74 65 6d | 20 76 6f 6c 75 6d 65 2e |f system| volume.|
|00001520| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|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 2a 2f 0d |--------|-----*/.|
|00001570| 0d 4f 53 45 72 72 20 47 | 65 74 53 79 73 56 6f 6c |.OSErr G|etSysVol|
|00001580| 75 6d 65 20 28 73 68 6f | 72 74 20 2a 76 52 65 66 |ume (sho|rt *vRef|
|00001590| 4e 75 6d 29 0d 7b 0d 09 | 6c 6f 6e 67 20 64 69 72 |Num).{..|long dir|
|000015a0| 3b 0d 09 0d 09 72 65 74 | 75 72 6e 20 46 69 6e 64 |;....ret|urn Find|
|000015b0| 46 6f 6c 64 65 72 28 6b | 4f 6e 53 79 73 74 65 6d |Folder(k|OnSystem|
|000015c0| 44 69 73 6b 2c 20 6b 53 | 79 73 74 65 6d 46 6f 6c |Disk, kS|ystemFol|
|000015d0| 64 65 72 54 79 70 65 2c | 20 66 61 6c 73 65 2c 20 |derType,| false, |
|000015e0| 76 52 65 66 4e 75 6d 2c | 20 26 64 69 72 29 3b 0d |vRefNum,| &dir);.|
|000015f0| 7d 0d 0d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..../*-|--------|
|00001600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 0d 09 47 65 74 | 49 6e 64 56 6f 6c 75 6d |---..Get|IndVolum|
|00001650| 65 20 0d 09 0d 09 47 65 | 74 20 61 20 76 6f 6c 75 |e ....Ge|t a volu|
|00001660| 6d 65 20 72 65 66 65 72 | 65 6e 63 65 20 6e 75 6d |me refer|ence num|
|00001670| 62 65 72 20 62 79 20 76 | 6f 6c 75 6d 65 20 69 6e |ber by v|olume in|
|00001680| 64 65 78 2e 0d 09 0d 09 | 45 6e 74 72 79 3a 09 69 |dex.....|Entry:.i|
|00001690| 6e 64 65 78 20 3d 20 76 | 6f 6c 75 6d 65 20 69 6e |ndex = v|olume in|
|000016a0| 64 65 78 0d 09 09 09 0d | 09 45 78 69 74 3a 09 66 |dex.....|.Exit:.f|
|000016b0| 75 6e 63 74 69 6f 6e 20 | 72 65 73 75 6c 74 20 3d |unction |result =|
|000016c0| 20 65 72 72 6f 72 20 63 | 6f 64 65 2e 0d 09 09 09 | error c|ode.....|
|000016d0| 2a 76 52 65 66 4e 75 6d | 20 3d 20 76 6f 6c 20 72 |*vRefNum| = vol r|
|000016e0| 65 66 20 6e 75 6d 20 6f | 66 20 69 6e 64 65 78 65 |ef num o|f indexe|
|000016f0| 64 20 76 6f 6c 75 6d 65 | 2e 0d 2d 2d 2d 2d 2d 2d |d volume|..------|
|00001700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001740| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 4f 53 45 72 72 20 |------*/|..OSErr |
|00001750| 47 65 74 49 6e 64 56 6f | 6c 75 6d 65 20 28 73 68 |GetIndVo|lume (sh|
|00001760| 6f 72 74 20 69 6e 64 65 | 78 2c 20 73 68 6f 72 74 |ort inde|x, short|
|00001770| 20 2a 76 52 65 66 4e 75 | 6d 29 0d 7b 0d 09 50 61 | *vRefNu|m).{..Pa|
|00001780| 72 61 6d 42 6c 6f 63 6b | 52 65 63 20 70 62 3b 0d |ramBlock|Rec pb;.|
|00001790| 09 4f 53 45 72 72 20 65 | 72 72 20 3d 20 6e 6f 45 |.OSErr e|rr = noE|
|000017a0| 72 72 3b 0d 09 0d 09 70 | 62 2e 76 6f 6c 75 6d 65 |rr;....p|b.volume|
|000017b0| 50 61 72 61 6d 2e 69 6f | 43 6f 6d 70 6c 65 74 69 |Param.io|Completi|
|000017c0| 6f 6e 20 3d 20 6e 69 6c | 3b 0d 09 70 62 2e 76 6f |on = nil|;..pb.vo|
|000017d0| 6c 75 6d 65 50 61 72 61 | 6d 2e 69 6f 4e 61 6d 65 |lumePara|m.ioName|
|000017e0| 50 74 72 20 3d 20 6e 69 | 6c 3b 0d 09 70 62 2e 76 |Ptr = ni|l;..pb.v|
|000017f0| 6f 6c 75 6d 65 50 61 72 | 61 6d 2e 69 6f 56 6f 6c |olumePar|am.ioVol|
|00001800| 49 6e 64 65 78 20 3d 20 | 69 6e 64 65 78 3b 0d 09 |Index = |index;..|
|00001810| 0d 09 65 72 72 20 3d 20 | 50 42 47 65 74 56 49 6e |..err = |PBGetVIn|
|00001820| 66 6f 53 79 6e 63 28 26 | 70 62 29 3b 0d 09 0d 09 |foSync(&|pb);....|
|00001830| 2a 76 52 65 66 4e 75 6d | 20 3d 20 70 62 2e 76 6f |*vRefNum| = pb.vo|
|00001840| 6c 75 6d 65 50 61 72 61 | 6d 2e 69 6f 56 52 65 66 |lumePara|m.ioVRef|
|00001850| 4e 75 6d 3b 0d 09 72 65 | 74 75 72 6e 20 65 72 72 |Num;..re|turn err|
|00001860| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|00001870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018b0| 2d 2d 2d 2d 2d 0d 09 4d | 61 6b 65 4c 65 67 61 6c |-----..M|akeLegal|
|000018c0| 46 69 6c 65 4e 61 6d 65 | 0d 0d 09 4d 61 6b 65 20 |FileName|...Make |
|000018d0| 61 20 6c 65 67 61 6c 20 | 66 69 6c 65 20 6e 61 6d |a legal |file nam|
|000018e0| 65 20 66 72 6f 6d 20 61 | 20 73 74 72 69 6e 67 2e |e from a| string.|
|000018f0| 0d 09 0d 09 45 6e 74 72 | 79 3a 09 73 74 72 20 3d |....Entr|y:.str =|
|00001900| 20 50 2d 66 6f 72 6d 61 | 74 20 73 74 72 69 6e 67 | P-forma|t string|
|00001910| 2e 0d 09 09 09 0d 09 45 | 78 69 74 3a 09 66 69 6c |.......E|xit:.fil|
|00001920| 65 4e 61 6d 65 20 3d 20 | 50 2d 66 6f 72 6d 61 74 |eName = |P-format|
|00001930| 20 66 69 6c 65 20 6e 61 | 6d 65 2e 0d 09 0d 09 54 | file na|me.....T|
|00001940| 68 65 20 73 74 72 69 6e | 67 20 69 73 20 74 72 75 |he strin|g is tru|
|00001950| 6e 63 61 74 65 64 20 74 | 6f 20 33 31 20 63 68 61 |ncated t|o 31 cha|
|00001960| 72 61 63 74 65 72 73 2e | 20 41 6e 79 20 6c 65 61 |racters.| Any lea|
|00001970| 64 69 6e 67 20 70 65 72 | 69 6f 64 20 69 73 20 72 |ding per|iod is r|
|00001980| 65 70 6c 61 63 65 64 0d | 09 62 79 20 61 6e 20 75 |eplaced.|.by an u|
|00001990| 6e 64 65 72 73 63 6f 72 | 65 20 28 5f 29 2e 20 41 |nderscor|e (_). A|
|000019a0| 6e 79 20 65 6d 62 65 64 | 64 65 64 20 73 6c 61 73 |ny embed|ded slas|
|000019b0| 68 65 73 20 6f 72 20 63 | 6f 6c 6f 6e 73 20 6f 72 |hes or c|olons or|
|000019c0| 20 43 52 73 20 61 72 65 | 20 72 65 70 6c 61 63 65 | CRs are| replace|
|000019d0| 64 20 62 79 20 27 20 27 | 2e 0d 09 49 66 20 74 68 |d by ' '|...If th|
|000019e0| 65 20 73 74 72 69 6e 67 | 20 69 73 20 65 6d 70 74 |e string| is empt|
|000019f0| 79 2c 20 74 68 65 20 66 | 69 6c 65 20 6e 61 6d 65 |y, the f|ile name|
|00001a00| 20 22 78 22 20 69 73 20 | 72 65 74 75 72 6e 65 64 | "x" is |returned|
|00001a10| 2e 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..------|--------|
|00001a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00001a60| 0d 0d 76 6f 69 64 20 4d | 61 6b 65 4c 65 67 61 6c |..void M|akeLegal|
|00001a70| 46 69 6c 65 4e 61 6d 65 | 20 28 53 74 72 69 6e 67 |FileName| (String|
|00001a80| 50 74 72 20 73 74 72 2c | 20 53 74 72 33 31 20 66 |Ptr str,| Str31 f|
|00001a90| 69 6c 65 4e 61 6d 65 29 | 0d 7b 0d 09 73 68 6f 72 |ileName)|.{..shor|
|00001aa0| 74 20 69 2c 20 6c 65 6e | 3b 0d 0d 09 6c 65 6e 20 |t i, len|;...len |
|00001ab0| 3d 20 73 74 72 5b 30 5d | 3b 0d 09 69 66 20 28 6c |= str[0]|;..if (l|
|00001ac0| 65 6e 20 3d 3d 20 30 29 | 20 7b 0d 09 09 43 6f 70 |en == 0)| {...Cop|
|00001ad0| 79 50 61 73 63 61 6c 53 | 74 72 69 6e 67 28 66 69 |yPascalS|tring(fi|
|00001ae0| 6c 65 4e 61 6d 65 2c 20 | 22 5c 70 78 22 29 3b 0d |leName, |"\px");.|
|00001af0| 09 09 72 65 74 75 72 6e | 3b 0d 09 7d 0d 09 69 66 |..return|;..}..if|
|00001b00| 20 28 6c 65 6e 20 3e 20 | 33 31 29 20 6c 65 6e 20 | (len > |31) len |
|00001b10| 3d 20 33 31 3b 0d 09 66 | 69 6c 65 4e 61 6d 65 5b |= 31;..f|ileName[|
|00001b20| 30 5d 20 3d 20 6c 65 6e | 3b 0d 09 42 6c 6f 63 6b |0] = len|;..Block|
|00001b30| 4d 6f 76 65 44 61 74 61 | 28 73 74 72 2b 31 2c 20 |MoveData|(str+1, |
|00001b40| 66 69 6c 65 4e 61 6d 65 | 2b 31 2c 20 6c 65 6e 29 |fileName|+1, len)|
|00001b50| 3b 0d 09 69 66 20 28 66 | 69 6c 65 4e 61 6d 65 5b |;..if (f|ileName[|
|00001b60| 31 5d 20 3d 3d 20 27 2e | 27 29 20 66 69 6c 65 4e |1] == '.|') fileN|
|00001b70| 61 6d 65 5b 31 5d 20 3d | 20 27 5f 27 3b 0d 09 66 |ame[1] =| '_';..f|
|00001b80| 6f 72 20 28 69 20 3d 20 | 31 3b 20 69 20 3c 3d 20 |or (i = |1; i <= |
|00001b90| 6c 65 6e 3b 20 69 2b 2b | 29 0d 09 09 69 66 20 28 |len; i++|)...if (|
|00001ba0| 66 69 6c 65 4e 61 6d 65 | 5b 69 5d 20 3d 3d 20 27 |fileName|[i] == '|
|00001bb0| 2f 27 20 7c 7c 20 66 69 | 6c 65 4e 61 6d 65 5b 69 |/' || fi|leName[i|
|00001bc0| 5d 20 3d 3d 20 27 3a 27 | 20 7c 7c 20 66 69 6c 65 |] == ':'| || file|
|00001bd0| 4e 61 6d 65 5b 69 5d 20 | 3d 3d 20 43 52 29 20 66 |Name[i] |== CR) f|
|00001be0| 69 6c 65 4e 61 6d 65 5b | 69 5d 20 3d 20 27 20 27 |ileName[|i] = ' '|
|00001bf0| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|00001c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c40| 2d 2d 2d 2d 2d 0d 09 4f | 70 65 6e 44 61 74 61 46 |-----..O|penDataF|
|00001c50| 6f 72 6b 57 72 69 74 65 | 43 72 65 61 74 65 49 66 |orkWrite|CreateIf|
|00001c60| 4d 69 73 73 69 6e 67 0d | 09 0d 09 4f 70 65 6e 20 |Missing.|...Open |
|00001c70| 74 68 65 20 64 61 74 61 | 20 66 6f 72 6b 20 6f 66 |the data| fork of|
|00001c80| 20 61 20 66 69 6c 65 20 | 66 6f 72 20 77 72 69 74 | a file |for writ|
|00001c90| 69 6e 67 2e 20 43 72 65 | 61 74 65 20 74 68 65 20 |ing. Cre|ate the |
|00001ca0| 66 69 6c 65 20 69 66 20 | 69 74 20 69 73 20 6d 69 |file if |it is mi|
|00001cb0| 73 73 69 6e 67 2e 2e 0d | 09 0d 09 45 6e 74 72 79 |ssing...|...Entry|
|00001cc0| 3a 09 66 53 70 65 63 20 | 3d 20 70 6f 69 6e 74 65 |:.fSpec |= pointe|
|00001cd0| 72 20 74 6f 20 66 69 6c | 65 20 73 70 65 63 2e 0d |r to fil|e spec..|
|00001ce0| 09 09 09 63 72 65 61 74 | 6f 72 20 3d 20 63 72 65 |...creat|or = cre|
|00001cf0| 61 74 6f 72 20 63 6f 64 | 65 2e 0d 09 09 09 66 69 |ator cod|e.....fi|
|00001d00| 6c 65 54 79 70 65 20 3d | 20 66 69 6c 65 20 74 79 |leType =| file ty|
|00001d10| 70 65 2e 0d 09 09 09 73 | 63 72 69 70 74 54 61 67 |pe.....s|criptTag|
|00001d20| 20 3d 20 73 63 72 69 70 | 74 20 63 6f 64 65 2e 0d | = scrip|t code..|
|00001d30| 09 09 09 61 70 70 65 6e | 64 20 3d 20 74 72 75 65 |...appen|d = true|
|00001d40| 20 74 6f 20 6f 70 65 6e | 20 66 6f 72 20 61 70 70 | to open| for app|
|00001d50| 65 6e 64 69 6e 67 20 64 | 61 74 61 2c 20 66 61 6c |ending d|ata, fal|
|00001d60| 73 65 20 74 6f 20 6f 70 | 65 6e 20 66 6f 72 0d 09 |se to op|en for..|
|00001d70| 09 09 09 72 65 77 72 69 | 74 69 6e 67 20 64 61 74 |...rewri|ting dat|
|00001d80| 61 2e 0d 09 0d 09 45 78 | 69 74 3a 09 66 75 6e 63 |a.....Ex|it:.func|
|00001d90| 74 69 6f 6e 20 72 65 73 | 75 6c 74 20 3d 20 65 72 |tion res|ult = er|
|00001da0| 72 6f 72 20 63 6f 64 65 | 2e 0d 09 09 09 2a 72 65 |ror code|.....*re|
|00001db0| 66 4e 75 6d 20 3d 20 66 | 69 6c 65 20 72 65 66 65 |fNum = f|ile refe|
|00001dc0| 72 65 6e 63 65 20 6e 75 | 6d 62 65 72 2e 0d 09 09 |rence nu|mber....|
|00001dd0| 09 2a 65 6d 70 74 79 20 | 3d 20 74 72 75 65 20 69 |.*empty |= true i|
|00001de0| 66 20 66 69 6c 65 20 69 | 73 20 65 6d 70 74 79 2c |f file i|s empty,|
|00001df0| 20 66 61 6c 73 65 20 69 | 66 20 61 70 70 65 6e 64 | false i|f append|
|00001e00| 20 77 61 73 20 72 65 71 | 75 65 73 74 65 64 0d 09 | was req|uested..|
|00001e10| 09 09 09 61 6e 64 20 65 | 78 69 73 74 69 6e 67 20 |...and e|xisting |
|00001e20| 66 69 6c 65 20 77 61 73 | 20 6e 6f 74 20 65 6d 70 |file was| not emp|
|00001e30| 74 79 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ty..----|--------|
|00001e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e80| 2a 2f 0d 20 0d 4f 53 45 | 72 72 20 4f 70 65 6e 44 |*/. .OSE|rr OpenD|
|00001e90| 61 74 61 46 6f 72 6b 57 | 72 69 74 65 43 72 65 61 |ataForkW|riteCrea|
|00001ea0| 74 65 49 66 4d 69 73 73 | 69 6e 67 20 28 46 53 53 |teIfMiss|ing (FSS|
|00001eb0| 70 65 63 20 2a 66 53 70 | 65 63 2c 20 4f 53 54 79 |pec *fSp|ec, OSTy|
|00001ec0| 70 65 20 63 72 65 61 74 | 6f 72 2c 20 4f 53 54 79 |pe creat|or, OSTy|
|00001ed0| 70 65 20 66 69 6c 65 54 | 79 70 65 2c 20 0d 09 53 |pe fileT|ype, ..S|
|00001ee0| 63 72 69 70 74 43 6f 64 | 65 20 73 63 72 69 70 74 |criptCod|e script|
|00001ef0| 54 61 67 2c 20 42 6f 6f | 6c 65 61 6e 20 61 70 70 |Tag, Boo|lean app|
|00001f00| 65 6e 64 2c 20 73 68 6f | 72 74 20 2a 72 65 66 4e |end, sho|rt *refN|
|00001f10| 75 6d 2c 20 42 6f 6f 6c | 65 61 6e 20 2a 65 6d 70 |um, Bool|ean *emp|
|00001f20| 74 79 29 0d 7b 0d 09 73 | 68 6f 72 74 20 66 52 65 |ty).{..s|hort fRe|
|00001f30| 66 4e 75 6d 20 3d 20 30 | 3b 0d 09 6c 6f 6e 67 20 |fNum = 0|;..long |
|00001f40| 65 6f 66 3b 0d 09 4f 53 | 45 72 72 20 65 72 72 20 |eof;..OS|Err err |
|00001f50| 3d 20 6e 6f 45 72 72 3b | 0d 0d 09 2a 65 6d 70 74 |= noErr;|...*empt|
|00001f60| 79 20 3d 20 74 72 75 65 | 3b 0d 09 65 72 72 20 3d |y = true|;..err =|
|00001f70| 20 46 53 70 4f 70 65 6e | 44 46 28 66 53 70 65 63 | FSpOpen|DF(fSpec|
|00001f80| 2c 20 66 73 52 64 57 72 | 50 65 72 6d 2c 20 26 66 |, fsRdWr|Perm, &f|
|00001f90| 52 65 66 4e 75 6d 29 3b | 0d 09 69 66 20 28 65 72 |RefNum);|..if (er|
|00001fa0| 72 20 3d 3d 20 6e 6f 45 | 72 72 29 20 7b 0d 09 09 |r == noE|rr) {...|
|00001fb0| 69 66 20 28 61 70 70 65 | 6e 64 29 20 7b 0d 09 09 |if (appe|nd) {...|
|00001fc0| 09 65 72 72 20 3d 20 47 | 65 74 45 4f 46 28 66 52 |.err = G|etEOF(fR|
|00001fd0| 65 66 4e 75 6d 2c 20 26 | 65 6f 66 29 3b 0d 09 09 |efNum, &|eof);...|
|00001fe0| 09 69 66 20 28 65 72 72 | 20 21 3d 20 6e 6f 45 72 |.if (err| != noEr|
|00001ff0| 72 29 20 67 6f 74 6f 20 | 65 78 69 74 3b 0d 09 09 |r) goto |exit;...|
|00002000| 09 69 66 20 28 65 6f 66 | 20 21 3d 20 30 29 20 7b |.if (eof| != 0) {|
|00002010| 0d 09 09 09 09 2a 65 6d | 70 74 79 20 3d 20 66 61 |.....*em|pty = fa|
|00002020| 6c 73 65 3b 0d 09 09 09 | 09 65 72 72 20 3d 20 53 |lse;....|.err = S|
|00002030| 65 74 46 50 6f 73 28 66 | 52 65 66 4e 75 6d 2c 20 |etFPos(f|RefNum, |
|00002040| 66 73 46 72 6f 6d 4c 45 | 4f 46 2c 20 30 29 3b 0d |fsFromLE|OF, 0);.|
|00002050| 09 09 09 09 69 66 20 28 | 65 72 72 20 21 3d 20 6e |....if (|err != n|
|00002060| 6f 45 72 72 29 20 67 6f | 74 6f 20 65 78 69 74 3b |oErr) go|to exit;|
|00002070| 0d 09 09 09 7d 0d 09 09 | 7d 20 65 6c 73 65 20 7b |....}...|} else {|
|00002080| 0d 09 09 09 65 72 72 20 | 3d 20 53 65 74 45 4f 46 |....err |= SetEOF|
|00002090| 28 66 52 65 66 4e 75 6d | 2c 20 30 29 3b 0d 09 09 |(fRefNum|, 0);...|
|000020a0| 09 69 66 20 28 65 72 72 | 20 21 3d 20 6e 6f 45 72 |.if (err| != noEr|
|000020b0| 72 29 20 67 6f 74 6f 20 | 65 78 69 74 3b 0d 09 09 |r) goto |exit;...|
|000020c0| 7d 0d 09 7d 20 65 6c 73 | 65 20 69 66 20 28 65 72 |}..} els|e if (er|
|000020d0| 72 20 3d 3d 20 66 6e 66 | 45 72 72 29 20 7b 0d 09 |r == fnf|Err) {..|
|000020e0| 09 65 72 72 20 3d 20 46 | 53 70 43 72 65 61 74 65 |.err = F|SpCreate|
|000020f0| 28 66 53 70 65 63 2c 20 | 63 72 65 61 74 6f 72 2c |(fSpec, |creator,|
|00002100| 20 66 69 6c 65 54 79 70 | 65 2c 20 73 63 72 69 70 | fileTyp|e, scrip|
|00002110| 74 54 61 67 29 3b 0d 09 | 09 69 66 20 28 65 72 72 |tTag);..|.if (err|
|00002120| 20 21 3d 20 6e 6f 45 72 | 72 29 20 67 6f 74 6f 20 | != noEr|r) goto |
|00002130| 65 78 69 74 3b 0d 09 09 | 65 72 72 20 3d 20 46 53 |exit;...|err = FS|
|00002140| 70 4f 70 65 6e 44 46 28 | 66 53 70 65 63 2c 20 66 |pOpenDF(|fSpec, f|
|00002150| 73 52 64 57 72 50 65 72 | 6d 2c 20 26 66 52 65 66 |sRdWrPer|m, &fRef|
|00002160| 4e 75 6d 29 3b 0d 09 09 | 69 66 20 28 65 72 72 20 |Num);...|if (err |
|00002170| 21 3d 20 6e 6f 45 72 72 | 29 20 67 6f 74 6f 20 65 |!= noErr|) goto e|
|00002180| 78 69 74 3b 0d 09 7d 20 | 65 6c 73 65 20 7b 0d 09 |xit;..} |else {..|
|00002190| 09 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 7d 0d 09 |.goto ex|it;..}..|
|000021a0| 0d 09 2a 72 65 66 4e 75 | 6d 20 3d 20 66 52 65 66 |..*refNu|m = fRef|
|000021b0| 4e 75 6d 3b 0d 09 72 65 | 74 75 72 6e 20 6e 6f 45 |Num;..re|turn noE|
|000021c0| 72 72 3b 0d 09 0d 65 78 | 69 74 3a 0d 0d 09 69 66 |rr;...ex|it:...if|
|000021d0| 20 28 66 52 65 66 4e 75 | 6d 20 21 3d 20 30 29 20 | (fRefNu|m != 0) |
|000021e0| 4d 79 46 53 43 6c 6f 73 | 65 28 66 52 65 66 4e 75 |MyFSClos|e(fRefNu|
|000021f0| 6d 2c 20 6e 69 6c 29 3b | 0d 09 72 65 74 75 72 6e |m, nil);|..return|
|00002200| 20 65 72 72 3b 0d 7d 0d | 0d 0d 0d 2f 2a 2d 2d 2d | err;.}.|.../*---|
|00002210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 56 61 6c 69 64 |--------|-..Valid|
|00002260| 61 74 65 53 61 76 65 64 | 46 6f 6c 64 65 72 41 6c |ateSaved|FolderAl|
|00002270| 69 61 73 0d 09 0d 09 56 | 61 6c 69 64 61 74 65 20 |ias....V|alidate |
|00002280| 61 20 73 61 76 65 64 20 | 66 6f 6c 64 65 72 20 61 |a saved |folder a|
|00002290| 6c 69 61 73 2e 0d 09 0d | 09 45 6e 74 72 79 3a 09 |lias....|.Entry:.|
|000022a0| 61 6c 69 61 73 20 3d 20 | 68 61 6e 64 6c 65 20 74 |alias = |handle t|
|000022b0| 6f 20 61 6c 69 61 73 2e | 0d 09 0d 09 45 78 69 74 |o alias.|....Exit|
|000022c0| 3a 09 2a 76 52 65 66 4e | 75 6d 20 3d 20 76 6f 6c |:.*vRefN|um = vol|
|000022d0| 75 6d 65 20 72 65 66 65 | 72 65 6e 63 65 20 6e 75 |ume refe|rence nu|
|000022e0| 6d 62 65 72 20 6f 66 20 | 73 61 76 65 64 20 66 6f |mber of |saved fo|
|000022f0| 6c 64 65 72 2e 0d 09 09 | 09 2a 64 69 72 49 44 20 |lder....|.*dirID |
|00002300| 3d 20 64 69 72 65 63 74 | 6f 72 79 20 49 44 20 6f |= direct|ory ID o|
|00002310| 66 20 73 61 76 65 64 20 | 66 6f 6c 64 65 72 2e 0d |f saved |folder..|
|00002320| 09 09 09 2a 76 61 6c 69 | 64 20 3d 20 74 72 75 65 |...*vali|d = true|
|00002330| 20 69 66 20 73 61 76 65 | 64 20 66 6f 6c 64 65 72 | if save|d folder|
|00002340| 20 76 61 6c 69 64 2e 0d | 2d 2d 2d 2d 2d 2d 2d 2d | valid..|--------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002390| 2d 2d 2d 2d 2a 2f 0d 20 | 0d 76 6f 69 64 20 56 61 |----*/. |.void Va|
|000023a0| 6c 69 64 61 74 65 53 61 | 76 65 64 46 6f 6c 64 65 |lidateSa|vedFolde|
|000023b0| 72 41 6c 69 61 73 20 28 | 41 6c 69 61 73 48 61 6e |rAlias (|AliasHan|
|000023c0| 64 6c 65 20 61 6c 69 61 | 73 2c 20 73 68 6f 72 74 |dle alia|s, short|
|000023d0| 20 2a 76 52 65 66 4e 75 | 6d 2c 20 6c 6f 6e 67 20 | *vRefNu|m, long |
|000023e0| 2a 64 69 72 49 44 2c 20 | 0d 09 42 6f 6f 6c 65 61 |*dirID, |..Boolea|
|000023f0| 6e 20 2a 76 61 6c 69 64 | 29 0d 7b 0d 09 4f 53 45 |n *valid|).{..OSE|
|00002400| 72 72 20 65 72 72 20 3d | 20 6e 6f 45 72 72 3b 0d |rr err =| noErr;.|
|00002410| 09 46 53 53 70 65 63 20 | 66 53 70 65 63 3b 0d 09 |.FSSpec |fSpec;..|
|00002420| 42 6f 6f 6c 65 61 6e 20 | 77 61 73 43 68 61 6e 67 |Boolean |wasChang|
|00002430| 65 64 3b 0d 09 43 49 6e | 66 6f 50 42 52 65 63 20 |ed;..CIn|foPBRec |
|00002440| 70 62 3b 09 0d 09 0d 09 | 2a 76 61 6c 69 64 20 3d |pb;.....|*valid =|
|00002450| 20 66 61 6c 73 65 3b 0d | 09 69 66 20 28 61 6c 69 | false;.|.if (ali|
|00002460| 61 73 20 3d 3d 20 6e 69 | 6c 29 20 72 65 74 75 72 |as == ni|l) retur|
|00002470| 6e 3b 0d 09 65 72 72 20 | 3d 20 52 65 73 6f 6c 76 |n;..err |= Resolv|
|00002480| 65 41 6c 69 61 73 28 6e | 69 6c 2c 20 61 6c 69 61 |eAlias(n|il, alia|
|00002490| 73 2c 20 26 66 53 70 65 | 63 2c 20 26 77 61 73 43 |s, &fSpe|c, &wasC|
|000024a0| 68 61 6e 67 65 64 29 3b | 0d 09 69 66 20 28 65 72 |hanged);|..if (er|
|000024b0| 72 20 21 3d 20 6e 6f 45 | 72 72 29 20 72 65 74 75 |r != noE|rr) retu|
|000024c0| 72 6e 3b 0d 09 70 62 2e | 64 69 72 49 6e 66 6f 2e |rn;..pb.|dirInfo.|
|000024d0| 69 6f 4e 61 6d 65 50 74 | 72 20 3d 20 66 53 70 65 |ioNamePt|r = fSpe|
|000024e0| 63 2e 6e 61 6d 65 3b 0d | 09 70 62 2e 64 69 72 49 |c.name;.|.pb.dirI|
|000024f0| 6e 66 6f 2e 69 6f 56 52 | 65 66 4e 75 6d 20 3d 20 |nfo.ioVR|efNum = |
|00002500| 66 53 70 65 63 2e 76 52 | 65 66 4e 75 6d 3b 0d 09 |fSpec.vR|efNum;..|
|00002510| 70 62 2e 64 69 72 49 6e | 66 6f 2e 69 6f 46 44 69 |pb.dirIn|fo.ioFDi|
|00002520| 72 49 6e 64 65 78 20 3d | 20 30 3b 0d 09 70 62 2e |rIndex =| 0;..pb.|
|00002530| 64 69 72 49 6e 66 6f 2e | 69 6f 44 72 44 69 72 49 |dirInfo.|ioDrDirI|
|00002540| 44 20 3d 20 66 53 70 65 | 63 2e 70 61 72 49 44 3b |D = fSpe|c.parID;|
|00002550| 0d 09 65 72 72 20 3d 20 | 50 42 47 65 74 43 61 74 |..err = |PBGetCat|
|00002560| 49 6e 66 6f 28 26 70 62 | 2c 20 66 61 6c 73 65 29 |Info(&pb|, false)|
|00002570| 3b 0d 09 69 66 20 28 65 | 72 72 20 21 3d 20 6e 6f |;..if (e|rr != no|
|00002580| 45 72 72 29 20 72 65 74 | 75 72 6e 3b 0d 09 69 66 |Err) ret|urn;..if|
|00002590| 20 28 28 28 70 62 2e 64 | 69 72 49 6e 66 6f 2e 69 | (((pb.d|irInfo.i|
|000025a0| 6f 46 6c 41 74 74 72 69 | 62 20 3e 3e 20 34 29 20 |oFlAttri|b >> 4) |
|000025b0| 26 20 31 29 20 3d 3d 20 | 30 29 20 72 65 74 75 72 |& 1) == |0) retur|
|000025c0| 6e 3b 0d 09 2a 76 52 65 | 66 4e 75 6d 20 3d 20 70 |n;..*vRe|fNum = p|
|000025d0| 62 2e 64 69 72 49 6e 66 | 6f 2e 69 6f 56 52 65 66 |b.dirInf|o.ioVRef|
|000025e0| 4e 75 6d 3b 0d 09 2a 64 | 69 72 49 44 20 3d 20 70 |Num;..*d|irID = p|
|000025f0| 62 2e 64 69 72 49 6e 66 | 6f 2e 69 6f 44 72 44 69 |b.dirInf|o.ioDrDi|
|00002600| 72 49 44 3b 0d 09 2a 76 | 61 6c 69 64 20 3d 20 74 |rID;..*v|alid = t|
|00002610| 72 75 65 3b 0d 7d 0d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |rue;.}..|../*----|
|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 2d 2d 2d 2d 2d |--------|--------|
|00002640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002660| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 53 65 61 72 63 68 |--------|..Search|
|00002670| 46 6f 6c 64 65 72 42 79 | 43 72 65 61 74 6f 72 41 |FolderBy|CreatorA|
|00002680| 6e 64 54 79 70 65 0d 09 | 0d 09 53 65 61 72 63 68 |ndType..|..Search|
|00002690| 20 61 20 66 6f 6c 64 65 | 72 20 66 6f 72 20 61 20 | a folde|r for a |
|000026a0| 66 69 6c 65 20 62 79 20 | 63 72 65 61 74 6f 72 20 |file by |creator |
|000026b0| 61 6e 64 20 74 79 70 65 | 2e 0d 09 0d 09 45 6e 74 |and type|.....Ent|
|000026c0| 72 79 3a 09 66 53 70 65 | 63 20 3d 20 70 6f 69 6e |ry:.fSpe|c = poin|
|000026d0| 74 65 72 20 74 6f 20 66 | 69 6c 65 20 73 70 65 63 |ter to f|ile spec|
|000026e0| 20 77 69 74 68 20 76 52 | 65 66 4e 75 6d 20 61 6e | with vR|efNum an|
|000026f0| 64 20 70 61 72 49 44 20 | 66 69 6c 6c 65 64 20 69 |d parID |filled i|
|00002700| 6e 0d 09 09 09 09 66 6f | 72 20 74 68 65 20 66 6f |n.....fo|r the fo|
|00002710| 6c 64 65 72 20 74 6f 20 | 62 65 20 73 65 61 72 63 |lder to |be searc|
|00002720| 68 65 64 2e 0d 09 09 09 | 63 72 65 61 74 6f 72 20 |hed.....|creator |
|00002730| 3d 20 63 72 65 61 74 6f | 72 20 63 6f 64 65 2e 0d |= creato|r code..|
|00002740| 09 09 09 66 69 6c 65 54 | 79 70 65 20 3d 20 66 69 |...fileT|ype = fi|
|00002750| 6c 65 20 74 79 70 65 2e | 0d 09 09 09 2a 69 6e 64 |le type.|....*ind|
|00002760| 65 78 20 3d 20 73 74 61 | 72 74 69 6e 67 20 69 6e |ex = sta|rting in|
|00002770| 64 65 78 20 69 6e 20 66 | 6f 6c 64 65 72 2e 20 50 |dex in f|older. P|
|00002780| 61 73 73 20 31 20 74 6f | 20 73 65 61 72 63 68 20 |ass 1 to| search |
|00002790| 74 68 65 20 65 6e 74 69 | 72 65 0d 09 09 09 09 66 |the enti|re.....f|
|000027a0| 6f 6c 64 65 72 2e 0d 09 | 0d 09 45 78 69 74 3a 09 |older...|..Exit:.|
|000027b0| 66 75 6e 63 74 69 6f 6e | 20 72 65 73 75 6c 74 20 |function| result |
|000027c0| 3d 20 65 72 72 6f 72 20 | 63 6f 64 65 2e 0d 09 09 |= error |code....|
|000027d0| 09 09 3d 20 66 6e 66 45 | 72 72 20 69 66 20 66 69 |..= fnfE|rr if fi|
|000027e0| 6c 65 20 6e 6f 74 20 66 | 6f 75 6e 64 2e 0d 09 09 |le not f|ound....|
|000027f0| 09 2a 66 53 70 65 63 20 | 3d 20 66 69 6c 65 20 73 |.*fSpec |= file s|
|00002800| 70 65 63 20 6f 66 20 6c | 6f 63 61 74 65 64 20 66 |pec of l|ocated f|
|00002810| 69 6c 65 20 69 6e 20 66 | 6f 6c 64 65 72 2e 0d 09 |ile in f|older...|
|00002820| 09 09 2a 69 6e 64 65 78 | 20 3d 20 69 6e 64 65 78 |..*index| = index|
|00002830| 20 6f 66 20 6c 6f 63 61 | 74 65 64 20 66 69 6c 65 | of loca|ted file|
|00002840| 20 69 6e 20 66 6f 6c 64 | 65 72 2e 0d 2d 2d 2d 2d | in fold|er..----|
|00002850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002890| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 0d 4f 53 45 72 |--------|*/..OSEr|
|000028a0| 72 20 53 65 61 72 63 68 | 46 6f 6c 64 65 72 42 79 |r Search|FolderBy|
|000028b0| 43 72 65 61 74 6f 72 41 | 6e 64 54 79 70 65 20 28 |CreatorA|ndType (|
|000028c0| 46 53 53 70 65 63 20 2a | 66 53 70 65 63 2c 20 4f |FSSpec *|fSpec, O|
|000028d0| 53 54 79 70 65 20 63 72 | 65 61 74 6f 72 2c 20 4f |SType cr|eator, O|
|000028e0| 53 54 79 70 65 20 66 69 | 6c 65 54 79 70 65 2c 0d |SType fi|leType,.|
|000028f0| 09 73 68 6f 72 74 20 2a | 69 6e 64 65 78 29 0d 7b |.short *|index).{|
|00002900| 0d 09 43 49 6e 66 6f 50 | 42 52 65 63 20 70 42 6c |..CInfoP|BRec pBl|
|00002910| 6f 63 6b 3b 0d 09 46 49 | 6e 66 6f 20 66 6e 64 72 |ock;..FI|nfo fndr|
|00002920| 49 6e 66 6f 3b 0d 09 4f | 53 45 72 72 20 65 72 72 |Info;..O|SErr err|
|00002930| 20 3d 20 6e 6f 45 72 72 | 3b 0d 09 73 68 6f 72 74 | = noErr|;..short|
|00002940| 20 69 3b 0d 09 0d 09 69 | 20 3d 20 2a 69 6e 64 65 | i;....i| = *inde|
|00002950| 78 3b 0d 09 77 68 69 6c | 65 20 28 74 72 75 65 29 |x;..whil|e (true)|
|00002960| 20 7b 0d 09 09 70 42 6c | 6f 63 6b 2e 68 46 69 6c | {...pBl|ock.hFil|
|00002970| 65 49 6e 66 6f 2e 69 6f | 56 52 65 66 4e 75 6d 20 |eInfo.io|VRefNum |
|00002980| 3d 20 66 53 70 65 63 2d | 3e 76 52 65 66 4e 75 6d |= fSpec-|>vRefNum|
|00002990| 3b 0d 09 09 70 42 6c 6f | 63 6b 2e 68 46 69 6c 65 |;...pBlo|ck.hFile|
|000029a0| 49 6e 66 6f 2e 69 6f 44 | 69 72 49 44 20 3d 20 66 |Info.ioD|irID = f|
|000029b0| 53 70 65 63 2d 3e 70 61 | 72 49 44 3b 0d 09 09 70 |Spec->pa|rID;...p|
|000029c0| 42 6c 6f 63 6b 2e 68 46 | 69 6c 65 49 6e 66 6f 2e |Block.hF|ileInfo.|
|000029d0| 69 6f 4e 61 6d 65 50 74 | 72 20 3d 20 66 53 70 65 |ioNamePt|r = fSpe|
|000029e0| 63 2d 3e 6e 61 6d 65 3b | 0d 09 09 70 42 6c 6f 63 |c->name;|...pBloc|
|000029f0| 6b 2e 68 46 69 6c 65 49 | 6e 66 6f 2e 69 6f 46 44 |k.hFileI|nfo.ioFD|
|00002a00| 69 72 49 6e 64 65 78 20 | 3d 20 69 3b 0d 09 09 65 |irIndex |= i;...e|
|00002a10| 72 72 20 3d 20 50 42 47 | 65 74 43 61 74 49 6e 66 |rr = PBG|etCatInf|
|00002a20| 6f 53 79 6e 63 28 26 70 | 42 6c 6f 63 6b 29 3b 0d |oSync(&p|Block);.|
|00002a30| 09 09 69 66 20 28 65 72 | 72 20 21 3d 20 6e 6f 45 |..if (er|r != noE|
|00002a40| 72 72 29 20 72 65 74 75 | 72 6e 20 66 6e 66 45 72 |rr) retu|rn fnfEr|
|00002a50| 72 3b 0d 09 09 69 66 20 | 28 28 28 70 42 6c 6f 63 |r;...if |(((pBloc|
|00002a60| 6b 2e 68 46 69 6c 65 49 | 6e 66 6f 2e 69 6f 46 6c |k.hFileI|nfo.ioFl|
|00002a70| 41 74 74 72 69 62 20 3e | 3e 20 34 29 20 26 20 31 |Attrib >|> 4) & 1|
|00002a80| 29 20 3d 3d 20 30 29 20 | 7b 0d 09 09 09 65 72 72 |) == 0) |{....err|
|00002a90| 20 3d 20 46 53 70 47 65 | 74 46 49 6e 66 6f 28 66 | = FSpGe|tFInfo(f|
|00002aa0| 53 70 65 63 2c 20 26 66 | 6e 64 72 49 6e 66 6f 29 |Spec, &f|ndrInfo)|
|00002ab0| 3b 0d 09 09 09 69 66 20 | 28 65 72 72 20 21 3d 20 |;....if |(err != |
|00002ac0| 6e 6f 45 72 72 29 20 72 | 65 74 75 72 6e 20 65 72 |noErr) r|eturn er|
|00002ad0| 72 3b 0d 09 09 09 69 66 | 20 28 66 6e 64 72 49 6e |r;....if| (fndrIn|
|00002ae0| 66 6f 2e 66 64 43 72 65 | 61 74 6f 72 20 3d 3d 20 |fo.fdCre|ator == |
|00002af0| 63 72 65 61 74 6f 72 20 | 26 26 20 66 6e 64 72 49 |creator |&& fndrI|
|00002b00| 6e 66 6f 2e 66 64 54 79 | 70 65 20 3d 3d 20 66 69 |nfo.fdTy|pe == fi|
|00002b10| 6c 65 54 79 70 65 29 20 | 7b 0d 09 09 09 09 2a 69 |leType) |{.....*i|
|00002b20| 6e 64 65 78 20 3d 20 69 | 3b 0d 09 09 09 09 72 65 |ndex = i|;.....re|
|00002b30| 74 75 72 6e 20 6e 6f 45 | 72 72 3b 0d 09 09 09 7d |turn noE|rr;....}|
|00002b40| 0d 09 09 7d 0d 09 09 69 | 2b 2b 3b 0d 09 7d 0d 7d |...}...i|++;..}.}|
|00002b50| 0d 0d 0d 0d 2f 2a 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..../*--|--------|
|00002b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ba0| 2d 2d 0d 09 46 69 6c 65 | 4f 72 46 6f 6c 64 65 72 |--..File|OrFolder|
|00002bb0| 45 78 69 73 74 73 0d 09 | 0d 09 43 68 65 63 6b 20 |Exists..|..Check |
|00002bc0| 74 6f 20 73 65 65 20 69 | 66 20 61 20 66 69 6c 65 |to see i|f a file|
|00002bd0| 20 6f 72 20 66 6f 6c 64 | 65 72 20 77 69 74 68 20 | or fold|er with |
|00002be0| 61 20 67 69 76 65 6e 20 | 6e 61 6d 65 20 65 78 69 |a given |name exi|
|00002bf0| 73 74 73 20 69 6e 20 61 | 0d 09 64 69 72 65 63 74 |sts in a|..direct|
|00002c00| 6f 72 79 2e 0d 09 0d 09 | 45 6e 74 72 79 3a 09 66 |ory.....|Entry:.f|
|00002c10| 53 70 65 63 20 3d 20 70 | 6f 69 6e 74 65 72 20 74 |Spec = p|ointer t|
|00002c20| 6f 20 66 69 6c 65 20 73 | 70 65 63 2e 0d 09 0d 09 |o file s|pec.....|
|00002c30| 45 78 69 74 3a 09 66 75 | 6e 63 74 69 6f 6e 20 72 |Exit:.fu|nction r|
|00002c40| 65 73 75 6c 74 20 3d 20 | 65 72 72 6f 72 20 63 6f |esult = |error co|
|00002c50| 64 65 0d 09 09 09 09 3d | 20 66 6e 66 45 72 72 20 |de.....=| fnfErr |
|00002c60| 69 66 20 66 69 6c 65 20 | 6f 72 20 66 6f 6c 64 65 |if file |or folde|
|00002c70| 72 20 64 6f 65 73 6e 27 | 74 20 65 78 69 73 74 2e |r doesn'|t exist.|
|00002c80| 0d 09 09 09 09 3d 20 6e | 6f 45 72 72 20 69 66 20 |.....= n|oErr if |
|00002c90| 66 69 6c 65 20 6f 72 20 | 66 6f 6c 64 65 72 20 64 |file or |folder d|
|00002ca0| 6f 65 73 20 65 78 69 73 | 74 2e 0d 09 09 09 09 3d |oes exis|t......=|
|00002cb0| 20 73 6f 6d 65 74 68 69 | 6e 67 20 65 6c 73 65 20 | somethi|ng else |
|00002cc0| 69 66 20 65 72 72 6f 72 | 2e 0d 2d 2d 2d 2d 2d 2d |if error|..------|
|00002cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ce0| 2d 2d 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 2a 2f | 0d 0d 4f 53 45 72 72 20 |------*/|..OSErr |
|00002d20| 46 69 6c 65 4f 72 46 6f | 6c 64 65 72 45 78 69 73 |FileOrFo|lderExis|
|00002d30| 74 73 20 28 46 53 53 70 | 65 63 20 2a 66 53 70 65 |ts (FSSp|ec *fSpe|
|00002d40| 63 29 0d 7b 0d 09 4f 53 | 45 72 72 20 65 72 72 20 |c).{..OS|Err err |
|00002d50| 3d 20 6e 6f 45 72 72 3b | 0d 09 43 49 6e 66 6f 50 |= noErr;|..CInfoP|
|00002d60| 42 52 65 63 20 70 42 6c | 6f 63 6b 3b 0d 09 0d 09 |BRec pBl|ock;....|
|00002d70| 70 42 6c 6f 63 6b 2e 68 | 46 69 6c 65 49 6e 66 6f |pBlock.h|FileInfo|
|00002d80| 2e 69 6f 56 52 65 66 4e | 75 6d 20 3d 20 66 53 70 |.ioVRefN|um = fSp|
|00002d90| 65 63 2d 3e 76 52 65 66 | 4e 75 6d 3b 0d 09 70 42 |ec->vRef|Num;..pB|
|00002da0| 6c 6f 63 6b 2e 68 46 69 | 6c 65 49 6e 66 6f 2e 69 |lock.hFi|leInfo.i|
|00002db0| 6f 44 69 72 49 44 20 3d | 20 66 53 70 65 63 2d 3e |oDirID =| fSpec->|
|00002dc0| 70 61 72 49 44 3b 0d 09 | 70 42 6c 6f 63 6b 2e 68 |parID;..|pBlock.h|
|00002dd0| 46 69 6c 65 49 6e 66 6f | 2e 69 6f 4e 61 6d 65 50 |FileInfo|.ioNameP|
|00002de0| 74 72 20 3d 20 66 53 70 | 65 63 2d 3e 6e 61 6d 65 |tr = fSp|ec->name|
|00002df0| 3b 0d 09 70 42 6c 6f 63 | 6b 2e 68 46 69 6c 65 49 |;..pBloc|k.hFileI|
|00002e00| 6e 66 6f 2e 69 6f 46 44 | 69 72 49 6e 64 65 78 20 |nfo.ioFD|irIndex |
|00002e10| 3d 20 30 3b 0d 09 72 65 | 74 75 72 6e 20 50 42 47 |= 0;..re|turn PBG|
|00002e20| 65 74 43 61 74 49 6e 66 | 6f 53 79 6e 63 28 26 70 |etCatInf|oSync(&p|
|00002e30| 42 6c 6f 63 6b 29 3b 0d | 7d 0d 0d 0d 0d 2f 2a 2d |Block);.|}..../*-|
|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 0d 09 4d 61 6b |--------|---..Mak|
|00002e90| 65 46 69 6c 65 4e 61 6d | 65 55 6e 69 71 75 65 0d |eFileNam|eUnique.|
|00002ea0| 09 0d 09 47 65 6e 65 72 | 61 74 65 20 61 20 75 6e |...Gener|ate a un|
|00002eb0| 69 71 75 65 20 66 69 6c | 65 20 6e 61 6d 65 20 69 |ique fil|e name i|
|00002ec0| 6e 20 61 20 64 69 72 65 | 63 74 6f 72 79 2e 0d 09 |n a dire|ctory...|
|00002ed0| 0d 09 45 6e 74 72 79 3a | 09 66 53 70 65 63 20 3d |..Entry:|.fSpec =|
|00002ee0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 66 69 6c 65 | pointer| to file|
|00002ef0| 20 73 70 65 63 20 77 69 | 74 68 6f 75 74 20 73 75 | spec wi|thout su|
|00002f00| 66 66 69 78 2e 0d 09 09 | 09 73 75 66 66 69 78 20 |ffix....|.suffix |
|00002f10| 3d 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 73 75 66 |= pointe|r to suf|
|00002f20| 66 69 78 20 73 74 72 69 | 6e 67 2c 20 6f 72 20 6e |fix stri|ng, or n|
|00002f30| 69 6c 20 69 66 20 6e 6f | 6e 65 2e 0d 09 0d 09 45 |il if no|ne.....E|
|00002f40| 78 69 74 3a 09 66 75 6e | 63 74 69 6f 6e 20 72 65 |xit:.fun|ction re|
|00002f50| 73 75 6c 74 20 3d 20 65 | 72 72 6f 72 20 63 6f 64 |sult = e|rror cod|
|00002f60| 65 2e 0d 09 09 09 2a 66 | 53 70 65 63 20 3d 20 66 |e.....*f|Spec = f|
|00002f70| 69 6c 65 20 73 70 65 63 | 20 77 69 74 68 20 75 6e |ile spec| with un|
|00002f80| 69 71 75 65 20 6e 61 6d | 65 2e 0d 2d 2d 2d 2d 2d |ique nam|e..-----|
|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 2d 2d 2a | 2f 0d 0d 4f 53 45 72 72 |-------*|/..OSErr|
|00002fe0| 20 4d 61 6b 65 46 69 6c | 65 4e 61 6d 65 55 6e 69 | MakeFil|eNameUni|
|00002ff0| 71 75 65 20 28 46 53 53 | 70 65 63 20 2a 66 53 70 |que (FSS|pec *fSp|
|00003000| 65 63 2c 20 63 68 61 72 | 20 2a 73 75 66 66 69 78 |ec, char| *suffix|
|00003010| 29 0d 7b 0d 09 73 68 6f | 72 74 20 6e 2c 20 73 74 |).{..sho|rt n, st|
|00003020| 75 62 4c 65 6e 2c 20 73 | 75 66 66 69 78 4c 65 6e |ubLen, s|uffixLen|
|00003030| 2c 20 64 69 67 69 74 73 | 4c 65 6e 3b 0d 09 63 68 |, digits|Len;..ch|
|00003040| 61 72 20 66 69 6c 65 4e | 61 6d 65 53 74 75 62 5b |ar fileN|ameStub[|
|00003050| 33 32 5d 3b 0d 09 63 68 | 61 72 20 64 69 67 69 74 |32];..ch|ar digit|
|00003060| 73 53 74 72 5b 33 32 5d | 3b 0d 09 63 68 61 72 20 |sStr[32]|;..char |
|00003070| 2a 73 75 66 66 69 78 53 | 74 72 3b 0d 09 4f 53 45 |*suffixS|tr;..OSE|
|00003080| 72 72 20 65 72 72 20 3d | 20 6e 6f 45 72 72 3b 0d |rr err =| noErr;.|
|00003090| 09 0d 09 43 6f 70 79 50 | 61 73 63 61 6c 53 74 72 |...CopyP|ascalStr|
|000030a0| 69 6e 67 28 28 53 74 72 | 69 6e 67 50 74 72 29 66 |ing((Str|ingPtr)f|
|000030b0| 69 6c 65 4e 61 6d 65 53 | 74 75 62 2c 20 66 53 70 |ileNameS|tub, fSp|
|000030c0| 65 63 2d 3e 6e 61 6d 65 | 29 3b 0d 09 70 32 63 73 |ec->name|);..p2cs|
|000030d0| 74 72 28 28 53 74 72 69 | 6e 67 50 74 72 29 66 69 |tr((Stri|ngPtr)fi|
|000030e0| 6c 65 4e 61 6d 65 53 74 | 75 62 29 3b 0d 09 73 75 |leNameSt|ub);..su|
|000030f0| 66 66 69 78 53 74 72 20 | 3d 20 73 75 66 66 69 78 |ffixStr |= suffix|
|00003100| 20 3d 3d 20 6e 69 6c 20 | 3f 20 22 22 20 3a 20 73 | == nil |? "" : s|
|00003110| 75 66 66 69 78 3b 0d 09 | 73 74 75 62 4c 65 6e 20 |uffix;..|stubLen |
|00003120| 3d 20 73 74 72 6c 65 6e | 28 66 69 6c 65 4e 61 6d |= strlen|(fileNam|
|00003130| 65 53 74 75 62 29 3b 0d | 09 73 75 66 66 69 78 4c |eStub);.|.suffixL|
|00003140| 65 6e 20 3d 20 73 74 72 | 6c 65 6e 28 73 75 66 66 |en = str|len(suff|
|00003150| 69 78 53 74 72 29 3b 0d | 09 69 66 20 28 73 74 75 |ixStr);.|.if (stu|
|00003160| 62 4c 65 6e 20 2b 20 73 | 75 66 66 69 78 4c 65 6e |bLen + s|uffixLen|
|00003170| 20 3e 20 33 31 29 20 7b | 0d 09 09 73 74 75 62 4c | > 31) {|...stubL|
|00003180| 65 6e 20 3d 20 33 31 20 | 2d 20 73 75 66 66 69 78 |en = 31 |- suffix|
|00003190| 4c 65 6e 3b 0d 09 09 66 | 69 6c 65 4e 61 6d 65 53 |Len;...f|ileNameS|
|000031a0| 74 75 62 5b 73 74 75 62 | 4c 65 6e 5d 20 3d 20 30 |tub[stub|Len] = 0|
|000031b0| 3b 0d 09 7d 0d 09 6e 20 | 3d 20 31 3b 0d 09 73 70 |;..}..n |= 1;..sp|
|000031c0| 72 69 6e 74 66 28 28 63 | 68 61 72 2a 29 66 53 70 |rintf((c|har*)fSp|
|000031d0| 65 63 2d 3e 6e 61 6d 65 | 2c 20 22 25 73 25 73 22 |ec->name|, "%s%s"|
|000031e0| 2c 20 66 69 6c 65 4e 61 | 6d 65 53 74 75 62 2c 20 |, fileNa|meStub, |
|000031f0| 73 75 66 66 69 78 53 74 | 72 29 3b 0d 09 63 32 70 |suffixSt|r);..c2p|
|00003200| 73 74 72 28 28 63 68 61 | 72 2a 29 66 53 70 65 63 |str((cha|r*)fSpec|
|00003210| 2d 3e 6e 61 6d 65 29 3b | 0d 09 77 68 69 6c 65 20 |->name);|..while |
|00003220| 28 74 72 75 65 29 20 7b | 0d 09 09 65 72 72 20 3d |(true) {|...err =|
|00003230| 20 46 69 6c 65 4f 72 46 | 6f 6c 64 65 72 45 78 69 | FileOrF|olderExi|
|00003240| 73 74 73 28 66 53 70 65 | 63 29 3b 0d 09 09 69 66 |sts(fSpe|c);...if|
|00003250| 20 28 65 72 72 20 3d 3d | 20 66 6e 66 45 72 72 29 | (err ==| fnfErr)|
|00003260| 20 72 65 74 75 72 6e 20 | 6e 6f 45 72 72 3b 0d 09 | return |noErr;..|
|00003270| 09 69 66 20 28 65 72 72 | 20 21 3d 20 6e 6f 45 72 |.if (err| != noEr|
|00003280| 72 29 20 72 65 74 75 72 | 6e 20 65 72 72 3b 0d 09 |r) retur|n err;..|
|00003290| 09 6e 2b 2b 3b 0d 09 09 | 73 70 72 69 6e 74 66 28 |.n++;...|sprintf(|
|000032a0| 64 69 67 69 74 73 53 74 | 72 2c 20 22 2e 25 64 22 |digitsSt|r, ".%d"|
|000032b0| 2c 20 6e 29 3b 0d 09 09 | 64 69 67 69 74 73 4c 65 |, n);...|digitsLe|
|000032c0| 6e 20 3d 20 73 74 72 6c | 65 6e 28 64 69 67 69 74 |n = strl|en(digit|
|000032d0| 73 53 74 72 29 3b 0d 09 | 09 69 66 20 28 73 74 75 |sStr);..|.if (stu|
|000032e0| 62 4c 65 6e 20 2b 20 64 | 69 67 69 74 73 4c 65 6e |bLen + d|igitsLen|
|000032f0| 20 2b 20 73 75 66 66 69 | 78 4c 65 6e 20 3e 20 33 | + suffi|xLen > 3|
|00003300| 31 29 20 7b 0d 09 09 09 | 73 74 75 62 4c 65 6e 20 |1) {....|stubLen |
|00003310| 3d 20 33 31 20 2d 20 73 | 75 66 66 69 78 4c 65 6e |= 31 - s|uffixLen|
|00003320| 20 2d 20 64 69 67 69 74 | 73 4c 65 6e 3b 0d 09 09 | - digit|sLen;...|
|00003330| 09 66 69 6c 65 4e 61 6d | 65 53 74 75 62 5b 73 74 |.fileNam|eStub[st|
|00003340| 75 62 4c 65 6e 5d 20 3d | 20 30 3b 0d 09 09 7d 0d |ubLen] =| 0;...}.|
|00003350| 09 09 73 70 72 69 6e 74 | 66 28 28 63 68 61 72 2a |..sprint|f((char*|
|00003360| 29 66 53 70 65 63 2d 3e | 6e 61 6d 65 2c 20 22 25 |)fSpec->|name, "%|
|00003370| 73 25 73 25 73 22 2c 20 | 66 69 6c 65 4e 61 6d 65 |s%s%s", |fileName|
|00003380| 53 74 75 62 2c 20 64 69 | 67 69 74 73 53 74 72 2c |Stub, di|gitsStr,|
|00003390| 20 73 75 66 66 69 78 53 | 74 72 29 3b 0d 09 09 63 | suffixS|tr);...c|
|000033a0| 32 70 73 74 72 28 28 63 | 68 61 72 2a 29 66 53 70 |2pstr((c|har*)fSp|
|000033b0| 65 63 2d 3e 6e 61 6d 65 | 29 3b 0d 09 7d 0d 7d 0d |ec->name|);..}.}.|
|000033c0| 0d 0d 0d 2f 2a 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 2d 2d 2d 2d 2d 2d |--------|--------|
|00003400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003410| 2d 0d 09 4d 79 46 53 57 | 72 69 74 65 4e 6f 43 61 |-..MyFSW|riteNoCa|
|00003420| 63 68 65 0d 09 0d 09 57 | 72 69 74 65 20 64 61 74 |che....W|rite dat|
|00003430| 61 20 74 6f 20 61 20 66 | 69 6c 65 20 77 69 74 68 |a to a f|ile with|
|00003440| 20 6e 6f 20 63 61 63 68 | 69 6e 67 2e 0d 09 0d 09 | no cach|ing.....|
|00003450| 45 6e 74 72 79 3a 09 66 | 52 65 66 4e 75 6d 20 3d |Entry:.f|RefNum =|
|00003460| 20 66 69 6c 65 20 72 65 | 66 65 72 65 6e 63 65 20 | file re|ference |
|00003470| 6e 75 6d 62 65 72 2e 0d | 09 09 09 69 6e 4f 75 74 |number..|...inOut|
|00003480| 43 6f 75 6e 74 20 3d 20 | 70 6f 69 6e 74 65 72 20 |Count = |pointer |
|00003490| 74 6f 20 6e 75 6d 62 65 | 72 20 6f 66 20 62 79 74 |to numbe|r of byt|
|000034a0| 65 73 20 74 6f 20 77 72 | 69 74 65 2e 0d 09 09 09 |es to wr|ite.....|
|000034b0| 62 75 66 66 65 72 20 3d | 20 70 6f 69 6e 74 65 72 |buffer =| pointer|
|000034c0| 20 74 6f 20 64 61 74 61 | 20 74 6f 20 77 72 69 74 | to data| to writ|
|000034d0| 65 2e 0d 09 09 09 67 69 | 76 65 54 69 6d 65 20 3d |e.....gi|veTime =|
|000034e0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 66 75 6e 63 | pointer| to func|
|000034f0| 74 69 6f 6e 20 74 6f 20 | 67 69 76 65 20 74 69 6d |tion to |give tim|
|00003500| 65 20 74 6f 20 6f 74 68 | 65 72 0d 09 09 09 09 70 |e to oth|er.....p|
|00003510| 72 6f 63 65 73 73 65 73 | 20 64 75 72 69 6e 67 20 |rocesses| during |
|00003520| 74 68 65 20 77 72 69 74 | 65 2c 20 6f 72 20 6e 69 |the writ|e, or ni|
|00003530| 6c 20 69 66 20 6e 6f 6e | 65 2e 0d 09 0d 09 45 78 |l if non|e.....Ex|
|00003540| 69 74 3a 09 66 75 6e 63 | 74 69 6f 6e 20 72 65 73 |it:.func|tion res|
|00003550| 75 6c 74 20 3d 20 65 72 | 72 6f 72 20 63 6f 64 65 |ult = er|ror code|
|00003560| 2e 0d 09 09 09 2a 69 6e | 4f 75 74 43 6f 75 6e 74 |.....*in|OutCount|
|00003570| 20 3d 20 6e 75 6d 62 65 | 72 20 6f 66 20 62 79 74 | = numbe|r of byt|
|00003580| 65 73 20 77 72 69 74 74 | 65 6e 2e 0d 2d 2d 2d 2d |es writt|en..----|
|00003590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000035a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000035b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000035c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000035d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 0d 4f 53 45 72 |--------|*/..OSEr|
|000035e0| 72 20 4d 79 46 53 57 72 | 69 74 65 4e 6f 43 61 63 |r MyFSWr|iteNoCac|
|000035f0| 68 65 20 28 73 68 6f 72 | 74 20 66 52 65 66 4e 75 |he (shor|t fRefNu|
|00003600| 6d 2c 20 6c 6f 6e 67 20 | 2a 69 6e 4f 75 74 43 6f |m, long |*inOutCo|
|00003610| 75 6e 74 2c 20 50 74 72 | 20 62 75 66 66 65 72 2c |unt, Ptr| buffer,|
|00003620| 0d 09 4f 53 45 72 72 20 | 28 2a 67 69 76 65 54 69 |..OSErr |(*giveTi|
|00003630| 6d 65 29 28 42 6f 6f 6c | 65 61 6e 29 29 0d 7b 0d |me)(Bool|ean)).{.|
|00003640| 09 50 61 72 61 6d 42 6c | 6f 63 6b 52 65 63 20 70 |.ParamBl|ockRec p|
|00003650| 42 6c 6f 63 6b 3b 0d 09 | 4f 53 45 72 72 20 65 72 |Block;..|OSErr er|
|00003660| 72 20 3d 20 6e 6f 45 72 | 72 3b 0d 09 0d 09 70 42 |r = noEr|r;....pB|
|00003670| 6c 6f 63 6b 2e 69 6f 50 | 61 72 61 6d 2e 69 6f 43 |lock.ioP|aram.ioC|
|00003680| 6f 6d 70 6c 65 74 69 6f | 6e 20 3d 20 6e 69 6c 3b |ompletio|n = nil;|
|00003690| 0d 09 70 42 6c 6f 63 6b | 2e 69 6f 50 61 72 61 6d |..pBlock|.ioParam|
|000036a0| 2e 69 6f 52 65 73 75 6c | 74 20 3d 20 31 3b 0d 09 |.ioResul|t = 1;..|
|000036b0| 70 42 6c 6f 63 6b 2e 69 | 6f 50 61 72 61 6d 2e 69 |pBlock.i|oParam.i|
|000036c0| 6f 52 65 66 4e 75 6d 20 | 3d 20 66 52 65 66 4e 75 |oRefNum |= fRefNu|
|000036d0| 6d 3b 0d 09 70 42 6c 6f | 63 6b 2e 69 6f 50 61 72 |m;..pBlo|ck.ioPar|
|000036e0| 61 6d 2e 69 6f 42 75 66 | 66 65 72 20 3d 20 62 75 |am.ioBuf|fer = bu|
|000036f0| 66 66 65 72 3b 0d 09 70 | 42 6c 6f 63 6b 2e 69 6f |ffer;..p|Block.io|
|00003700| 50 61 72 61 6d 2e 69 6f | 52 65 71 43 6f 75 6e 74 |Param.io|ReqCount|
|00003710| 20 3d 20 2a 69 6e 4f 75 | 74 43 6f 75 6e 74 3b 0d | = *inOu|tCount;.|
|00003720| 09 70 42 6c 6f 63 6b 2e | 69 6f 50 61 72 61 6d 2e |.pBlock.|ioParam.|
|00003730| 69 6f 50 6f 73 4d 6f 64 | 65 20 3d 20 30 78 32 30 |ioPosMod|e = 0x20|
|00003740| 3b 09 09 09 2f 2a 20 62 | 69 74 20 35 20 73 65 74 |;.../* b|it 5 set|
|00003750| 20 3d 20 6e 6f 20 63 61 | 63 68 65 20 2a 2f 0d 09 | = no ca|che */..|
|00003760| 70 42 6c 6f 63 6b 2e 69 | 6f 50 61 72 61 6d 2e 69 |pBlock.i|oParam.i|
|00003770| 6f 50 6f 73 4f 66 66 73 | 65 74 20 3d 20 30 3b 0d |oPosOffs|et = 0;.|
|00003780| 09 65 72 72 20 3d 20 50 | 42 57 72 69 74 65 41 73 |.err = P|BWriteAs|
|00003790| 79 6e 63 28 26 70 42 6c | 6f 63 6b 29 3b 0d 09 69 |ync(&pBl|ock);..i|
|000037a0| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|000037b0| 20 72 65 74 75 72 6e 20 | 65 72 72 3b 0d 09 64 6f | return |err;..do|
|000037c0| 20 7b 0d 09 09 69 66 20 | 28 65 72 72 20 3d 3d 20 | {...if |(err == |
|000037d0| 6e 6f 45 72 72 20 26 26 | 20 67 69 76 65 54 69 6d |noErr &&| giveTim|
|000037e0| 65 20 21 3d 20 6e 69 6c | 29 20 65 72 72 20 3d 20 |e != nil|) err = |
|000037f0| 28 2a 67 69 76 65 54 69 | 6d 65 29 28 74 72 75 65 |(*giveTi|me)(true|
|00003800| 29 3b 0d 09 7d 20 77 68 | 69 6c 65 20 28 70 42 6c |);..} wh|ile (pBl|
|00003810| 6f 63 6b 2e 69 6f 50 61 | 72 61 6d 2e 69 6f 52 65 |ock.ioPa|ram.ioRe|
|00003820| 73 75 6c 74 20 3e 20 30 | 29 3b 0d 09 2a 69 6e 4f |sult > 0|);..*inO|
|00003830| 75 74 43 6f 75 6e 74 20 | 3d 20 70 42 6c 6f 63 6b |utCount |= pBlock|
|00003840| 2e 69 6f 50 61 72 61 6d | 2e 69 6f 41 63 74 43 6f |.ioParam|.ioActCo|
|00003850| 75 6e 74 3b 0d 09 69 66 | 20 28 65 72 72 20 3d 3d |unt;..if| (err ==|
|00003860| 20 6e 6f 45 72 72 29 20 | 65 72 72 20 3d 20 70 42 | noErr) |err = pB|
|00003870| 6c 6f 63 6b 2e 69 6f 50 | 61 72 61 6d 2e 69 6f 52 |lock.ioP|aram.ioR|
|00003880| 65 73 75 6c 74 3b 0d 09 | 72 65 74 75 72 6e 20 65 |esult;..|return e|
|00003890| 72 72 3b 0d 7d 0d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d |rr;.}...|./*-----|
|000038a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038e0| 2d 2d 2d 2d 2d 2d 2d 0d | 09 47 65 74 46 69 6c 65 |-------.|.GetFile|
|000038f0| 56 6f 6c 52 65 66 4e 75 | 6d 0d 09 0d 09 47 65 74 |VolRefNu|m....Get|
|00003900| 20 74 68 65 20 76 6f 6c | 75 6d 65 20 72 65 66 65 | the vol|ume refe|
|00003910| 72 65 6e 63 65 20 6e 75 | 6d 62 65 72 20 6f 66 20 |rence nu|mber of |
|00003920| 61 6e 20 6f 70 65 6e 20 | 66 69 6c 65 2e 0d 09 0d |an open |file....|
|00003930| 09 45 6e 74 72 79 3a 09 | 66 52 65 66 4e 75 6d 20 |.Entry:.|fRefNum |
|00003940| 3d 20 66 69 6c 65 20 72 | 65 66 65 72 65 6e 63 65 |= file r|eference|
|00003950| 20 6e 75 6d 62 65 72 2e | 0d 09 0d 09 45 78 69 74 | number.|....Exit|
|00003960| 3a 09 66 75 6e 63 74 69 | 6f 6e 20 72 65 73 75 6c |:.functi|on resul|
|00003970| 74 20 3d 20 65 72 72 6f | 72 20 63 6f 64 65 2e 0d |t = erro|r code..|
|00003980| 09 09 09 2a 76 52 65 66 | 4e 75 6d 20 3d 20 76 6f |...*vRef|Num = vo|
|00003990| 6c 75 6d 65 20 72 65 66 | 65 72 65 6e 63 65 20 6e |lume ref|erence n|
|000039a0| 75 6d 62 65 72 2e 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |umber..-|--------|
|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 2a 2f 0d 0d 4f | 53 45 72 72 20 47 65 74 |---*/..O|SErr Get|
|00003a00| 46 69 6c 65 56 6f 6c 52 | 65 66 4e 75 6d 20 28 73 |FileVolR|efNum (s|
|00003a10| 68 6f 72 74 20 66 52 65 | 66 4e 75 6d 2c 20 73 68 |hort fRe|fNum, sh|
|00003a20| 6f 72 74 20 2a 76 52 65 | 66 4e 75 6d 29 0d 7b 0d |ort *vRe|fNum).{.|
|00003a30| 09 46 43 42 50 42 52 65 | 63 20 70 42 6c 6f 63 6b |.FCBPBRe|c pBlock|
|00003a40| 3b 0d 09 4f 53 45 72 72 | 20 65 72 72 20 3d 20 6e |;..OSErr| err = n|
|00003a50| 6f 45 72 72 3b 0d 09 0d | 09 70 42 6c 6f 63 6b 2e |oErr;...|.pBlock.|
|00003a60| 69 6f 52 65 66 4e 75 6d | 20 3d 20 66 52 65 66 4e |ioRefNum| = fRefN|
|00003a70| 75 6d 3b 0d 09 70 42 6c | 6f 63 6b 2e 69 6f 46 43 |um;..pBl|ock.ioFC|
|00003a80| 42 49 6e 64 78 20 3d 20 | 30 3b 0d 09 70 42 6c 6f |BIndx = |0;..pBlo|
|00003a90| 63 6b 2e 69 6f 4e 61 6d | 65 50 74 72 20 3d 20 6e |ck.ioNam|ePtr = n|
|00003aa0| 69 6c 3b 0d 09 65 72 72 | 20 3d 20 50 42 47 65 74 |il;..err| = PBGet|
|00003ab0| 46 43 42 49 6e 66 6f 53 | 79 6e 63 28 26 70 42 6c |FCBInfoS|ync(&pBl|
|00003ac0| 6f 63 6b 29 3b 0d 09 69 | 66 20 28 65 72 72 20 21 |ock);..i|f (err !|
|00003ad0| 3d 20 6e 6f 45 72 72 29 | 20 72 65 74 75 72 6e 20 |= noErr)| return |
|00003ae0| 65 72 72 3b 0d 09 2a 76 | 52 65 66 4e 75 6d 20 3d |err;..*v|RefNum =|
|00003af0| 20 70 42 6c 6f 63 6b 2e | 69 6f 46 43 42 56 52 65 | pBlock.|ioFCBVRe|
|00003b00| 66 4e 75 6d 3b 0d 09 72 | 65 74 75 72 6e 20 6e 6f |fNum;..r|eturn no|
|00003b10| 45 72 72 3b 0d 7d 0d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |Err;.}..|../*----|
|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 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b60| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 4d 79 46 53 43 6c |--------|..MyFSCl|
|00003b70| 6f 73 65 0d 09 0d 09 43 | 6c 6f 73 65 20 61 6e 20 |ose....C|lose an |
|00003b80| 6f 70 65 6e 20 66 69 6c | 65 2e 0d 09 0d 09 45 6e |open fil|e.....En|
|00003b90| 74 72 79 3a 09 66 52 65 | 66 4e 75 6d 20 3d 20 66 |try:.fRe|fNum = f|
|00003ba0| 69 6c 65 20 72 65 66 65 | 72 65 6e 63 65 20 6e 75 |ile refe|rence nu|
|00003bb0| 6d 62 65 72 2e 0d 09 09 | 09 67 69 76 65 54 69 6d |mber....|.giveTim|
|00003bc0| 65 20 3d 20 70 6f 69 6e | 74 65 72 20 74 6f 20 66 |e = poin|ter to f|
|00003bd0| 75 6e 63 74 69 6f 6e 20 | 74 6f 20 67 69 76 65 20 |unction |to give |
|00003be0| 74 69 6d 65 20 74 6f 20 | 6f 74 68 65 72 0d 09 09 |time to |other...|
|00003bf0| 09 09 70 72 6f 63 65 73 | 73 65 73 20 64 75 72 69 |..proces|ses duri|
|00003c00| 6e 67 20 74 68 65 20 63 | 6c 6f 73 65 2c 20 6f 72 |ng the c|lose, or|
|00003c10| 20 6e 69 6c 20 69 66 20 | 6e 6f 6e 65 2e 0d 09 0d | nil if |none....|
|00003c20| 09 45 78 69 74 3a 09 66 | 75 6e 63 74 69 6f 6e 20 |.Exit:.f|unction |
|00003c30| 72 65 73 75 6c 74 20 3d | 20 65 72 72 6f 72 20 63 |result =| error c|
|00003c40| 6f 64 65 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ode..---|--------|
|00003c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003c90| 2d 2a 2f 0d 0d 4f 53 45 | 72 72 20 4d 79 46 53 43 |-*/..OSE|rr MyFSC|
|00003ca0| 6c 6f 73 65 20 28 73 68 | 6f 72 74 20 66 52 65 66 |lose (sh|ort fRef|
|00003cb0| 4e 75 6d 2c 20 4f 53 45 | 72 72 20 28 2a 67 69 76 |Num, OSE|rr (*giv|
|00003cc0| 65 54 69 6d 65 29 28 42 | 6f 6f 6c 65 61 6e 29 29 |eTime)(B|oolean))|
|00003cd0| 0d 7b 0d 09 50 61 72 61 | 6d 42 6c 6f 63 6b 52 65 |.{..Para|mBlockRe|
|00003ce0| 63 20 70 42 6c 6f 63 6b | 3b 0d 09 4f 53 45 72 72 |c pBlock|;..OSErr|
|00003cf0| 20 65 72 72 20 3d 20 6e | 6f 45 72 72 3b 0d 09 73 | err = n|oErr;..s|
|00003d00| 68 6f 72 74 20 76 52 65 | 66 4e 75 6d 3b 0d 09 0d |hort vRe|fNum;...|
|00003d10| 09 65 72 72 20 3d 20 47 | 65 74 46 69 6c 65 56 6f |.err = G|etFileVo|
|00003d20| 6c 52 65 66 4e 75 6d 28 | 66 52 65 66 4e 75 6d 2c |lRefNum(|fRefNum,|
|00003d30| 20 26 76 52 65 66 4e 75 | 6d 29 3b 0d 09 69 66 20 | &vRefNu|m);..if |
|00003d40| 28 65 72 72 20 21 3d 20 | 6e 6f 45 72 72 29 20 72 |(err != |noErr) r|
|00003d50| 65 74 75 72 6e 20 65 72 | 72 3b 0d 09 0d 09 70 42 |eturn er|r;....pB|
|00003d60| 6c 6f 63 6b 2e 69 6f 50 | 61 72 61 6d 2e 69 6f 43 |lock.ioP|aram.ioC|
|00003d70| 6f 6d 70 6c 65 74 69 6f | 6e 20 3d 20 6e 69 6c 3b |ompletio|n = nil;|
|00003d80| 0d 09 70 42 6c 6f 63 6b | 2e 69 6f 50 61 72 61 6d |..pBlock|.ioParam|
|00003d90| 2e 69 6f 52 65 73 75 6c | 74 20 3d 20 31 3b 0d 09 |.ioResul|t = 1;..|
|00003da0| 70 42 6c 6f 63 6b 2e 69 | 6f 50 61 72 61 6d 2e 69 |pBlock.i|oParam.i|
|00003db0| 6f 52 65 66 4e 75 6d 20 | 3d 20 66 52 65 66 4e 75 |oRefNum |= fRefNu|
|00003dc0| 6d 3b 0d 09 65 72 72 20 | 3d 20 50 42 43 6c 6f 73 |m;..err |= PBClos|
|00003dd0| 65 41 73 79 6e 63 28 26 | 70 42 6c 6f 63 6b 29 3b |eAsync(&|pBlock);|
|00003de0| 0d 09 69 66 20 28 65 72 | 72 20 21 3d 20 6e 6f 45 |..if (er|r != noE|
|00003df0| 72 72 29 20 72 65 74 75 | 72 6e 20 65 72 72 3b 0d |rr) retu|rn err;.|
|00003e00| 09 64 6f 20 7b 0d 09 09 | 69 66 20 28 65 72 72 20 |.do {...|if (err |
|00003e10| 3d 3d 20 6e 6f 45 72 72 | 20 26 26 20 67 69 76 65 |== noErr| && give|
|00003e20| 54 69 6d 65 20 21 3d 20 | 6e 69 6c 29 20 65 72 72 |Time != |nil) err|
|00003e30| 20 3d 20 28 2a 67 69 76 | 65 54 69 6d 65 29 28 74 | = (*giv|eTime)(t|
|00003e40| 72 75 65 29 3b 0d 09 7d | 20 77 68 69 6c 65 20 28 |rue);..}| while (|
|00003e50| 70 42 6c 6f 63 6b 2e 69 | 6f 50 61 72 61 6d 2e 69 |pBlock.i|oParam.i|
|00003e60| 6f 52 65 73 75 6c 74 20 | 3e 20 30 29 3b 0d 09 69 |oResult |> 0);..i|
|00003e70| 66 20 28 65 72 72 20 3d | 3d 20 6e 6f 45 72 72 29 |f (err =|= noErr)|
|00003e80| 20 65 72 72 20 3d 20 70 | 42 6c 6f 63 6b 2e 69 6f | err = p|Block.io|
|00003e90| 50 61 72 61 6d 2e 69 6f | 52 65 73 75 6c 74 3b 0d |Param.io|Result;.|
|00003ea0| 09 69 66 20 28 65 72 72 | 20 21 3d 20 6e 6f 45 72 |.if (err| != noEr|
|00003eb0| 72 29 20 72 65 74 75 72 | 6e 20 65 72 72 3b 0d 09 |r) retur|n err;..|
|00003ec0| 65 72 72 20 3d 20 46 6c | 75 73 68 56 6f 6c 28 6e |err = Fl|ushVol(n|
|00003ed0| 69 6c 2c 20 76 52 65 66 | 4e 75 6d 29 3b 0d 09 72 |il, vRef|Num);..r|
|00003ee0| 65 74 75 72 6e 20 65 72 | 72 3b 0d 7d 0d 0d 0d 0d |eturn er|r;.}....|
|00003ef0| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00003f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f20| 2d 2d 2d 2d 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 0d 09 |--------|------..|
|00003f40| 47 65 74 4c 61 73 74 4d | 6f 64 44 61 74 65 54 69 |GetLastM|odDateTi|
|00003f50| 6d 65 0d 09 0d 09 47 65 | 74 20 74 68 65 20 6c 61 |me....Ge|t the la|
|00003f60| 73 74 20 6d 6f 64 20 64 | 61 74 65 20 61 6e 64 20 |st mod d|ate and |
|00003f70| 74 69 6d 65 20 6f 66 20 | 61 20 66 69 6c 65 2e 0d |time of |a file..|
|00003f80| 09 0d 09 45 6e 74 72 79 | 3a 09 66 53 70 65 63 20 |...Entry|:.fSpec |
|00003f90| 3d 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 66 69 6c |= pointe|r to fil|
|00003fa0| 65 20 73 70 65 63 2e 0d | 09 0d 09 45 78 69 74 3a |e spec..|...Exit:|
|00003fb0| 09 66 75 6e 63 74 69 6f | 6e 20 72 65 73 75 6c 74 |.functio|n result|
|00003fc0| 20 3d 20 65 72 72 6f 72 | 20 63 6f 64 65 2e 0d 09 | = error| code...|
|00003fd0| 09 09 2a 6c 61 73 74 4d | 6f 64 44 61 74 65 54 69 |..*lastM|odDateTi|
|00003fe0| 6d 65 20 3d 20 6c 61 73 | 74 20 6d 6f 64 20 64 61 |me = las|t mod da|
|00003ff0| 74 65 20 61 6e 64 20 74 | 69 6d 65 2e 0d 2d 2d 2d |te and t|ime..---|
|00004000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 4f 53 45 |--------|-*/..OSE|
|00004050| 72 72 20 47 65 74 4c 61 | 73 74 4d 6f 64 44 61 74 |rr GetLa|stModDat|
|00004060| 65 54 69 6d 65 28 46 53 | 53 70 65 63 20 2a 66 53 |eTime(FS|Spec *fS|
|00004070| 70 65 63 2c 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |pec, uns|igned lo|
|00004080| 6e 67 20 2a 6c 61 73 74 | 4d 6f 64 44 61 74 65 54 |ng *last|ModDateT|
|00004090| 69 6d 65 29 0d 7b 0d 09 | 43 49 6e 66 6f 50 42 52 |ime).{..|CInfoPBR|
|000040a0| 65 63 20 70 42 6c 6f 63 | 6b 3b 0d 09 4f 53 45 72 |ec pBloc|k;..OSEr|
|000040b0| 72 20 65 72 72 20 3d 20 | 6e 6f 45 72 72 3b 0d 09 |r err = |noErr;..|
|000040c0| 0d 09 70 42 6c 6f 63 6b | 2e 68 46 69 6c 65 49 6e |..pBlock|.hFileIn|
|000040d0| 66 6f 2e 69 6f 4e 61 6d | 65 50 74 72 20 3d 20 66 |fo.ioNam|ePtr = f|
|000040e0| 53 70 65 63 2d 3e 6e 61 | 6d 65 3b 0d 09 70 42 6c |Spec->na|me;..pBl|
|000040f0| 6f 63 6b 2e 68 46 69 6c | 65 49 6e 66 6f 2e 69 6f |ock.hFil|eInfo.io|
|00004100| 56 52 65 66 4e 75 6d 20 | 3d 20 66 53 70 65 63 2d |VRefNum |= fSpec-|
|00004110| 3e 76 52 65 66 4e 75 6d | 3b 0d 09 70 42 6c 6f 63 |>vRefNum|;..pBloc|
|00004120| 6b 2e 68 46 69 6c 65 49 | 6e 66 6f 2e 69 6f 46 44 |k.hFileI|nfo.ioFD|
|00004130| 69 72 49 6e 64 65 78 20 | 3d 20 30 3b 0d 09 70 42 |irIndex |= 0;..pB|
|00004140| 6c 6f 63 6b 2e 68 46 69 | 6c 65 49 6e 66 6f 2e 69 |lock.hFi|leInfo.i|
|00004150| 6f 44 69 72 49 44 20 3d | 20 66 53 70 65 63 2d 3e |oDirID =| fSpec->|
|00004160| 70 61 72 49 44 3b 0d 09 | 65 72 72 20 3d 20 50 42 |parID;..|err = PB|
|00004170| 47 65 74 43 61 74 49 6e | 66 6f 53 79 6e 63 28 26 |GetCatIn|foSync(&|
|00004180| 70 42 6c 6f 63 6b 29 3b | 0d 09 69 66 20 28 65 72 |pBlock);|..if (er|
|00004190| 72 20 21 3d 20 6e 6f 45 | 72 72 29 20 72 65 74 75 |r != noE|rr) retu|
|000041a0| 72 6e 20 65 72 72 3b 0d | 09 2a 6c 61 73 74 4d 6f |rn err;.|.*lastMo|
|000041b0| 64 44 61 74 65 54 69 6d | 65 20 3d 20 70 42 6c 6f |dDateTim|e = pBlo|
|000041c0| 63 6b 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 46 |ck.hFile|Info.ioF|
|000041d0| 6c 4d 64 44 61 74 3b 0d | 09 72 65 74 75 72 6e 20 |lMdDat;.|.return |
|000041e0| 6e 6f 45 72 72 3b 0d 7d | 0d 0d 0d 0d 2f 2a 2d 2d |noErr;.}|..../*--|
|000041f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 53 65 74 4c |--------|--..SetL|
|00004240| 61 73 74 4d 6f 64 44 61 | 74 65 54 69 6d 65 0d 09 |astModDa|teTime..|
|00004250| 0d 09 53 65 74 20 74 68 | 65 20 6c 61 73 74 20 6d |..Set th|e last m|
|00004260| 6f 64 20 64 61 74 65 20 | 61 6e 64 20 74 69 6d 65 |od date |and time|
|00004270| 20 6f 66 20 61 20 66 69 | 6c 65 2e 0d 09 0d 09 45 | of a fi|le.....E|
|00004280| 6e 74 72 79 3a 09 66 53 | 70 65 63 20 3d 20 70 6f |ntry:.fS|pec = po|
|00004290| 69 6e 74 65 72 20 74 6f | 20 66 69 6c 65 20 73 70 |inter to| file sp|
|000042a0| 65 63 2e 0d 09 09 09 6c | 61 73 74 4d 6f 64 44 61 |ec.....l|astModDa|
|000042b0| 74 65 54 69 6d 65 20 3d | 20 6c 61 73 74 20 6d 6f |teTime =| last mo|
|000042c0| 64 20 64 61 74 65 20 61 | 6e 64 20 74 69 6d 65 2e |d date a|nd time.|
|000042d0| 0d 09 0d 09 45 78 69 74 | 3a 09 66 75 6e 63 74 69 |....Exit|:.functi|
|000042e0| 6f 6e 20 72 65 73 75 6c | 74 20 3d 20 65 72 72 6f |on resul|t = erro|
|000042f0| 72 20 63 6f 64 65 2e 0d | 2d 2d 2d 2d 2d 2d 2d 2d |r code..|--------|
|00004300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|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 2a 2f 0d 0d | 4f 53 45 72 72 20 53 65 |----*/..|OSErr Se|
|00004350| 74 4c 61 73 74 4d 6f 64 | 44 61 74 65 54 69 6d 65 |tLastMod|DateTime|
|00004360| 28 46 53 53 70 65 63 20 | 2a 66 53 70 65 63 2c 20 |(FSSpec |*fSpec, |
|00004370| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 6c 61 |unsigned| long la|
|00004380| 73 74 4d 6f 64 44 61 74 | 65 54 69 6d 65 29 0d 7b |stModDat|eTime).{|
|00004390| 0d 09 43 49 6e 66 6f 50 | 42 52 65 63 20 70 42 6c |..CInfoP|BRec pBl|
|000043a0| 6f 63 6b 3b 0d 09 4f 53 | 45 72 72 20 65 72 72 20 |ock;..OS|Err err |
|000043b0| 3d 20 6e 6f 45 72 72 3b | 0d 09 0d 09 70 42 6c 6f |= noErr;|....pBlo|
|000043c0| 63 6b 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 4e |ck.hFile|Info.ioN|
|000043d0| 61 6d 65 50 74 72 20 3d | 20 66 53 70 65 63 2d 3e |amePtr =| fSpec->|
|000043e0| 6e 61 6d 65 3b 0d 09 70 | 42 6c 6f 63 6b 2e 68 46 |name;..p|Block.hF|
|000043f0| 69 6c 65 49 6e 66 6f 2e | 69 6f 56 52 65 66 4e 75 |ileInfo.|ioVRefNu|
|00004400| 6d 20 3d 20 66 53 70 65 | 63 2d 3e 76 52 65 66 4e |m = fSpe|c->vRefN|
|00004410| 75 6d 3b 0d 09 70 42 6c | 6f 63 6b 2e 68 46 69 6c |um;..pBl|ock.hFil|
|00004420| 65 49 6e 66 6f 2e 69 6f | 46 44 69 72 49 6e 64 65 |eInfo.io|FDirInde|
|00004430| 78 20 3d 20 30 3b 0d 09 | 70 42 6c 6f 63 6b 2e 68 |x = 0;..|pBlock.h|
|00004440| 46 69 6c 65 49 6e 66 6f | 2e 69 6f 44 69 72 49 44 |FileInfo|.ioDirID|
|00004450| 20 3d 20 66 53 70 65 63 | 2d 3e 70 61 72 49 44 3b | = fSpec|->parID;|
|00004460| 0d 09 65 72 72 20 3d 20 | 50 42 47 65 74 43 61 74 |..err = |PBGetCat|
|00004470| 49 6e 66 6f 53 79 6e 63 | 28 26 70 42 6c 6f 63 6b |InfoSync|(&pBlock|
|00004480| 29 3b 0d 09 69 66 20 28 | 65 72 72 20 21 3d 20 6e |);..if (|err != n|
|00004490| 6f 45 72 72 29 20 72 65 | 74 75 72 6e 20 65 72 72 |oErr) re|turn err|
|000044a0| 3b 0d 09 70 42 6c 6f 63 | 6b 2e 68 46 69 6c 65 49 |;..pBloc|k.hFileI|
|000044b0| 6e 66 6f 2e 69 6f 4e 61 | 6d 65 50 74 72 20 3d 20 |nfo.ioNa|mePtr = |
|000044c0| 66 53 70 65 63 2d 3e 6e | 61 6d 65 3b 0d 09 70 42 |fSpec->n|ame;..pB|
|000044d0| 6c 6f 63 6b 2e 68 46 69 | 6c 65 49 6e 66 6f 2e 69 |lock.hFi|leInfo.i|
|000044e0| 6f 56 52 65 66 4e 75 6d | 20 3d 20 66 53 70 65 63 |oVRefNum| = fSpec|
|000044f0| 2d 3e 76 52 65 66 4e 75 | 6d 3b 0d 09 70 42 6c 6f |->vRefNu|m;..pBlo|
|00004500| 63 6b 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 46 |ck.hFile|Info.ioF|
|00004510| 44 69 72 49 6e 64 65 78 | 20 3d 20 30 3b 0d 09 70 |DirIndex| = 0;..p|
|00004520| 42 6c 6f 63 6b 2e 68 46 | 69 6c 65 49 6e 66 6f 2e |Block.hF|ileInfo.|
|00004530| 69 6f 44 69 72 49 44 20 | 3d 20 66 53 70 65 63 2d |ioDirID |= fSpec-|
|00004540| 3e 70 61 72 49 44 3b 0d | 09 70 42 6c 6f 63 6b 2e |>parID;.|.pBlock.|
|00004550| 68 46 69 6c 65 49 6e 66 | 6f 2e 69 6f 46 6c 4d 64 |hFileInf|o.ioFlMd|
|00004560| 44 61 74 20 3d 20 6c 61 | 73 74 4d 6f 64 44 61 74 |Dat = la|stModDat|
|00004570| 65 54 69 6d 65 3b 0d 09 | 65 72 72 20 3d 20 50 42 |eTime;..|err = PB|
|00004580| 53 65 74 43 61 74 49 6e | 66 6f 53 79 6e 63 28 26 |SetCatIn|foSync(&|
|00004590| 70 42 6c 6f 63 6b 29 3b | 0d 09 69 66 20 28 65 72 |pBlock);|..if (er|
|000045a0| 72 20 21 3d 20 6e 6f 45 | 72 72 29 20 72 65 74 75 |r != noE|rr) retu|
|000045b0| 72 6e 20 65 72 72 3b 0d | 09 72 65 74 75 72 6e 20 |rn err;.|.return |
|000045c0| 6e 6f 45 72 72 3b 0d 7d | 0d 0d 0d 0d 2f 2a 2d 2d |noErr;.}|..../*--|
|000045d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 43 6f 70 79 |--------|--..Copy|
|00004620| 4f 6e 65 46 6f 72 6b 0d | 09 0d 09 43 6f 70 79 20 |OneFork.|...Copy |
|00004630| 6f 6e 65 20 66 6f 72 6b | 20 6f 66 20 61 20 66 69 |one fork| of a fi|
|00004640| 6c 65 2e 0d 09 0d 09 45 | 6e 74 72 79 3a 09 73 6f |le.....E|ntry:.so|
|00004650| 75 72 63 65 20 3d 20 70 | 6f 69 6e 74 65 72 20 74 |urce = p|ointer t|
|00004660| 6f 20 73 6f 75 72 63 65 | 20 66 69 6c 65 20 73 70 |o source| file sp|
|00004670| 65 63 2e 0d 09 09 09 64 | 65 73 74 20 3d 20 70 6f |ec.....d|est = po|
|00004680| 69 6e 74 65 72 20 74 6f | 20 64 65 73 74 69 6e 61 |inter to| destina|
|00004690| 74 69 6f 6e 20 66 69 6c | 65 20 73 70 65 63 2e 0d |tion fil|e spec..|
|000046a0| 09 09 09 72 65 73 6f 75 | 72 63 65 46 6f 72 6b 20 |...resou|rceFork |
|000046b0| 3d 20 74 72 75 65 20 74 | 6f 20 63 6f 70 79 20 72 |= true t|o copy r|
|000046c0| 65 73 6f 75 72 63 65 20 | 66 6f 72 6b 2c 20 66 61 |esource |fork, fa|
|000046d0| 6c 73 65 20 74 6f 20 63 | 6f 70 79 0d 09 09 09 09 |lse to c|opy.....|
|000046e0| 64 61 74 61 20 66 6f 72 | 6b 2e 0d 09 0d 09 45 78 |data for|k.....Ex|
|000046f0| 69 74 3a 09 66 75 6e 63 | 74 69 6f 6e 20 72 65 73 |it:.func|tion res|
|00004700| 75 6c 74 20 3d 20 65 72 | 72 6f 72 20 63 6f 64 65 |ult = er|ror code|
|00004710| 2e 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..------|--------|
|00004720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004740| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00004760| 0d 0d 73 74 61 74 69 63 | 20 4f 53 45 72 72 20 43 |..static| OSErr C|
|00004770| 6f 70 79 4f 6e 65 46 6f | 72 6b 20 28 46 53 53 70 |opyOneFo|rk (FSSp|
|00004780| 65 63 20 2a 73 6f 75 72 | 63 65 2c 20 46 53 53 70 |ec *sour|ce, FSSp|
|00004790| 65 63 20 2a 64 65 73 74 | 2c 20 42 6f 6f 6c 65 61 |ec *dest|, Boolea|
|000047a0| 6e 20 72 65 73 6f 75 72 | 63 65 46 6f 72 6b 29 0d |n resour|ceFork).|
|000047b0| 7b 0d 09 73 68 6f 72 74 | 20 73 6f 75 72 63 65 52 |{..short| sourceR|
|000047c0| 65 66 4e 75 6d 20 3d 20 | 30 3b 0d 09 73 68 6f 72 |efNum = |0;..shor|
|000047d0| 74 20 64 65 73 74 52 65 | 66 4e 75 6d 20 3d 20 30 |t destRe|fNum = 0|
|000047e0| 3b 0d 09 6c 6f 6e 67 20 | 66 69 6c 65 53 69 7a 65 |;..long |fileSize|
|000047f0| 2c 20 6c 65 6e 3b 0d 09 | 50 74 72 20 62 75 66 3b |, len;..|Ptr buf;|
|00004800| 0d 09 46 49 6e 66 6f 20 | 66 49 6e 66 6f 3b 0d 09 |..FInfo |fInfo;..|
|00004810| 4f 53 45 72 72 20 65 72 | 72 20 3d 20 6e 6f 45 72 |OSErr er|r = noEr|
|00004820| 72 3b 0d 09 0d 09 2f 2a | 20 4f 70 65 6e 20 73 6f |r;..../*| Open so|
|00004830| 75 72 63 65 20 66 6f 72 | 6b 2e 20 2a 2f 0d 09 0d |urce for|k. */...|
|00004840| 09 69 66 20 28 72 65 73 | 6f 75 72 63 65 46 6f 72 |.if (res|ourceFor|
|00004850| 6b 29 20 7b 0d 09 09 65 | 72 72 20 3d 20 46 53 70 |k) {...e|rr = FSp|
|00004860| 4f 70 65 6e 52 46 28 73 | 6f 75 72 63 65 2c 20 66 |OpenRF(s|ource, f|
|00004870| 73 52 64 50 65 72 6d 2c | 20 26 73 6f 75 72 63 65 |sRdPerm,| &source|
|00004880| 52 65 66 4e 75 6d 29 3b | 0d 09 7d 20 65 6c 73 65 |RefNum);|..} else|
|00004890| 20 7b 0d 09 09 65 72 72 | 20 3d 20 46 53 70 4f 70 | {...err| = FSpOp|
|000048a0| 65 6e 44 46 28 73 6f 75 | 72 63 65 2c 20 66 73 52 |enDF(sou|rce, fsR|
|000048b0| 64 50 65 72 6d 2c 20 26 | 73 6f 75 72 63 65 52 65 |dPerm, &|sourceRe|
|000048c0| 66 4e 75 6d 29 3b 0d 09 | 7d 0d 09 69 66 20 28 65 |fNum);..|}..if (e|
|000048d0| 72 72 20 3d 3d 20 66 6e | 66 45 72 72 29 20 72 65 |rr == fn|fErr) re|
|000048e0| 74 75 72 6e 20 6e 6f 45 | 72 72 3b 0d 09 69 66 20 |turn noE|rr;..if |
|000048f0| 28 65 72 72 20 21 3d 20 | 6e 6f 45 72 72 29 20 67 |(err != |noErr) g|
|00004900| 6f 74 6f 20 65 78 69 74 | 3b 0d 09 65 72 72 20 3d |oto exit|;..err =|
|00004910| 20 47 65 74 45 4f 46 28 | 73 6f 75 72 63 65 52 65 | GetEOF(|sourceRe|
|00004920| 66 4e 75 6d 2c 20 26 66 | 69 6c 65 53 69 7a 65 29 |fNum, &f|ileSize)|
|00004930| 3b 0d 09 69 66 20 28 65 | 72 72 20 21 3d 20 6e 6f |;..if (e|rr != no|
|00004940| 45 72 72 29 20 67 6f 74 | 6f 20 65 78 69 74 3b 0d |Err) got|o exit;.|
|00004950| 09 0d 09 2f 2a 20 4f 70 | 65 6e 20 64 65 73 74 69 |.../* Op|en desti|
|00004960| 6e 61 74 69 6f 6e 20 66 | 6f 72 6b 2e 20 43 72 65 |nation f|ork. Cre|
|00004970| 61 74 65 20 74 68 65 20 | 66 6f 72 6b 20 69 66 20 |ate the |fork if |
|00004980| 69 74 20 69 73 20 6d 69 | 73 73 69 6e 67 2e 20 2a |it is mi|ssing. *|
|00004990| 2f 0d 09 0d 09 69 66 20 | 28 72 65 73 6f 75 72 63 |/....if |(resourc|
|000049a0| 65 46 6f 72 6b 29 20 7b | 0d 09 09 65 72 72 20 3d |eFork) {|...err =|
|000049b0| 20 46 53 70 4f 70 65 6e | 52 46 28 64 65 73 74 2c | FSpOpen|RF(dest,|
|000049c0| 20 66 73 52 64 57 72 50 | 65 72 6d 2c 20 26 64 65 | fsRdWrP|erm, &de|
|000049d0| 73 74 52 65 66 4e 75 6d | 29 3b 0d 09 7d 20 65 6c |stRefNum|);..} el|
|000049e0| 73 65 20 7b 0d 09 09 65 | 72 72 20 3d 20 46 53 70 |se {...e|rr = FSp|
|000049f0| 4f 70 65 6e 44 46 28 64 | 65 73 74 2c 20 66 73 52 |OpenDF(d|est, fsR|
|00004a00| 64 57 72 50 65 72 6d 2c | 20 26 64 65 73 74 52 65 |dWrPerm,| &destRe|
|00004a10| 66 4e 75 6d 29 3b 0d 09 | 7d 0d 09 69 66 20 28 65 |fNum);..|}..if (e|
|00004a20| 72 72 20 3d 3d 20 66 6e | 66 45 72 72 29 20 7b 0d |rr == fn|fErr) {.|
|00004a30| 09 09 65 72 72 20 3d 20 | 46 53 70 47 65 74 46 49 |..err = |FSpGetFI|
|00004a40| 6e 66 6f 28 73 6f 75 72 | 63 65 2c 20 26 66 49 6e |nfo(sour|ce, &fIn|
|00004a50| 66 6f 29 3b 0d 09 09 69 | 66 20 28 65 72 72 20 21 |fo);...i|f (err !|
|00004a60| 3d 20 6e 6f 45 72 72 29 | 20 67 6f 74 6f 20 65 78 |= noErr)| goto ex|
|00004a70| 69 74 3b 0d 09 09 69 66 | 20 28 72 65 73 6f 75 72 |it;...if| (resour|
|00004a80| 63 65 46 6f 72 6b 29 20 | 7b 0d 09 09 09 46 53 70 |ceFork) |{....FSp|
|00004a90| 43 72 65 61 74 65 52 65 | 73 46 69 6c 65 28 64 65 |CreateRe|sFile(de|
|00004aa0| 73 74 2c 20 66 49 6e 66 | 6f 2e 66 64 43 72 65 61 |st, fInf|o.fdCrea|
|00004ab0| 74 6f 72 2c 20 66 49 6e | 66 6f 2e 66 64 54 79 70 |tor, fIn|fo.fdTyp|
|00004ac0| 65 2c 20 73 6d 53 79 73 | 74 65 6d 53 63 72 69 70 |e, smSys|temScrip|
|00004ad0| 74 29 3b 0d 09 09 09 65 | 72 72 20 3d 20 52 65 73 |t);....e|rr = Res|
|00004ae0| 45 72 72 6f 72 28 29 3b | 0d 09 09 7d 20 65 6c 73 |Error();|...} els|
|00004af0| 65 20 7b 0d 09 09 09 65 | 72 72 20 3d 20 46 53 70 |e {....e|rr = FSp|
|00004b00| 43 72 65 61 74 65 28 64 | 65 73 74 2c 20 66 49 6e |Create(d|est, fIn|
|00004b10| 66 6f 2e 66 64 43 72 65 | 61 74 6f 72 2c 20 66 49 |fo.fdCre|ator, fI|
|00004b20| 6e 66 6f 2e 66 64 54 79 | 70 65 2c 20 73 6d 53 79 |nfo.fdTy|pe, smSy|
|00004b30| 73 74 65 6d 53 63 72 69 | 70 74 29 3b 0d 09 09 7d |stemScri|pt);...}|
|00004b40| 0d 09 09 69 66 20 28 65 | 72 72 20 21 3d 20 6e 6f |...if (e|rr != no|
|00004b50| 45 72 72 29 20 67 6f 74 | 6f 20 65 78 69 74 3b 0d |Err) got|o exit;.|
|00004b60| 09 09 69 66 20 28 72 65 | 73 6f 75 72 63 65 46 6f |..if (re|sourceFo|
|00004b70| 72 6b 29 20 7b 0d 09 09 | 09 65 72 72 20 3d 20 46 |rk) {...|.err = F|
|00004b80| 53 70 4f 70 65 6e 52 46 | 28 64 65 73 74 2c 20 66 |SpOpenRF|(dest, f|
|00004b90| 73 52 64 57 72 50 65 72 | 6d 2c 20 26 64 65 73 74 |sRdWrPer|m, &dest|
|00004ba0| 52 65 66 4e 75 6d 29 3b | 0d 09 09 7d 20 65 6c 73 |RefNum);|...} els|
|00004bb0| 65 20 7b 0d 09 09 09 65 | 72 72 20 3d 20 46 53 70 |e {....e|rr = FSp|
|00004bc0| 4f 70 65 6e 44 46 28 64 | 65 73 74 2c 20 66 73 52 |OpenDF(d|est, fsR|
|00004bd0| 64 57 72 50 65 72 6d 2c | 20 26 64 65 73 74 52 65 |dWrPerm,| &destRe|
|00004be0| 66 4e 75 6d 29 3b 0d 09 | 09 7d 0d 09 7d 0d 09 69 |fNum);..|.}..}..i|
|00004bf0| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|00004c00| 20 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 65 72 72 | goto ex|it;..err|
|00004c10| 20 3d 20 53 65 74 46 50 | 6f 73 28 64 65 73 74 52 | = SetFP|os(destR|
|00004c20| 65 66 4e 75 6d 2c 20 66 | 73 46 72 6f 6d 53 74 61 |efNum, f|sFromSta|
|00004c30| 72 74 2c 20 30 29 3b 0d | 09 69 66 20 28 65 72 72 |rt, 0);.|.if (err|
|00004c40| 20 21 3d 20 6e 6f 45 72 | 72 29 20 67 6f 74 6f 20 | != noEr|r) goto |
|00004c50| 65 78 69 74 3b 0d 09 0d | 09 2f 2a 20 43 6f 70 79 |exit;...|./* Copy|
|00004c60| 20 74 68 65 20 73 6f 75 | 72 63 65 20 66 6f 72 6b | the sou|rce fork|
|00004c70| 20 74 6f 20 74 68 65 20 | 64 65 73 74 69 6e 61 74 | to the |destinat|
|00004c80| 69 6f 6e 20 66 6f 72 6b | 2e 20 2a 2f 0d 09 0d 09 |ion fork|. */....|
|00004c90| 65 72 72 20 3d 20 4d 79 | 4e 65 77 50 74 72 28 31 |err = My|NewPtr(1|
|00004ca0| 30 32 34 2c 20 26 62 75 | 66 29 3b 0d 09 69 66 20 |024, &bu|f);..if |
|00004cb0| 28 65 72 72 20 21 3d 20 | 6e 6f 45 72 72 29 20 67 |(err != |noErr) g|
|00004cc0| 6f 74 6f 20 65 78 69 74 | 3b 0d 09 77 68 69 6c 65 |oto exit|;..while|
|00004cd0| 20 28 66 69 6c 65 53 69 | 7a 65 20 3e 20 30 29 20 | (fileSi|ze > 0) |
|00004ce0| 7b 0d 09 09 6c 65 6e 20 | 3d 20 66 69 6c 65 53 69 |{...len |= fileSi|
|00004cf0| 7a 65 20 3e 20 31 30 32 | 34 20 3f 20 31 30 32 34 |ze > 102|4 ? 1024|
|00004d00| 20 3a 20 66 69 6c 65 53 | 69 7a 65 3b 0d 09 09 65 | : fileS|ize;...e|
|00004d10| 72 72 20 3d 20 46 53 52 | 65 61 64 28 73 6f 75 72 |rr = FSR|ead(sour|
|00004d20| 63 65 52 65 66 4e 75 6d | 2c 20 26 6c 65 6e 2c 20 |ceRefNum|, &len, |
|00004d30| 62 75 66 29 3b 0d 09 09 | 69 66 20 28 65 72 72 20 |buf);...|if (err |
|00004d40| 21 3d 20 6e 6f 45 72 72 | 29 20 67 6f 74 6f 20 65 |!= noErr|) goto e|
|00004d50| 78 69 74 3b 0d 09 09 65 | 72 72 20 3d 20 46 53 57 |xit;...e|rr = FSW|
|00004d60| 72 69 74 65 28 64 65 73 | 74 52 65 66 4e 75 6d 2c |rite(des|tRefNum,|
|00004d70| 20 26 6c 65 6e 2c 20 62 | 75 66 29 3b 0d 09 09 69 | &len, b|uf);...i|
|00004d80| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|00004d90| 20 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 09 66 69 | goto ex|it;...fi|
|00004da0| 6c 65 53 69 7a 65 20 2d | 3d 20 6c 65 6e 3b 0d 09 |leSize -|= len;..|
|00004db0| 7d 0d 09 0d 65 78 69 74 | 3a 0d 0d 09 69 66 20 28 |}...exit|:...if (|
|00004dc0| 73 6f 75 72 63 65 52 65 | 66 4e 75 6d 20 21 3d 20 |sourceRe|fNum != |
|00004dd0| 30 29 20 4d 79 46 53 43 | 6c 6f 73 65 28 73 6f 75 |0) MyFSC|lose(sou|
|00004de0| 72 63 65 52 65 66 4e 75 | 6d 2c 20 6e 69 6c 29 3b |rceRefNu|m, nil);|
|00004df0| 0d 09 69 66 20 28 64 65 | 73 74 52 65 66 4e 75 6d |..if (de|stRefNum|
|00004e00| 20 21 3d 20 30 29 20 4d | 79 46 53 43 6c 6f 73 65 | != 0) M|yFSClose|
|00004e10| 28 64 65 73 74 52 65 66 | 4e 75 6d 2c 20 6e 69 6c |(destRef|Num, nil|
|00004e20| 29 3b 0d 09 69 66 20 28 | 62 75 66 20 21 3d 20 6e |);..if (|buf != n|
|00004e30| 69 6c 29 20 4d 79 44 69 | 73 70 6f 73 65 50 74 72 |il) MyDi|sposePtr|
|00004e40| 28 62 75 66 29 3b 0d 09 | 72 65 74 75 72 6e 20 65 |(buf);..|return e|
|00004e50| 72 72 3b 0d 7d 0d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d |rr;.}...|./*-----|
|00004e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ea0| 2d 2d 2d 2d 2d 2d 2d 0d | 09 43 6f 70 79 46 69 6c |-------.|.CopyFil|
|00004eb0| 65 0d 09 0d 09 4d 61 6b | 65 20 61 20 63 6f 70 79 |e....Mak|e a copy|
|00004ec0| 20 6f 66 20 61 20 66 69 | 6c 65 20 28 62 6f 74 68 | of a fi|le (both|
|00004ed0| 20 66 6f 72 6b 73 29 2e | 0d 09 0d 09 45 6e 74 72 | forks).|....Entr|
|00004ee0| 79 3a 09 73 6f 75 72 63 | 65 20 3d 20 70 6f 69 6e |y:.sourc|e = poin|
|00004ef0| 74 65 72 20 74 6f 20 73 | 6f 75 72 63 65 20 66 69 |ter to s|ource fi|
|00004f00| 6c 65 20 73 70 65 63 2e | 0d 09 09 09 64 65 73 74 |le spec.|....dest|
|00004f10| 20 3d 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 64 65 | = point|er to de|
|00004f20| 73 74 69 6e 61 74 69 6f | 6e 20 66 69 6c 65 20 73 |stinatio|n file s|
|00004f30| 70 65 63 2e 0d 09 0d 09 | 45 78 69 74 3a 09 66 75 |pec.....|Exit:.fu|
|00004f40| 6e 63 74 69 6f 6e 20 72 | 65 73 75 6c 74 20 3d 20 |nction r|esult = |
|00004f50| 65 72 72 6f 72 20 63 6f | 64 65 2e 0d 2d 2d 2d 2d |error co|de..----|
|00004f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 0d 4f 53 45 72 |--------|*/..OSEr|
|00004fb0| 72 20 43 6f 70 79 46 69 | 6c 65 20 28 46 53 53 70 |r CopyFi|le (FSSp|
|00004fc0| 65 63 20 2a 73 6f 75 72 | 63 65 2c 20 46 53 53 70 |ec *sour|ce, FSSp|
|00004fd0| 65 63 20 2a 64 65 73 74 | 29 0d 7b 0d 09 4f 53 45 |ec *dest|).{..OSE|
|00004fe0| 72 72 20 65 72 72 20 3d | 20 6e 6f 45 72 72 3b 0d |rr err =| noErr;.|
|00004ff0| 0d 09 65 72 72 20 3d 20 | 43 6f 70 79 4f 6e 65 46 |..err = |CopyOneF|
|00005000| 6f 72 6b 28 73 6f 75 72 | 63 65 2c 20 64 65 73 74 |ork(sour|ce, dest|
|00005010| 2c 20 74 72 75 65 29 3b | 0d 09 69 66 20 28 65 72 |, true);|..if (er|
|00005020| 72 20 21 3d 20 6e 6f 45 | 72 72 29 20 72 65 74 75 |r != noE|rr) retu|
|00005030| 72 6e 20 65 72 72 3b 0d | 09 72 65 74 75 72 6e 20 |rn err;.|.return |
|00005040| 43 6f 70 79 4f 6e 65 46 | 6f 72 6b 28 73 6f 75 72 |CopyOneF|ork(sour|
|00005050| 63 65 2c 20 64 65 73 74 | 2c 20 66 61 6c 73 65 29 |ce, dest|, false)|
|00005060| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|00005070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000050a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000050b0| 2d 2d 2d 2d 2d 0d 09 47 | 65 74 56 6f 6c 4c 69 73 |-----..G|etVolLis|
|000050c0| 74 0d 09 0d 09 47 65 74 | 20 74 68 65 20 6c 69 73 |t....Get| the lis|
|000050d0| 74 20 6f 66 20 76 6f 6c | 75 6d 65 73 20 74 6f 20 |t of vol|umes to |
|000050e0| 62 65 20 73 63 61 6e 6e | 65 64 2e 0d 09 09 09 0d |be scann|ed......|
|000050f0| 09 45 78 69 74 3a 09 66 | 75 6e 63 74 69 6f 6e 20 |.Exit:.f|unction |
|00005100| 72 65 73 75 6c 74 20 3d | 20 65 72 72 6f 72 20 63 |result =| error c|
|00005110| 6f 64 65 2e 0d 09 09 09 | 2a 76 6f 6c 4c 69 73 74 |ode.....|*volList|
|00005120| 20 3d 20 68 61 6e 64 6c | 65 20 74 6f 20 6c 69 73 | = handl|e to lis|
|00005130| 74 20 6f 66 20 76 6f 6c | 20 72 65 66 20 6e 75 6d |t of vol| ref num|
|00005140| 73 2e 0d 09 09 09 2a 6e | 75 6d 56 6f 6c 73 20 3d |s.....*n|umVols =|
|00005150| 20 6e 75 6d 62 65 72 20 | 6f 66 20 76 6f 6c 75 6d | number |of volum|
|00005160| 65 73 20 69 6e 20 6c 69 | 73 74 2e 0d 2d 2d 2d 2d |es in li|st..----|
|00005170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000051a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000051b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 0d 4f 53 45 72 |--------|*/..OSEr|
|000051c0| 72 20 47 65 74 56 6f 6c | 4c 69 73 74 20 28 54 56 |r GetVol|List (TV|
|000051d0| 6f 6c 4c 69 73 74 48 61 | 6e 64 6c 65 20 2a 76 6f |olListHa|ndle *vo|
|000051e0| 6c 4c 69 73 74 2c 20 73 | 68 6f 72 74 20 2a 6e 75 |lList, s|hort *nu|
|000051f0| 6d 56 6f 6c 73 29 0d 7b | 0d 09 54 56 6f 6c 4c 69 |mVols).{|..TVolLi|
|00005200| 73 74 48 61 6e 64 6c 65 | 20 76 20 3d 20 6e 69 6c |stHandle| v = nil|
|00005210| 3b 0d 09 4f 53 45 72 72 | 20 65 72 72 20 3d 20 6e |;..OSErr| err = n|
|00005220| 6f 45 72 72 3b 0d 09 73 | 68 6f 72 74 20 6e 20 3d |oErr;..s|hort n =|
|00005230| 20 30 3b 0d 09 48 50 61 | 72 61 6d 42 6c 6f 63 6b | 0;..HPa|ramBlock|
|00005240| 52 65 63 20 70 42 6c 6f | 63 6b 3b 0d 09 73 68 6f |Rec pBlo|ck;..sho|
|00005250| 72 74 20 76 6f 6c 49 6e | 64 65 78 20 3d 20 31 3b |rt volIn|dex = 1;|
|00005260| 0d 09 0d 09 65 72 72 20 | 3d 20 4d 79 4e 65 77 48 |....err |= MyNewH|
|00005270| 61 6e 64 6c 65 28 30 2c | 20 26 76 29 3b 0d 09 69 |andle(0,| &v);..i|
|00005280| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|00005290| 20 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 0d 09 77 | goto ex|it;....w|
|000052a0| 68 69 6c 65 20 28 74 72 | 75 65 29 20 7b 0d 09 09 |hile (tr|ue) {...|
|000052b0| 6d 65 6d 73 65 74 28 26 | 70 42 6c 6f 63 6b 2c 20 |memset(&|pBlock, |
|000052c0| 30 2c 20 73 69 7a 65 6f | 66 28 70 42 6c 6f 63 6b |0, sizeo|f(pBlock|
|000052d0| 29 29 3b 0d 09 09 70 42 | 6c 6f 63 6b 2e 76 6f 6c |));...pB|lock.vol|
|000052e0| 75 6d 65 50 61 72 61 6d | 2e 69 6f 56 6f 6c 49 6e |umeParam|.ioVolIn|
|000052f0| 64 65 78 20 3d 20 76 6f | 6c 49 6e 64 65 78 3b 0d |dex = vo|lIndex;.|
|00005300| 09 09 65 72 72 20 3d 20 | 50 42 48 47 65 74 56 49 |..err = |PBHGetVI|
|00005310| 6e 66 6f 53 79 6e 63 28 | 26 70 42 6c 6f 63 6b 29 |nfoSync(|&pBlock)|
|00005320| 3b 0d 09 09 69 66 20 28 | 65 72 72 20 3d 3d 20 6e |;...if (|err == n|
|00005330| 73 76 45 72 72 29 20 62 | 72 65 61 6b 3b 0d 09 09 |svErr) b|reak;...|
|00005340| 69 66 20 28 65 72 72 20 | 21 3d 20 6e 6f 45 72 72 |if (err |!= noErr|
|00005350| 29 20 67 6f 74 6f 20 65 | 78 69 74 3b 0d 09 09 6e |) goto e|xit;...n|
|00005360| 2b 2b 3b 0d 09 09 65 72 | 72 20 3d 20 4d 79 53 65 |++;...er|r = MySe|
|00005370| 74 48 61 6e 64 6c 65 53 | 69 7a 65 28 76 2c 20 6e |tHandleS|ize(v, n|
|00005380| 20 2a 20 73 69 7a 65 6f | 66 28 73 68 6f 72 74 29 | * sizeo|f(short)|
|00005390| 29 3b 0d 09 09 28 2a 76 | 29 5b 6e 2d 31 5d 20 3d |);...(*v|)[n-1] =|
|000053a0| 20 70 42 6c 6f 63 6b 2e | 76 6f 6c 75 6d 65 50 61 | pBlock.|volumePa|
|000053b0| 72 61 6d 2e 69 6f 56 52 | 65 66 4e 75 6d 3b 0d 09 |ram.ioVR|efNum;..|
|000053c0| 09 76 6f 6c 49 6e 64 65 | 78 2b 2b 3b 0d 09 7d 0d |.volInde|x++;..}.|
|000053d0| 0d 09 2a 76 6f 6c 4c 69 | 73 74 20 3d 20 76 3b 0d |..*volLi|st = v;.|
|000053e0| 09 2a 6e 75 6d 56 6f 6c | 73 20 3d 20 6e 3b 0d 09 |.*numVol|s = n;..|
|000053f0| 72 65 74 75 72 6e 20 6e | 6f 45 72 72 3b 0d 09 0d |return n|oErr;...|
|00005400| 65 78 69 74 3a 0d 0d 09 | 4d 79 44 69 73 70 6f 73 |exit:...|MyDispos|
|00005410| 65 48 61 6e 64 6c 65 28 | 76 29 3b 0d 09 72 65 74 |eHandle(|v);..ret|
|00005420| 75 72 6e 20 65 72 72 3b | 0d 7d 0d 0d 0d 0d 2f 2a |urn err;|.}..../*|
|00005430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 47 65 |--------|----..Ge|
|00005480| 74 46 75 6c 6c 50 61 74 | 68 0d 09 0d 09 47 65 74 |tFullPat|h....Get|
|00005490| 20 74 68 65 20 66 75 6c | 6c 20 70 61 74 68 20 6e | the ful|l path n|
|000054a0| 61 6d 65 20 6f 66 20 61 | 20 66 69 6c 65 2e 0d 09 |ame of a| file...|
|000054b0| 0d 09 45 6e 74 72 79 3a | 09 66 53 70 65 63 20 3d |..Entry:|.fSpec =|
|000054c0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 66 69 6c 65 | pointer| to file|
|000054d0| 20 73 70 65 63 2e 0d 09 | 09 09 0d 09 45 78 69 74 | spec...|....Exit|
|000054e0| 3a 09 66 75 6e 63 74 69 | 6f 6e 20 72 65 73 75 6c |:.functi|on resul|
|000054f0| 74 20 3d 20 65 72 72 6f | 72 20 63 6f 64 65 2e 0d |t = erro|r code..|
|00005500| 09 09 09 2a 66 75 6c 6c | 50 61 74 68 20 3d 20 68 |...*full|Path = h|
|00005510| 61 6e 64 6c 65 20 74 6f | 20 61 72 72 61 79 20 6f |andle to| array o|
|00005520| 66 20 53 74 72 33 31 20 | 73 74 72 69 6e 67 73 20 |f Str31 |strings |
|00005530| 6c 69 73 74 69 6e 67 20 | 74 68 65 20 0d 09 09 09 |listing |the ....|
|00005540| 09 63 6f 6d 70 6f 6e 65 | 6e 74 73 20 6f 66 20 74 |.compone|nts of t|
|00005550| 68 65 20 70 61 74 68 20 | 69 6e 20 72 65 76 65 72 |he path |in rever|
|00005560| 73 65 20 6f 72 64 65 72 | 20 28 66 69 6c 65 20 6e |se order| (file n|
|00005570| 61 6d 65 0d 09 09 09 09 | 66 69 72 73 74 2c 20 76 |ame.....|first, v|
|00005580| 6f 6c 75 6d 65 20 6e 61 | 6d 65 20 6c 61 73 74 29 |olume na|me last)|
|00005590| 2e 0d 09 09 09 2a 6e 75 | 6d 43 6f 6d 70 6f 6e 65 |.....*nu|mCompone|
|000055a0| 6e 74 73 20 3d 20 6e 75 | 6d 62 65 72 20 6f 66 20 |nts = nu|mber of |
|000055b0| 63 6f 6d 70 6f 6e 65 6e | 74 73 20 69 6e 20 74 68 |componen|ts in th|
|000055c0| 65 20 70 61 74 68 20 28 | 73 69 7a 65 20 6f 66 0d |e path (|size of.|
|000055d0| 09 09 09 09 66 75 6c 6c | 50 61 74 68 20 61 72 72 |....full|Path arr|
|000055e0| 61 79 29 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ay)..---|--------|
|000055f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005630| 2d 2a 2f 0d 0d 4f 53 45 | 72 72 20 47 65 74 46 75 |-*/..OSE|rr GetFu|
|00005640| 6c 6c 50 61 74 68 20 28 | 46 53 53 70 65 63 20 2a |llPath (|FSSpec *|
|00005650| 66 53 70 65 63 2c 20 53 | 74 72 33 31 20 2a 2a 2a |fSpec, S|tr31 ***|
|00005660| 66 75 6c 6c 50 61 74 68 | 2c 20 73 68 6f 72 74 20 |fullPath|, short |
|00005670| 2a 6e 75 6d 43 6f 6d 70 | 6f 6e 65 6e 74 73 29 0d |*numComp|onents).|
|00005680| 7b 0d 09 4f 53 45 72 72 | 20 65 72 72 20 3d 20 6e |{..OSErr| err = n|
|00005690| 6f 45 72 72 3b 0d 09 53 | 74 72 33 31 20 2a 2a 68 |oErr;..S|tr31 **h|
|000056a0| 20 3d 20 6e 69 6c 3b 0d | 09 73 68 6f 72 74 20 6e | = nil;.|.short n|
|000056b0| 20 3d 20 30 3b 0d 09 43 | 49 6e 66 6f 50 42 52 65 | = 0;..C|InfoPBRe|
|000056c0| 63 20 70 42 6c 6f 63 6b | 3b 0d 09 53 74 72 33 31 |c pBlock|;..Str31|
|000056d0| 20 63 6f 6d 70 6f 6e 65 | 6e 74 3b 0d 09 0d 09 65 | compone|nt;....e|
|000056e0| 72 72 20 3d 20 4d 79 4e | 65 77 48 61 6e 64 6c 65 |rr = MyN|ewHandle|
|000056f0| 28 30 2c 20 26 68 29 3b | 0d 09 69 66 20 28 65 72 |(0, &h);|..if (er|
|00005700| 72 20 21 3d 20 6e 6f 45 | 72 72 29 20 67 6f 74 6f |r != noE|rr) goto|
|00005710| 20 65 78 69 74 3b 0d 09 | 0d 09 43 6f 70 79 50 61 | exit;..|..CopyPa|
|00005720| 73 63 61 6c 53 74 72 69 | 6e 67 28 63 6f 6d 70 6f |scalStri|ng(compo|
|00005730| 6e 65 6e 74 2c 20 66 53 | 70 65 63 2d 3e 6e 61 6d |nent, fS|pec->nam|
|00005740| 65 29 3b 0d 09 70 42 6c | 6f 63 6b 2e 64 69 72 49 |e);..pBl|ock.dirI|
|00005750| 6e 66 6f 2e 69 6f 4e 61 | 6d 65 50 74 72 20 3d 20 |nfo.ioNa|mePtr = |
|00005760| 63 6f 6d 70 6f 6e 65 6e | 74 3b 0d 09 70 42 6c 6f |componen|t;..pBlo|
|00005770| 63 6b 2e 64 69 72 49 6e | 66 6f 2e 69 6f 56 52 65 |ck.dirIn|fo.ioVRe|
|00005780| 66 4e 75 6d 20 3d 20 66 | 53 70 65 63 2d 3e 76 52 |fNum = f|Spec->vR|
|00005790| 65 66 4e 75 6d 3b 0d 09 | 70 42 6c 6f 63 6b 2e 64 |efNum;..|pBlock.d|
|000057a0| 69 72 49 6e 66 6f 2e 69 | 6f 44 72 50 61 72 49 44 |irInfo.i|oDrParID|
|000057b0| 20 3d 20 66 53 70 65 63 | 2d 3e 70 61 72 49 44 3b | = fSpec|->parID;|
|000057c0| 0d 09 70 42 6c 6f 63 6b | 2e 64 69 72 49 6e 66 6f |..pBlock|.dirInfo|
|000057d0| 2e 69 6f 46 44 69 72 49 | 6e 64 65 78 20 3d 20 2d |.ioFDirI|ndex = -|
|000057e0| 31 3b 0d 09 77 68 69 6c | 65 20 28 74 72 75 65 29 |1;..whil|e (true)|
|000057f0| 20 7b 0d 09 09 6e 2b 2b | 3b 0d 09 09 65 72 72 20 | {...n++|;...err |
|00005800| 3d 20 4d 79 53 65 74 48 | 61 6e 64 6c 65 53 69 7a |= MySetH|andleSiz|
|00005810| 65 28 68 2c 20 6e 20 2a | 20 73 69 7a 65 6f 66 28 |e(h, n *| sizeof(|
|00005820| 53 74 72 33 31 29 29 3b | 0d 09 09 69 66 20 28 65 |Str31));|...if (e|
|00005830| 72 72 20 21 3d 20 6e 6f | 45 72 72 29 20 67 6f 74 |rr != no|Err) got|
|00005840| 6f 20 65 78 69 74 3b 0d | 09 09 43 6f 70 79 50 61 |o exit;.|..CopyPa|
|00005850| 73 63 61 6c 53 74 72 69 | 6e 67 28 28 2a 68 29 5b |scalStri|ng((*h)[|
|00005860| 6e 2d 31 5d 2c 20 63 6f | 6d 70 6f 6e 65 6e 74 29 |n-1], co|mponent)|
|00005870| 3b 0d 09 09 69 66 20 28 | 70 42 6c 6f 63 6b 2e 64 |;...if (|pBlock.d|
|00005880| 69 72 49 6e 66 6f 2e 69 | 6f 44 72 50 61 72 49 44 |irInfo.i|oDrParID|
|00005890| 20 3d 3d 20 66 73 52 74 | 50 61 72 49 44 29 20 62 | == fsRt|ParID) b|
|000058a0| 72 65 61 6b 3b 0d 09 09 | 70 42 6c 6f 63 6b 2e 64 |reak;...|pBlock.d|
|000058b0| 69 72 49 6e 66 6f 2e 69 | 6f 44 72 44 69 72 49 44 |irInfo.i|oDrDirID|
|000058c0| 20 3d 20 70 42 6c 6f 63 | 6b 2e 64 69 72 49 6e 66 | = pBloc|k.dirInf|
|000058d0| 6f 2e 69 6f 44 72 50 61 | 72 49 44 3b 0d 09 09 65 |o.ioDrPa|rID;...e|
|000058e0| 72 72 20 3d 20 50 42 47 | 65 74 43 61 74 49 6e 66 |rr = PBG|etCatInf|
|000058f0| 6f 53 79 6e 63 28 26 70 | 42 6c 6f 63 6b 29 3b 0d |oSync(&p|Block);.|
|00005900| 09 09 69 66 20 28 65 72 | 72 20 21 3d 20 6e 6f 45 |..if (er|r != noE|
|00005910| 72 72 29 20 67 6f 74 6f | 20 65 78 69 74 3b 0d 09 |rr) goto| exit;..|
|00005920| 7d 0d 09 0d 09 2a 66 75 | 6c 6c 50 61 74 68 20 3d |}....*fu|llPath =|
|00005930| 20 68 3b 0d 09 2a 6e 75 | 6d 43 6f 6d 70 6f 6e 65 | h;..*nu|mCompone|
|00005940| 6e 74 73 20 3d 20 6e 3b | 0d 09 72 65 74 75 72 6e |nts = n;|..return|
|00005950| 20 6e 6f 45 72 72 3b 0d | 09 0d 65 78 69 74 3a 0d | noErr;.|..exit:.|
|00005960| 0d 09 4d 79 44 69 73 70 | 6f 73 65 48 61 6e 64 6c |..MyDisp|oseHandl|
|00005970| 65 28 68 29 3b 0d 09 72 | 65 74 75 72 6e 20 65 72 |e(h);..r|eturn er|
|00005980| 72 3b 0d 7d 0d 0d 0d 0d | 2f 2a 2d 2d 2d 2d 2d 2d |r;.}....|/*------|
|00005990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000059d0| 2d 2d 2d 2d 2d 2d 0d 09 | 56 6f 6c 53 75 70 70 6f |------..|VolSuppo|
|000059e0| 72 74 73 50 42 43 61 74 | 53 65 61 72 63 68 0d 09 |rtsPBCat|Search..|
|000059f0| 0d 09 44 65 74 65 72 6d | 69 6e 65 20 77 68 65 74 |..Determ|ine whet|
|00005a00| 68 65 72 20 6f 72 20 6e | 6f 74 20 61 20 76 6f 6c |her or n|ot a vol|
|00005a10| 75 6d 65 20 73 75 70 70 | 6f 72 74 73 20 74 68 65 |ume supp|orts the|
|00005a20| 20 50 42 43 61 74 53 65 | 61 72 63 68 20 66 75 6e | PBCatSe|arch fun|
|00005a30| 63 74 69 6f 6e 2e 0d 09 | 0d 09 45 6e 74 72 79 3a |ction...|..Entry:|
|00005a40| 09 76 52 65 66 4e 75 6d | 20 3d 20 76 6f 6c 20 72 |.vRefNum| = vol r|
|00005a50| 65 66 20 6e 75 6d 2e 0d | 09 09 09 0d 09 45 78 69 |ef num..|.....Exi|
|00005a60| 74 3a 09 66 75 6e 63 74 | 69 6f 6e 20 72 65 73 75 |t:.funct|ion resu|
|00005a70| 6c 74 20 3d 20 65 72 72 | 6f 72 20 63 6f 64 65 2e |lt = err|or code.|
|00005a80| 0d 09 09 09 2a 73 75 70 | 70 6f 72 74 73 50 42 43 |....*sup|portsPBC|
|00005a90| 61 74 53 65 61 72 63 68 | 20 3d 20 74 72 75 65 20 |atSearch| = true |
|00005aa0| 69 66 20 50 42 43 61 74 | 53 65 61 72 63 68 20 73 |if PBCat|Search s|
|00005ab0| 75 70 70 6f 72 74 65 64 | 2e 0d 2d 2d 2d 2d 2d 2d |upported|..------|
|00005ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005b00| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 4f 53 45 72 72 20 |------*/|..OSErr |
|00005b10| 56 6f 6c 53 75 70 70 6f | 72 74 73 50 42 43 61 74 |VolSuppo|rtsPBCat|
|00005b20| 53 65 61 72 63 68 20 28 | 73 68 6f 72 74 20 76 52 |Search (|short vR|
|00005b30| 65 66 4e 75 6d 2c 20 42 | 6f 6f 6c 65 61 6e 20 2a |efNum, B|oolean *|
|00005b40| 73 75 70 70 6f 72 74 73 | 50 42 43 61 74 53 65 61 |supports|PBCatSea|
|00005b50| 72 63 68 29 0d 7b 0d 09 | 4f 53 45 72 72 20 65 72 |rch).{..|OSErr er|
|00005b60| 72 20 3d 20 6e 6f 45 72 | 72 3b 0d 09 48 50 61 72 |r = noEr|r;..HPar|
|00005b70| 61 6d 42 6c 6f 63 6b 52 | 65 63 20 70 42 6c 6f 63 |amBlockR|ec pBloc|
|00005b80| 6b 3b 0d 09 47 65 74 56 | 6f 6c 50 61 72 6d 73 49 |k;..GetV|olParmsI|
|00005b90| 6e 66 6f 42 75 66 66 65 | 72 20 62 75 66 3b 0d 09 |nfoBuffe|r buf;..|
|00005ba0| 0d 09 70 42 6c 6f 63 6b | 2e 69 6f 50 61 72 61 6d |..pBlock|.ioParam|
|00005bb0| 2e 69 6f 4e 61 6d 65 50 | 74 72 20 3d 20 6e 69 6c |.ioNameP|tr = nil|
|00005bc0| 3b 0d 09 70 42 6c 6f 63 | 6b 2e 69 6f 50 61 72 61 |;..pBloc|k.ioPara|
|00005bd0| 6d 2e 69 6f 56 52 65 66 | 4e 75 6d 20 3d 20 76 52 |m.ioVRef|Num = vR|
|00005be0| 65 66 4e 75 6d 3b 0d 09 | 70 42 6c 6f 63 6b 2e 69 |efNum;..|pBlock.i|
|00005bf0| 6f 50 61 72 61 6d 2e 69 | 6f 42 75 66 66 65 72 20 |oParam.i|oBuffer |
|00005c00| 3d 20 28 50 74 72 29 26 | 62 75 66 3b 0d 09 70 42 |= (Ptr)&|buf;..pB|
|00005c10| 6c 6f 63 6b 2e 69 6f 50 | 61 72 61 6d 2e 69 6f 52 |lock.ioP|aram.ioR|
|00005c20| 65 71 43 6f 75 6e 74 20 | 3d 20 73 69 7a 65 6f 66 |eqCount |= sizeof|
|00005c30| 28 62 75 66 29 3b 0d 09 | 65 72 72 20 3d 20 50 42 |(buf);..|err = PB|
|00005c40| 48 47 65 74 56 6f 6c 50 | 61 72 6d 73 53 79 6e 63 |HGetVolP|armsSync|
|00005c50| 28 26 70 42 6c 6f 63 6b | 29 3b 0d 09 69 66 20 28 |(&pBlock|);..if (|
|00005c60| 65 72 72 20 21 3d 20 6e | 6f 45 72 72 29 20 72 65 |err != n|oErr) re|
|00005c70| 74 75 72 6e 20 65 72 72 | 3b 0d 09 2a 73 75 70 70 |turn err|;..*supp|
|00005c80| 6f 72 74 73 50 42 43 61 | 74 53 65 61 72 63 68 20 |ortsPBCa|tSearch |
|00005c90| 3d 20 28 62 75 66 2e 76 | 4d 41 74 74 72 69 62 20 |= (buf.v|MAttrib |
|00005ca0| 26 20 28 31 4c 20 3c 3c | 20 62 48 61 73 43 61 74 |& (1L <<| bHasCat|
|00005cb0| 53 65 61 72 63 68 29 29 | 20 21 3d 20 30 3b 0d 09 |Search))| != 0;..|
|00005cc0| 72 65 74 75 72 6e 20 6e | 6f 45 72 72 3b 0d 7d 0d |return n|oErr;.}.|
|00005cd0| 0d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.../*---|--------|
|00005ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005d20| 2d 0d 09 4d 61 6b 65 46 | 69 6e 64 65 72 41 6c 69 |-..MakeF|inderAli|
|00005d30| 61 73 46 69 6c 65 20 0d | 09 0d 09 4d 61 6b 65 20 |asFile .|...Make |
|00005d40| 61 20 46 69 6e 64 65 72 | 20 61 6c 69 61 73 20 66 |a Finder| alias f|
|00005d50| 69 6c 65 2e 0d 09 0d 09 | 45 6e 74 72 79 3a 09 2a |ile.....|Entry:.*|
|00005d60| 61 6c 69 61 73 46 53 70 | 65 63 20 3d 20 66 69 6c |aliasFSp|ec = fil|
|00005d70| 65 20 73 70 65 63 20 66 | 6f 72 20 61 6c 69 61 73 |e spec f|or alias|
|00005d80| 20 66 69 6c 65 20 74 6f | 20 62 65 20 63 72 65 61 | file to| be crea|
|00005d90| 74 65 64 2e 0d 09 09 09 | 2a 74 61 72 67 65 74 46 |ted.....|*targetF|
|00005da0| 53 70 65 63 20 3d 20 66 | 69 6c 65 20 73 70 65 63 |Spec = f|ile spec|
|00005db0| 20 66 6f 72 20 74 61 72 | 67 65 74 20 6f 62 6a 65 | for tar|get obje|
|00005dc0| 63 74 2e 0d 09 0d 09 45 | 78 69 74 3a 09 66 75 6e |ct.....E|xit:.fun|
|00005dd0| 63 74 69 6f 6e 20 72 65 | 73 75 6c 74 20 3d 20 65 |ction re|sult = e|
|00005de0| 72 72 6f 72 20 63 6f 64 | 65 2e 0d 0d 09 57 61 72 |rror cod|e....War|
|00005df0| 6e 69 6e 67 3a 20 41 6e | 79 20 65 78 69 73 74 69 |ning: An|y existi|
|00005e00| 6e 67 20 66 69 6c 65 20 | 61 74 20 22 61 6c 69 61 |ng file |at "alia|
|00005e10| 73 46 53 70 65 63 22 20 | 69 73 20 64 65 6c 65 74 |sFSpec" |is delet|
|00005e20| 65 64 21 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ed!.----|--------|
|00005e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005e70| 2a 2f 0d 0d 4f 53 45 72 | 72 20 4d 61 6b 65 46 69 |*/..OSEr|r MakeFi|
|00005e80| 6e 64 65 72 41 6c 69 61 | 73 46 69 6c 65 20 28 46 |nderAlia|sFile (F|
|00005e90| 53 53 70 65 63 20 2a 61 | 6c 69 61 73 46 53 70 65 |SSpec *a|liasFSpe|
|00005ea0| 63 2c 20 46 53 53 70 65 | 63 20 2a 74 61 72 67 65 |c, FSSpe|c *targe|
|00005eb0| 74 46 53 70 65 63 29 0d | 7b 0d 09 41 6c 69 61 73 |tFSpec).|{..Alias|
|00005ec0| 48 61 6e 64 6c 65 20 61 | 6c 69 61 73 20 3d 20 6e |Handle a|lias = n|
|00005ed0| 69 6c 3b 0d 09 4f 53 45 | 72 72 20 65 72 72 20 3d |il;..OSE|rr err =|
|00005ee0| 20 6e 6f 45 72 72 3b 0d | 09 73 68 6f 72 74 20 72 | noErr;.|.short r|
|00005ef0| 65 66 4e 75 6d 20 3d 20 | 30 3b 0d 09 42 6f 6f 6c |efNum = |0;..Bool|
|00005f00| 65 61 6e 20 66 69 6c 65 | 43 72 65 61 74 65 64 20 |ean file|Created |
|00005f10| 3d 20 66 61 6c 73 65 3b | 0d 09 46 49 6e 66 6f 20 |= false;|..FInfo |
|00005f20| 66 6e 64 72 49 6e 66 6f | 3b 0d 09 0d 09 65 72 72 |fndrInfo|;....err|
|00005f30| 20 3d 20 46 53 70 47 65 | 74 46 49 6e 66 6f 28 74 | = FSpGe|tFInfo(t|
|00005f40| 61 72 67 65 74 46 53 70 | 65 63 2c 20 26 66 6e 64 |argetFSp|ec, &fnd|
|00005f50| 72 49 6e 66 6f 29 3b 0d | 09 69 66 20 28 65 72 72 |rInfo);.|.if (err|
|00005f60| 20 21 3d 20 6e 6f 45 72 | 72 29 20 72 65 74 75 72 | != noEr|r) retur|
|00005f70| 6e 20 65 72 72 3b 0d 09 | 65 72 72 20 3d 20 4e 65 |n err;..|err = Ne|
|00005f80| 77 41 6c 69 61 73 28 6e | 69 6c 2c 20 74 61 72 67 |wAlias(n|il, targ|
|00005f90| 65 74 46 53 70 65 63 2c | 20 26 61 6c 69 61 73 29 |etFSpec,| &alias)|
|00005fa0| 3b 0d 09 69 66 20 28 65 | 72 72 20 21 3d 20 6e 6f |;..if (e|rr != no|
|00005fb0| 45 72 72 29 20 72 65 74 | 75 72 6e 20 65 72 72 3b |Err) ret|urn err;|
|00005fc0| 0d 09 46 53 70 44 65 6c | 65 74 65 28 61 6c 69 61 |..FSpDel|ete(alia|
|00005fd0| 73 46 53 70 65 63 29 3b | 0d 09 46 53 70 43 72 65 |sFSpec);|..FSpCre|
|00005fe0| 61 74 65 52 65 73 46 69 | 6c 65 28 61 6c 69 61 73 |ateResFi|le(alias|
|00005ff0| 46 53 70 65 63 2c 20 66 | 6e 64 72 49 6e 66 6f 2e |FSpec, f|ndrInfo.|
|00006000| 66 64 43 72 65 61 74 6f | 72 2c 20 27 61 64 72 70 |fdCreato|r, 'adrp|
|00006010| 27 2c 20 73 6d 53 79 73 | 74 65 6d 53 63 72 69 70 |', smSys|temScrip|
|00006020| 74 29 3b 0d 09 65 72 72 | 20 3d 20 52 65 73 45 72 |t);..err| = ResEr|
|00006030| 72 6f 72 28 29 3b 0d 09 | 69 66 20 28 65 72 72 20 |ror();..|if (err |
|00006040| 21 3d 20 6e 6f 45 72 72 | 29 20 67 6f 74 6f 20 65 |!= noErr|) goto e|
|00006050| 78 69 74 3b 0d 09 66 69 | 6c 65 43 72 65 61 74 65 |xit;..fi|leCreate|
|00006060| 64 20 3d 20 74 72 75 65 | 3b 0d 09 72 65 66 4e 75 |d = true|;..refNu|
|00006070| 6d 20 3d 20 46 53 70 4f | 70 65 6e 52 65 73 46 69 |m = FSpO|penResFi|
|00006080| 6c 65 28 61 6c 69 61 73 | 46 53 70 65 63 2c 20 66 |le(alias|FSpec, f|
|00006090| 73 52 64 57 72 50 65 72 | 6d 29 3b 0d 09 65 72 72 |sRdWrPer|m);..err|
|000060a0| 20 3d 20 52 65 73 45 72 | 72 6f 72 28 29 3b 0d 09 | = ResEr|ror();..|
|000060b0| 69 66 20 28 65 72 72 20 | 21 3d 20 6e 6f 45 72 72 |if (err |!= noErr|
|000060c0| 29 20 67 6f 74 6f 20 65 | 78 69 74 3b 0d 09 41 64 |) goto e|xit;..Ad|
|000060d0| 64 52 65 73 6f 75 72 63 | 65 28 28 48 61 6e 64 6c |dResourc|e((Handl|
|000060e0| 65 29 61 6c 69 61 73 2c | 20 27 61 6c 69 73 27 2c |e)alias,| 'alis',|
|000060f0| 20 30 2c 20 22 5c 70 22 | 29 3b 0d 09 65 72 72 20 | 0, "\p"|);..err |
|00006100| 3d 20 52 65 73 45 72 72 | 6f 72 28 29 3b 0d 09 69 |= ResErr|or();..i|
|00006110| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|00006120| 20 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 43 6c 6f | goto ex|it;..Clo|
|00006130| 73 65 52 65 73 46 69 6c | 65 28 72 65 66 4e 75 6d |seResFil|e(refNum|
|00006140| 29 3b 0d 09 65 72 72 20 | 3d 20 46 53 70 47 65 74 |);..err |= FSpGet|
|00006150| 46 49 6e 66 6f 28 61 6c | 69 61 73 46 53 70 65 63 |FInfo(al|iasFSpec|
|00006160| 2c 20 26 66 6e 64 72 49 | 6e 66 6f 29 3b 0d 09 69 |, &fndrI|nfo);..i|
|00006170| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|00006180| 20 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 66 6e 64 | goto ex|it;..fnd|
|00006190| 72 49 6e 66 6f 2e 66 64 | 46 6c 61 67 73 20 3d 20 |rInfo.fd|Flags = |
|000061a0| 30 78 38 30 30 30 3b 09 | 2f 2a 20 73 65 74 20 62 |0x8000;.|/* set b|
|000061b0| 69 74 20 31 35 20 3d 20 | 61 6c 69 61 73 20 66 6c |it 15 = |alias fl|
|000061c0| 61 67 20 2a 2f 0d 09 65 | 72 72 20 3d 20 46 53 70 |ag */..e|rr = FSp|
|000061d0| 53 65 74 46 49 6e 66 6f | 28 61 6c 69 61 73 46 53 |SetFInfo|(aliasFS|
|000061e0| 70 65 63 2c 20 26 66 6e | 64 72 49 6e 66 6f 29 3b |pec, &fn|drInfo);|
|000061f0| 0d 09 69 66 20 28 65 72 | 72 20 21 3d 20 6e 6f 45 |..if (er|r != noE|
|00006200| 72 72 29 20 67 6f 74 6f | 20 65 78 69 74 3b 0d 09 |rr) goto| exit;..|
|00006210| 72 65 74 75 72 6e 20 6e | 6f 45 72 72 3b 0d 0d 65 |return n|oErr;..e|
|00006220| 78 69 74 3a 0d 0d 09 69 | 66 20 28 61 6c 69 61 73 |xit:...i|f (alias|
|00006230| 20 21 3d 20 6e 69 6c 29 | 20 44 69 73 70 6f 73 65 | != nil)| Dispose|
|00006240| 48 61 6e 64 6c 65 28 28 | 48 61 6e 64 6c 65 29 61 |Handle((|Handle)a|
|00006250| 6c 69 61 73 29 3b 0d 09 | 69 66 20 28 72 65 66 4e |lias);..|if (refN|
|00006260| 75 6d 20 21 3d 20 30 29 | 20 43 6c 6f 73 65 52 65 |um != 0)| CloseRe|
|00006270| 73 46 69 6c 65 28 72 65 | 66 4e 75 6d 29 3b 0d 09 |sFile(re|fNum);..|
|00006280| 69 66 20 28 66 69 6c 65 | 43 72 65 61 74 65 64 29 |if (file|Created)|
|00006290| 20 46 53 70 44 65 6c 65 | 74 65 28 61 6c 69 61 73 | FSpDele|te(alias|
|000062a0| 46 53 70 65 63 29 3b 0d | 09 72 65 74 75 72 6e 20 |FSpec);.|.return |
|000062b0| 65 72 72 3b 0d 7d 0d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |err;.}..|../*----|
|000062c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000062f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006300| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 44 65 6c 65 74 65 |--------|..Delete|
|00006310| 46 6f 6c 64 65 72 0d 09 | 0d 09 44 65 6c 65 74 65 |Folder..|..Delete|
|00006320| 20 61 20 66 6f 6c 64 65 | 72 2e 0d 09 0d 09 45 6e | a folde|r.....En|
|00006330| 74 72 79 3a 09 66 53 70 | 65 63 2d 3e 76 52 65 66 |try:.fSp|ec->vRef|
|00006340| 4e 75 6d 20 3d 20 76 6f | 6c 20 72 65 66 20 6e 75 |Num = vo|l ref nu|
|00006350| 6d 20 6f 66 20 76 6f 6c | 20 63 6f 6e 74 61 69 6e |m of vol| contain|
|00006360| 69 6e 67 20 66 6f 6c 64 | 65 72 2e 0d 09 09 09 66 |ing fold|er.....f|
|00006370| 53 70 65 63 2d 3e 70 61 | 72 49 44 20 3d 20 64 69 |Spec->pa|rID = di|
|00006380| 72 49 44 20 6f 66 20 66 | 6f 6c 64 65 72 2e 0d 09 |rID of f|older...|
|00006390| 09 09 6f 6e 6c 79 43 6f | 6e 74 65 6e 74 73 20 3d |..onlyCo|ntents =|
|000063a0| 20 74 72 75 65 20 74 6f | 20 64 65 6c 65 74 65 20 | true to| delete |
|000063b0| 6f 6e 6c 79 20 74 68 65 | 20 63 6f 6e 74 65 6e 74 |only the| content|
|000063c0| 73 20 6f 66 20 74 68 65 | 20 66 6f 6c 64 65 72 2c |s of the| folder,|
|000063d0| 0d 09 09 09 09 66 61 6c | 73 65 20 74 6f 20 64 65 |.....fal|se to de|
|000063e0| 6c 65 74 65 20 74 68 65 | 20 63 6f 6e 74 65 6e 74 |lete the| content|
|000063f0| 73 20 61 6e 64 20 74 68 | 65 20 66 6f 6c 64 65 72 |s and th|e folder|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.