From 1028f296a8e6477cb556c75fe1397cd4e2762abe Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 13 Nov 2023 13:41:59 -0300 Subject: Default paths stored as external strings --- loadlib.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'loadlib.c') 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) { /* -** Set a path +** Set a path. (If using the default path, assume it is a string +** literal in C and create it as an external string.) */ static void setpath (lua_State *L, const char *fieldname, const char *envname, @@ -294,7 +295,7 @@ static void setpath (lua_State *L, const char *fieldname, if (path == NULL) /* no versioned environment variable? */ path = getenv(envname); /* try unversioned name */ if (path == NULL || noenv(L)) /* no environment variable? */ - lua_pushstring(L, dft); /* use default */ + lua_pushextlstring(L, dft, strlen(dft), NULL, NULL); /* use default */ else if ((dftmark = strstr(path, LUA_PATH_SEP LUA_PATH_SEP)) == NULL) lua_pushstring(L, path); /* nothing to change */ else { /* path contains a ";;": insert default path in its place */ -- cgit v1.2.3-55-g6feb