return False, "Invalid value [%s] of type [%s]; must be one of TRUE, True, true, 0x1, 0x01, 1"\\r
", FALSE, False, false, 0x0, 0x00, 0" % (Value, Type)\r
elif Type in [TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64]:\r
- if Value and int(Value, 0) < 0:\r
- return False, "PCD can't be set to negative value[%s] for datum type [%s]" % (Value, Type)\r
+ if Value.startswith('0') and not Value.lower().startswith('0x') and len(Value) > 2:\r
+ Value = Value.lstrip('0')\r
try:\r
+ if Value and int(Value, 0) < 0:\r
+ return False, "PCD can't be set to negative value[%s] for datum type [%s]" % (Value, Type)\r
Value = int(Value, 0)\r
if Value > MAX_VAL_TYPE[Type]:\r
return False, "Too large PCD value[%s] for datum type [%s]" % (Value, Type)\r