aboutsummaryrefslogtreecommitdiff
path: root/loadlib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-11-13 13:41:59 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-11-13 13:41:59 -0300
commit1028f296a8e6477cb556c75fe1397cd4e2762abe (patch)
tree72893c12afd802cd00b37a691c73cd95f373f121 /loadlib.c
parent6d042a178fba32d10ec23c98fb2fd284397ccddc (diff)
downloadlua-1028f296a8e6477cb556c75fe1397cd4e2762abe.tar.gz
lua-1028f296a8e6477cb556c75fe1397cd4e2762abe.tar.bz2
lua-1028f296a8e6477cb556c75fe1397cd4e2762abe.zip
Default paths stored as external strings
Diffstat (limited to 'loadlib.c')
-rw-r--r--loadlib.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/loadlib.c b/loadlib.c
index 6d289fce..4f8024c6 100644
--- a/loadlib.c
+++ b/loadlib.c
@@ -283,7 +283,8 @@ static int noenv (lua_State *L) {
283 283
284 284
285/* 285/*
286** Set a path 286** Set a path. (If using the default path, assume it is a string
287** literal in C and create it as an external string.)
287*/ 288*/
288static void setpath (lua_State *L, const char *fieldname, 289static void setpath (lua_State *L, const char *fieldname,
289 const char *envname, 290 const char *envname,
@@ -294,7 +295,7 @@ static void setpath (lua_State *L, const char *fieldname,
294 if (path == NULL) /* no versioned environment variable? */ 295 if (path == NULL) /* no versioned environment variable? */
295 path = getenv(envname); /* try unversioned name */ 296 path = getenv(envname); /* try unversioned name */
296 if (path == NULL || noenv(L)) /* no environment variable? */ 297 if (path == NULL || noenv(L)) /* no environment variable? */
297 lua_pushstring(L, dft); /* use default */ 298 lua_pushextlstring(L, dft, strlen(dft), NULL, NULL); /* use default */
298 else if ((dftmark = strstr(path, LUA_PATH_SEP LUA_PATH_SEP)) == NULL) 299 else if ((dftmark = strstr(path, LUA_PATH_SEP LUA_PATH_SEP)) == NULL)
299 lua_pushstring(L, path); /* nothing to change */ 300 lua_pushstring(L, path); /* nothing to change */
300 else { /* path contains a ";;": insert default path in its place */ 301 else { /* path contains a ";;": insert default path in its place */