X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ctf%2Forg.eclipse.tracecompass.tmf.ctf.core%2Fsrc%2Forg%2Feclipse%2Ftracecompass%2Ftmf%2Fctf%2Fcore%2Fevent%2FCtfTmfEventField.java;h=bef8078208cbca2c6c2602f7935019f821ac4de1;hb=c9c50ae19781e9d60653e4d8d27f387bd2efd387;hp=4f502d68f0bdd8323424cfe49102a5888b6de383;hpb=46f0c09c9daf5225c930a368c2230511a6de57a5;p=deliverable%2Ftracecompass.git diff --git a/ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/CtfTmfEventField.java b/ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/CtfTmfEventField.java index 4f502d68f0..bef8078208 100644 --- a/ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/CtfTmfEventField.java +++ b/ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/CtfTmfEventField.java @@ -131,19 +131,6 @@ public abstract class CtfTmfEventField extends TmfEventField { CompoundDeclaration arrDecl = (CompoundDeclaration) decl; IDeclaration elemType = null; elemType = arrDecl.getElementType(); - if (arrayDef instanceof ByteArrayDefinition) { - ByteArrayDefinition byteArrayDefinition = (ByteArrayDefinition) arrayDef; - /* it's a CTFIntegerArrayField */ - int size = arrayDef.getLength(); - long[] values = new long[size]; - for (int i = 0; i < size; i++) { - values[i] = Byte.toUnsignedLong(byteArrayDefinition.getByte(i)); - } - field = new CTFIntegerArrayField(fieldName, values, - 16, - false); - - } if (elemType instanceof IntegerDeclaration) { /* * Array of integers => CTFIntegerArrayField, unless it's a @@ -154,6 +141,18 @@ public abstract class CtfTmfEventField extends TmfEventField { if (elemIntType.isCharacter()) { /* it's a CTFStringField */ field = new CTFStringField(fieldName, arrayDef.toString()); + } else if (arrayDef instanceof ByteArrayDefinition) { // unsigned byte array + ByteArrayDefinition byteArrayDefinition = (ByteArrayDefinition) arrayDef; + /* it's a CTFIntegerArrayField */ + int size = arrayDef.getLength(); + long[] values = new long[size]; + for (int i = 0; i < size; i++) { + values[i] = Byte.toUnsignedLong(byteArrayDefinition.getByte(i)); + } + field = new CTFIntegerArrayField(fieldName, values, + elemIntType.getBase(), + elemIntType.isSigned()); + } else { /* it's a CTFIntegerArrayField */ int size = arrayDef.getLength();