build administrativa
[m6w6/ext-psi] / src / types / decl_enum.c
index f060bf390546700ff086b6ee54f50fc184af438a..d76bb1ca0260d0d8f94a068a174c7e61c77d651c 100644 (file)
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *******************************************************************************/
 
-#include "php_psi_stdinc.h"
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#else
+# include "php_config.h"
+#endif
 #include "data.h"
 
 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;
@@ -49,22 +53,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)