aboutsummaryrefslogtreecommitdiff
path: root/lbuiltin.c
diff options
context:
space:
mode:
Diffstat (limited to 'lbuiltin.c')
-rw-r--r--lbuiltin.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lbuiltin.c b/lbuiltin.c
index 902fe124..6cfd3a37 100644
--- a/lbuiltin.c
+++ b/lbuiltin.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lbuiltin.c,v 1.3 1997/10/18 16:33:36 roberto Exp roberto $ 2** $Id: lbuiltin.c,v 1.4 1997/10/23 16:28:48 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*/
@@ -12,6 +12,7 @@
12#include "lauxlib.h" 12#include "lauxlib.h"
13#include "lbuiltin.h" 13#include "lbuiltin.h"
14#include "ldo.h" 14#include "ldo.h"
15#include "lfunc.h"
15#include "lmem.h" 16#include "lmem.h"
16#include "lobject.h" 17#include "lobject.h"
17#include "lstring.h" 18#include "lstring.h"
@@ -164,10 +165,6 @@ static char *to_string (lua_Object obj)
164 sprintf(buff, "function: %p", o->value.cl); 165 sprintf(buff, "function: %p", o->value.cl);
165 return buff; 166 return buff;
166 } 167 }
167 case LUA_T_CFUNCTION: {
168 sprintf(buff, "cfunction: %p", o->value.f);
169 return buff;
170 }
171 case LUA_T_USERDATA: { 168 case LUA_T_USERDATA: {
172 sprintf(buff, "userdata: %p", o->value.ts->u.d.v); 169 sprintf(buff, "userdata: %p", o->value.ts->u.d.v);
173 return buff; 170 return buff;
@@ -382,6 +379,7 @@ static void testC (void)
382 break; 379 break;
383 380
384 case 'c': reg[getnum(s)] = lua_createtable(); break; 381 case 'c': reg[getnum(s)] = lua_createtable(); break;
382 case 'C': lua_pushCclosure(testC, getnum(s)); break;
385 case 'P': reg[getnum(s)] = lua_pop(); break; 383 case 'P': reg[getnum(s)] = lua_pop(); break;
386 case 'g': { int n=getnum(s); reg[n]=lua_getglobal(getname(s)); break; } 384 case 'g': { int n=getnum(s); reg[n]=lua_getglobal(getname(s)); break; }
387 case 'G': { int n = getnum(s); 385 case 'G': { int n = getnum(s);
@@ -401,6 +399,7 @@ static void testC (void)
401 case 'I': reg[getnum(s)] = lua_rawgettable(); break; 399 case 'I': reg[getnum(s)] = lua_rawgettable(); break;
402 case 't': lua_settable(); break; 400 case 't': lua_settable(); break;
403 case 'T': lua_rawsettable(); break; 401 case 'T': lua_rawsettable(); break;
402 case 'U': { int n=getnum(s); reg[n]=lua_upvalue(getnum(s)); break; }
404 default: luaL_verror("unknown command in `testC': %c", *(s-1)); 403 default: luaL_verror("unknown command in `testC': %c", *(s-1));
405 } 404 }
406 if (*s == 0) return; 405 if (*s == 0) return;
@@ -462,10 +461,11 @@ void luaB_predefine (void)
462 /* pre-register mem error messages, to avoid loop when error arises */ 461 /* pre-register mem error messages, to avoid loop when error arises */
463 luaS_newfixedstring(tableEM); 462 luaS_newfixedstring(tableEM);
464 luaS_newfixedstring(memEM); 463 luaS_newfixedstring(memEM);
465 o.ttype = LUA_T_CFUNCTION;
466 for (i=0; i<INTFUNCSIZE; i++) { 464 for (i=0; i<INTFUNCSIZE; i++) {
467 ts = luaS_new(int_funcs[i].name); 465 ts = luaS_new(int_funcs[i].name);
468 fvalue(&o) = int_funcs[i].func; 466 fvalue(&o) = int_funcs[i].func;
467 ttype(&o) = LUA_T_CPROTO;
468 luaF_simpleclosure(&o);
469 luaS_rawsetglobal(ts, &o); 469 luaS_rawsetglobal(ts, &o);
470 } 470 }
471 ts = luaS_new("_VERSION"); 471 ts = luaS_new("_VERSION");