lua-users home
lua-l archive

Re: Patch for lua-5.2.0-beta-rc2

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> a minor improvement/optimization of setpath().
 /* replace ";;" by ";AUXMARK;" and then AUXMARK by default path */
 path = luaL_gsub(L, path, LUA_PATH_SEP LUA_PATH_SEP,
 LUA_PATH_SEP AUXMARK LUA_PATH_SEP);
+ lua_remove(L, -1);
 luaL_gsub(L, path, AUXMARK, def);
- lua_remove(L, -2);
 }
This "improvement" seems to have a subtle bug. With the first remove,
the string 'path' may not be anchored in Lua anymore. If the next gsub
triggers some garbage-collection cycles, 'path' may be collected while
still being used by gsub.
-- Roberto

AltStyle によって変換されたページ (->オリジナル) /