return 0;
}
- decl->dlptr = dlsym(V->dlopened, func->var->name);
+ decl->dlptr = dlsym(V->dlopened ?: RTLD_NEXT, func->var->name);
if (!decl->dlptr) {
V->error(PSI_WARNING, "Failed to located symbol '%s': %s",
func->var->name, dlerror());
let_stmt *let = stmts->let.list[i];
int check = 0;
- if (let->val->var) {
+ if (let->val && let->val->var) {
for (j = 0; j < impl->func->args->count; ++j) {
impl_arg *iarg = impl->func->args->args[j];