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 <assert.h>
struct psi_impl *psi_impl_init(struct psi_impl_func *func,
struct psi_plist *stmts)
{
- struct psi_impl *impl = calloc(1, sizeof(*impl));
+ struct psi_impl *impl = pecalloc(1, sizeof(*impl), 1);
size_t i = 0;
struct psi_token **abstract_stmt;
}
}
-void psi_impl_dump(int fd, struct psi_impl *impl)
+void psi_impl_dump(struct psi_dump *dump, struct psi_impl *impl)
{
size_t i;
struct psi_return_stmt *ret;
struct psi_free_stmt *fre;
struct psi_assert_stmt *ass;
- psi_impl_func_dump(fd, impl->func);
- dprintf(fd, " {\n");
+ psi_impl_func_dump(dump, impl->func);
+ PSI_DUMP(dump, " {\n");
for (i = 0; psi_plist_get(impl->stmts.let, i, &let); ++i) {
- psi_let_stmt_dump(fd, let);
+ psi_let_stmt_dump(dump, let);
}
for (i = 0; psi_plist_get(impl->stmts.ass, i, &ass); ++i) {
- psi_assert_stmt_dump(fd, ass);
+ psi_assert_stmt_dump(dump, ass);
}
for (i = 0; psi_plist_get(impl->stmts.ret, i, &ret); ++i) {
- psi_return_stmt_dump(fd, ret);
+ psi_return_stmt_dump(dump, ret);
}
for (i = 0; psi_plist_get(impl->stmts.set, i, &set); ++i) {
- psi_set_stmt_dump(fd, set);
+ psi_set_stmt_dump(dump, set);
}
for (i = 0; psi_plist_get(impl->stmts.fre, i, &fre); ++i) {
- psi_free_stmt_dump(fd, fre);
+ psi_free_stmt_dump(dump, fre);
}
- dprintf(fd, "}\n");
+ PSI_DUMP(dump, "}\n");
}
bool psi_impl_validate(struct psi_data *data, struct psi_impl *impl,
struct psi_decl_var *arg;
while (psi_plist_get(ret->exp->args, i++, &arg)) {
- if (!strcmp(var->name, arg->name)) {
+ if (zend_string_equals(var->name, arg->name)) {
return var->arg = arg->arg;
}
}
struct psi_impl_arg *iarg;
while (psi_plist_get(impl->func->args, i++, &iarg)) {
- if (!strcmp(var->name, iarg->var->name)) {
+ if (zend_string_equals(var->name, iarg->var->name)) {
return var->arg = iarg;
}
}
if (let->exp->kind != PSI_LET_TMP) {
continue;
}
- if (strcmp(let->exp->var->name, var->name)) {
+ if (!zend_string_equals(let->exp->var->name, var->name)) {
continue;
}
return var->arg = let->exp->var->arg;