forked from xdebug/xdebug
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xdebug_compat.h
executable file
·75 lines (64 loc) · 2.8 KB
/
xdebug_compat.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
+----------------------------------------------------------------------+
| Xdebug |
+----------------------------------------------------------------------+
| Copyright (c) 2002-2011 Derick Rethans |
+----------------------------------------------------------------------+
| This source file is subject to version 1.0 of the Xdebug license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://xdebug.derickrethans.nl/license.php |
| If you did not receive a copy of the Xdebug license and are unable |
| to obtain it through the world-wide-web, please send a note to |
| [email protected] so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Derick Rethans <[email protected]> |
+----------------------------------------------------------------------+
*/
#ifndef __HAVE_XDEBUG_COMPAT_H__
#define __HAVE_XDEBUG_COMPAT_H__
#include "php.h"
#if PHP_MAJOR_VERSION >= 6
void xdebug_php_var_dump(zval **struc, int level TSRMLS_DC);
#else
# include "ext/standard/php_var.h"
# define xdebug_php_var_dump php_var_dump
#endif
#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION == 1
# define zend_memrchr php_zend_memrchr
void *php_zend_memrchr(const void *s, int c, size_t n);
#endif
#if PHP_VERSION_ID >= 50399
# define XDEBUG_ZNODE znode_op
# define XDEBUG_ZNODE_ELEM(node,var) node.var
# define XDEBUG_ZNODEP_ELEM(node,var) node->var
# define XDEBUG_TYPE(t) t##_type
# define XDEBUG_EXTENDED_VALUE(o) extended_value
# define XDEBUG_PASS_TWO_DONE (op_array->fn_flags & ZEND_ACC_DONE_PASS_TWO)
#else
# define XDEBUG_ZNODE znode
# define XDEBUG_ZNODE_ELEM(node,var) node.u.var
# define XDEBUG_ZNODEP_ELEM(node,var) node->u.var
# define XDEBUG_TYPE(t) t.op_type
# define XDEBUG_EXTENDED_VALUE(o) o.u.EA.type
# define XDEBUG_PASS_TWO_DONE op_array->done_pass_two
#endif
zval *xdebug_zval_ptr(int op_type, XDEBUG_ZNODE *node, temp_variable *Ts TSRMLS_DC);
#include "ext/standard/base64.h"
#define xdebug_base64_encode php_base64_encode
#define xdebug_base64_decode php_base64_decode
#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 3) || (PHP_MAJOR_VERSION >= 6)
# define XDEBUG_REFCOUNT refcount__gc
# define XDEBUG_IS_REF is_ref__gc
#else
# define XDEBUG_REFCOUNT refcount
# define XDEBUG_IS_REF is_ref
#endif
#if defined(PHP_VERSION_ID) && PHP_VERSION_ID >= 50300 && ZTS
# define XDEBUG_ZEND_HASH_APPLY_TSRMLS_DC TSRMLS_DC
# define XDEBUG_ZEND_HASH_APPLY_TSRMLS_CC TSRMLS_CC
#else
# define XDEBUG_ZEND_HASH_APPLY_TSRMLS_DC
# define XDEBUG_ZEND_HASH_APPLY_TSRMLS_CC
#endif
#endif