#endif
#if !defined(PRVM_ERROR)
-# define PRVM_ERROR printf
+# define PRVM_ERROR prog->vmerror++, printvmerr
#endif
#if !defined(PRVM_NAME)
while (1)
{
- prog_function *newf;
+ prog_section_function *newf;
qcany *ed;
qcany *ptr;
case INSTR_ADDRESS:
if (OPA->edict < 0 || OPA->edict >= prog->entities)
{
- PRVM_ERROR ("%s Progs attempted to address an out of bounds edict number", PRVM_NAME);
+ PRVM_ERROR ("%s Progs attempted to address an out of bounds edict number %i", PRVM_NAME, OPA->edict);
goto cleanup;
}
if ((unsigned int)(OPB->_int) >= (unsigned int)(prog->entityfields))
}
else
st = prog->code + PROG_ENTERFUNCTION(newf);
+ if (prog->vmerror)
+ goto cleanup;
break;
case INSTR_DONE: