bool SkOSFile::Iter::next(SkString* name, bool getDir) { WIN32_FIND_DATAW data; WIN32_FIND_DATAW* dataPtr = NULL; if (fHandle == 0) // our first time { if (fPath16 == NULL || *fPath16 == 0) // check for no path return false; fHandle = ::FindFirstFileW((LPCWSTR)fPath16, &data); if (fHandle != 0 && fHandle != (HANDLE)~0) dataPtr = &data; } return fHandle != (HANDLE)~0 && get_the_file(fHandle, name, dataPtr, getDir); }
bool SkOSFile::Iter::next(SkString* name, bool getDir) { SkOSFileIterData& self = *static_cast<SkOSFileIterData*>(fSelf.get()); WIN32_FIND_DATAW data; WIN32_FIND_DATAW* dataPtr = nullptr; if (self.fHandle == 0) { // our first time if (self.fPath16 == nullptr || *self.fPath16 == 0) { // check for no path return false; } self.fHandle = ::FindFirstFileW((LPCWSTR)self.fPath16, &data); if (self.fHandle != 0 && self.fHandle != (HANDLE)~0) { dataPtr = &data; } } return self.fHandle != (HANDLE)~0 && get_the_file(self.fHandle, name, dataPtr, getDir); }