From bdc40c6ebf904def9b87825f5380bbdbfcb61f15 Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Sun, 3 Jun 2018 16:19:29 +0200 Subject: [PATCH] allow assert to take a table object as error --- src/lib_base.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib_base.c b/src/lib_base.c index d61e8762..460a2773 100644 --- a/src/lib_base.c +++ b/src/lib_base.c @@ -42,11 +42,13 @@ LJLIB_ASM(assert) LJLIB_REC(.) { - GCstr *s; lj_lib_checkany(L, 1); - s = lj_lib_optstr(L, 2); - if (s) - lj_err_callermsg(L, strdata(s)); + if (L->base+1 < L->top) { + if (tvisstr(L->top-1)) + lj_err_callermsg(L, strVdata(L->top-1)); + else + lj_err_run(L); + } else lj_err_caller(L, LJ_ERR_ASSERT); return FFH_UNREACHABLE;