X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Flibffi.c;h=d5158271b65879a31afccd66dbbbef6f922f5730;hp=d802bd1f293ee09aafabb82ff66a4bd4e02abcc0;hb=61918592ab618c073b9846783ce79fed9f26c5f7;hpb=6a8a77b52b636041de54d1022016b4f2aa510c05 diff --git a/src/libffi.c b/src/libffi.c index d802bd1..d515827 100644 --- a/src/libffi.c +++ b/src/libffi.c @@ -1,4 +1,11 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include "php.h" + +#ifdef HAVE_LIBFFI + #include "php_psi.h" #include "libffi.h" @@ -185,14 +192,17 @@ static void psi_ffi_init(PSI_Context *C) C->context = PSI_LibffiContextInit(NULL); } -static void psi_ffi_dtor(PSI_Context *C) { - size_t i; +static void psi_ffi_dtor(PSI_Context *C) +{ + if (C->decls) { + size_t i; - for (i = 0; i < C->decls->count; ++i) { - decl *decl = C->decls->list[i]; + for (i = 0; i < C->decls->count; ++i) { + decl *decl = C->decls->list[i]; - if (decl->call.info) { - PSI_LibffiCallFree(decl->call.info); + if (decl->call.info) { + PSI_LibffiCallFree(decl->call.info); + } } } free(C->context); @@ -257,3 +267,5 @@ PSI_ContextOps *PSI_Libffi(void) { return &ops; } + +#endif /* HAVE_LIBFFI */