From d85a517eb0ef991bd36696c5424f74646a26b882 Mon Sep 17 00:00:00 2001 From: belliash Date: Mon, 3 Sep 2018 19:27:38 +0200 Subject: [PATCH] Rework trigger_error() builtin function. --- engine/vm.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/engine/vm.c b/engine/vm.c index d55e130..88961c5 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -8974,26 +8974,23 @@ static int vm_builtin_trigger_error(ph7_context *pCtx, int nArg, ph7_value **apA /* Extract the error type */ nErr = ph7_value_to_int(apArg[1]); switch(nErr) { - case 1: /* E_ERROR */ - case 16: /* E_CORE_ERROR */ - case 64: /* E_COMPILE_ERROR */ - case 256: /* E_USER_ERROR */ + case E_ERROR: nErr = PH7_CTX_ERR; - rc = PH7_ABORT; /* Abort processing immediately */ + rc = PH7_ABORT; break; - case 2: /* E_WARNING */ - case 32: /* E_CORE_WARNING */ - case 123: /* E_COMPILE_WARNING */ - case 512: /* E_USER_WARNING */ + case E_WARNING: nErr = PH7_CTX_WARNING; break; + case E_DEPRECATED: + nErr = PH7_CTX_DEPRECATED; + break; default: nErr = PH7_CTX_NOTICE; break; } } /* Report error */ - ph7_context_throw_error_format(pCtx, nErr, "%.*s", nLen, zErr); + PH7_VmGenericError(pCtx->pVm, nErr, "%.*s", nLen, zErr); /* Return true */ ph7_result_bool(pCtx, 1); } else {