summaryrefslogtreecommitdiff
path: root/lundump.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2013-08-16 15:55:49 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2013-08-16 15:55:49 -0300
commit439d74e29f3234a034777f88b260523afe8c0446 (patch)
treea3ee160dccfd3cf0f065edbba07290c4ba9af93d /lundump.c
parent3679d33b02782ff7d7d0fa163b815902b189c89e (diff)
downloadlua-github-439d74e29f3234a034777f88b260523afe8c0446.tar.gz
added 'local' bit (true => object is only refered by local variables)
Diffstat (limited to 'lundump.c')
-rw-r--r--lundump.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lundump.c b/lundump.c
index 0a8db845..be77d98e 100644
--- a/lundump.c
+++ b/lundump.c
@@ -1,5 +1,5 @@
/*
-** $Id: lundump.c,v 2.22 2012/05/08 13:53:33 roberto Exp roberto $
+** $Id: lundump.c,v 2.23 2013/04/26 18:48:35 roberto Exp roberto $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/
@@ -84,9 +84,12 @@ static TString* LoadString(LoadState* S)
return NULL;
else
{
+ TString* ts;
char* s=luaZ_openspace(S->L,S->b,size);
LoadBlock(S,s,size*sizeof(char));
- return luaS_newlstr(S->L,s,size-1); /* remove trailing '\0' */
+ ts = luaS_newlstr(S->L,s,size-1); /* remove trailing '\0' */
+ nolocal(obj2gco(ts)); /* all strings here anchored in non-thread objects */
+ return ts;
}
}