/*! * Returns the open ImodImageFile that has [fp] as its {fp} member. */ ImodImageFile *iiLookupFileFromFP(FILE *fp) { ImodImageFile **listPtr; int i = findFileInList(NULL, fp); if (i < 0) return NULL; listPtr = (ImodImageFile **)ilistItem(sOpenedFiles, i); return *listPtr; }
int16 findFileInDisks(const char *name) { char fileName[50]; int disk; int fileIdx; strcpy(fileName, name); strToUpper(fileName); if (!volumeDataLoaded) { debug(1, "CNF wasn't loaded, reading now..."); if (_vm->_currentVolumeFile.isOpen()) { askDisk(-1); freeDisk(); } askDisk(1); readVolCnf(); } if (_vm->_currentVolumeFile.isOpen()) { askDisk(-1); } fileIdx = findFileInList(fileName); if (fileIdx >= 0) { return (fileIdx); } disk = searchFileInVolCnf(fileName, currentDiskNumber); if (disk >= 0) { int temp; debug(1, "File found on disk %d", disk); if (_vm->_currentVolumeFile.isOpen()) { askDisk(-1); } freeDisk(); askDisk(volumeData[disk].diskNumber); getVolumeDataEntry(&volumeData[disk]); temp = findFileInList(fileName); if (temp >= 0) return (temp); return (-1); } else { int temp; temp = findFileInDisksSub1(fileName); if (temp >= 0) { int temp2; askDisk(volumeData[temp].diskNumber); getVolumeDataEntry(&volumeData[temp]); temp2 = findFileInList(fileName); if (temp2 >= 0) return (temp2); } return (-1); } }
static void removeFromOpenedList(ImodImageFile *iiFile) { int i = findFileInList(iiFile, NULL); if (i >= 0) ilistRemove(sOpenedFiles, i); }