# HG changeset patch # User jbe # Date 1422585660 -3600 # Node ID 7f9c9c4434a1ac41dd4f9850a38708b1e125d4a8 # Parent fd03605946362e39b81cef42774c708b0900ef23 Bugfixes/improvements in mcp.lua diff -r fd0360594636 -r 7f9c9c4434a1 framework/bin/mcp.lua --- a/framework/bin/mcp.lua Mon Jan 12 03:02:26 2015 +0100 +++ b/framework/bin/mcp.lua Fri Jan 30 03:41:00 2015 +0100 @@ -23,14 +23,14 @@ then helpout = io.stdout elseif - #config_args < 1 or + #WEBMCP_CONFIG_NAMES < 1 or (WEBMCP_MODE == "interactive") ~= (arg3 == "INTERACTIVE") then helpout = io.stderr end - helpout:write("Usage: moonbridge -- /bin/mcp.lua [ ...]\n") - helpout:write(" or: lua -i /bin/mcp.lua INTERACTIVE [ ...]\n") if helpout then + helpout:write("Usage: moonbridge -- /bin/mcp.lua [ ...]\n") + helpout:write(" or: lua -i /bin/mcp.lua INTERACTIVE [ ...]\n") if helpout == io.stderr then return 1 else @@ -38,7 +38,7 @@ end end local function append_trailing_slash(str) - return string.sub(str, "([^/])$", function(last) return last .. "/" end) + return string.gsub(str, "([^/])$", function(last) return last .. "/" end) end WEBMCP_FRAMEWORK_PATH = append_trailing_slash(arg1) WEBMCP_BASE_PATH = append_trailing_slash(arg2) @@ -49,17 +49,23 @@ -- setup search paths for libraries do - package.path = WEBMCP_FRAMEWORK_PATH .. "lib/?.lua;" .. package.path + if string.match(package.path, "^[^;]") then + package.path = ";" .. package.path + end + package.path = WEBMCP_FRAMEWORK_PATH .. "lib/?.lua" .. package.path -- find out which file name extension shared libraries have local slib_exts = {} for ext in string.gmatch(package.cpath, "%?%.([A-Za-z0-9_-]+)") do - slib_exts[ext] = true + if not slib_exts[ext] then + slib_exts[#slib_exts+1] = ext + slib_exts[ext] = true + end end local paths = {} - for ext in pairs(slib_exts) do + for i, ext in ipairs(slib_exts) do paths[#paths+1] = WEBMCP_FRAMEWORK_PATH .. "accelerator/?." .. ext end - for ext in pairs(slib_exts) do + for i, ext in ipairs(slib_exts) do paths[#paths+1] = WEBMCP_FRAMEWORK_PATH .. "lib/?." .. ext end paths[#paths+1] = package.cpath