/* * NAME: kfun->old_compile_object() * DESCRIPTION: compile an object */ int kf_old_compile_object(frame *f) { char file[STRINGSZ]; object *obj; if (path_string(file, f->sp->u.string->text, f->sp->u.string->len) == (char *) NULL) { return 1; } obj = o_find(file, OACC_MODIFY); if (obj != (object *) NULL) { if (!(obj->flags & O_MASTER)) { error("Cannot recompile cloned object"); } if (O_UPGRADING(obj)) { error("Object is already being upgraded"); } if (O_INHERITED(obj)) { error("Cannot recompile inherited object"); } } obj = c_compile(f, file, obj, (string **) NULL, 0, (OBJR(f->oindex)->flags & O_DRIVER) && strcmp(d_get_strconst(f->p_ctrl, f->func->inherit, f->func->index)->text, "inherit_program") == 0); str_del(f->sp->u.string); PUT_OBJVAL(f->sp, obj); return 0; }
/* * NAME: kfun->compile_object() * DESCRIPTION: compile an object */ int kf_compile_object(frame *f, int nargs) { char file[STRINGSZ]; value *v; object *obj; string **strs; int i; v = &f->sp[nargs - 1]; if (path_string(file, v->u.string->text, v->u.string->len) == (char *) NULL) { return 1; } obj = o_find(file, OACC_MODIFY); if (obj != (object *) NULL) { if (!(obj->flags & O_MASTER)) { error("Cannot recompile cloned object"); } if (O_UPGRADING(obj)) { error("Object is already being upgraded"); } if (O_INHERITED(obj)) { error("Cannot recompile inherited object"); } } if (--nargs != 0) { strs = ALLOCA(string*, nargs); for (i = nargs, v = f->sp; i > 0; --i) { *strs++ = (v++)->u.string; } if (ec_push((ec_ftn) NULL)) { AFREE(strs - nargs); error((char *) NULL); } } else {
/* * NAME: kfun->compile_object() * DESCRIPTION: compile an object */ int kf_compile_object(Frame *f, int nargs, kfunc *kf) { char file[STRINGSZ]; Value *v; Object *obj; String **strs; int i; bool iflag; UNREFERENCED_PARAMETER(kf); v = &f->sp[nargs - 1]; if (path_string(file, v->u.string->text, v->u.string->len) == (char *) NULL) { return 1; } obj = o_find(file, OACC_MODIFY); if (obj != (Object *) NULL) { if (!(obj->flags & O_MASTER)) { error("Cannot recompile cloned object"); } if (O_UPGRADING(obj)) { error("Object is already being upgraded"); } if (O_INHERITED(obj)) { error("Cannot recompile inherited object"); } } if (--nargs != 0) { strs = ALLOCA(String*, nargs); for (i = nargs, v = f->sp; i > 0; --i) { *strs++ = (v++)->u.string; } } else {