From 957039e7cc94dfb7907411392067e4ccc9209ac4 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 28 Sep 2019 16:27:19 -0700 Subject: [PATCH] Fixed ! unary op in debugger, "" error on valueless --- IDEHelper/DbgExprEvaluator.cpp | 2 +- IDEHelper/WinDebugger.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/IDEHelper/DbgExprEvaluator.cpp b/IDEHelper/DbgExprEvaluator.cpp index 2c029227..2ca03451 100644 --- a/IDEHelper/DbgExprEvaluator.cpp +++ b/IDEHelper/DbgExprEvaluator.cpp @@ -6373,7 +6373,7 @@ void DbgExprEvaluator::PerformUnaryExpression(BfAstNode* opToken, BfUnaryOp unar case BfUnaryOp_Not: { auto boolType = mDbgModule->GetPrimitiveType(DbgType_Bool, GetLanguage()); - if (mResult.mType != boolType) + if (mResult.mType->mTypeCode != DbgType_Bool) { Fail("Operator can only be used on boolean values", opToken); return; diff --git a/IDEHelper/WinDebugger.cpp b/IDEHelper/WinDebugger.cpp index 1c411bbb..df0b92e1 100644 --- a/IDEHelper/WinDebugger.cpp +++ b/IDEHelper/WinDebugger.cpp @@ -7547,7 +7547,7 @@ String WinDebugger::DbgTypedValueToString(const DbgTypedValue& origTypedValue, c } bool isNull = wasPtr && (dataPtr == 0); - bool isBadSrc = !wasPtr && (dataPtr == 0); + bool isBadSrc = !wasPtr && (dataPtr == 0) && (!dwValueType->IsValuelessType()); if ((ptrVal == 0) && (dwValueType->IsTypedPrimitive())) {