Esempio n. 1
0
OSErr GetConfig(Ptr config)
{
	OSErr			error = noErr;
	FSSpec		where;
	short			ref;
	Handle		theString;
	Ptr			temp = nil;
	long			len;
	config[0] = '\0';											// Start without a name
	error = FindPrefs(&where);
	ref = FSpOpenResFile(&where, fsRdWrPerm);
	if (ref != -1) {
		theString = Get1Resource('STR ',kConfigRes);	// Should look in most recent file first
		if (theString != nil) {
			len = SizeResource(theString);
			SetPtrSize(config, len);						// Set the size
			error = MemError();								// And make sure it worked
			if (error == noErr) {
				HLock(theString);
				temp = (Ptr)*theString;
				memcpy(config, temp, len);
				HUnlock(theString);
				ReleaseResource(theString);
			}
		} else {
			error = -4;
		}
		CloseResFile(ref);
	} else {
		error = ResError();
	}
	return error;
}
Esempio n. 2
0
long BetterSizeResource(short resFile,ResType resType,short resID)
{
	Handle		theHandle;
	long		theSize=0L;
	short		saveResLoad=LMGetResLoad();
	
	SetResLoad(false);
	theHandle=BetterGetResource(resFile,resType,resID);
	if (theHandle)
	{
		theSize=SizeResource(theHandle);
		ReleaseResource(theHandle);
	}
	if (saveResLoad)
		SetResLoad(true);
		
	return theSize;
}