Browse Source

Fix debug.debug() for non-string errors.

Mike Pall 5 years ago
parent
commit
f5b0fff5a9
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/lib_debug.c

+ 2 - 1
src/lib_debug.c

@@ -369,7 +369,8 @@ LJLIB_CF(debug_debug)
       return 0;
       return 0;
     if (luaL_loadbuffer(L, buffer, strlen(buffer), "=(debug command)") ||
     if (luaL_loadbuffer(L, buffer, strlen(buffer), "=(debug command)") ||
 	lua_pcall(L, 0, 0, 0)) {
 	lua_pcall(L, 0, 0, 0)) {
-      fputs(lua_tostring(L, -1), stderr);
+      const char *s = lua_tostring(L, -1);
+      fputs(s ? s : "(error object is not a string)", stderr);
       fputs("\n", stderr);
       fputs("\n", stderr);
     }
     }
     lua_settop(L, 0);  /* remove eventual returns */
     lua_settop(L, 0);  /* remove eventual returns */