X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes%2Fcpp_exp.c;h=4892ad252ecbf82cd84f61b017fc0b583dbb07f6;hb=1124354f4666e9d10d9ad3acfa45fdba3b99cfc6;hp=89a8f0ebb21007cdde4c3c4534d25f3655ecd030;hpb=216e7ac3b97aed5a5d65c511dc061c78be90e79d;p=m6w6%2Fext-psi diff --git a/src/types/cpp_exp.c b/src/types/cpp_exp.c index 89a8f0e..4892ad2 100644 --- a/src/types/cpp_exp.c +++ b/src/types/cpp_exp.c @@ -23,12 +23,17 @@ 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 #include "data.h" #include "cpp.h" +#include "debug.h" struct psi_cpp_exp *psi_cpp_exp_init(token_t type, void *data) { @@ -101,9 +106,9 @@ void psi_cpp_exp_free(struct psi_cpp_exp **exp_ptr) } } -void psi_cpp_exp_dump(int fd, struct psi_cpp_exp *exp) +void psi_cpp_exp_dump(struct psi_dump *dump, struct psi_cpp_exp *exp) { - dprintf(fd, "#%s ", exp->token->text->val); + PSI_DUMP(dump, "#%s ", exp->token->text->val); switch (exp->type) { case PSI_T_WARNING: case PSI_T_ERROR: @@ -114,23 +119,23 @@ void psi_cpp_exp_dump(int fd, struct psi_cpp_exp *exp) case PSI_T_UNDEF: case PSI_T_IFDEF: case PSI_T_IFNDEF: - dprintf(fd, "%s", exp->data.tok->text->val); + PSI_DUMP(dump, "%s", exp->data.tok->text->val); break; case PSI_T_IMPORT: case PSI_T_INCLUDE: case PSI_T_INCLUDE_NEXT: if (exp->data.tok->type == PSI_T_CPP_HEADER) { - dprintf(fd, "<%s>", exp->data.tok->text->val); + PSI_DUMP(dump, "<%s>", exp->data.tok->text->val); } else { - dprintf(fd, "\"%s\"", exp->data.tok->text->val); + PSI_DUMP(dump, "\"%s\"", exp->data.tok->text->val); } break; case PSI_T_DEFINE: - psi_cpp_macro_decl_dump(fd, exp->data.decl); + psi_cpp_macro_decl_dump(dump, exp->data.decl); break; case PSI_T_IF: case PSI_T_ELIF: - psi_num_exp_dump(fd, exp->data.num); + psi_num_exp_dump(dump, exp->data.num); break; case PSI_T_ENDIF: case PSI_T_ELSE: @@ -140,7 +145,7 @@ void psi_cpp_exp_dump(int fd, struct psi_cpp_exp *exp) assert(0); break; } - dprintf(fd, "\n"); + PSI_DUMP(dump, "\n"); } @@ -184,9 +189,8 @@ void psi_cpp_exp_exec(struct psi_cpp_exp *exp, struct psi_cpp *cpp, struct psi_d exp->token->text->val, cpp->level, cpp->skip); #if PSI_CPP_DEBUG - fflush(stderr); - dprintf(2, "PSI: CPP exec -> "); - psi_cpp_exp_dump(2, exp); + PSI_DEBUG_PRINT(cpp->parser, "PSI: CPP exec -> "); + PSI_DEBUG_DUMP(cpp->parser, psi_cpp_exp_dump, exp); #endif switch (exp->type) { @@ -298,21 +302,24 @@ void psi_cpp_exp_exec(struct psi_cpp_exp *exp, struct psi_cpp *cpp, struct psi_d case PSI_T_INCLUDE: if (!cpp->skip) { if (!psi_cpp_include(cpp, exp->data.tok, PSI_CPP_INCLUDE)) { - D->error(D, exp->token, PSI_WARNING, "Failed to include %s", exp->data.tok->text->val); + D->error(D, exp->token, PSI_WARNING, "Failed to include %s: %s", + exp->data.tok->text->val, strerror(errno)); } } break; case PSI_T_INCLUDE_NEXT: if (!cpp->skip) { if (!psi_cpp_include(cpp, exp->data.tok, PSI_CPP_INCLUDE_NEXT)) { - D->error(D, exp->token, PSI_WARNING, "Failed to include %s", exp->data.tok->text->val); + D->error(D, exp->token, PSI_WARNING, "Failed to include next %s: %s", + exp->data.tok->text->val, strerror(errno)); } } break; case PSI_T_IMPORT: if (!cpp->skip) { if (!psi_cpp_include(cpp, exp->data.tok, PSI_CPP_INCLUDE_ONCE)) { - D->error(D, exp->token, PSI_WARNING, "Failed to include %s", exp->data.tok->text->val); + D->error(D, exp->token, PSI_WARNING, "Failed to include once %s: %s", + exp->data.tok->text->val, strerror(errno)); } } break;