diff options
author | David Schulz <david.schulz@qt.io> | 2018-12-14 09:28:41 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2018-12-17 10:04:58 +0000 |
commit | 168533ee78450a676e379f0cbdac9e1d2384a151 (patch) | |
tree | 397116641b7552308840908caa2f25b288b9b78f /src | |
parent | 5a8b198b9a76d63854bebaa364aae9780890b2fb (diff) | |
download | qt-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.cpp | 8 |
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); |