new macro to `fix' strings

This commit is contained in:
Roberto Ierusalimschy 2002-04-30 10:01:48 -03:00
parent e68d0df1c6
commit ab52fc6097
2 changed files with 5 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/*
** $Id: lstring.h,v 1.34 2001/08/31 19:46:07 roberto Exp $
** $Id: lstring.h,v 1.35 2001/11/28 20:13:13 roberto Exp roberto $
** String table (keep all strings handled by Lua)
** See Copyright Notice in lua.h
*/
@ -30,6 +30,8 @@
#define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \
(sizeof(s)/sizeof(char))-1))
#define luaS_fix(s) ((s)->tsv.marked = FIXMARK)
void luaS_resize (lua_State *L, int newsize);
Udata *luaS_newudata (lua_State *L, size_t s);
void luaS_freeall (lua_State *L);

4
ltm.c
View File

@ -1,5 +1,5 @@
/*
** $Id: ltm.c,v 1.88 2002/03/18 20:24:14 roberto Exp roberto $
** $Id: ltm.c,v 1.89 2002/04/05 18:54:31 roberto Exp roberto $
** Tag methods
** See Copyright Notice in lua.h
*/
@ -35,7 +35,7 @@ void luaT_init (lua_State *L) {
int i;
for (i=0; i<TM_N; i++) {
G(L)->tmname[i] = luaS_new(L, luaT_eventname[i]);
G(L)->tmname[i]->tsv.marked = FIXMARK; /* never collect these names */
luaS_fix(G(L)->tmname[i]); /* never collect these names */
}
}