- if (keyword[0] && s->ident)
- return snprintf(buf, n, "%s %s", keyword, s->ident);
- else if (s->ident)
- return snprintf(buf, n, "%s", s->ident);
- return snprintf(buf, n, "%s", keyword);
+ rc = cdecl__emit(dst, spec_string(s->type));
+ if (s->ident) {
+ cdecl__emit(dst, " " + !rc);
+ cdecl__emit(dst, s->ident);
+ }