X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fdecl_arg.c;h=ba77e791bcdaa6b118148ac2decbd0f3c4238aa2;hp=1c29619862cdb44cdf77c0d90bb2bd0117a79f7c;hb=370510d04a5e22140e1e7f90f5d1f0002e6dbee6;hpb=9bcb1df0786a8193d65949c857baaba2f4296e84 diff --git a/src/types/decl_arg.c b/src/types/decl_arg.c index 1c29619..ba77e79 100644 --- a/src/types/decl_arg.c +++ b/src/types/decl_arg.c @@ -61,9 +61,10 @@ void psi_decl_arg_dump(int fd, struct psi_decl_arg *arg, unsigned level) { if (arg->type->type == PSI_T_FUNCTION) { psi_decl_type_dump(fd, arg->type->real.func->func->type, level); - dprintf(fd, " (*"); - psi_decl_var_dump(fd, arg->var); - dprintf(fd, ")("); + dprintf(fd, " %s(*%s)", + psi_t_indirection(arg->var->pointer_level - !! arg->var->array_size), + arg->var->name); + dprintf(fd, "("); if (arg->type->real.func->args) { size_t j = 0; struct psi_decl_arg *farg; @@ -81,6 +82,9 @@ void psi_decl_arg_dump(int fd, struct psi_decl_arg *arg, unsigned level) } } dprintf(fd, ")"); + if (arg->var->array_size) { + dprintf(fd, "[%u]", arg->var->array_size); + } } else { psi_decl_type_dump(fd, arg->type, level); dprintf(fd, " ");