From 309cdf8b9bdf8d45196eb94bda7588ddac8915c6 Mon Sep 17 00:00:00 2001
From: daurnimator <quae@daurnimator.com>
Date: Mon, 22 May 2017 00:10:38 +1000
Subject: src/ldebug.js: namewhat should always contain a string

---
 src/lauxlib.js | 2 +-
 src/ldblib.js  | 4 ++--
 src/ldebug.js  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'src')

diff --git a/src/lauxlib.js b/src/lauxlib.js
index c5a3b21..5669995 100644
--- a/src/lauxlib.js
+++ b/src/lauxlib.js
@@ -79,7 +79,7 @@ const pushfuncname = function(L, ar) {
         lua.lua_pushfstring(L, lua.to_luastring("function '%s'"), lua.lua_tostring(L, -1));
         lua.lua_remove(L, -2);  /* remove name */
     }
-    else if (ar.namewhat)  /* is there a name from code? */
+    else if (ar.namewhat.length !== 0)  /* is there a name from code? */
         lua.lua_pushfstring(L, lua.to_luastring("%s '%s'"), ar.namewhat, ar.name);  /* use it */
     else if (ar.what && ar.what[0] === 'm'.charCodeAt(0))  /* main? */
         lua.lua_pushliteral(L, "main chunk");
diff --git a/src/ldblib.js b/src/ldblib.js
index 91dd980..3f18a27 100644
--- a/src/ldblib.js
+++ b/src/ldblib.js
@@ -151,8 +151,8 @@ const db_getinfo = function(L) {
         settabsb(L, lua.to_luastring("isvararg", true), ar.isvararg);
     }
     if (options.indexOf('n'.charCodeAt(0)) > - 1) {
-        settabss(L, lua.to_luastring("name", true), ar.name ? ar.name : null);
-        settabss(L, lua.to_luastring("namewhat", true), ar.namewhat ? ar.namewhat : null);
+        settabss(L, lua.to_luastring("name", true), ar.name);
+        settabss(L, lua.to_luastring("namewhat", true), ar.namewhat);
     }
     if (options.indexOf('t'.charCodeAt(0)) > - 1)
         settabsb(L, lua.to_luastring("istailcall", true), ar.istailcall);
diff --git a/src/ldebug.js b/src/ldebug.js
index b427e76..1862e55 100644
--- a/src/ldebug.js
+++ b/src/ldebug.js
@@ -242,7 +242,7 @@ const auxgetinfo = function(L, what, ar, f, ci) {
             case 'n': {
                 let r = getfuncname(L, ci);
                 if (r === null) {
-                    ar.namewhat = null;
+                    ar.namewhat = [];
                     ar.name = null;
                 } else {
                     ar.namewhat = r.funcname;
-- 
cgit v1.2.3-70-g09d2