Skip to content

Commit 0e6cbf7

Browse files
committed
luajit: allow boolean concat
1 parent f391ab0 commit 0e6cbf7

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

LuaJIT-2.1/src/lj_meta.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ TValue *lj_meta_cat(lua_State *L, TValue *top, int left)
246246
int fromc = 0;
247247
if (left < 0) { left = -left; fromc = 1; }
248248
do {
249-
if (!(tvisstr(top) || tvisnumber(top) || tvisbuf(top)) ||
250-
!(tvisstr(top-1) || tvisnumber(top-1) || tvisbuf(top-1))) {
249+
if (!(tvisstr(top) || tvisnumber(top) || tvisbuf(top) || tvisbool(top)) ||
250+
!(tvisstr(top-1) || tvisnumber(top-1) || tvisbuf(top-1) || tvisbool(top-1))) {
251251
cTValue *mo = lj_meta_lookup(L, top-1, MM_concat);
252252
if (tvisnil(mo)) {
253253
mo = lj_meta_lookup(L, top, MM_concat);
@@ -303,6 +303,12 @@ TValue *lj_meta_cat(lua_State *L, TValue *top, int left)
303303
lj_buf_putmem(sb, sbx->r, sbufxlen(sbx));
304304
} else if (tvisint(o)) {
305305
lj_strfmt_putint(sb, intV(o));
306+
} else if (tvisbool(o)) {
307+
if (boolV(o)) {
308+
lj_buf_putmem(sb, "true", 4);
309+
} else {
310+
lj_buf_putmem(sb, "false", 5);
311+
}
306312
} else {
307313
lj_strfmt_putfnum(sb, STRFMT_G14, numV(o));
308314
}

0 commit comments

Comments
 (0)