Mercurial > pub > dyncall > bindings
view lua/luadyncall/src/path.lua @ 46:c21d1c2c84e1
- removed pydc.py wrapper overhead (which only called pydcext.so functions, directly, anyways)
* implies renaming pydcext.* to pydc.*
* while at it, iterate directly over args that are passed in (before we did extract fptr, sig and a tuple for the args and iterated over latter afterwards); we might have a tiny perf improvement now
- added type stub as package_data
author | Tassilo Philipp |
---|---|
date | Fri, 13 Nov 2020 14:10:31 +0100 |
parents | 0cfcc391201f |
children |
line wrap: on
line source
-- functions to initialize and search through paths. -- path strings specify a set of directory patterns separated by ';'. -- the searchpath function --- Initialize lua-style paths. -- Looks up environment variable envname and substitute all ';;' by syspath -- @param envname name of environment variable -- @param syspath default value if envname is not set and substitution for all ';;'. -- @return value from env variable or syspath. ';;' in env will be substituted by syspath. function pathinit(envname, syspath) local envvar = os.getenv(envname) local path if envvar then path = envvar:gsub(";;",syspath) else path = syspath end return path end --- find object by searching through the path -- @param openfun function(expanded) -- @return found, expanded function pathfind(path,name,openfun) local replaced = path:gsub("?", name) local found = nil local fails = {} for expanded in replaced:gmatch("([^;]+)") do found = openfun(expanded) if found then return found, expanded end table.insert(fails, expanded) end return nil, fails end