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; |
