- 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);
+ ret = cdecl__emit(dst, spec_string(s->type));
+ if (s->ident) {
+ ret += cdecl__emit(dst, " " + !ret);
+ ret += cdecl__emit(dst, s->ident);
+ }
+
+ return ret;