diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib_table.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib_table.c b/src/lib_table.c index 91c022bb..4436ebd7 100644 --- a/src/lib_table.c +++ b/src/lib_table.c | |||
@@ -273,11 +273,22 @@ LJLIB_NOREG LJLIB_CF(table_new) LJLIB_REC(.) | |||
273 | return 1; | 273 | return 1; |
274 | } | 274 | } |
275 | 275 | ||
276 | LJLIB_NOREG LJLIB_CF(table_clear) LJLIB_REC(.) | ||
277 | { | ||
278 | lj_tab_clear(lj_lib_checktab(L, 1)); | ||
279 | return 0; | ||
280 | } | ||
281 | |||
276 | static int luaopen_table_new(lua_State *L) | 282 | static int luaopen_table_new(lua_State *L) |
277 | { | 283 | { |
278 | return lj_lib_postreg(L, lj_cf_table_new, FF_table_new, "new"); | 284 | return lj_lib_postreg(L, lj_cf_table_new, FF_table_new, "new"); |
279 | } | 285 | } |
280 | 286 | ||
287 | static int luaopen_table_clear(lua_State *L) | ||
288 | { | ||
289 | return lj_lib_postreg(L, lj_cf_table_clear, FF_table_clear, "clear"); | ||
290 | } | ||
291 | |||
281 | /* ------------------------------------------------------------------------ */ | 292 | /* ------------------------------------------------------------------------ */ |
282 | 293 | ||
283 | #include "lj_libdef.h" | 294 | #include "lj_libdef.h" |
@@ -290,6 +301,7 @@ LUALIB_API int luaopen_table(lua_State *L) | |||
290 | lua_setfield(L, -2, "unpack"); | 301 | lua_setfield(L, -2, "unpack"); |
291 | #endif | 302 | #endif |
292 | lj_lib_prereg(L, LUA_TABLIBNAME ".new", luaopen_table_new, tabV(L->top-1)); | 303 | lj_lib_prereg(L, LUA_TABLIBNAME ".new", luaopen_table_new, tabV(L->top-1)); |
304 | lj_lib_prereg(L, LUA_TABLIBNAME ".clear", luaopen_table_clear, tabV(L->top-1)); | ||
293 | return 1; | 305 | return 1; |
294 | } | 306 | } |
295 | 307 | ||