As a side-effect it also adds octal and binary literals. Exact syntax is
described at http://docs.python.org/reference/lexical_analysis.html#numbers
It is unwise to use full syntax, as there might be other binding generators,
octal, binary and hex literals seem to be safe though.
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
elif elt.tag == 'value':
# Constant expression
elif elt.tag == 'value':
# Constant expression
- self.nmemb = int(elt.text)
+ self.nmemb = int(elt.text, 0)
if value.tag == 'value':
self.values.append((item.get('name'), value.text))
elif value.tag == 'bit':
if value.tag == 'value':
self.values.append((item.get('name'), value.text))
elif value.tag == 'bit':
- self.values.append((item.get('name'), '%u' % (1 << int(value.text))))
+ self.values.append((item.get('name'), '%u' % (1 << int(value.text, 0))))
self.bits.append((item.get('name'), value.text))
def resolve(self, module):
self.bits.append((item.get('name'), value.text))
def resolve(self, module):
Type.__init__(self, tcard8.name)
self.is_pad = True
self.size = 1
Type.__init__(self, tcard8.name)
self.is_pad = True
self.size = 1
- self.nmemb = 1 if (elt == None) else int(elt.get('bytes'))
+ self.nmemb = 1 if (elt == None) else int(elt.get('bytes'), 0)
def resolve(self, module):
self.resolved = True
def resolve(self, module):
self.resolved = True