/* $Header: /CVSROOT/debris/cmds/chain.c,v 1.3 2005/08/15 01:04:52 tino Exp $ * * DebRIS: DEBian Remote Install Scripter * *chain [args] {data} * * $Log: chain.c,v $ * Revision 1.3 2005/08/15 01:04:52 tino * all functions now have a prefix (dris_) * * Revision 1.2 2005/08/13 22:59:12 tino * additional functions, see ChangeLog * * Revision 1.1 2005/07/25 03:01:27 tino * added */ static int driscmd_chain(char *args) { char *cmd; cmd = dris_nextarg(&args); if (config.in->len > config.data) { int fd; if ((fd=open(cmd, O_CREAT|O_TRUNC|O_RDWR, 0755))<0) return dris_err("chain: cannot create %s", cmd); if (dris_writeall(fd, config.in->buf+config.data, config.in->len-config.data)) return dris_err("chain: cannot write to %s", cmd); if (close(fd)) return dris_err("chain: cannot close %s", cmd); } dris_info2("[%lu] chain: %s\n", config.pid, cmd); dris_exec2(cmd, args); return dris_err("chain: exec(%s) failed", cmd); }