diff options
Diffstat (limited to 'ltable.c')
-rw-r--r-- | ltable.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -805,6 +805,18 @@ Table *luaH_new (lua_State *L) { | |||
805 | } | 805 | } |
806 | 806 | ||
807 | 807 | ||
808 | size_t luaH_size (Table *t) { | ||
809 | size_t sz = sizeof(Table) | ||
810 | + luaH_realasize(t) * (sizeof(Value) + 1); | ||
811 | if (!isdummy(t)) { | ||
812 | sz += sizenode(t) * sizeof(Node); | ||
813 | if (haslastfree(t)) | ||
814 | sz += sizeof(Limbox); | ||
815 | } | ||
816 | return sz; | ||
817 | } | ||
818 | |||
819 | |||
808 | /* | 820 | /* |
809 | ** Frees a table. | 821 | ** Frees a table. |
810 | */ | 822 | */ |