X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=tools%2Fprotoparse.h;h=0aa8ed885a40a84c733e098456135bf05e8b2000;hb=b74c31e30301a2e5c03e2947a5017af28bf94e65;hp=be1dca9d41019efa5f048fe5481a61bed2e9eabb;hpb=c0050df6e9d6eb81afacb0fa2d1910293dd2165e;p=ia32rtools.git diff --git a/tools/protoparse.h b/tools/protoparse.h index be1dca9..0aa8ed8 100644 --- a/tools/protoparse.h +++ b/tools/protoparse.h @@ -698,6 +698,28 @@ struct parsed_proto *proto_clone(const struct parsed_proto *pp_c) return pp; } +static inline void pp_print(char *buf, size_t buf_size, + const struct parsed_proto *pp) +{ + size_t l; + int i; + + snprintf(buf, buf_size, "%s %s(", pp->ret_type.name, pp->name); + l = strlen(buf); + + for (i = 0; i < pp->argc_reg; i++) { + snprintf(buf + l, buf_size - l, "%s%s", + i == 0 ? "" : ", ", pp->arg[i].reg); + l = strlen(buf); + } + if (pp->argc_stack > 0) { + snprintf(buf + l, buf_size - l, "%s{%d stack}", + i == 0 ? "" : ", ", pp->argc_stack); + l = strlen(buf); + } + snprintf(buf + l, buf_size - l, ")"); +} + static inline void proto_release(struct parsed_proto *pp) { int i;