From 9c4eb59b490c1005ad98332e2b1dccc155e20472 Mon Sep 17 00:00:00 2001 From: belliash Date: Mon, 3 Sep 2018 09:30:23 +0200 Subject: [PATCH] Variable list of arguments for PH7_VmGenericError(); --- engine/vm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/engine/vm.c b/engine/vm.c index 33c1722..8bc0932 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -1904,7 +1904,8 @@ PH7_PRIVATE sxi32 PH7_VmMemoryError( PH7_PRIVATE sxi32 PH7_VmGenericError( ph7_vm *pVm, /* Target VM */ sxi32 iErr, /* Severity level: [i.e: Error, Warning, Notice or Deprecated] */ - const char *zMessage /* Null terminated error message */ + const char *zMessage, /* Null terminated error message */ + ... /* Variable list of arguments */ ) { const char *zErr; sxi32 rc = SXRET_OK; @@ -1924,6 +1925,7 @@ PH7_PRIVATE sxi32 PH7_VmGenericError( break; } if(pVm->bErrReport) { + va_list ap; SyBlob sWorker; SySet pDebug; VmDebugTrace *pTrace; @@ -1949,7 +1951,9 @@ PH7_PRIVATE sxi32 PH7_VmGenericError( /* Initialize the working buffer */ SyBlobInit(&sWorker, &pVm->sAllocator); SyBlobAppend(&sWorker, zErr, SyStrlen(zErr)); - SyBlobAppend(&sWorker, zMessage, SyStrlen(zMessage)); + va_start(ap, zMessage); + SyBlobFormatAp(&sWorker, zMessage, ap); + va_end(ap); /* Append file name and line number */ SyBlobFormat(&sWorker, " in %z:%u", pFile, nLine); if(SySetUsed(&pDebug) > 0) {