1/* vi: set sw=4 ts=4: */ 2/* 3 * openvt.c - open a vt to run a command. 4 * 5 * busyboxed by Quy Tonthat <quy@signal3.com> 6 * hacked by Tito <farmatito@tiscali.it> 7 * 8 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 9 */ 10 11/* getopt not needed */ 12 13#include "libbb.h" 14 15int openvt_main(int argc, char **argv); 16int openvt_main(int argc, char **argv) 17{ 18 char vtname[sizeof(VC_FORMAT) + 2]; 19 20 if (argc < 3) 21 bb_show_usage(); 22 23 /* check for illegal vt number: < 1 or > 63 */ 24 sprintf(vtname, VC_FORMAT, (int)xatou_range(argv[1], 1, 63)); 25 26 bb_daemonize_or_rexec(DAEMON_CLOSE_EXTRA_FDS, argv); 27 /* grab new one */ 28 close(0); 29 xopen(vtname, O_RDWR); 30 dup2(0, STDOUT_FILENO); 31 dup2(0, STDERR_FILENO); 32 33 BB_EXECVP(argv[2], &argv[2]); 34 _exit(1); 35} 36