diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/LuaTask.cc | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/lib/LuaTask.cc b/lib/LuaTask.cc index ef1abf7..b475c5b 100644 --- a/lib/LuaTask.cc +++ b/lib/LuaTask.cc @@ -30,7 +30,7 @@ #include <CopyJob.h> #endif -htab * LuaTask::h = hcreate(1); +std::map<Lua *, LuaTask *> LuaTask::h; LuaTask::LuaTask(Lua * __L, const String & _cmd, bool _destroy_VM) : L(__L), cmd(_cmd), nargs(0), c(0), b(0), destroy_VM(_destroy_VM) { LuaTask * top = gettop(); @@ -62,21 +62,11 @@ LuaTask::~LuaTask() { } LuaTask * LuaTask::gettop() { - if (!hfind(h, (Uint8 *) &L, sizeof(L))) { - hadd(h, (Uint8 *) &L, sizeof(L), 0); - } - - return (LuaTask *) hstuff(h); + return h[L]; } void LuaTask::settop(LuaTask * v) { - if (!hfind(h, (Uint8 *) &L, sizeof(L))) - return; - if (v) { - hstuff(h) = v; - } else { - hdel(h); - } + h[L] = v; } String LuaTask::GetName() { |