return Value, 16\r
if Value.startswith('L"') and Value.endswith('"'):\r
# Unicode String\r
- List = list(eval(Value[1:])) # translate escape character\r
+ # translate escape character\r
+ Value = Value[1:]\r
+ try:\r
+ Value = eval(Value)\r
+ except:\r
+ Value = Value[1:-1]\r
+ List = list(Value)\r
List.reverse()\r
Value = 0\r
for Char in List:\r
return Value, (len(List) + 1) * 2\r
if Value.startswith('"') and Value.endswith('"'):\r
# ASCII String\r
- List = list(eval(Value)) # translate escape character\r
+ # translate escape character\r
+ try:\r
+ Value = eval(Value)\r
+ except:\r
+ Value = Value[1:-1]\r
+ List = list(Value)\r
List.reverse()\r
Value = 0\r
for Char in List:\r
return Value, len(List) + 1\r
if Value.startswith("L'") and Value.endswith("'"):\r
# Unicode Character Constant\r
- List = list(eval(Value[1:])) # translate escape character\r
+ # translate escape character\r
+ Value = Value[1:]\r
+ try:\r
+ Value = eval(Value)\r
+ except:\r
+ Value = Value[1:-1]\r
+ List = list(Value)\r
if len(List) == 0:\r
raise BadExpression('Length %s is %s' % (Value, len(List)))\r
List.reverse()\r
return Value, len(List) * 2\r
if Value.startswith("'") and Value.endswith("'"):\r
# Character constant\r
- List = list(eval(Value)) # translate escape character\r
+ # translate escape character\r
+ try:\r
+ Value = eval(Value)\r
+ except:\r
+ Value = Value[1:-1]\r
+ List = list(Value)\r
if len(List) == 0:\r
raise BadExpression('Length %s is %s' % (Value, len(List)))\r
List.reverse()\r