Example #1
0
/*!
 * 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;
}
Example #2
0
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);
	}
}
Example #3
0
static void removeFromOpenedList(ImodImageFile *iiFile)
{
  int i = findFileInList(iiFile, NULL);
  if (i >= 0)
    ilistRemove(sOpenedFiles, i);
}