X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fdecl.c;h=f948b014350ad08028d41098457f537cee43ab32;hb=4bf8ff5e477da2fa4f82518bb947055c2c0374d6;hp=780b924566d90c8d57ac8296e5ea5ffe844f7df0;hpb=a7ac1c0a3c855321f21682c127a4b707de33a303;p=m6w6%2Fext-psi diff --git a/src/types/decl.c b/src/types/decl.c index 780b924..f948b01 100644 --- a/src/types/decl.c +++ b/src/types/decl.c @@ -23,18 +23,21 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ -#include "php_psi_stdinc.h" -#include "php_psi.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#else +# include "php_config.h" +#endif -#include #include - #include +#include "php_psi.h" #include "data.h" +#include "dl.h" #define PSI_FUNC_REDIRS -#include "php_psi_posix.h" +#include "php_psi_predef.h" struct psi_decl *psi_decl_init(struct psi_decl_arg *func, struct psi_plist *args) { @@ -61,40 +64,40 @@ void psi_decl_free(struct psi_decl **d_ptr) if (d->redir) { zend_string_release(d->redir); } - free(d); + pefree(d, 1); } } -void psi_decl_dump(int fd, struct psi_decl *decl) +void psi_decl_dump(struct psi_dump *dump, struct psi_decl *decl) { if (decl->abi) { - psi_decl_abi_dump(fd, decl->abi); + psi_decl_abi_dump(dump, decl->abi); } - dprintf(fd, " "); + PSI_DUMP(dump, " "); /* FIXME: functions returning arrays */ - psi_decl_arg_dump(fd, decl->func, 0); - dprintf(fd, "("); + psi_decl_arg_dump(dump, decl->func, 0); + PSI_DUMP(dump, "("); if (decl->args) { size_t i; struct psi_decl_arg *arg; for (i = 0; psi_plist_get(decl->args, i, &arg); ++i) { if (i) { - dprintf(fd, ", "); + PSI_DUMP(dump, ", "); } - psi_decl_arg_dump(fd, arg, 0); + psi_decl_arg_dump(dump, arg, 0); } if (decl->varargs) { - dprintf(fd, ", ..."); + PSI_DUMP(dump, ", ..."); } } if (decl->func->var->array_size) { - dprintf(fd, ")[%u]", decl->func->var->array_size); + PSI_DUMP(dump, ")[%u]", decl->func->var->array_size); } if (decl->redir) { - dprintf(fd, ") __asm__ (\"%s\");", decl->redir->val); + PSI_DUMP(dump, ") __asm__ (\"%s\");", decl->redir->val); } else { - dprintf(fd, ");"); + PSI_DUMP(dump, ");"); } } @@ -123,7 +126,7 @@ static inline bool psi_decl_validate_func(struct psi_data *data, "Failed to locate symbol '%s(%s)': %s", func->var->name->val, decl->redir ? decl->redir->val : "", - dlerror() ?: "not found"); + psi_dlerror() ?: "not found"); return false; } return true;