home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / dalla rivista / amiga.free / sorgenti vari / wolf3dmacsource.sit / Wolf3DMacSource / PrefsFile.c < prev    next >
MacBinary  |  2000-01-21  |  7.9 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


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

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Jan 21 08:59:06 2000, modified Fri Jan 21 08:59:06 2000, creator 'CWIE', type ASCII, 7287 bytes "PrefsFile.c" , at 0x1cf7 607 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 50 72 65 66 73 46 | 69 6c 65 2e 63 00 00 00 |..PrefsF|ile.c...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 1c 77 00 | 00 02 5f b4 ae 16 aa b4 |......w.|.._.....|
|00000060| ae 16 aa 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 5f 59 00 00 |........|...._Y..|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 3c 46 6f 6c 64 65 72 |#include| <Folder|
|00000090| 73 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 47 |s.h>.#in|clude <G|
|000000a0| 65 73 74 61 6c 74 2e 68 | 3e 0d 23 69 6e 63 6c 75 |estalt.h|>.#inclu|
|000000b0| 64 65 20 3c 50 72 6f 63 | 65 73 73 65 73 2e 68 3e |de <Proc|esses.h>|
|000000c0| 0d 23 69 6e 63 6c 75 64 | 65 20 22 57 6f 6c 66 64 |.#includ|e "Wolfd|
|000000d0| 65 66 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 3c |ef.h".#i|nclude <|
|000000e0| 53 74 72 69 6e 67 2e 68 | 3e 0d 23 69 6e 63 6c 75 |String.h|>.#inclu|
|000000f0| 64 65 20 22 70 72 65 66 | 73 2e 68 22 0d 0d 74 79 |de "pref|s.h"..ty|
|00000100| 70 65 64 65 66 20 73 74 | 72 75 63 74 20 7b 0d 09 |pedef st|ruct {..|
|00000110| 42 79 74 65 20 66 69 6c | 65 4e 61 6d 65 5b 33 34 |Byte fil|eName[34|
|00000120| 5d 3b 09 09 2f 2a 20 45 | 6e 6f 75 67 68 20 73 70 |];../* E|nough sp|
|00000130| 61 63 65 20 66 6f 72 20 | 66 69 6c 65 6e 61 6d 65 |ace for |filename|
|00000140| 20 2a 2f 0d 09 4f 53 54 | 79 70 65 20 63 72 65 61 | */..OST|ype crea|
|00000150| 74 6f 72 3b 09 09 09 2f | 2a 20 43 72 65 61 74 6f |tor;.../|* Creato|
|00000160| 72 20 54 59 50 45 20 2a | 2f 0d 09 4f 53 54 79 70 |r TYPE *|/..OSTyp|
|00000170| 65 20 66 69 6c 65 54 79 | 70 65 3b 09 09 2f 2a 20 |e fileTy|pe;../* |
|00000180| 46 69 6c 65 20 74 79 70 | 65 20 2a 2f 0d 09 4f 53 |File typ|e */..OS|
|00000190| 54 79 70 65 20 72 65 73 | 54 79 70 65 3b 09 09 09 |Type res|Type;...|
|000001a0| 2f 2a 20 52 65 73 6f 75 | 72 63 65 20 74 79 70 65 |/* Resou|rce type|
|000001b0| 20 2a 2f 0d 09 73 68 6f | 72 74 20 72 65 73 49 44 | */..sho|rt resID|
|000001c0| 3b 09 09 09 2f 2a 20 4f | 70 65 6e 20 72 65 73 6f |;.../* O|pen reso|
|000001d0| 75 72 63 65 20 66 69 6c | 65 20 49 44 20 2a 2f 0d |urce fil|e ID */.|
|000001e0| 7d 20 50 72 65 66 73 49 | 6e 66 6f 3b 0d 0d 73 74 |} PrefsI|nfo;..st|
|000001f0| 61 74 69 63 20 50 72 65 | 66 73 49 6e 66 6f 20 70 |atic Pre|fsInfo p|
|00000200| 72 65 66 73 49 6e 66 6f | 3b 09 2f 2a 20 4d 79 20 |refsInfo|;./* My |
|00000210| 69 6e 74 65 72 6e 61 6c | 20 70 72 65 66 73 20 72 |internal| prefs r|
|00000220| 65 63 6f 72 64 20 2a 2f | 0d 73 74 61 74 69 63 20 |ecord */|.static |
|00000230| 42 6f 6f 6c 65 61 6e 20 | 70 72 65 66 73 49 6e 69 |Boolean |prefsIni|
|00000240| 74 65 64 20 3d 20 46 41 | 4c 53 45 3b 09 2f 2a 20 |ted = FA|LSE;./* |
|00000250| 49 73 20 74 68 65 20 73 | 74 72 75 63 74 20 76 61 |Is the s|truct va|
|00000260| 6c 69 64 3f 20 2a 2f 0d | 0d 2f 2a 2a 2a 2a 2a 2a |lid? */.|./******|
|00000270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0d 09 49 |********|****...I|
|00000290| 20 6d 69 73 73 20 74 68 | 65 20 41 70 70 6c 65 20 | miss th|e Apple |
|000002a0| 49 49 67 73 20 77 68 65 | 72 65 20 61 6c 6c 20 79 |IIgs whe|re all y|
|000002b0| 6f 75 20 6e 65 65 64 20 | 74 6f 20 73 65 74 20 74 |ou need |to set t|
|000002c0| 68 65 20 70 72 65 66 73 | 20 64 69 72 65 63 74 6f |he prefs| directo|
|000002d0| 72 79 0d 09 77 61 73 20 | 74 6f 20 70 61 73 73 20 |ry..was |to pass |
|000002e0| 61 20 66 69 6c 65 6e 61 | 6d 65 20 6f 66 20 22 40 |a filena|me of "@|
|000002f0| 3a 50 72 65 66 73 20 66 | 69 6c 65 22 20 61 6e 64 |:Prefs f|ile" and|
|00000300| 20 69 74 20 77 69 6c 6c | 20 61 75 74 6f 6d 61 74 | it will| automat|
|00000310| 69 63 61 6c 6c 79 20 70 | 6c 61 63 65 0d 09 74 68 |ically p|lace..th|
|00000320| 65 20 70 72 65 66 73 20 | 66 69 6c 65 20 69 6e 20 |e prefs |file in |
|00000330| 65 69 74 68 65 72 20 74 | 68 65 20 70 72 6f 70 65 |either t|he prope|
|00000340| 72 20 4e 65 74 77 6f 72 | 6b 20 66 6f 6c 64 65 72 |r Networ|k folder|
|00000350| 20 6f 72 20 73 79 73 74 | 65 6d 20 70 72 65 66 73 | or syst|em prefs|
|00000360| 20 66 6f 6c 64 65 72 2e | 2e 2e 0d 09 0d 09 49 6e | folder.|......In|
|00000370| 73 74 65 61 64 20 49 20 | 68 61 76 65 20 74 6f 20 |stead I |have to |
|00000380| 64 6f 20 74 68 69 73 20 | 62 75 6c 6c 73 68 69 74 |do this |bullshit|
|00000390| 20 74 6f 20 73 63 61 6e | 20 74 68 65 20 76 6f 6c | to scan| the vol|
|000003a0| 75 6d 65 73 20 74 6f 20 | 66 69 6e 64 20 74 68 65 |umes to |find the|
|000003b0| 20 70 72 65 66 73 0d 09 | 66 6f 6c 64 65 72 20 61 | prefs..|folder a|
|000003c0| 6e 64 20 76 6f 6c 75 6d | 65 2e 2e 2e 0d 09 0d 09 |nd volum|e.......|
|000003d0| 49 66 20 74 68 65 20 66 | 69 6c 65 20 77 61 73 20 |If the f|ile was |
|000003e0| 6e 6f 74 20 66 6f 75 6e | 64 2c 20 74 68 65 6e 20 |not foun|d, then |
|000003f0| 63 72 65 61 74 65 20 69 | 74 2e 0d 09 0d 09 72 65 |create i|t.....re|
|00000400| 74 75 72 6e 20 54 52 55 | 45 20 69 66 20 74 68 65 |turn TRU|E if the|
|00000410| 20 66 69 6c 65 20 77 61 | 73 20 66 6f 75 6e 64 20 | file wa|s found |
|00000420| 61 6e 64 20 63 6f 75 6c | 64 20 6e 6f 74 20 62 65 |and coul|d not be|
|00000430| 20 63 72 65 61 74 65 64 | 0d 09 0d 2a 2a 2a 2a 2a | created|...*****|
|00000440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0d 0d |********|*****/..|
|00000460| 73 74 61 74 69 63 20 42 | 6f 6f 6c 65 61 6e 20 46 |static B|oolean F|
|00000470| 69 6e 64 50 72 65 66 73 | 46 69 6c 65 28 73 68 6f |indPrefs|File(sho|
|00000480| 72 74 20 2a 70 72 65 66 | 56 52 65 66 4e 75 6d 2c |rt *pref|VRefNum,|
|00000490| 20 6c 6f 6e 67 20 2a 70 | 72 65 66 44 69 72 49 44 | long *p|refDirID|
|000004a0| 29 0d 7b 0d 09 4f 53 45 | 72 72 20 74 68 65 45 72 |).{..OSE|rr theEr|
|000004b0| 72 3b 0d 09 6c 6f 6e 67 | 20 72 65 73 70 6f 6e 73 |r;..long| respons|
|000004c0| 65 3b 0d 09 43 49 6e 66 | 6f 50 42 52 65 63 20 69 |e;..CInf|oPBRec i|
|000004d0| 6e 66 6f 50 42 3b 0d 0d | 09 69 66 20 28 21 70 72 |nfoPB;..|.if (!pr|
|000004e0| 65 66 73 49 6e 69 74 65 | 64 29 20 7b 09 09 2f 2a |efsInite|d) {../*|
|000004f0| 20 4f 6e 6c 79 20 6c 6f | 6f 6b 20 69 66 20 74 68 | Only lo|ok if th|
|00000500| 65 20 70 72 65 66 73 20 | 73 74 72 75 63 74 75 72 |e prefs |structur|
|00000510| 65 20 69 73 20 76 61 6c | 69 64 20 2a 2f 0d 09 09 |e is val|id */...|
|00000520| 72 65 74 75 72 6e 20 46 | 41 4c 53 45 3b 09 09 2f |return F|ALSE;../|
|00000530| 2a 20 45 78 69 74 20 4e | 4f 57 21 20 2a 2f 0d 09 |* Exit N|OW! */..|
|00000540| 7d 0d 09 09 0d 09 2f 2a | 20 46 69 72 73 74 2c 20 |}...../*| First, |
|00000550| 74 72 79 20 69 74 20 74 | 68 65 20 65 61 73 79 20 |try it t|he easy |
|00000560| 77 61 79 2e 2e 2e 20 2a | 2f 0d 09 0d 09 69 66 20 |way... *|/....if |
|00000570| 28 20 21 47 65 73 74 61 | 6c 74 28 67 65 73 74 61 |( !Gesta|lt(gesta|
|00000580| 6c 74 46 69 6e 64 46 6f | 6c 64 65 72 41 74 74 72 |ltFindFo|lderAttr|
|00000590| 2c 20 26 72 65 73 70 6f | 6e 73 65 29 20 26 26 20 |, &respo|nse) && |
|000005a0| 2f 2a 20 49 73 20 74 68 | 65 20 65 61 73 79 20 77 |/* Is th|e easy w|
|000005b0| 61 79 20 61 76 61 69 6c | 61 62 6c 65 3f 20 2a 2f |ay avail|able? */|
|000005c0| 0d 09 09 28 20 28 31 3c | 3c 67 65 73 74 61 6c 74 |...( (1<|<gestalt|
|000005d0| 46 69 6e 64 46 6f 6c 64 | 65 72 50 72 65 73 65 6e |FindFold|erPresen|
|000005e0| 74 29 20 26 20 72 65 73 | 70 6f 6e 73 65 29 29 20 |t) & res|ponse)) |
|000005f0| 7b 09 0d 09 09 2f 2a 20 | 43 61 6c 6c 20 74 68 65 |{..../* |Call the|
|00000600| 20 4f 53 20 74 6f 20 64 | 6f 20 74 68 65 20 64 69 | OS to d|o the di|
|00000610| 72 74 79 20 77 6f 72 6b | 20 2a 2f 0d 09 09 74 68 |rty work| */...th|
|00000620| 65 45 72 72 20 3d 20 46 | 69 6e 64 46 6f 6c 64 65 |eErr = F|indFolde|
|00000630| 72 28 6b 4f 6e 53 79 73 | 74 65 6d 44 69 73 6b 2c |r(kOnSys|temDisk,|
|00000640| 20 6b 50 72 65 66 65 72 | 65 6e 63 65 73 46 6f 6c | kPrefer|encesFol|
|00000650| 64 65 72 54 79 70 65 2c | 20 6b 43 72 65 61 74 65 |derType,| kCreate|
|00000660| 46 6f 6c 64 65 72 2c 0d | 09 09 09 09 09 09 09 70 |Folder,.|.......p|
|00000670| 72 65 66 56 52 65 66 4e | 75 6d 2c 20 70 72 65 66 |refVRefN|um, pref|
|00000680| 44 69 72 49 44 29 3b 0d | 09 0d 09 2f 2a 20 4f 4b |DirID);.|.../* OK|
|00000690| 2c 20 74 72 79 20 69 74 | 20 74 68 65 20 68 61 72 |, try it| the har|
|000006a0| 64 20 77 61 79 2e 2e 2e | 20 3a 28 20 2a 2f 0d 09 |d way...| :( */..|
|000006b0| 0d 09 7d 20 65 6c 73 65 | 20 7b 0d 09 09 53 79 73 |..} else| {...Sys|
|000006c0| 45 6e 76 52 65 63 20 74 | 68 65 53 79 73 45 6e 76 |EnvRec t|heSysEnv|
|000006d0| 3b 0d 09 09 53 74 72 69 | 6e 67 50 74 72 20 70 72 |;...Stri|ngPtr pr|
|000006e0| 65 66 46 6f 6c 64 65 72 | 4e 61 6d 65 20 3d 20 22 |efFolder|Name = "|
|000006f0| 5c 70 50 72 65 66 65 72 | 65 6e 63 65 73 22 3b 0d |\pPrefer|ences";.|
|00000700| 09 09 0d 09 09 2f 2a 20 | 79 65 61 63 68 68 20 2d |...../* |yeachh -|
|00000710| 2d 20 77 65 20 68 61 76 | 65 20 74 6f 20 64 6f 20 |- we hav|e to do |
|00000720| 69 74 20 61 6c 6c 20 62 | 79 20 68 61 6e 64 21 20 |it all b|y hand! |
|00000730| 2a 2f 0d 09 09 69 66 20 | 28 53 79 73 45 6e 76 69 |*/...if |(SysEnvi|
|00000740| 72 6f 6e 73 28 31 2c 20 | 26 74 68 65 53 79 73 45 |rons(1, |&theSysE|
|00000750| 6e 76 29 29 20 20 7b 09 | 09 2f 2a 20 49 73 20 74 |nv)) {.|./* Is t|
|00000760| 68 65 20 73 79 73 74 65 | 6d 20 64 69 73 6b 20 70 |he syste|m disk p|
|00000770| 72 65 73 65 6e 74 3f 20 | 2a 2f 0d 09 09 09 72 65 |resent? |*/....re|
|00000780| 74 75 72 6e 20 46 41 4c | 53 45 3b 09 09 09 09 09 |turn FAL|SE;.....|
|00000790| 09 2f 2a 20 46 6f 72 67 | 65 74 20 69 74 21 20 2a |./* Forg|et it! *|
|000007a0| 2f 0d 09 09 7d 0d 09 09 | 2a 70 72 65 66 56 52 65 |/...}...|*prefVRe|
|000007b0| 66 4e 75 6d 20 3d 20 74 | 68 65 53 79 73 45 6e 76 |fNum = t|heSysEnv|
|000007c0| 2e 73 79 73 56 52 65 66 | 4e 75 6d 3b 09 2f 2a 20 |.sysVRef|Num;./* |
|000007d0| 53 61 76 65 20 6f 66 66 | 20 74 68 65 20 62 6f 6f |Save off| the boo|
|000007e0| 74 20 76 6f 6c 75 6d 65 | 20 49 44 20 2a 2f 0d 09 |t volume| ID */..|
|000007f0| 09 0d 09 09 2f 2a 20 63 | 68 65 63 6b 20 77 68 65 |..../* c|heck whe|
|00000800| 74 68 65 72 20 50 72 65 | 66 65 72 65 6e 63 65 73 |ther Pre|ferences|
|00000810| 20 66 6f 6c 64 65 72 20 | 61 6c 72 65 61 64 79 20 | folder |already |
|00000820| 65 78 69 73 74 73 20 2a | 2f 0d 09 09 69 6e 66 6f |exists *|/...info|
|00000830| 50 42 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 43 |PB.hFile|Info.ioC|
|00000840| 6f 6d 70 6c 65 74 69 6f | 6e 20 3d 20 30 3b 09 09 |ompletio|n = 0;..|
|00000850| 2f 2a 20 57 61 69 74 20 | 66 6f 72 20 63 6f 6d 70 |/* Wait |for comp|
|00000860| 6c 65 74 69 6f 6e 20 2a | 2f 0d 09 09 69 6e 66 6f |letion *|/...info|
|00000870| 50 42 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 4e |PB.hFile|Info.ioN|
|00000880| 61 6d 65 50 74 72 20 20 | 20 20 3d 20 70 72 65 66 |amePtr | = pref|
|00000890| 46 6f 6c 64 65 72 4e 61 | 6d 65 3b 09 2f 2a 20 47 |FolderNa|me;./* G|
|000008a0| 65 74 20 66 6f 6c 64 65 | 72 20 6e 61 6d 65 20 2a |et folde|r name *|
|000008b0| 2f 0d 09 09 69 6e 66 6f | 50 42 2e 68 46 69 6c 65 |/...info|PB.hFile|
|000008c0| 49 6e 66 6f 2e 69 6f 56 | 52 65 66 4e 75 6d 20 20 |Info.ioV|RefNum |
|000008d0| 20 20 3d 20 2a 70 72 65 | 66 56 52 65 66 4e 75 6d | = *pre|fVRefNum|
|000008e0| 3b 09 2f 2a 20 50 61 73 | 73 20 74 68 65 20 76 6f |;./* Pas|s the vo|
|000008f0| 6c 75 6d 65 20 23 20 2a | 2f 0d 09 09 69 6e 66 6f |lume # *|/...info|
|00000900| 50 42 2e 68 46 69 6c 65 | 49 6e 66 6f 2e 69 6f 46 |PB.hFile|Info.ioF|
|00000910| 44 69 72 49 6e 64 65 78 | 20 20 3d 20 30 3b 09 09 |DirIndex| = 0;..|
|00000920| 2f 2a 20 53 63 61 6e 20 | 64 69 72 65 63 74 6f 72 |/* Scan |director|
|00000930| 69 65 73 20 2a 2f 0d 09 | 09 69 6e 66 6f 50 42 2e |ies */..|.infoPB.|
|00000940| 68 46 69 6c 65 49 6e 66 | 6f 2e 69 6f 44 69 72 49 |hFileInf|o.ioDirI|
|00000950| 44 20 20 20 20 20 20 3d | 20 30 3b 09 09 2f 2a 20 |D =| 0;../* |
|00000960| 49 6e 69 74 20 64 69 72 | 20 69 64 20 2a 2f 0d 09 |Init dir| id */..|
|00000970| 09 74 68 65 45 72 72 20 | 3d 20 50 42 47 65 74 43 |.theErr |= PBGetC|
|00000980| 61 74 49 6e 66 6f 28 26 | 69 6e 66 6f 50 42 2c 20 |atInfo(&|infoPB, |
|00000990| 46 41 4c 53 45 29 3b 09 | 2f 2a 20 47 65 74 20 74 |FALSE);.|/* Get t|
|000009a0| 68 65 20 63 61 74 61 6c | 6f 67 20 69 6e 66 6f 20 |he catal|og info |
|000009b0| 2a 2f 0d 09 09 69 66 20 | 28 21 74 68 65 45 72 72 |*/...if |(!theErr|
|000009c0| 29 20 7b 0d 09 09 09 2a | 70 72 65 66 44 69 72 49 |) {....*|prefDirI|
|000009d0| 44 20 3d 20 69 6e 66 6f | 50 42 2e 68 46 69 6c 65 |D = info|PB.hFile|
|000009e0| 49 6e 66 6f 2e 69 6f 44 | 69 72 49 44 3b 09 2f 2a |Info.ioD|irID;./*|
|000009f0| 20 52 65 74 75 72 6e 20 | 74 68 65 20 66 6f 6c 64 | Return |the fold|
|00000a00| 65 72 20 69 64 20 2a 2f | 0d 09 09 7d 20 65 6c 73 |er id */|...} els|
|00000a10| 65 20 69 66 20 28 74 68 | 65 45 72 72 20 3d 3d 20 |e if (th|eErr == |
|00000a20| 66 6e 66 45 72 72 29 20 | 7b 09 09 2f 2a 20 50 72 |fnfErr) |{../* Pr|
|00000a30| 65 66 65 72 65 6e 63 65 | 73 20 64 6f 65 73 6e 27 |eference|s doesn'|
|00000a40| 74 20 61 6c 72 65 61 64 | 79 20 65 78 69 73 74 20 |t alread|y exist |
|00000a50| 2a 2f 0d 09 0d 09 09 09 | 48 50 61 72 61 6d 42 6c |*/......|HParamBl|
|00000a60| 6f 63 6b 52 65 63 20 64 | 69 72 50 42 3b 0d 09 09 |ockRec d|irPB;...|
|00000a70| 09 2f 2a 20 63 72 65 61 | 74 65 20 22 50 72 65 66 |./* crea|te "Pref|
|00000a80| 65 72 65 6e 63 65 73 22 | 20 66 6f 6c 64 65 72 20 |erences"| folder |
|00000a90| 2a 2f 0d 09 09 09 64 69 | 72 50 42 2e 66 69 6c 65 |*/....di|rPB.file|
|00000aa0| 50 61 72 61 6d 2e 69 6f | 43 6f 6d 70 6c 65 74 69 |Param.io|Completi|
|00000ab0| 6f 6e 20 3d 20 30 3b 0d | 09 09 09 64 69 72 50 42 |on = 0;.|...dirPB|
|00000ac0| 2e 66 69 6c 65 50 61 72 | 61 6d 2e 69 6f 56 52 65 |.filePar|am.ioVRe|
|00000ad0| 66 4e 75 6d 20 20 20 20 | 3d 20 2a 70 72 65 66 56 |fNum |= *prefV|
|00000ae0| 52 65 66 4e 75 6d 3b 0d | 09 09 09 64 69 72 50 42 |RefNum;.|...dirPB|
|00000af0| 2e 66 69 6c 65 50 61 72 | 61 6d 2e 69 6f 4e 61 6d |.filePar|am.ioNam|
|00000b00| 65 50 74 72 20 20 20 20 | 3d 20 70 72 65 66 46 6f |ePtr |= prefFo|
|00000b10| 6c 64 65 72 4e 61 6d 65 | 3b 0d 09 09 09 64 69 72 |lderName|;....dir|
|00000b20| 50 42 2e 66 69 6c 65 50 | 61 72 61 6d 2e 69 6f 44 |PB.fileP|aram.ioD|
|00000b30| 69 72 49 44 20 20 20 20 | 20 20 3d 20 30 3b 0d 09 |irID | = 0;..|
|00000b40| 09 09 74 68 65 45 72 72 | 20 3d 20 50 42 44 69 72 |..theErr| = PBDir|
|00000b50| 43 72 65 61 74 65 28 26 | 64 69 72 50 42 2c 20 46 |Create(&|dirPB, F|
|00000b60| 41 4c 53 45 29 3b 09 09 | 2f 2a 20 43 72 65 61 74 |ALSE);..|/* Creat|
|00000b70| 65 20 74 68 65 20 66 6f | 6c 64 65 72 20 2a 2f 0d |e the fo|lder */.|
|00000b80| 09 09 09 69 66 20 28 21 | 74 68 65 45 72 72 29 20 |...if (!|theErr) |
|00000b90| 7b 0d 09 09 09 09 2a 70 | 72 65 66 44 69 72 49 44 |{.....*p|refDirID|
|00000ba0| 20 3d 20 64 69 72 50 42 | 2e 66 69 6c 65 50 61 72 | = dirPB|.filePar|
|00000bb0| 61 6d 2e 69 6f 44 69 72 | 49 44 3b 09 2f 2a 20 53 |am.ioDir|ID;./* S|
|00000bc0| 61 76 65 20 74 68 65 20 | 49 44 20 2a 2f 0d 09 09 |ave the |ID */...|
|00000bd0| 09 7d 0d 09 09 7d 0d 09 | 7d 0d 09 0d 09 2f 2a 20 |.}...}..|}..../* |
|00000be0| 69 66 20 77 65 20 6d 61 | 6b 65 20 69 74 20 68 65 |if we ma|ke it he|
|00000bf0| 72 65 20 4f 4b 2c 20 63 | 72 65 61 74 65 20 50 72 |re OK, c|reate Pr|
|00000c00| 65 66 65 72 65 6e 63 65 | 73 20 66 69 6c 65 20 69 |eference|s file i|
|00000c10| 66 20 6e 65 63 65 73 73 | 61 72 79 20 2a 2f 0d 09 |f necess|ary */..|
|00000c20| 0d 09 69 66 20 28 21 74 | 68 65 45 72 72 29 20 7b |..if (!t|heErr) {|
|00000c30| 0d 09 09 69 6e 66 6f 50 | 42 2e 68 46 69 6c 65 49 |...infoP|B.hFileI|
|00000c40| 6e 66 6f 2e 69 6f 43 6f | 6d 70 6c 65 74 69 6f 6e |nfo.ioCo|mpletion|
|00000c50| 20 3d 20 30 3b 0d 09 09 | 69 6e 66 6f 50 42 2e 68 | = 0;...|infoPB.h|
|00000c60| 46 69 6c 65 49 6e 66 6f | 2e 69 6f 4e 61 6d 65 50 |FileInfo|.ioNameP|
|00000c70| 74 72 20 20 20 20 3d 20 | 70 72 65 66 73 49 6e 66 |tr = |prefsInf|
|00000c80| 6f 2e 66 69 6c 65 4e 61 | 6d 65 3b 0d 09 09 69 6e |o.fileNa|me;...in|
|00000c90| 66 6f 50 42 2e 68 46 69 | 6c 65 49 6e 66 6f 2e 69 |foPB.hFi|leInfo.i|
|00000ca0| 6f 56 52 65 66 4e 75 6d | 20 20 20 20 3d 20 2a 70 |oVRefNum| = *p|
|00000cb0| 72 65 66 56 52 65 66 4e | 75 6d 3b 0d 09 09 69 6e |refVRefN|um;...in|
|00000cc0| 66 6f 50 42 2e 68 46 69 | 6c 65 49 6e 66 6f 2e 69 |foPB.hFi|leInfo.i|
|00000cd0| 6f 46 44 69 72 49 6e 64 | 65 78 20 20 3d 20 30 3b |oFDirInd|ex = 0;|
|00000ce0| 0d 09 09 69 6e 66 6f 50 | 42 2e 68 46 69 6c 65 49 |...infoP|B.hFileI|
|00000cf0| 6e 66 6f 2e 69 6f 44 69 | 72 49 44 20 20 20 20 20 |nfo.ioDi|rID |
|00000d00| 20 3d 20 2a 70 72 65 66 | 44 69 72 49 44 3b 0d 09 | = *pref|DirID;..|
|00000d10| 09 74 68 65 45 72 72 20 | 3d 20 50 42 47 65 74 43 |.theErr |= PBGetC|
|00000d20| 61 74 49 6e 66 6f 28 26 | 69 6e 66 6f 50 42 2c 20 |atInfo(&|infoPB, |
|00000d30| 46 41 4c 53 45 29 3b 09 | 09 2f 2a 20 47 65 74 20 |FALSE);.|./* Get |
|00000d40| 74 68 65 20 66 69 6c 65 | 20 69 6e 66 6f 20 2a 2f |the file| info */|
|00000d50| 0d 09 09 69 66 20 28 74 | 68 65 45 72 72 20 3d 3d |...if (t|heErr ==|
|00000d60| 20 66 6e 66 45 72 72 29 | 20 7b 09 09 09 09 2f 2a | fnfErr)| {..../*|
|00000d70| 20 4e 6f 74 20 70 72 65 | 73 65 6e 74 3f 20 2a 2f | Not pre|sent? */|
|00000d80| 0d 09 09 09 74 68 65 45 | 72 72 20 3d 20 48 43 72 |....theE|rr = HCr|
|00000d90| 65 61 74 65 28 2a 70 72 | 65 66 56 52 65 66 4e 75 |eate(*pr|efVRefNu|
|00000da0| 6d 2c 20 2a 70 72 65 66 | 44 69 72 49 44 2c 20 70 |m, *pref|DirID, p|
|00000db0| 72 65 66 73 49 6e 66 6f | 2e 66 69 6c 65 4e 61 6d |refsInfo|.fileNam|
|00000dc0| 65 2c 0d 09 09 09 09 09 | 09 09 09 70 72 65 66 73 |e,......|...prefs|
|00000dd0| 49 6e 66 6f 2e 63 72 65 | 61 74 6f 72 2c 20 70 72 |Info.cre|ator, pr|
|00000de0| 65 66 73 49 6e 66 6f 2e | 66 69 6c 65 54 79 70 65 |efsInfo.|fileType|
|00000df0| 29 3b 0d 09 09 09 69 66 | 20 28 21 74 68 65 45 72 |);....if| (!theEr|
|00000e00| 72 29 20 7b 0d 09 09 09 | 09 48 43 72 65 61 74 65 |r) {....|.HCreate|
|00000e10| 52 65 73 46 69 6c 65 28 | 2a 70 72 65 66 56 52 65 |ResFile(|*prefVRe|
|00000e20| 66 4e 75 6d 2c 20 2a 70 | 72 65 66 44 69 72 49 44 |fNum, *p|refDirID|
|00000e30| 2c 20 70 72 65 66 73 49 | 6e 66 6f 2e 66 69 6c 65 |, prefsI|nfo.file|
|00000e40| 4e 61 6d 65 29 3b 0d 09 | 09 09 09 74 68 65 45 72 |Name);..|...theEr|
|00000e50| 72 20 3d 20 52 65 73 45 | 72 72 6f 72 28 29 3b 09 |r = ResE|rror();.|
|00000e60| 09 2f 2a 20 57 61 73 20 | 74 68 65 72 65 20 61 6e |./* Was |there an|
|00000e70| 20 65 72 72 6f 72 3f 20 | 2a 2f 0d 09 09 09 7d 0d | error? |*/....}.|
|00000e80| 09 09 7d 0d 09 7d 0d 09 | 72 65 74 75 72 6e 20 28 |..}..}..|return (|
|00000e90| 21 74 68 65 45 72 72 29 | 3b 0d 7d 0d 0d 2f 2a 2a |!theErr)|;.}../**|
|00000ea0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000eb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ec0| 0d 0d 09 49 6e 69 74 20 | 74 68 65 20 72 65 63 6f |...Init |the reco|
|00000ed0| 72 64 20 66 6f 72 20 74 | 68 65 20 22 50 72 65 66 |rd for t|he "Pref|
|00000ee0| 73 22 20 66 69 6c 65 0d | 09 41 6c 6c 20 74 68 69 |s" file.|.All thi|
|00000ef0| 73 20 64 6f 65 73 20 69 | 73 20 70 72 65 73 65 74 |s does i|s preset|
|00000f00| 20 74 68 65 20 70 72 65 | 66 73 66 69 6c 65 20 73 | the pre|fsfile s|
|00000f10| 74 72 75 63 74 75 72 65 | 0d 09 66 6f 72 20 74 68 |tructure|..for th|
|00000f20| 65 20 66 69 6c 65 6e 61 | 6d 65 20 6f 66 20 74 68 |e filena|me of th|
|00000f30| 65 20 70 72 65 66 73 20 | 66 69 6c 65 2e 0d 09 0d |e prefs |file....|
|00000f40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000f50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000f60| 2a 2a 2f 0d 0d 76 6f 69 | 64 20 49 6e 69 74 50 72 |**/..voi|d InitPr|
|00000f70| 65 66 73 46 69 6c 65 28 | 4f 53 54 79 70 65 20 63 |efsFile(|OSType c|
|00000f80| 72 65 61 74 6f 72 2c 42 | 79 74 65 20 2a 50 72 65 |reator,B|yte *Pre|
|00000f90| 66 73 4e 61 6d 65 29 0d | 7b 0d 09 57 6f 72 64 20 |fsName).|{..Word |
|00000fa0| 46 4c 65 6e 3b 0d 0d 09 | 46 4c 65 6e 20 3d 20 73 |FLen;...|FLen = s|
|00000fb0| 74 72 6c 65 6e 28 28 63 | 68 61 72 20 2a 29 50 72 |trlen((c|har *)Pr|
|00000fc0| 65 66 73 4e 61 6d 65 29 | 3b 09 09 2f 2a 20 48 6f |efsName)|;../* Ho|
|00000fd0| 77 20 6c 6f 6e 67 20 69 | 73 20 74 68 65 20 73 74 |w long i|s the st|
|00000fe0| 72 69 6e 67 3f 20 2a 2f | 0d 09 70 72 65 66 73 49 |ring? */|..prefsI|
|00000ff0| 6e 66 6f 2e 66 69 6c 65 | 4e 61 6d 65 5b 30 5d 20 |nfo.file|Name[0] |
|00001000| 3d 20 46 4c 65 6e 3b 09 | 09 09 2f 2a 20 4d 61 6b |= FLen;.|../* Mak|
|00001010| 65 20 61 20 50 41 53 43 | 41 4c 20 73 74 72 69 6e |e a PASC|AL strin|
|00001020| 67 20 2a 2f 0d 09 42 6c | 6f 63 6b 4d 6f 76 65 28 |g */..Bl|ockMove(|
|00001030| 50 72 65 66 73 4e 61 6d | 65 2c 26 70 72 65 66 73 |PrefsNam|e,&prefs|
|00001040| 49 6e 66 6f 2e 66 69 6c | 65 4e 61 6d 65 5b 31 5d |Info.fil|eName[1]|
|00001050| 2c 46 4c 65 6e 29 3b 09 | 2f 2a 20 43 6f 70 79 20 |,FLen);.|/* Copy |
|00001060| 74 68 65 20 62 75 6c 6b | 20 2a 2f 0d 09 70 72 65 |the bulk| */..pre|
|00001070| 66 73 49 6e 66 6f 2e 63 | 72 65 61 74 6f 72 20 3d |fsInfo.c|reator =|
|00001080| 20 63 72 65 61 74 6f 72 | 3b 09 2f 2a 20 34 20 4c | creator|;./* 4 L|
|00001090| 65 74 74 65 72 20 63 72 | 65 61 74 6f 72 20 66 69 |etter cr|eator fi|
|000010a0| 6c 65 74 79 70 65 20 2a | 2f 0d 09 70 72 65 66 73 |letype *|/..prefs|
|000010b0| 49 6e 66 6f 2e 66 69 6c | 65 54 79 70 65 20 3d 20 |Info.fil|eType = |
|000010c0| 27 50 52 45 46 27 3b 09 | 2f 2a 20 50 72 65 66 27 |'PREF';.|/* Pref'|
|000010d0| 73 20 66 69 6c 65 74 79 | 70 65 20 2a 2f 0d 09 70 |s filety|pe */..p|
|000010e0| 72 65 66 73 49 6e 66 6f | 2e 72 65 73 54 79 70 65 |refsInfo|.resType|
|000010f0| 20 3d 20 27 50 52 45 46 | 27 3b 09 09 2f 2a 20 50 | = 'PREF|';../* P|
|00001100| 72 65 66 27 73 20 72 65 | 73 6f 75 72 63 65 20 2a |ref's re|source *|
|00001110| 2f 0d 09 70 72 65 66 73 | 49 6e 66 6f 2e 72 65 73 |/..prefs|Info.res|
|00001120| 49 44 20 3d 20 30 3b 09 | 09 09 2f 2a 20 4e 6f 20 |ID = 0;.|../* No |
|00001130| 72 65 73 6f 75 72 63 65 | 20 49 44 20 61 73 73 69 |resource| ID assi|
|00001140| 67 6e 65 64 20 79 65 74 | 20 2a 2f 0d 09 70 72 65 |gned yet| */..pre|
|00001150| 66 73 49 6e 69 74 65 64 | 20 3d 20 54 52 55 45 3b |fsInited| = TRUE;|
|00001160| 09 09 09 09 2f 2a 20 41 | 6c 6c 20 6e 75 6d 62 65 |..../* A|ll numbe|
|00001170| 72 73 20 61 72 65 20 73 | 65 74 2e 2e 2e 20 2a 2f |rs are s|et... */|
|00001180| 0d 7d 0d 0d 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.}../***|********|
|00001190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011a0| 2a 2a 2a 2a 2a 2a 2a 0d | 0d 09 4c 6f 61 64 20 69 |*******.|..Load i|
|000011b0| 6e 20 61 20 70 72 65 66 | 73 20 66 69 6c 65 20 61 |n a pref|s file a|
|000011c0| 6e 64 20 73 74 6f 72 65 | 20 69 74 20 0d 09 69 6e |nd store| it ..in|
|000011d0| 74 6f 20 61 20 70 61 73 | 73 65 64 20 70 6f 69 6e |to a pas|sed poin|
|000011e0| 74 65 72 20 49 46 20 74 | 68 65 20 66 69 6c 65 20 |ter IF t|he file |
|000011f0| 77 61 73 0d 09 6c 6f 61 | 64 65 64 20 70 72 6f 70 |was..loa|ded prop|
|00001200| 65 72 6c 79 2e 0d 09 0d | 09 52 65 74 75 72 6e 20 |erly....|.Return |
|00001210| 61 6e 79 20 65 72 72 6f | 72 20 63 6f 64 65 73 2e |any erro|r codes.|
|00001220| 0d 09 09 0d 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |....****|********|
|00001230| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001240| 2a 2a 2a 2a 2a 2a 2f 0d | 0d 4f 53 45 72 72 20 4c |******/.|.OSErr L|
|00001250| 6f 61 64 50 72 65 66 73 | 46 69 6c 65 28 42 79 74 |oadPrefs|File(Byt|
|00001260| 65 20 2a 50 72 65 66 73 | 50 74 72 2c 57 6f 72 64 |e *Prefs|Ptr,Word|
|00001270| 20 50 72 65 66 73 4c 65 | 6e 29 0d 7b 0d 09 73 68 | PrefsLe|n).{..sh|
|00001280| 6f 72 74 20 70 72 65 66 | 56 52 65 66 4e 75 6d 2c |ort pref|VRefNum,|
|00001290| 20 70 72 65 66 52 65 66 | 4e 75 6d 3b 0d 09 6c 6f | prefRef|Num;..lo|
|000012a0| 6e 67 20 70 72 65 66 44 | 69 72 49 44 3b 0d 09 48 |ng prefD|irID;..H|
|000012b0| 61 6e 64 6c 65 09 6f 72 | 69 67 48 64 6c 3b 0d 09 |andle.or|igHdl;..|
|000012c0| 4c 6f 6e 67 57 6f 72 64 | 20 6f 72 69 67 53 69 7a |LongWord| origSiz|
|000012d0| 65 3b 0d 0d 09 69 66 20 | 28 21 46 69 6e 64 50 72 |e;...if |(!FindPr|
|000012e0| 65 66 73 46 69 6c 65 28 | 26 70 72 65 66 56 52 65 |efsFile(|&prefVRe|
|000012f0| 66 4e 75 6d 2c 20 26 70 | 72 65 66 44 69 72 49 44 |fNum, &p|refDirID|
|00001300| 29 29 20 7b 09 2f 2a 20 | 53 65 61 72 63 68 20 66 |)) {./* |Search f|
|00001310| 6f 72 20 74 68 65 20 66 | 69 6c 65 20 2a 2f 0d 09 |or the f|ile */..|
|00001320| 09 72 65 74 75 72 6e 20 | 66 6e 66 45 72 72 3b 09 |.return |fnfErr;.|
|00001330| 09 2f 2a 20 46 69 6c 65 | 20 77 61 73 20 4e 4f 54 |./* File| was NOT|
|00001340| 20 66 6f 75 6e 64 20 65 | 72 72 6f 72 20 2a 2f 0d | found e|rror */.|
|00001350| 09 7d 0d 09 0d 09 70 72 | 65 66 52 65 66 4e 75 6d |.}....pr|efRefNum|
|00001360| 20 3d 20 48 4f 70 65 6e | 52 65 73 46 69 6c 65 28 | = HOpen|ResFile(|
|00001370| 70 72 65 66 56 52 65 66 | 4e 75 6d 2c 20 70 72 65 |prefVRef|Num, pre|
|00001380| 66 44 69 72 49 44 2c 20 | 70 72 65 66 73 49 6e 66 |fDirID, |prefsInf|
|00001390| 6f 2e 66 69 6c 65 4e 61 | 6d 65 2c 20 66 73 52 64 |o.fileNa|me, fsRd|
|000013a0| 57 72 50 65 72 6d 29 3b | 0d 09 69 66 20 28 70 72 |WrPerm);|..if (pr|
|000013b0| 65 66 52 65 66 4e 75 6d | 20 3d 3d 20 2d 31 29 20 |efRefNum| == -1) |
|000013c0| 7b 09 09 2f 2a 20 52 65 | 73 6f 75 72 63 65 20 65 |{../* Re|source e|
|000013d0| 72 72 6f 72 3f 20 2a 2f | 0d 09 09 72 65 74 75 72 |rror? */|...retur|
|000013e0| 6e 20 52 65 73 45 72 72 | 6f 72 28 29 3b 09 09 2f |n ResErr|or();../|
|000013f0| 2a 20 52 65 74 75 72 6e | 20 74 68 65 20 72 65 73 |* Return| the res|
|00001400| 6f 75 72 63 65 20 6d 61 | 6e 61 67 65 72 20 65 72 |ource ma|nager er|
|00001410| 72 6f 72 20 2a 2f 0d 09 | 7d 0d 09 2f 2a 20 4e 6f |ror */..|}../* No|
|00001420| 74 20 66 69 6e 64 69 6e | 67 20 74 68 65 20 72 65 |t findin|g the re|
|00001430| 73 6f 75 72 63 65 20 69 | 73 20 6e 6f 74 20 61 6e |source i|s not an|
|00001440| 20 65 72 72 6f 72 20 2d | 2d 20 63 61 6c 6c 65 72 | error -|- caller|
|00001450| 20 77 69 6c 6c 20 75 73 | 65 20 64 65 66 61 75 6c | will us|e defaul|
|00001460| 74 20 64 61 74 61 20 2a | 2f 0d 09 6f 72 69 67 48 |t data *|/..origH|
|00001470| 64 6c 20 3d 20 47 65 74 | 31 52 65 73 6f 75 72 63 |dl = Get|1Resourc|
|00001480| 65 28 70 72 65 66 73 49 | 6e 66 6f 2e 72 65 73 54 |e(prefsI|nfo.resT|
|00001490| 79 70 65 2c 20 70 72 65 | 66 73 49 6e 66 6f 2e 72 |ype, pre|fsInfo.r|
|000014a0| 65 73 49 44 29 3b 0d 09 | 69 66 20 28 6f 72 69 67 |esID);..|if (orig|
|000014b0| 48 64 6c 29 20 7b 09 09 | 09 09 09 09 09 2f 2a 20 |Hdl) {..|...../* |
|000014c0| 56 61 6c 69 64 20 68 61 | 6e 64 6c 65 3f 20 2a 2f |Valid ha|ndle? */|
|000014d0| 0d 09 09 6f 72 69 67 53 | 69 7a 65 20 3d 20 47 65 |...origS|ize = Ge|
|000014e0| 74 48 61 6e 64 6c 65 53 | 69 7a 65 28 6f 72 69 67 |tHandleS|ize(orig|
|000014f0| 48 64 6c 29 3b 09 2f 2a | 20 48 6f 77 20 6d 75 63 |Hdl);./*| How muc|
|00001500| 68 20 64 61 74 61 20 69 | 73 20 68 65 72 65 3f 20 |h data i|s here? |
|00001510| 2a 2f 0d 09 09 69 66 20 | 28 6f 72 69 67 53 69 7a |*/...if |(origSiz|
|00001520| 65 20 3c 20 50 72 65 66 | 73 4c 65 6e 29 20 7b 09 |e < Pref|sLen) {.|
|00001530| 09 09 2f 2a 20 4c 65 73 | 73 20 64 61 74 61 20 74 |../* Les|s data t|
|00001540| 68 61 6e 20 65 78 70 65 | 63 74 65 64 3f 20 2a 2f |han expe|cted? */|
|00001550| 0d 09 09 09 50 72 65 66 | 73 4c 65 6e 20 3d 20 6f |....Pref|sLen = o|
|00001560| 72 69 67 53 69 7a 65 3b | 09 09 09 2f 2a 20 55 73 |rigSize;|.../* Us|
|00001570| 65 20 74 68 65 20 73 6d | 61 6c 6c 65 72 20 73 69 |e the sm|aller si|
|00001580| 7a 65 20 2a 2f 0d 09 09 | 7d 0d 09 09 42 6c 6f 63 |ze */...|}...Bloc|
|00001590| 6b 4d 6f 76 65 28 2a 6f | 72 69 67 48 64 6c 2c 50 |kMove(*o|rigHdl,P|
|000015a0| 72 65 66 73 50 74 72 2c | 50 72 65 66 73 4c 65 6e |refsPtr,|PrefsLen|
|000015b0| 29 3b 09 2f 2a 20 43 6f | 70 79 20 74 68 65 20 4e |);./* Co|py the N|
|000015c0| 45 57 20 70 72 65 66 73 | 20 64 61 74 61 20 2a 2f |EW prefs| data */|
|000015d0| 0d 09 09 52 65 6c 65 61 | 73 65 52 65 73 6f 75 72 |...Relea|seResour|
|000015e0| 63 65 28 6f 72 69 67 48 | 64 6c 29 3b 09 09 09 2f |ce(origH|dl);.../|
|000015f0| 2a 20 52 65 6c 65 61 73 | 65 20 74 68 65 20 64 61 |* Releas|e the da|
|00001600| 74 61 20 2a 2f 0d 09 7d | 0d 09 43 6c 6f 73 65 52 |ta */..}|..CloseR|
|00001610| 65 73 46 69 6c 65 28 70 | 72 65 66 52 65 66 4e 75 |esFile(p|refRefNu|
|00001620| 6d 29 3b 09 09 2f 2a 20 | 43 6c 6f 73 65 20 74 68 |m);../* |Close th|
|00001630| 65 20 72 65 73 6f 75 72 | 63 65 20 66 69 6c 65 20 |e resour|ce file |
|00001640| 2a 2f 0d 09 72 65 74 75 | 72 6e 20 52 65 73 45 72 |*/..retu|rn ResEr|
|00001650| 72 6f 72 28 29 3b 09 09 | 09 09 2f 2a 20 52 65 74 |ror();..|../* Ret|
|00001660| 75 72 6e 20 61 6e 79 20 | 65 72 72 6f 72 73 20 2a |urn any |errors *|
|00001670| 2f 0d 7d 0d 0d 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/.}../**|********|
|00001680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001690| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0d 09 53 61 76 65 20 |********|...Save |
|000016a0| 64 61 74 61 20 66 6f 72 | 20 61 20 6e 65 77 20 70 |data for| a new p|
|000016b0| 72 65 66 73 20 66 69 6c | 65 0d 09 0d 2a 2a 2a 2a |refs fil|e...****|
|000016c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000016d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2f 0d |********|******/.|
|000016e0| 0d 4f 53 45 72 72 20 53 | 61 76 65 50 72 65 66 73 |.OSErr S|avePrefs|
|000016f0| 46 69 6c 65 28 42 79 74 | 65 20 2a 50 72 65 66 73 |File(Byt|e *Prefs|
|00001700| 50 74 72 2c 57 6f 72 64 | 20 50 72 65 66 73 4c 65 |Ptr,Word| PrefsLe|
|00001710| 6e 29 0d 7b 0d 09 73 68 | 6f 72 74 20 70 72 65 66 |n).{..sh|ort pref|
|00001720| 56 52 65 66 4e 75 6d 2c | 20 70 72 65 66 52 65 66 |VRefNum,| prefRef|
|00001730| 4e 75 6d 3b 0d 09 6c 6f | 6e 67 20 70 72 65 66 44 |Num;..lo|ng prefD|
|00001740| 69 72 49 44 3b 0d 09 48 | 61 6e 64 6c 65 20 6f 72 |irID;..H|andle or|
|00001750| 69 67 48 64 6c 3b 0d 09 | 4c 6f 6e 67 57 6f 72 64 |igHdl;..|LongWord|
|00001760| 20 6f 72 69 67 53 69 7a | 65 3b 0d 09 4f 53 45 72 | origSiz|e;..OSEr|
|00001770| 72 20 74 68 65 45 72 72 | 20 3d 20 6e 6f 45 72 72 |r theErr| = noErr|
|00001780| 3b 0d 09 0d 09 69 66 20 | 28 21 46 69 6e 64 50 72 |;....if |(!FindPr|
|00001790| 65 66 73 46 69 6c 65 28 | 26 70 72 65 66 56 52 65 |efsFile(|&prefVRe|
|000017a0| 66 4e 75 6d 2c 20 26 70 | 72 65 66 44 69 72 49 44 |fNum, &p|refDirID|
|000017b0| 29 29 20 7b 09 2f 2a 20 | 46 69 6c 65 20 6e 6f 74 |)) {./* |File not|
|000017c0| 20 70 72 65 73 65 6e 74 | 3f 20 2a 2f 0d 09 09 72 | present|? */...r|
|000017d0| 65 74 75 72 6e 20 66 6e | 66 45 72 72 3b 09 09 2f |eturn fn|fErr;../|
|000017e0| 2a 20 46 69 6c 65 20 6e | 6f 74 20 66 6f 75 6e 64 |* File n|ot found|
|000017f0| 20 65 72 72 6f 72 20 2a | 2f 0d 09 7d 0d 09 0d 09 | error *|/..}....|
|00001800| 70 72 65 66 52 65 66 4e | 75 6d 20 3d 20 48 4f 70 |prefRefN|um = HOp|
|00001810| 65 6e 52 65 73 46 69 6c | 65 28 70 72 65 66 56 52 |enResFil|e(prefVR|
|00001820| 65 66 4e 75 6d 2c 20 70 | 72 65 66 44 69 72 49 44 |efNum, p|refDirID|
|00001830| 2c 20 70 72 65 66 73 49 | 6e 66 6f 2e 66 69 6c 65 |, prefsI|nfo.file|
|00001840| 4e 61 6d 65 2c 20 66 73 | 52 64 57 72 50 65 72 6d |Name, fs|RdWrPerm|
|00001850| 29 3b 0d 09 69 66 20 28 | 70 72 65 66 52 65 66 4e |);..if (|prefRefN|
|00001860| 75 6d 20 3d 3d 20 2d 31 | 29 20 7b 09 2f 2a 20 42 |um == -1|) {./* B|
|00001870| 61 64 20 72 65 73 6f 75 | 72 63 65 20 66 6f 72 6b |ad resou|rce fork|
|00001880| 3f 20 2a 2f 0d 09 09 72 | 65 74 75 72 6e 20 52 65 |? */...r|eturn Re|
|00001890| 73 45 72 72 6f 72 28 29 | 3b 09 09 2f 2a 20 52 65 |sError()|;../* Re|
|000018a0| 74 75 72 6e 20 74 68 65 | 20 65 72 72 6f 72 20 2a |turn the| error *|
|000018b0| 2f 0d 09 7d 0d 09 0d 09 | 6f 72 69 67 48 64 6c 20 |/..}....|origHdl |
|000018c0| 3d 20 47 65 74 31 52 65 | 73 6f 75 72 63 65 28 70 |= Get1Re|source(p|
|000018d0| 72 65 66 73 49 6e 66 6f | 2e 72 65 73 54 79 70 65 |refsInfo|.resType|
|000018e0| 2c 20 70 72 65 66 73 49 | 6e 66 6f 2e 72 65 73 49 |, prefsI|nfo.resI|
|000018f0| 44 29 3b 09 2f 2a 20 47 | 65 74 20 74 68 65 20 72 |D);./* G|et the r|
|00001900| 65 73 6f 75 72 63 65 20 | 2a 2f 0d 09 69 66 20 28 |esource |*/..if (|
|00001910| 6f 72 69 67 48 64 6c 29 | 20 7b 09 09 2f 2a 20 4f |origHdl)| {../* O|
|00001920| 76 65 72 77 72 69 74 65 | 20 74 68 65 20 65 78 69 |verwrite| the exi|
|00001930| 73 74 69 6e 67 20 72 65 | 73 6f 75 72 63 65 20 2a |sting re|source *|
|00001940| 2f 0d 09 09 6f 72 69 67 | 53 69 7a 65 20 3d 20 47 |/...orig|Size = G|
|00001950| 65 74 48 61 6e 64 6c 65 | 53 69 7a 65 28 6f 72 69 |etHandle|Size(ori|
|00001960| 67 48 64 6c 29 3b 09 09 | 2f 2a 20 48 6f 77 20 6c |gHdl);..|/* How l|
|00001970| 61 72 67 65 20 69 73 20 | 69 74 3f 20 2a 2f 0d 09 |arge is |it? */..|
|00001980| 09 69 66 20 28 50 72 65 | 66 73 4c 65 6e 20 21 3d |.if (Pre|fsLen !=|
|00001990| 20 6f 72 69 67 53 69 7a | 65 29 20 7b 09 09 09 09 | origSiz|e) {....|
|000019a0| 2f 2a 20 44 69 66 66 65 | 72 65 6e 74 20 73 69 7a |/* Diffe|rent siz|
|000019b0| 65 3f 20 2a 2f 0d 09 09 | 09 53 65 74 48 61 6e 64 |e? */...|.SetHand|
|000019c0| 6c 65 53 69 7a 65 28 6f | 72 69 67 48 64 6c 2c 20 |leSize(o|rigHdl, |
|000019d0| 50 72 65 66 73 4c 65 6e | 29 3b 09 2f 2a 20 53 65 |PrefsLen|);./* Se|
|000019e0| 74 20 74 68 65 20 6e 65 | 77 20 73 69 7a 65 20 2a |t the ne|w size *|
|000019f0| 2f 0d 09 09 7d 0d 09 09 | 42 6c 6f 63 6b 4d 6f 76 |/...}...|BlockMov|
|00001a00| 65 28 50 72 65 66 73 50 | 74 72 2c 2a 6f 72 69 67 |e(PrefsP|tr,*orig|
|00001a10| 48 64 6c 2c 50 72 65 66 | 73 4c 65 6e 29 3b 09 2f |Hdl,Pref|sLen);./|
|00001a20| 2a 20 43 6f 70 79 20 74 | 68 65 20 64 61 74 61 20 |* Copy t|he data |
|00001a30| 2a 2f 0d 09 09 43 68 61 | 6e 67 65 64 52 65 73 6f |*/...Cha|ngedReso|
|00001a40| 75 72 63 65 28 6f 72 69 | 67 48 64 6c 29 3b 09 09 |urce(ori|gHdl);..|
|00001a50| 09 2f 2a 20 4d 61 72 6b | 20 61 73 20 63 68 61 6e |./* Mark| as chan|
|00001a60| 67 65 64 20 2a 2f 0d 09 | 09 57 72 69 74 65 52 65 |ged */..|.WriteRe|
|00001a70| 73 6f 75 72 63 65 28 6f | 72 69 67 48 64 6c 29 3b |source(o|rigHdl);|
|00001a80| 09 09 09 09 2f 2a 20 53 | 61 76 65 20 74 6f 20 64 |..../* S|ave to d|
|00001a90| 69 73 6b 20 2a 2f 0d 09 | 09 52 65 6c 65 61 73 65 |isk */..|.Release|
|00001aa0| 52 65 73 6f 75 72 63 65 | 28 6f 72 69 67 48 64 6c |Resource|(origHdl|
|00001ab0| 29 3b 09 09 09 2f 2a 20 | 52 65 6c 65 61 73 65 20 |);.../* |Release |
|00001ac0| 69 74 20 2a 2f 0d 09 7d | 20 65 6c 73 65 20 7b 0d |it */..}| else {.|
|00001ad0| 09 09 2f 2a 20 73 74 6f | 72 65 20 73 70 65 63 69 |../* sto|re speci|
|00001ae0| 66 69 65 64 20 70 72 65 | 66 65 72 65 6e 63 65 73 |fied pre|ferences|
|00001af0| 20 66 6f 72 20 74 68 65 | 20 66 69 72 73 74 20 74 | for the| first t|
|00001b00| 69 6d 65 20 2a 2f 0d 09 | 09 6f 72 69 67 48 64 6c |ime */..|.origHdl|
|00001b10| 20 3d 20 4e 65 77 48 61 | 6e 64 6c 65 28 50 72 65 | = NewHa|ndle(Pre|
|00001b20| 66 73 4c 65 6e 29 3b 09 | 09 2f 2a 20 4d 61 6b 65 |fsLen);.|./* Make|
|00001b30| 20 73 6f 6d 65 20 74 65 | 6d 70 20 6d 65 6d 6f 72 | some te|mp memor|
|00001b40| 79 20 2a 2f 0d 09 09 69 | 66 20 28 6f 72 69 67 48 |y */...i|f (origH|
|00001b50| 64 6c 29 20 7b 0d 09 09 | 09 42 6c 6f 63 6b 4d 6f |dl) {...|.BlockMo|
|00001b60| 76 65 28 50 72 65 66 73 | 50 74 72 2c 2a 6f 72 69 |ve(Prefs|Ptr,*ori|
|00001b70| 67 48 64 6c 2c 50 72 65 | 66 73 4c 65 6e 29 3b 0d |gHdl,Pre|fsLen);.|
|00001b80| 09 09 09 41 64 64 52 65 | 73 6f 75 72 63 65 28 6f |...AddRe|source(o|
|00001b90| 72 69 67 48 64 6c 2c 20 | 70 72 65 66 73 49 6e 66 |rigHdl, |prefsInf|
|00001ba0| 6f 2e 72 65 73 54 79 70 | 65 2c 20 70 72 65 66 73 |o.resTyp|e, prefs|
|00001bb0| 49 6e 66 6f 2e 72 65 73 | 49 44 2c 20 22 5c 70 22 |Info.res|ID, "\p"|
|00001bc0| 29 3b 0d 09 09 09 57 72 | 69 74 65 52 65 73 6f 75 |);....Wr|iteResou|
|00001bd0| 72 63 65 28 6f 72 69 67 | 48 64 6c 29 3b 09 09 09 |rce(orig|Hdl);...|
|00001be0| 2f 2a 20 57 72 69 74 65 | 20 74 6f 20 64 69 73 6b |/* Write| to disk|
|00001bf0| 20 2a 2f 0d 09 09 09 52 | 65 6c 65 61 73 65 52 65 | */....R|eleaseRe|
|00001c00| 73 6f 75 72 63 65 28 6f | 72 69 67 48 64 6c 29 3b |source(o|rigHdl);|
|00001c10| 09 09 2f 2a 20 52 65 6c | 65 61 73 65 20 69 74 20 |../* Rel|ease it |
|00001c20| 2a 2f 0d 09 09 7d 0d 09 | 7d 0d 09 0d 09 43 6c 6f |*/...}..|}....Clo|
|00001c30| 73 65 52 65 73 46 69 6c | 65 28 70 72 65 66 52 65 |seResFil|e(prefRe|
|00001c40| 66 4e 75 6d 29 3b 09 09 | 2f 2a 20 43 6c 6f 73 65 |fNum);..|/* Close|
|00001c50| 20 74 68 65 20 72 65 73 | 6f 75 72 63 65 20 66 69 | the res|ource fi|
|00001c60| 6c 65 20 2a 2f 0d 09 69 | 66 20 28 21 74 68 65 45 |le */..i|f (!theE|
|00001c70| 72 72 29 20 7b 09 09 09 | 09 09 2f 2a 20 4e 6f 20 |rr) {...|../* No |
|00001c80| 65 72 72 6f 72 73 3f 20 | 2a 2f 0d 09 09 72 65 74 |errors? |*/...ret|
|00001c90| 75 72 6e 20 52 65 73 45 | 72 72 6f 72 28 29 3b 09 |urn ResE|rror();.|
|00001ca0| 09 09 2f 2a 20 52 65 74 | 75 72 6e 20 61 6e 79 20 |../* Ret|urn any |
|00001cb0| 72 65 73 6f 75 72 63 65 | 20 65 72 72 6f 72 20 2a |resource| error *|
|00001cc0| 2f 0d 09 7d 0d 09 72 65 | 74 75 72 6e 20 74 68 65 |/..}..re|turn the|
|00001cd0| 45 72 72 3b 09 09 09 09 | 09 2f 2a 20 52 65 74 75 |Err;....|./* Retu|
|00001ce0| 72 6e 20 74 68 65 20 6c | 61 73 74 20 65 72 72 6f |rn the l|ast erro|
|00001cf0| 72 20 2a 2f 0d 7d 0d 00 | 00 00 00 00 00 00 00 00 |r */.}..|........|
|00001d00| 00 00 01 00 00 00 01 c9 | 00 00 00 c9 00 00 00 96 |........|........|
|00001d10| 65 66 00 00 00 8a 53 54 | 52 20 00 00 00 96 46 75 |ef....ST|R ....Fu|
|00001d20| 6e 63 00 00 00 a2 53 49 | 43 4e 00 04 00 ae 57 4b |nc....SI|CN....WK|
|00001d30| 0b 50 72 65 66 73 46 69 | 6c 65 2e 63 02 00 00 00 |.PrefsFi|le.c....|
|00001d40| 54 45 58 54 4b 41 48 4c | 01 00 00 9c 01 40 00 00 |TEXTKAHL|.....@..|
|00001d50| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 9c 01 40 |..TEXTKA|HL.....@|
|00001d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d70| 00 00 a7 8a f8 31 00 00 | 1c 7a 00 00 02 43 70 56 |.....1..|.z...CpV|
|00001d80| 65 72 00 00 03 72 73 6d | 41 50 00 05 03 7e 70 72 |er...rsm|AP...~pr|
|00001d90| 41 50 00 00 03 c6 03 e8 | ff ff 00 00 00 00 00 00 |AP......|........|
|00001da0| 00 00 e8 e2 ff ff 00 00 | 00 1c 00 00 00 00 e8 fd |........|........|
|00001db0| ff ff 00 00 00 21 00 00 | 00 00 e8 68 ff ff 20 00 |.....!..|...h.. .|
|00001dc0| 00 35 00 00 00 00 e8 66 | ff ff 20 00 00 59 00 00 |.5.....f|.. ..Y..|
|00001dd0| 00 00 e8 67 ff ff 00 00 | 00 7d 00 00 00 00 e8 fd |...g....|.}......|
|00001de0| ff ff 00 00 00 a1 00 00 | 00 00 00 81 ff ff 20 00 |........|...... .|
|00001df0| 1f 30 00 5c e8 dc 00 80 | 00 00 20 00 03 85 00 5c |.0.\....|.. ....\|
|00001e00| 00 00 00 08 00 3c 00 44 | 01 da 02 70 00 00 00 50 |.....<.D|...p...P|
|00001e10| 00 02 00 38 00 00 1a 2d | 00 de 00 43 78 10 80 00 |...8...-|...Cx...|
|00001e20| 01 fa 03 d2 02 da 04 ec | 94 20 00 00 00 00 00 04 |........|. ......|
|00001e30| 00 00 00 40 00 01 00 04 | 00 02 00 04 00 03 00 04 |...@....|........|
|00001e40| 09 70 72 65 66 73 49 6e | 66 6f 00 16 00 00 00 00 |.prefsIn|fo......|
|00001e50| 00 00 00 43 77 98 00 00 | 07 74 68 65 45 72 72 20 |...Cw...|.theErr |
|00001e60| 00 00 00 04 00 06 00 04 | 00 00 00 09 00 09 06 47 |........|.......G|
|00001e70| 65 6e 65 76 61 00 00 00 | 48 00 09 4d 6f 6e 61 63 |eneva...|H..Monac|
|00001e80| 6f 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |o.......|........|
|00001e90| 00 00 00 00 00 00 00 00 | 00 00 00 00 02 00 04 00 |........|........|
|00001ea0| 53 00 18 01 dd 02 48 00 | 53 00 18 01 dd 02 48 b4 |S.....H.|S.....H.|
|00001eb0| ad d0 5a 00 00 00 26 00 | 00 00 26 00 00 00 00 01 |..Z...&.|..&.....|
|00001ec0| 00 00 00 00 04 00 01 00 | 01 00 00 01 00 00 00 01 |........|........|
|00001ed0| c9 00 00 00 c9 00 00 00 | 96 15 89 7d 20 03 52 00 |........|...} .R.|
|00001ee0| 00 00 1c 00 96 00 05 52 | 45 43 54 00 00 00 32 44 |.......R|ECT...2D|
|00001ef0| 54 56 55 00 00 00 3e 45 | 54 41 42 00 00 00 4a 45 |TVU...>E|TAB...JE|
|00001f00| 46 4e 54 00 00 00 56 4d | 50 53 52 00 00 00 62 4d |FNT...VM|PSR...bM|
|00001f10| 57 42 42 00 00 00 6e 00 | 00 ff ff 00 00 00 00 00 |WBB...n.|........|
|00001f20| 00 00 00 02 97 ff ff 00 | 00 00 0c 00 00 00 00 03 |........|........|
|00001f30| ec ff ff 00 00 00 60 00 | 00 00 00 03 eb ff ff 00 |......`.|........|
|00001f40| 00 00 68 00 00 00 00 03 | ed ff ff 00 00 00 75 00 |..h.....|......u.|
|00001f50| 00 00 00 03 f0 ff ff 00 | 00 00 c1 00 00 00 00 00 |........|........|
|00001f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+