summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/LuaTask.cc16
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() {