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 | |
| parent | 6d042a178fba32d10ec23c98fb2fd284397ccddc (diff) | |
| download | lua-1028f296a8e6477cb556c75fe1397cd4e2762abe.tar.gz lua-1028f296a8e6477cb556c75fe1397cd4e2762abe.tar.bz2 lua-1028f296a8e6477cb556c75fe1397cd4e2762abe.zip | |
Default paths stored as external strings
| -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 */ |
