diff options
Diffstat (limited to 'lbuiltin.c')
-rw-r--r-- | lbuiltin.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lbuiltin.c,v 1.10 1997/11/26 19:40:27 roberto Exp roberto $ | 2 | ** $Id: lbuiltin.c,v 1.11 1997/11/27 15:59:44 roberto Exp roberto $ |
3 | ** Built-in functions | 3 | ** Built-in functions |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -399,7 +399,10 @@ static void testC (void) | |||
399 | break; | 399 | break; |
400 | 400 | ||
401 | case 'c': reg[getnum(s)] = lua_createtable(); break; | 401 | case 'c': reg[getnum(s)] = lua_createtable(); break; |
402 | case 'C': lua_pushCclosure(testC, getnum(s)); break; | 402 | case 'C': { lua_CFunction f = lua_getcfunction(lua_getglobal(getname(s))); |
403 | lua_pushCclosure(f, getnum(s)); | ||
404 | break; | ||
405 | } | ||
403 | case 'P': reg[getnum(s)] = lua_pop(); break; | 406 | case 'P': reg[getnum(s)] = lua_pop(); break; |
404 | case 'g': { int n=getnum(s); reg[n]=lua_getglobal(getname(s)); break; } | 407 | case 'g': { int n=getnum(s); reg[n]=lua_getglobal(getname(s)); break; } |
405 | case 'G': { int n = getnum(s); | 408 | case 'G': { int n = getnum(s); |
@@ -419,7 +422,6 @@ static void testC (void) | |||
419 | case 'I': reg[getnum(s)] = lua_rawgettable(); break; | 422 | case 'I': reg[getnum(s)] = lua_rawgettable(); break; |
420 | case 't': lua_settable(); break; | 423 | case 't': lua_settable(); break; |
421 | case 'T': lua_rawsettable(); break; | 424 | case 'T': lua_rawsettable(); break; |
422 | case 'U': { int n=getnum(s); reg[n]=lua_upvalue(getnum(s)); break; } | ||
423 | default: luaL_verror("unknown command in `testC': %c", *(s-1)); | 425 | default: luaL_verror("unknown command in `testC': %c", *(s-1)); |
424 | } | 426 | } |
425 | if (*s == 0) return; | 427 | if (*s == 0) return; |