IFileFilter* CArchiveScanner::CreateIgnoreFilter(IArchive* ar) { IFileFilter* ignore = IFileFilter::Create(); std::vector<boost::uint8_t> buf; if (ar->GetFile("springignore.txt", buf) && !buf.empty()) { // this automatically splits lines ignore->AddRule(std::string((char*)(&buf[0]), buf.size())); } return ignore; }
IFileFilter* CArchiveScanner::CreateIgnoreFilter(CArchiveBase* ar) { IFileFilter* ignore = IFileFilter::Create(); std::vector<boost::uint8_t> buf; if (ar->GetFile("springignore.txt", buf)) { //! this automatically splits lines if (!buf.empty()) { const std::string cleanbuf((char*)(&buf[0]), buf.size()); ignore->AddRule(cleanbuf); } } return ignore; }
IFileFilter* CArchiveScanner::CreateIgnoreFilter(CArchiveBase* ar) { IFileFilter* ignore = IFileFilter::Create(); int fh = ar->OpenFile("springignore.txt"); if (fh) { const int fsize = ar->FileSize(fh); char* buf = new char[fsize]; const int read = ar->ReadFile(fh, buf, fsize); ar->CloseFile(fh); // this automatically splits lines if (read > 0) ignore->AddRule(string(buf, read)); //TODO: figure out why read != fsize sometimes delete[] buf; } return ignore; }