X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglprint.funcs.t;h=5f703e1be510ff81272d0765d53530308930923c;hb=6a5b15f6382ca79e2b5f724585d29b73a40e8194;hp=db626c0539efecdb4a3530fb2b88f79625198a04;hpb=3c32a221de1435ae7af8d96182560e8b28f1a4c0;p=gldbg.git diff --git a/source/glprint.funcs.t b/source/glprint.funcs.t index db626c0..5f703e1 100644 --- a/source/glprint.funcs.t +++ b/source/glprint.funcs.t @@ -14,12 +14,9 @@ for p in params: w(', ') if p.kind=="value": w('%s', p.io[1]) - elif p.kind=="reference": - if p.io: - w('{%s}', p.io[1]) - else: - w('', p.type) - elif p.kind=="array": + elif p.kind=="reference" and not p.io: + w('', p.type) + else: w('%%s') first = False w(')') @@ -30,20 +27,19 @@ 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:])) + w(', %s(%s, "%s")', p.io[2], p.name, p.type) else: w(', %s', p.name) - elif p.kind=="reference": - if p.io: - 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) + elif p.kind=="reference" and not p.io: + w(', %s', p.name) + elif 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) + elif len(p.io)>=3 and p.io[2]: + w(', print_array_described(%s, "%s", %s, sizeof(%s), %s)', p.io[2], p.type, p.name, p.base_ctype, p.csize) + else: + w(', print_array("%s", %s, sizeof(%s), %s)', p.io[1], p.name, p.base_ctype, p.csize) wl(');') wl('}') :static void init_print(GlDecoder *dec)