aboutsummaryrefslogtreecommitdiff
path: root/lapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lapi.c')
-rw-r--r--lapi.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/lapi.c b/lapi.c
index ab3e92ff..afa86ff8 100644
--- a/lapi.c
+++ b/lapi.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lapi.c,v 2.153 2011/09/30 12:43:17 roberto Exp roberto $ 2** $Id: lapi.c,v 2.154 2011/10/24 14:54:05 roberto Exp roberto $
3** Lua API 3** Lua API
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -596,6 +596,17 @@ LUA_API int lua_pushthread (lua_State *L) {
596*/ 596*/
597 597
598 598
599LUA_API void lua_getglobal (lua_State *L, const char *var) {
600 Table *reg = hvalue(&G(L)->l_registry);
601 const TValue *gt; /* global table */
602 lua_lock(L);
603 gt = luaH_getint(reg, LUA_RIDX_GLOBALS);
604 setsvalue2s(L, L->top++, luaS_new(L, var));
605 luaV_gettable(L, gt, L->top - 1, L->top - 1);
606 lua_unlock(L);
607}
608
609
599LUA_API void lua_gettable (lua_State *L, int idx) { 610LUA_API void lua_gettable (lua_State *L, int idx) {
600 StkId t; 611 StkId t;
601 lua_lock(L); 612 lua_lock(L);
@@ -714,6 +725,19 @@ LUA_API void lua_getuservalue (lua_State *L, int idx) {
714*/ 725*/
715 726
716 727
728LUA_API void lua_setglobal (lua_State *L, const char *var) {
729 Table *reg = hvalue(&G(L)->l_registry);
730 const TValue *gt; /* global table */
731 lua_lock(L);
732 api_checknelems(L, 1);
733 gt = luaH_getint(reg, LUA_RIDX_GLOBALS);
734 setsvalue2s(L, L->top++, luaS_new(L, var));
735 luaV_settable(L, gt, L->top - 1, L->top - 2);
736 L->top -= 2; /* pop value and key */
737 lua_unlock(L);
738}
739
740
717LUA_API void lua_settable (lua_State *L, int idx) { 741LUA_API void lua_settable (lua_State *L, int idx) {
718 StkId t; 742 StkId t;
719 lua_lock(L); 743 lua_lock(L);