diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2024-05-03 10:40:43 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2024-05-03 15:52:20 +0000 |
commit | f62dea66f6f9bee1f60f6566f786d03868116a69 (patch) | |
tree | 3e033c5685c05a2000efb2d970832aee3841e58f | |
parent | edde7706761ade1c612de2d0a3cf4f7b766cc885 (diff) |
No need to call split() for the output - instead,
just look for the index of "Common Arguments:" and the
following newline.
Change-Id: I008adeb1a8c39b0e3c0dd2364566396bf0235511
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r-- | src/plugins/android/androidsdkmanagerwidget.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/plugins/android/androidsdkmanagerwidget.cpp b/src/plugins/android/androidsdkmanagerwidget.cpp index dffc39d8f9..2a9027d0aa 100644 --- a/src/plugins/android/androidsdkmanagerwidget.cpp +++ b/src/plugins/android/androidsdkmanagerwidget.cpp @@ -275,14 +275,13 @@ OptionsDialog::OptionsDialog(AndroidSdkManager *sdkManager, const QStringList &a m_process.setCommand({androidConfig().sdkManagerToolPath(), {"--help", "--sdk_root=" + androidConfig().sdkLocation().toString()}}); connect(&m_process, &Process::done, this, [this] { + const QString output = m_process.allOutput(); QString argumentDetails; - bool foundTag = false; - const QStringList lines = m_process.allOutput().split('\n'); - for (const QString &line : lines) { - if (foundTag) - argumentDetails.append(line + "\n"); - else if (line.startsWith("Common Arguments:")) - foundTag = true; + const int tagIndex = output.indexOf("Common Arguments:"); + if (tagIndex >= 0) { + const int detailsIndex = output.indexOf('\n', tagIndex); + if (detailsIndex >= 0) + argumentDetails = output.mid(detailsIndex + 1); } if (argumentDetails.isEmpty()) argumentDetails = Tr::tr("Cannot load available arguments for \"sdkmanager\" command."); |