Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- allow loading ?51.dll files
- function modifyPackagePath(postfix)
- local function split(str, sep)
- local sep, fields = sep or ":", {}
- local pattern = string.format("([^%s]+)", sep)
- str:gsub(pattern, function(c) fields[#fields+1] = c end)
- return fields
- end
- local function endsWith(str, pat)
- if #str < #pat then
- return false
- end
- return str:sub(-#pat) == pat
- end
- local additionalpath = ""
- for i, v in ipairs(split(package.cpath, ";")) do
- local newpath = nil
- if endsWith(v, "?.dll") then
- newpath = v:gsub("%?.dll", "") .. "?" .. postfix .. ".dll"
- elseif endsWith(v, "?.so") then
- newpath = v:gsub("%?.so", "") .. "?" .. postfix .. ".so"
- end
- if newpath then
- local duplicated = false
- for i2, v2 in ipairs(split(package.cpath, ";")) do
- if v2 == newpath then
- duplicated = true
- break
- end
- end
- if not duplicated then
- additionalpath = additionalpath .. ";" .. newpath
- end
- end
- end
- package.cpath = package.cpath .. additionalpath
- end
- modifyPackagePath("51")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement