diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-11-13 13:41:59 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-11-13 13:41:59 -0300 |
commit | 1028f296a8e6477cb556c75fe1397cd4e2762abe (patch) | |
tree | 72893c12afd802cd00b37a691c73cd95f373f121 /loadlib.c | |
parent | 6d042a178fba32d10ec23c98fb2fd284397ccddc (diff) | |
download | lua-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.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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 | */ |
288 | static void setpath (lua_State *L, const char *fieldname, | 289 | static 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 */ |