X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftoken.c;fp=src%2Ftoken.c;h=5dbb2eccad9df30bb227ac5157c656a4379f5756;hp=df7d2e8592905062cd82ae1025e5fdbc0a5350e8;hb=f24325648c601d4b0835074f271072f4832e4478;hpb=4cf4913076ea959f298caefb4b9d60510c1bf48b diff --git a/src/token.c b/src/token.c index df7d2e8..5dbb2ec 100644 --- a/src/token.c +++ b/src/token.c @@ -32,9 +32,9 @@ #include "token.h" #include "parser.h" -size_t psi_token_alloc_size(size_t token_len, size_t fname_len) { - return sizeof(struct psi_token) + token_len + fname_len + 2; -} +#ifndef PSI_DEBUG_TOKEN_ALLOC +# define PSI_DEBUG_TOKEN_ALLOC 0 +#endif struct psi_token *psi_token_init(token_t token_typ, const char *token_txt, size_t token_len, unsigned col, unsigned line, zend_string *file) @@ -47,14 +47,18 @@ struct psi_token *psi_token_init(token_t token_typ, const char *token_txt, T->line = line; T->file = zend_string_copy(file); T->text = zend_string_init(token_txt, token_len, 1); - +#if PSI_DEBUG_TOKEN_ALLOC + fprintf(stderr, "PSI: token_init %p\n", T); +#endif return T; } void psi_token_free(struct psi_token **token_ptr) { if (*token_ptr) { struct psi_token *token = *token_ptr; - +#if PSI_DEBUG_TOKEN_ALLOC + fprintf(stderr, "PSI: token_free %p\n", token); +#endif *token_ptr = NULL; zend_string_release(token->text); zend_string_release(token->file); @@ -66,7 +70,9 @@ struct psi_token *psi_token_copy(struct psi_token *src) { struct psi_token *ptr = malloc(sizeof(*ptr)); *ptr = *src; - +#if PSI_DEBUG_TOKEN_ALLOC + fprintf(stderr, "PSI: token_copy %p <= %p\n", ptr, src); +#endif ptr->text = zend_string_copy(ptr->text); ptr->file = zend_string_copy(ptr->file); @@ -103,6 +109,9 @@ struct psi_token *psi_token_cat(const char *sep, unsigned argc, ...) { T->text = smart_str_extract(&text); +#if PSI_DEBUG_TOKEN_ALLOC + fprintf(stderr, "PSI: token_cat %p\n", T); +#endif return T; }