Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[Bugfix] Fixed wrong property in SimSplay test: latency<->lat
[simgrid.git] / src / bindings / lua / lua_comm.c
index 5e761e6..06fb601 100644 (file)
@@ -181,8 +181,6 @@ void sglua_register_comm_functions(lua_State* L)
   /* create a table simgrid.comm and fill it with com functions */
   lua_getglobal(L, "simgrid");    /* simgrid */
   luaL_newlib(L, comm_functions); /* simgrid simgrid.comm */
-  lua_setfield(L, -2, "comm");    /* simgrid */
-  lua_getfield(L, -1, "host");    /* simgrid simgrid.comm */
 
   /* create the metatable for comm, add it to the Lua registry */
   luaL_newmetatable(L, COMM_MODULE_NAME); /* simgrid simgrid.comm mt */
@@ -194,7 +192,7 @@ void sglua_register_comm_functions(lua_State* L)
    * Copy the table and push it onto the stack.
    * Required for the lua_setfield call below.
    */
-  lua_getfield(L, -3, "comm");                   /* simgrid simgrid.comm mt simgrid.comm */
+  lua_pushvalue(L, -2);            /* simgrid simgrid.comm mt simgrid.comm */
 
   /* metatable.__index = simgrid.comm
    * we put the comm functions inside the comm userdata itself:
@@ -203,6 +201,7 @@ void sglua_register_comm_functions(lua_State* L)
   lua_setfield(L, -2, "__index");         /* simgrid simgrid.comm mt */
 
   lua_setmetatable(L, -2);                /* simgrid simgrid.comm */
-  lua_pop(L, 2);                          /* -- */
+  lua_setfield(L, -1, "comm");            /* simgrid */
+  lua_pop(L, 1);                          /* -- */
 }