Skip to content

Commit

Permalink
added container:attach() into the Lua API
Browse files Browse the repository at this point in the history
  • Loading branch information
ashtoreth committed Nov 7, 2014
1 parent 5d20559 commit ed70d07
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/lua-lxc/core.c
Expand Up @@ -376,8 +376,34 @@ static int container_get_keys(lua_State *L)
return 1;
}

static int container_attach(lua_State *L)
{
struct lxc_container *c = lua_unboxpointer(L, 1, CONTAINER_TYPENAME);
int argc = lua_gettop(L);
char **argv = NULL;
int i,j;

if (argc > 1) {
argv = alloca((argc+1) * sizeof(char *));
for (i = 0, j = 0; i < argc-1; i++) {
const char *arg = luaL_checkstring(L, i+2);
argv[j++] = strdupa(arg);
}
argv[j] = NULL;
}
else
{
lua_pushnil(L);
return 1;
}

lua_pushboolean(L, !!(c->attach_run_wait(c, NULL, argv[0], (const char**)argv)));
return 1;
}

static luaL_Reg lxc_container_methods[] =
{
{"attach", container_attach},
{"create", container_create},
{"defined", container_defined},
{"destroy", container_destroy},
Expand Down
4 changes: 4 additions & 0 deletions src/lua-lxc/lxc.lua
Expand Up @@ -91,6 +91,10 @@ function container:new(lname, config)
end

-- methods interfacing to core functionality
function container:attach(what, ...)
return self.core:attach(what, ...)
end

function container:config_file_name()
return self.core:config_file_name()
end
Expand Down

0 comments on commit ed70d07

Please sign in to comment.