From 79ece8daa2bbe3cd4be8eb46015dbca032d025ae Mon Sep 17 00:00:00 2001 From: James Blackburn Date: Tue, 23 Feb 2010 15:26:13 +0000 Subject: [PATCH] Bug 303629 unsigned char should never appear negative in the Variables view. --- .../eclipse/cdt/debug/internal/core/model/CValue.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java index 2ab3116a6ae..35218a30765 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CValue.java @@ -288,11 +288,13 @@ public class CValue extends AbstractCValue { case '\r': return "'\\r'"; //$NON-NLS-1$ } - - if (Character.isISOControl(byteValue) || byteValue < 0) + + if (Character.isISOControl(byteValue)) return Byte.toString(byteValue); - - return new String( new byte[]{ '\'', byteValue, '\'' } ); //$NON-NLS-1$ + else if (byteValue < 0) + return isUnsigned() ? Short.toString(value.shortValue()) : Byte.toString(byteValue); + + return new String( new byte[]{ '\'', byteValue, '\'' } ); } else if ( CVariableFormat.DECIMAL.equals( format ) ) { return (isUnsigned()) ? Integer.toString( value.shortValue() ) : Integer.toString( (byte)value.byteValue() );