48std::optional<QDirEntryInfo> QFileSystemIterator::advance()
50 auto asFileEntry = [
this](QStringView name) {
53 QString normalized = name.toString().normalized(QString::NormalizationForm_C);
56 return QFileSystemEntry(dirPath + name, QFileSystemEntry::FromInternalPath());
68 dirEntry = QT_READDIR(dir.get());
76 QByteArrayView name(dirEntry->d_name, strlen(dirEntry->d_name));
78 QVarLengthArray<
char16_t> buffer(name.size());
79 QStringDecoder toUtf16(QStringDecoder::Utf8);
80 auto *end = toUtf16.appendToBuffer(buffer.data(), name);
81 buffer.resize(end - buffer.constData());
82 if (!toUtf16.hasError()) {
83 QFileSystemMetaData metaData;
84 metaData.fillFromDirEnt(*dirEntry);
85 return QDirEntryInfo{asFileEntry(buffer), std::move(metaData)};