paranoid push
[m6w6/ext-psi] / src / data.h
index ca7bf9089f8b1488d22b826451800de81945d419..9f41936429df67418ea2e271f36e08207000e7a5 100644 (file)
@@ -31,8 +31,6 @@
 #include "plist.h"
 #include "validate.h"
 
-#include "php_network.h"
-
 #include <stdarg.h>
 #include <dlfcn.h>
 
@@ -97,7 +95,15 @@ struct psi_dump {
        union psi_dump_arg ctx;
        psi_dump_cb fun;
 };
-#define PSI_DUMP(dump, ...) (dump)->fun((dump)->ctx, __VA_ARGS__)
+#define PSI_DUMP(dump, ...) do { \
+       struct psi_dump _dump_tmp, *_dump_ptr = dump; \
+       if (!_dump_ptr) { \
+               _dump_ptr = &_dump_tmp; \
+               _dump_tmp.ctx.fd = STDOUT_FILENO; \
+               _dump_tmp.fun = (psi_dump_cb) dprintf; \
+       } \
+       _dump_ptr->fun(_dump_ptr->ctx, __VA_ARGS__); \
+} while(0)
 
 #define PSI_DATA(D) ((struct psi_data *) (D))