X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fcpp_macro_call.c;h=2764200715628e0d3b8c8e5dedaa3ff0aedcd132;hp=4bd39323530728a246677cb38580f0b6b282f201;hb=d2e0af1718294569a84c3c15616c74e4d55ea579;hpb=7fb50f31e25b1cc307ef59fb9cbfe71e4c2283c5 diff --git a/src/types/cpp_macro_call.c b/src/types/cpp_macro_call.c index 4bd3932..2764200 100644 --- a/src/types/cpp_macro_call.c +++ b/src/types/cpp_macro_call.c @@ -23,16 +23,20 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ -#include "php_psi_stdinc.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#else +# include "php_config.h" +#endif #include "cpp.h" #include "data.h" -struct psi_cpp_macro_call *psi_cpp_macro_call_init(const char *name, +struct psi_cpp_macro_call *psi_cpp_macro_call_init(zend_string *name, struct psi_plist *args) { - struct psi_cpp_macro_call *call = calloc(1, sizeof(*call)); - call->name = strdup(name); + struct psi_cpp_macro_call *call = pecalloc(1, sizeof(*call), 1); + call->name = zend_string_copy(name); call->args = args; return call; } @@ -40,14 +44,14 @@ struct psi_cpp_macro_call *psi_cpp_macro_call_init(const char *name, struct psi_cpp_macro_call *psi_cpp_macro_call_copy( struct psi_cpp_macro_call *call) { - struct psi_cpp_macro_call *copy = calloc(1, sizeof(*copy)); - copy->name = strdup(call->name); + struct psi_cpp_macro_call *copy = pecalloc(1, sizeof(*copy), 1); + copy->name = zend_string_copy(call->name); if (call->token) { copy->token = psi_token_copy(call->token); } if (call->args) { copy->args = psi_plist_copy(call->args, - (void (*)(void*)) psi_token_copy_ctor); + (void (*)(void*)) psi_num_exp_copy_ctor); } return copy; } @@ -59,28 +63,26 @@ void psi_cpp_macro_call_free(struct psi_cpp_macro_call **call_ptr) *call_ptr = NULL; - free(call->name); + zend_string_release(call->name); if (call->args) { psi_plist_free(call->args); } - if (call->token) { - free(call->token); - } + psi_token_free(&call->token); free(call); } } -void psi_cpp_macro_call_dump(int fd, struct psi_cpp_macro_call *call) +void psi_cpp_macro_call_dump(struct psi_dump *dump, struct psi_cpp_macro_call *call) { size_t i = 0; struct psi_num_exp *num; - dprintf(fd, "%s(", call->name); + PSI_DUMP(dump, "%s(", call->name->val); while (psi_plist_get(call->args, i++, &num)) { if (i > 1) { - dprintf(fd, ", "); + PSI_DUMP(dump, ", "); } - psi_num_exp_dump(fd, num); + psi_num_exp_dump(dump, num); } - dprintf(fd, ")"); + PSI_DUMP(dump, ")"); }