projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
paranoid watcher
[m6w6/ext-psi]
/
src
/
types
/
decl_enum.c
diff --git
a/src/types/decl_enum.c
b/src/types/decl_enum.c
index f060bf390546700ff086b6ee54f50fc184af438a..674dd03e83e2a64b8ce6bf8f306e68062353a5f7 100644
(file)
--- a/
src/types/decl_enum.c
+++ b/
src/types/decl_enum.c
@@
-28,7
+28,7
@@
struct psi_decl_enum *psi_decl_enum_init(zend_string *name, struct psi_plist *l)
{
struct psi_decl_enum *psi_decl_enum_init(zend_string *name, struct psi_plist *l)
{
- struct psi_decl_enum *e =
calloc(1, sizeof(*e)
);
+ struct psi_decl_enum *e =
pecalloc(1, sizeof(*e), 1
);
e->name = zend_string_copy(name);
e->items = l;
return e;
e->name = zend_string_copy(name);
e->items = l;
return e;
@@
-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) {
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)
}
bool psi_decl_enum_validate(struct psi_data *data, struct psi_decl_enum *e)