#\r
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
-# This program and the accompanying materials are licensed and made available\r
-# under the terms and conditions of the BSD License which accompanies this\r
-# distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
'''\r
DecParserMisc\r
else:\r
Base = 10\r
try:\r
- TokenValue = long(Token, Base)\r
+ TokenValue = int(Token, Base)\r
except BaseException:\r
Valid, Cause = IsValidLogicalExpr(Token, True)\r
if Cause:\r
Value = Value.lstrip('0')\r
if not Value:\r
return True, ""\r
- Value = long(Value, 0)\r
- TypeLenMap = {\r
- #\r
- # 0x00 - 0xff\r
- #\r
- 'UINT8' : 2,\r
- #\r
- # 0x0000 - 0xffff\r
- #\r
- 'UINT16' : 4,\r
- #\r
- # 0x00000000 - 0xffffffff\r
- #\r
- 'UINT32' : 8,\r
- #\r
- # 0x0 - 0xffffffffffffffff\r
- #\r
- 'UINT64' : 16\r
- }\r
- HexStr = hex(Value)\r
- #\r
- # First two chars of HexStr are 0x and tail char is L\r
- #\r
- if TypeLenMap[Type] < len(HexStr) - 3:\r
+ Value = int(Value, 0)\r
+ MAX_VAL_TYPE = {"BOOLEAN": 0x01, 'UINT8': 0xFF, 'UINT16': 0xFFFF, 'UINT32': 0xFFFFFFFF,\r
+ 'UINT64': 0xFFFFFFFFFFFFFFFF}\r
+ if Value > MAX_VAL_TYPE[Type]:\r
return False, ST.ERR_DECPARSE_PCD_INT_EXCEED % (StrVal, Type)\r
except BaseException:\r
Valid, Cause = IsValidLogicalExpr(Value, True)\r