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; }
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; }