home *** CD-ROM | disk | FTP | other *** search
- StringPtr disasmName = "\pDisassembler";
-
- int main(void)
- {
- Handle loader = nil;
- short cResFile, rFile;
- long fileLen;
- char zero = 0;
- Boolean fileOK = true;
-
- cResFile = CurResFile();
- if ((rFile = OpenResFile("\pLoader.rsrc")) != -1)
- {
- UseResFile(rFile);
- loader = Get1IndResource('lodr', 1);
- if (loader != nil)
- {
- HNoPurge(loader);
- DetachResource(loader);
- }
-
- CloseResFile(rFile);
- }
-
- FSDelete(disasmName, 0);
- if (Create(disasmName, 0, '3D!z', '3D!z') == noErr)
- {
- if (OpenDF(disasmName, 0, &rFile) == noErr)
- {
- HLockHi(loader);
-
- fileLen = GetHandleSize(loader);
-
- if (FSWrite(rFile, &fileLen, *loader) == noErr)
- {
- if ((fileLen & 0x00000001) != 0)
- {
- fileLen = 1;
- if (FSWrite(rFile, &fileLen, &zero) != noErr)
- fileOK = false;
- }
- }
- else
- fileOK = false;
-
- FSClose(rFile);
-
- FlushVol(nil, 0);
- }
- else
- fileOK = false;
-
- if (!fileOK)
- FSDelete(disasmName, 0);
- }
-
- return 0;
- }
-