self.csize = "%d*sizeof(%s)"%(self.size, self.base_ctype)
elif self.size.startswith("COMPSIZE("):
self.csize = self.func.compsize(self.size[9:-1], self.base_ctype)
- elif self.size=="" and (self.type=="charARB" or self.type=="Char"):
- self.csize = "strlen"
else:
s = self.func.get_param(self.size.split('*')[0])
if (s.type=="SizeI" or s.type.endswith("Int32") or s.type.startswith("BufferSize")) and s.kind=="value":
sys.stderr.write("Compsize '%s' for function '%s' failed: Parameter '%s' has unknown type '%s'\n"%(size, self.name, param.name, param.type))
return
if not have_type:
- res += "*sizeof(%s)"%param.ctype
+ res += "*sizeof(%s)"%btype
return res
def finalize(self):
class Template:
def __init__(self, fn):
self.sections = []
+ self.handcode = []
literal = True
text = ""
text = ""
text += line[1:]+"\n"
literal = True
+ elif line[0]=='!':
+ parts = line[1:].split()
+ if parts[0]=="handcode":
+ self.handcode.append(parts[1])
else:
if literal and text:
self.add_section(text, literal)
print sect
else:
for func in functions:
+ if func.name in self.handcode:
+ continue
globals = {
"w": self.write,
"wl": self.writeln,