X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fdecl_enum.c;h=674dd03e83e2a64b8ce6bf8f306e68062353a5f7;hb=788909f4828147d22a822b736560c1b3643417ec;hp=310b7e3bc32557b8aa45660021fac23586f10aff;hpb=216e7ac3b97aed5a5d65c511dc061c78be90e79d;p=m6w6%2Fext-psi diff --git a/src/types/decl_enum.c b/src/types/decl_enum.c index 310b7e3..674dd03 100644 --- a/src/types/decl_enum.c +++ b/src/types/decl_enum.c @@ -49,22 +49,26 @@ void psi_decl_enum_free(struct psi_decl_enum **e_ptr) } } -void psi_decl_enum_dump(int fd, struct psi_decl_enum *e, unsigned level) +void psi_decl_enum_dump(struct psi_dump *dump, struct psi_decl_enum *e, unsigned level) { - dprintf(fd, "enum %s {\n", e->name->val); - if (e->items) { - size_t i = 0; - struct psi_decl_enum_item *item; + size_t i = 0; + struct psi_decl_enum_item *item; + PSI_DUMP(dump, "enum "); + if (!psi_decl_type_is_anon(e->name, "enum")) { + PSI_DUMP(dump, "%s ", e->name->val); + } + if (e->items) { + PSI_DUMP(dump, "{\n"); while (psi_plist_get(e->items, i++, &item)) { if (i > 1) { - dprintf(fd, ",\n"); + PSI_DUMP(dump, ",\n"); } - dprintf(fd, "%s", psi_t_indent(level + 1)); - psi_decl_enum_item_dump(fd, item); + PSI_DUMP(dump, "%s", psi_t_indent(level + 1)); + psi_decl_enum_item_dump(dump, item); } + PSI_DUMP(dump, "%s\n} ", psi_t_indent(level)); } - dprintf(fd, "\n}"); } bool psi_decl_enum_validate(struct psi_data *data, struct psi_decl_enum *e)