- if index != 0x1F22 and type(values) != IntType:
- values = [i for i in values]
- for i, value in enumerate(values):
- if type(value) == IntType:
- values[i] = "%X"%value
- values = "[" + ",".join(values) + "]"
- print "%04X : %s"%(index, values)
-
+ if isinstance(values, ListType):
+ result += "%04X (%s):\n"%(index, name)
+ for subidx, value in enumerate(values):
+ subentry_infos = self.GetSubentryInfos(index, subidx + 1)
+ if index == 0x1F22 and value:
+ nb_params = BE_to_LE(value[:4])
+ data = value[4:]
+ value = str(nb_params)
+ i = 0
+ while i < len(data):
+ value += "\n\t"
+ value += "%4.4X"%BE_to_LE(data[i:i+2])
+ value += " %2.2X"%BE_to_LE(data[i+2:i+3])
+ size = BE_to_LE(data[i+3:i+7])
+ value += " %8.8X"%size
+ value += (" %"+"%d"%(size * 2)+"."+"%d"%(size * 2)+"X")%BE_to_LE(data[i+7:i+7+size])
+ i += 7 + size
+ elif isinstance(value, IntType):
+ value = "%X"%value
+ result += " %3.3d (%s): %s\n"%(subidx+1, subentry_infos["name"], value)
+ else:
+ result += "%04X (%s): %s\n"%(index, name, values)
+ return result
+