Fix mg.onerror returns non-zero to stop processing

This commit is contained in:
abadc0de 2013-02-27 15:29:18 -05:00
parent ab960df8a9
commit 34df4ec1fd

View File

@ -3979,12 +3979,12 @@ static int lsp(struct mg_connection *conn, const char *path,
if (p[j] == '\n') ++lualines;
if (p[j] == '?' && p[j + 1] == '>') {
mg_write(conn, p + pos, i - pos);
// lua_settop(L, 0);
//lua_settop(L, 0);
lua_pushlightuserdata(L, conn);
lua_pushcclosure(L, lsp_mg_error, 1);
snprintf (chunkname, sizeof(chunkname), "@%s+%i", path, lines);
if (luaL_loadbuffer(L, p + (i + 2), j - (i + 2), chunkname)) {
lua_pcall(L, 1, 0, 0);
lua_pcall(L, 1, 1, 0);
result = lua_tointeger(L, -1);
if (result) return result;
} else {