summaryrefslogtreecommitdiff
path: root/lgc.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-06-05 15:17:01 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-06-05 15:17:01 -0300
commit762d059a13d83eb367238a6115bbb4f5f13fcb49 (patch)
treef35fdf0675b791865d0d4800522b172903b34803 /lgc.c
parent572a69b6afbd368beab8844bc876b0f9690b5253 (diff)
downloadlua-github-762d059a13d83eb367238a6115bbb4f5f13fcb49.tar.gz
new implementation for the Virtual Machine
Diffstat (limited to 'lgc.c')
-rw-r--r--lgc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lgc.c b/lgc.c
index 0237b88c..6eba56d9 100644
--- a/lgc.c
+++ b/lgc.c
@@ -1,5 +1,5 @@
/*
-** $Id: lgc.c,v 1.96 2001/04/11 14:42:41 roberto Exp roberto $
+** $Id: lgc.c,v 1.97 2001/04/17 17:35:54 roberto Exp roberto $
** Garbage Collector
** See Copyright Notice in lua.h
*/
@@ -48,8 +48,10 @@ static void protomark (Proto *f) {
int i;
f->marked = 1;
strmark(f->source);
- for (i=0; i<f->sizekstr; i++)
- strmark(f->kstr[i]);
+ for (i=0; i<f->sizek; i++) {
+ if (ttype(f->k+i) == LUA_TSTRING)
+ strmark(tsvalue(f->k+i));
+ }
for (i=0; i<f->sizekproto; i++)
protomark(f->kproto[i]);
for (i=0; i<f->sizelocvars; i++) /* mark local-variable names */