From 95098f927d33d4ab153f39bb36458a8e8191a5bc Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 24 Apr 2013 22:06:00 -0400 Subject: [PATCH] Fix some problems with typecast handling. - If the given type had no modifiers specified, the base type string wasn't being moved out of the input buffer, leading to it mistakenly being parsed as a modifier. This would result in errors for simple cases such as a cast to size_t. Thanks Axel for reporting. --- src/apps/debugger/source_language/CLanguageFamily.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/apps/debugger/source_language/CLanguageFamily.cpp b/src/apps/debugger/source_language/CLanguageFamily.cpp index 592cf53009..142ecc6cd5 100644 --- a/src/apps/debugger/source_language/CLanguageFamily.cpp +++ b/src/apps/debugger/source_language/CLanguageFamily.cpp @@ -50,11 +50,10 @@ CLanguageFamily::ParseTypeExpression(const BString& expression, modifierIndex = parsedName.FindFirst('&'); if (modifierIndex == -1) modifierIndex = parsedName.FindFirst('['); + if (modifierIndex == -1) + modifierIndex = parsedName.Length(); - if (modifierIndex >= 0) - parsedName.MoveInto(baseTypeName, 0, modifierIndex); - else - baseTypeName = parsedName; + parsedName.MoveInto(baseTypeName, 0, modifierIndex); modifierIndex = parsedName.FindFirst('['); if (modifierIndex >= 0) {