+for p in params+[ret]:
+ if p.ctype!="void":
+ if p.kind=="value":
+ if len(p.io)>=3 and p.io[2]:
+ f = p.io[2].split(':')
+ w(', %s(%s)', f[0], ", ".join(eval(x) for x in f[1:]))
+ else:
+ w(', %s', p.name)
+ elif p.kind=="reference":
+ if p.io:
+ w(', *%s', p.name)
+ else:
+ w(', %s', p.name)
+ elif p.kind=="array":
+ if not p.csize:
+ w(', print_data(%s, 0)', p.name)
+ elif p.base_ctype=="GLvoid" or p.base_ctype=="void":
+ w(', print_data(%s, %s)', p.name, p.csize)
+ else:
+ w(', print_array("%s", %s, sizeof(%s), %s)', p.io[1], p.name, p.base_ctype, p.csize)