- if (d->type == CDECL_DECL_POINTER)
- ret += cdecl__emit(dst, dstlen, "(");
-
- ret += declare_declarator(dst, dstlen, d);
-
- if (d->type == CDECL_DECL_POINTER)
- ret += cdecl__emit(dst, dstlen, ")");
-
- return ret;
+ if (need_parens) cdecl__emit(dst, "(");
+ declare_declarator(dst, d);
+ if (need_parens) cdecl__emit(dst, ")");