build cleanup
[m6w6/ext-psi] / src / data.c
index 9bcd493d711b9eca7a2449cfcbac380a5f117b9f..57b6f4d0c0b936ad7b2b48eed3e860d5582d10c0 100644 (file)
 #include "data.h"
 
 #include "php_globals.h"
+#include "zend_types.h"
 
 #include <dlfcn.h>
 #include <ctype.h>
 
+#if PSI_THREADED_PARSER
+# include <pthread.h>
+
+pthread_mutex_t psi_string_mutex = PTHREAD_MUTEX_INITIALIZER;
+
+zend_string *psi_string_init_interned(const char *buf, size_t len, int p)
+{
+       zend_string *str;
+
+       pthread_mutex_lock(&psi_string_mutex);
+       str = zend_string_init_interned(buf, len, p);
+       pthread_mutex_unlock(&psi_string_mutex);
+
+       return str;
+}
+
+zend_string *psi_new_interned_string(zend_string *str)
+{
+       zend_string *new_str;
+
+       pthread_mutex_lock(&psi_string_mutex);
+       new_str = zend_new_interned_string(str);
+       pthread_mutex_unlock(&psi_string_mutex);
+
+       return new_str;
+}
+
+#endif
+
 static void psi_data_ctor_internal(struct psi_data *data,
                psi_error_cb error, unsigned flags)
 {
@@ -229,7 +259,7 @@ void psi_data_dump(struct psi_dump *dump, struct psi_data *D)
                struct psi_decl_enum *enm;
 
                while (psi_plist_get(D->enums, i++, &enm)) {
-                       if (!psi_decl_type_is_anon(enm->name, "enum")) {
+                       if (true || !psi_decl_type_is_anon(enm->name, "enum")) {
                                psi_decl_enum_dump(dump, enm, 0);
                                PSI_DUMP(dump, "\n");
                        }
@@ -252,13 +282,13 @@ void psi_data_dump(struct psi_dump *dump, struct psi_data *D)
 
                while (psi_plist_get(D->decls, i++, &decl)) {
                        if (decl->extvar) {
-                               PSI_DUMP(dump, "/* extvar accessor\n");
+                               PSI_DUMP(dump, "/* extvar accessor \n");
                        }
                        psi_decl_dump(dump, decl);
-                       PSI_DUMP(dump, "\n");
                        if (decl->extvar) {
-                               PSI_DUMP(dump, "   extvar accessor */\n");
+                               PSI_DUMP(dump, " */");
                        }
+                       PSI_DUMP(dump, "\n");
                }
                PSI_DUMP(dump, "\n");
        }