unsigned char InstallUserDataRecord( void *theEnv, struct userDataRecord *theRecord) { theRecord->dataID = UserDataData(theEnv)->UserDataRecordCount; UserDataData(theEnv)->UserDataRecordArray[UserDataData(theEnv)->UserDataRecordCount] = theRecord; return(UserDataData(theEnv)->UserDataRecordCount++); }
globle unsigned char InstallUserDataRecord( void *theEnv, EXEC_STATUS, struct userDataRecord *theRecord) { theRecord->dataID = UserDataData(theEnv,execStatus)->UserDataRecordCount; UserDataData(theEnv,execStatus)->UserDataRecordArray[UserDataData(theEnv,execStatus)->UserDataRecordCount] = theRecord; return(UserDataData(theEnv,execStatus)->UserDataRecordCount++); }
struct userData *DeleteUserData( void *theEnv, unsigned char userDataID, struct userData *theList) { struct userData *theData, *lastData = NULL; for (theData = theList; theData != NULL; theData = theData->next) { if (theData->dataID == userDataID) { if (lastData == NULL) { theList = theData->next; } else { lastData->next = theData->next; } (*UserDataData(theEnv)->UserDataRecordArray[userDataID]->deleteUserData)(theEnv,theData); return(theList); } lastData = theData; } return(theList); }
void ClearUserDataList( void *theEnv, struct userData *theList) { struct userData *nextData; while (theList != NULL) { nextData = theList->next; (*UserDataData(theEnv)->UserDataRecordArray[theList->dataID]->deleteUserData)(theEnv,theList); theList = nextData; } }
globle void ClearUserDataList( void *theEnv, EXEC_STATUS, struct userData *theList) { struct userData *nextData; while (theList != NULL) { nextData = theList->next; (*UserDataData(theEnv,execStatus)->UserDataRecordArray[theList->dataID]->deleteUserData)(theEnv,execStatus,theList); theList = nextData; } }
struct userData *FetchUserData( void *theEnv, unsigned char userDataID, struct userData **theList) { struct userData *theData; for (theData = *theList; theData != NULL; theData = theData->next) { if (theData->dataID == userDataID) { return(theData); } } theData = (struct userData *) (*UserDataData(theEnv)->UserDataRecordArray[userDataID]->createUserData)(theEnv); theData->dataID = userDataID; theData->next = *theList; *theList = theData; return(theData); }