summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-12-14 09:28:41 +0100
committerDavid Schulz <david.schulz@qt.io>2018-12-17 10:04:58 +0000
commit168533ee78450a676e379f0cbdac9e1d2384a151 (patch)
tree397116641b7552308840908caa2f25b288b9b78f /src
parent5a8b198b9a76d63854bebaa364aae9780890b2fb (diff)
downloadqt-creator-168533ee78450a676e379f0cbdac9e1d2384a151.tar.gz
Debugger: Fix array type element count extraction
Task-number: QTCREATORBUG-20639 Task-number: QTCREATORBUG-21677 Change-Id: I518ba2a8afde099535becd3af9bed4ded1b54644 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/libs/qtcreatorcdbext/pytype.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libs/qtcreatorcdbext/pytype.cpp b/src/libs/qtcreatorcdbext/pytype.cpp
index ec67771824..bd08c4b789 100644
--- a/src/libs/qtcreatorcdbext/pytype.cpp
+++ b/src/libs/qtcreatorcdbext/pytype.cpp
@@ -105,9 +105,11 @@ static bool isArrayType(const std::string &typeName)
static ULONG extractArraySize(const std::string &typeName, size_t openArrayPos = 0)
{
if (openArrayPos == 0)
- openArrayPos = typeName.find_last_of('[');
- const auto closeArrayPos = typeName.find_last_of(']');
- if (openArrayPos == std::string::npos || closeArrayPos == std::string::npos)
+ openArrayPos = typeName.find_first_of('[');
+ if (openArrayPos == std::string::npos)
+ return 0;
+ const auto closeArrayPos = typeName.find_first_of(']', openArrayPos);
+ if (closeArrayPos == std::string::npos)
return 0;
const std::string arraySizeString = typeName.substr(openArrayPos + 1,
closeArrayPos - openArrayPos - 1);