X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgldecoder.funcs.t;h=d84cc531aa363608620a8c111411ea173d5e12ae;hb=a832996c884a0e0acc9a38ba4dd258edb75ec7af;hp=545f8b408522a652c5c72cddd3383149f5c34d9d;hpb=4aba13fc7690cf79e949d9765b371e85e7530207;p=gldbg.git diff --git a/source/gldecoder.funcs.t b/source/gldecoder.funcs.t index 545f8b4..d84cc53 100644 --- a/source/gldecoder.funcs.t +++ b/source/gldecoder.funcs.t @@ -1,4 +1,3 @@ -# $Id$ :#define UNUSED __attribute__((unused)) wl('static unsigned decode_%s(GlDecoder *dec, GlPacket *pkt UNUSED)', func.name) wl('{') @@ -8,15 +7,15 @@ for p in params: wl(' %s p_%s;', p.ctype, p.name) for p in params: if p.kind=="value": - wl(' read_%s((%s *)&p_%s, pkt);', p.io[0].replace(' ', '_'), p.io[0], p.name) + wl(' packet_read_%s(pkt, (%s *)&p_%s);', p.io[0].replace(' ', '_'), p.io[0], p.name) elif p.kind=="array" and p.io and p.io[0]=="string": - wl(' read_string_array(&p_%s, pkt);', p.name) + wl(' packet_read_string_array(pkt, &p_%s);', p.name) elif p.csize: - wl(' read_data((pointer *)&p_%s, pkt);', p.name) + wl(' packet_read_data(pkt, (pointer *)&p_%s);', p.name) else: - wl(' read_pointer((pointer *)&p_%s, pkt);', p.name) + wl(' packet_read_pointer(pkt, (pointer *)&p_%s);', p.name) if ret.ctype!="void": - wl(' read_%s((%s *)&ret, pkt);', ret.io[0].replace(' ', '_'), ret.io[0]) + wl(' packet_read_%s(pkt, (%s *)&ret);', ret.io[0].replace(' ', '_'), ret.io[0]) wl(' if(dec->%s)', func.name) w(' dec->%s(dec->user_data', func.name) if ret.ctype!="void": @@ -24,6 +23,8 @@ if ret.ctype!="void": for p in params: w(', p_%s', p.name) wl(');') +wl(' else if(dec->unhandled)') +wl(' dec->unhandled(dec->user_data, FUNC_%s);', func.name.upper()) wl(' return 0;') wl('}') :static int decode_func(GlDecoder *dec, unsigned short func, GlPacket *pkt)