This source file includes following definitions.
- BEGIN_EXTERN_C
- _zval_copy_ctor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #ifndef ZEND_VARIABLES_H
23 #define ZEND_VARIABLES_H
24
25
26 BEGIN_EXTERN_C()
27
28 ZEND_API void _zval_dtor_func(zval *zvalue ZEND_FILE_LINE_DC);
29
30 static zend_always_inline void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC)
31 {
32 if (zvalue->type <= IS_BOOL) {
33 return;
34 }
35 _zval_dtor_func(zvalue ZEND_FILE_LINE_RELAY_CC);
36 }
37
38 ZEND_API void _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC);
39
40 static zend_always_inline void _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)
41 {
42 if (zvalue->type <= IS_BOOL) {
43 return;
44 }
45 _zval_copy_ctor_func(zvalue ZEND_FILE_LINE_RELAY_CC);
46 }
47
48 ZEND_API int zval_copy_static_var(zval **p TSRMLS_DC, int num_args, va_list args, zend_hash_key *key);
49
50 ZEND_API int zend_print_variable(zval *var);
51 ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC);
52 ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC);
53 ZEND_API void _zval_internal_ptr_dtor(zval **zvalue ZEND_FILE_LINE_DC);
54 ZEND_API void _zval_dtor_wrapper(zval *zvalue);
55 #define zval_copy_ctor(zvalue) _zval_copy_ctor((zvalue) ZEND_FILE_LINE_CC)
56 #define zval_dtor(zvalue) _zval_dtor((zvalue) ZEND_FILE_LINE_CC)
57 #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
58 #define zval_internal_dtor(zvalue) _zval_internal_dtor((zvalue) ZEND_FILE_LINE_CC)
59 #define zval_internal_ptr_dtor(zvalue) _zval_internal_ptr_dtor((zvalue) ZEND_FILE_LINE_CC)
60 #define zval_dtor_wrapper _zval_dtor_wrapper
61
62 #if ZEND_DEBUG
63 ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue);
64 ZEND_API void _zval_ptr_dtor_wrapper(zval **zval_ptr);
65 ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue);
66 ZEND_API void _zval_internal_ptr_dtor_wrapper(zval **zvalue);
67 #define zval_copy_ctor_wrapper _zval_copy_ctor_wrapper
68 #define zval_ptr_dtor_wrapper _zval_ptr_dtor_wrapper
69 #define zval_internal_dtor_wrapper _zval_internal_dtor_wrapper
70 #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor_wrapper
71 #else
72 #define zval_copy_ctor_wrapper _zval_copy_ctor_func
73 #define zval_ptr_dtor_wrapper _zval_ptr_dtor
74 #define zval_internal_dtor_wrapper _zval_internal_dtor
75 #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor
76 #endif
77
78 ZEND_API void zval_add_ref(zval **p);
79
80 END_EXTERN_C()
81
82 #define ZVAL_DESTRUCTOR (void (*)(void *)) zval_dtor_wrapper
83 #define ZVAL_PTR_DTOR (void (*)(void *)) zval_ptr_dtor_wrapper
84 #define ZVAL_INTERNAL_DTOR (void (*)(void *)) zval_internal_dtor_wrapper
85 #define ZVAL_INTERNAL_PTR_DTOR (void (*)(void *)) zval_internal_ptr_dtor_wrapper
86 #define ZVAL_COPY_CTOR (void (*)(void *)) zval_copy_ctor_wrapper
87
88 #endif
89
90
91
92
93
94
95
96