home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-08-28 | 1.2 KB | 62 lines | [TEXT/MPS ] |
- // getDatabase.c
- //
- // database functions for CIncludesCode MPW tool
-
- #include "CIncludesCode.h"
- #include <Memory.h>
- #include <Files.h>
- #include <Resources.h>
- #include <OSUtils.h>
-
- extern long numFiles;
- extern Handle database;
- extern dataHeaderType dataHeader;
-
- Boolean readDatabase(void)
- {
- short fileid = 0;
- long filesize;
- OSErr error;
- SysEnvRec world;
-
- SysEnvirons(1,&world);
- error = FSOpen(dataFilename,world.sysVRefNum,&fileid);
- if (!error)
- {
- error = GetEOF(fileid,&filesize);
- if (!error)
- {
- SetHandleSize(database,filesize);
- error = (GetHandleSize(database) != filesize);
- if (!error)
- {
- error = FSRead (fileid,&filesize,*database);
- } // if !error
- } // if !error
- (void) FSClose (fileid);
- } // if !error
- return (!error);
- } // readDatabase()
-
- Boolean loadDatabase(void)
- {
- Boolean okay;
-
- database = GetResource(databaseType,databaseID);
- okay = (!ResError() && database);
- if (okay)
- {
- if ((*((long*) *database) == 0x00000000) && (GetHandleSize(database) == 4))
- {
- okay = readDatabase();
- } // if *database
- } // if okay
- if (okay)
- {
- dataHeader = *((dataHeaderType*) *database);
- numFiles = dataHeader.numFiles;
- } // if okay
- return okay;
- } // loadDatabase()
-
- // end of getDatabase.c