2 +--------------------------------------------------------------------+
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the conditions mentioned |
7 | in the accompanying LICENSE file are met. |
8 +--------------------------------------------------------------------+
9 | Copyright (c) 2013, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
19 #include "php_pq_callback.h"
21 void php_pq_callback_dtor(php_pq_callback_t
*cb
)
23 if (cb
->fci
.size
> 0) {
24 zend_fcall_info_args_clear(&cb
->fci
, 1);
25 zval_ptr_dtor(&cb
->fci
.function_name
);
26 if (cb
->fci
.object_ptr
) {
27 zval_ptr_dtor(&cb
->fci
.object_ptr
);
33 void php_pq_callback_addref(php_pq_callback_t
*cb
)
35 Z_ADDREF_P(cb
->fci
.function_name
);
36 if (cb
->fci
.object_ptr
) {
37 Z_ADDREF_P(cb
->fci
.object_ptr
);
41 zval
*php_pq_callback_to_zval(php_pq_callback_t
*cb
)
45 php_pq_callback_addref(cb
);
47 if (cb
->fci
.object_ptr
) {
49 array_init_size(zcb
, 2);
50 add_next_index_zval(zcb
, cb
->fci
.object_ptr
);
51 add_next_index_zval(zcb
, cb
->fci
.function_name
);
53 zcb
= cb
->fci
.function_name
;
63 * vim600: noet sw=4 ts=4 fdm=marker
64 * vim<600: noet sw=4 ts=4