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 "data.h"
#include "call.h"
#include "marshal.h"
struct psi_let_func *psi_let_func_init(token_t type, zend_string *name,
struct psi_impl_var *var)
{
- struct psi_let_func *func = calloc(1, sizeof(*func));
+ struct psi_let_func *func = pecalloc(1, sizeof(*func), 1);
func->type = type;
func->name = zend_string_copy(name);
func->var = var;
}
}
-void psi_let_func_dump(int fd, struct psi_let_func *func, unsigned level)
+void psi_let_func_dump(struct psi_dump *dump, struct psi_let_func *func, unsigned level)
{
- dprintf(fd, "%s(%s\t/* fqn=%s */", func->name->val, func->var->name->val,
+ PSI_DUMP(dump, "%s(%s\t/* fqn=%s */", func->name->val, func->var->name->val,
func->var->fqn->val);
if (func->inner) {
size_t i = 0, count = psi_plist_count(func->inner);
struct psi_let_exp *inner;
- dprintf(fd, ",");
+ PSI_DUMP(dump, ",");
++level;
while (psi_plist_get(func->inner, i++, &inner)) {
- dprintf(fd, "\n");
- psi_let_exp_dump(fd, inner, level, i == count);
+ PSI_DUMP(dump, "\n");
+ psi_let_exp_dump(dump, inner, level, i == count);
}
--level;
- dprintf(fd, "\n");
- dprintf(fd, "%s", psi_t_indent(level));
+ PSI_DUMP(dump, "\n");
+ PSI_DUMP(dump, "%s", psi_t_indent(level));
}
- dprintf(fd, ")");
+ PSI_DUMP(dump, ")");
}
static inline int validate_let_func_type(struct psi_data *data,
return 1;
}
-void exec_let_func_arrval_inner(struct psi_let_func *func,
+static void exec_let_func_arrval_inner(struct psi_let_func *func,
struct psi_decl_arg *darg, struct psi_decl_arg *inner_decl_arg,
struct psi_call_frame_argument *frame_arg,
struct psi_let_exp *inner_let_exp, void *container,
struct psi_let_func *func, struct psi_decl_arg *darg,
struct psi_call_frame *frame);
-void exec_let_func_arrval_seq(struct psi_let_func *func,
+static void exec_let_func_arrval_seq(struct psi_let_func *func,
struct psi_decl_arg *darg,
struct psi_call_frame_argument *frame_arg,
struct psi_let_exp *inner_let_exp, void *container,
inner_let_exp->data.func, darg, frame);
} else {
assert(0);
+ return;
}
sub = deref_impl_val(ptr, dvar);