Hi Jean Christophe, On Sun, Oct 23, 2011 at 05:59:21PM +0800, Jean-Christophe PLAGNIOL-VILLARD wrote: > this will allow to execute a program of the host from barebox > + > +#include <common.h> > +#include <command.h> > +#include <mach/linux.h> > + > +static int do_linux_exec(struct command *cmdtp, int argc, char *argv[]) > +{ > + int ret; > + char **newargv; > + char *newenv[] = { NULL }; > + int i, j; > + > + if (argc < 2) > + return 1; > + > + newargv = xzalloc(sizeof(char*) * argc); > + > + for (j = 0, i = 1; i < argc; i++, j++) > + newargv[j] = argv[i]; > + > + newargv[j] = NULL; > + ret = linux_execve(argv[1], newargv, newenv); > + > + if (ret) > + return 1; > + > + return 0; You are loosing memory here. Sascha > +} > + > +BAREBOX_CMD_HELP_START(linux_exec) > +BAREBOX_CMD_HELP_USAGE("linux_exec ...\n") > +BAREBOX_CMD_HELP_SHORT("Execute a command on the host\n") > +BAREBOX_CMD_HELP_END > + > +BAREBOX_CMD_START(linux_exec) > + .cmd = do_linux_exec, > + .usage = "Execute a command on the host", > + BAREBOX_CMD_HELP(cmd_linux_exec_help) > +BAREBOX_CMD_END > -- > 1.7.7 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox