lua_State *L;
int ret;
- L = lua_open();
+ L = luaL_newstate();
luaL_openlibs(L);
/* build uhttpd api table */
path_len = strlen(url);
str = strchr(url, '?');
if (str) {
- pi->query = str;
+ if (*(str + 1))
+ pi->query = str + 1;
path_len = str - url;
}
+
+ if (prefix_len > 0 && conf.lua_prefix[prefix_len - 1] == '/')
+ prefix_len--;
+
if (path_len > prefix_len) {
lua_pushlstring(L, url + prefix_len,
path_len - prefix_len);
printf("Status: 500 Internal Server Error\r\n\r\n"
"Unable to launch the requested Lua program:\n"
- " %s: %s\n", pi->phys, strerror(errno));
+ " %s: %s\n", pi->phys, error);
}
exit(0);
return 0;
}
-const struct uhttpd_plugin uhttpd_plugin = {
+struct uhttpd_plugin uhttpd_plugin = {
.init = lua_plugin_init,
};