コード例 #1
0
ファイル: DDiskImageAbstract.cpp プロジェクト: laulandne/src
void *DDiskImageAbstract::Fopen(const char *filename,const char *mode)
{
  diskError=false;
  void *ret=NULL;
  DEBUG_OUT<<"Fopen("<<filename<<")...\n";
  if(!diskMounted) {
    std::cerr<<"DDiskImageAbstract::load no disk in drive!\n";
    diskError=true;
    return NULL;
  }
  if(noFileSystem) {
    std::cerr<<"DDiskImageAbstract::fopen Non-DOS Disk!\n";
    return NULL;
  }
  const char *thename=SearchForFirst(filename);
  if(!thename) {
    std::cerr<<"DDiskImageAbstract::fopen SearchForFirst returned NULL!\n";
    return NULL;
  }
  DDirEntry *aFile=SearchForFirstFile(thename);
  if(!aFile) {
    std::cerr<<"DDiskImageAbstract::fopen SearchForFirstFile returned NULL!\n";
    return NULL;
  }
  cacheFile(aFile);
  aFile->curSeek=0;
  return (void *)aFile;
}
コード例 #2
0
BOOL
WindowsOpFolderLister::Next()
{
	BOOL success;
	if (m_drives)
	{
		success = FALSE;
		while (m_drive < 26)
		{
			if (m_drives & (1 << m_drive++))
			{
				success = TRUE;
				break;
			}
		}

		if (success)
		{
			*(m_path + m_path_length) = 'A' + (m_drive-1);
			*(m_path + m_path_length+1) = ':';
			*(m_path + m_path_length+2) = 0;
		}

		return success;
	}

	if (m_find_handle == INVALID_HANDLE_VALUE)
	{
		success = SearchForFirst(m_find_handle, m_path_pattern, m_find_data);
	}
	else
	{
		success = SearchForNext(m_find_handle, m_find_data);
	}
	if (success)
	{
		UpdateFullPath();
	}

	return success;
}