diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-02-13 15:34:49 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-02-13 16:05:00 +0100 |
| commit | b930d88c7341ebefdca2dfc206fd7f747cdf5e11 (patch) | |
| tree | 3444ddcfb6c461c2589d935803eabf1d5dd980e9 | |
| parent | 194e040570d4d3727b983d93b0e7a4957348a27c (diff) | |
shiboken6: Skip empty tokens when parsing include path options
Things like "Path1;;Path2" have been observed in COIN, make sure we
handle them correctly.
Complements 9205a48848c881c67130e7b96e3ad98aa870052e.
Pick-to: 6.6
Task-number: PYSIDE-2505
Change-Id: I5e767ca512ad8a7fe86bd99f2b77d6f4d4e23114
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
| -rw-r--r-- | sources/shiboken6/ApiExtractor/typedatabase.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sources/shiboken6/ApiExtractor/typedatabase.cpp b/sources/shiboken6/ApiExtractor/typedatabase.cpp index d402ec37f..75724e571 100644 --- a/sources/shiboken6/ApiExtractor/typedatabase.cpp +++ b/sources/shiboken6/ApiExtractor/typedatabase.cpp @@ -163,7 +163,8 @@ bool TypeDatabaseOptionsParser::handleBoolOption(const QString &key, OptionSourc break; case OptionSource::CommandLineSingleDash: if (key.startsWith(u'T')) { // "-T/path" ends up a bool option - m_options->m_typesystemPaths += key.sliced(1).split(QDir::listSeparator()); + m_options->m_typesystemPaths += key.sliced(1).split(QDir::listSeparator(), + Qt::SkipEmptyParts); return true; } break; @@ -201,12 +202,14 @@ bool TypeDatabaseOptionsParser::handleOption(const QString &key, const QString & } if (key == u"typesystem-paths") { - m_options->m_typesystemPaths += value.split(QDir::listSeparator()); + m_options->m_typesystemPaths += value.split(QDir::listSeparator(), + Qt::SkipEmptyParts); return true; } if (key == u"force-process-system-include-paths") { - m_options->m_forceProcessSystemIncludes += value.split(QDir::listSeparator()); + m_options->m_forceProcessSystemIncludes += value.split(QDir::listSeparator(), + Qt::SkipEmptyParts); return true; } @@ -285,7 +288,8 @@ TypeDatabase::TypeDatabase() : d(new TypeDatabasePrivate) // Environment TYPESYSTEMPATH if (qEnvironmentVariableIsSet(ENV_TYPESYSTEMPATH)) { d->m_typesystemPaths - += qEnvironmentVariable(ENV_TYPESYSTEMPATH).split(QDir::listSeparator()); + += qEnvironmentVariable(ENV_TYPESYSTEMPATH).split(QDir::listSeparator(), + Qt::SkipEmptyParts); } d->addBuiltInType(TypeEntryPtr(new VoidTypeEntry())); |
