| version 1.4, 2004/12/01 17:40:16 |
version 1.6, 2009/02/24 07:30:15 |
|
|
| commandv = &argv[1]; |
commandv = &argv[1]; |
| |
|
| if (! isatty (0)) { |
if (! isatty (0)) { |
| |
#if defined(__INTERIX) |
| |
execvp (*commandv, commandv); |
| |
#else |
| execvp (*commandv, commandv, 0); |
execvp (*commandv, commandv, 0); |
| |
#endif |
| perror (*commandv); |
perror (*commandv); |
| exit (1); |
exit (1); |
| } |
} |
| Line 673 swallow_output() |
|
| Line 677 swallow_output() |
|
| #include <sys/m_wait.h> |
#include <sys/m_wait.h> |
| #endif |
#endif |
| |
|
| |
#if defined(__INTERIX) |
| |
#define wait3(s,opt,rp) (waitpid((-1),(s),(opt))) |
| |
#endif |
| |
|
| void |
void |
| catchsig(n) |
catchsig(n) |
| int n; |
int n; |
| Line 702 exec_to_command(argv) |
|
| Line 710 exec_to_command(argv) |
|
| */ |
*/ |
| t = open ("/dev/tty", 2); |
t = open ("/dev/tty", 2); |
| if (t >= 0) { |
if (t >= 0) { |
| #ifndef __CYGWIN32__ |
#if !defined(__CYGWIN32__) && !defined(__INTERIX) |
| ioctl (t, TIOCNOTTY, (char *) 0); |
ioctl (t, TIOCNOTTY, (char *) 0); |
| #endif |
#endif |
| (void) close (t); |
(void) close (t); |
| Line 721 exec_to_command(argv) |
|
| Line 729 exec_to_command(argv) |
|
| #elif defined(TIOCSETN) |
#elif defined(TIOCSETN) |
| ioctl (0, TIOCSETN, (char *) & slave_ttymode); |
ioctl (0, TIOCSETN, (char *) & slave_ttymode); |
| #endif |
#endif |
| |
#if defined(__INTERIX) |
| |
execvp (*argv, argv); |
| |
#else |
| execvp (*argv, argv, 0); |
execvp (*argv, argv, 0); |
| |
#endif |
| perror (*argv); |
perror (*argv); |
| exit (1); |
exit (1); |
| } |
} |
| Line 854 get_pty_master() |
|
| Line 866 get_pty_master() |
|
| master = 1; |
master = 1; |
| return; |
return; |
| } |
} |
| #ifdef __CYGWIN32__ |
#if defined(__CYGWIN32__) || defined(__linux__) |
| sprintf (master_tty, "/dev/ptmx"); |
sprintf (master_tty, "/dev/ptmx"); |
| master = open (master_tty, O_RDWR); |
master = open (master_tty, O_RDWR); |
| if (master >= 0) { |
if (master >= 0) { |
| |
#if defined(__linux__) |
| |
char name[BUFSIZ]; |
| |
grantpt(master); |
| |
unlockpt(master); |
| |
if ( !ptsname_r(master,name,sizeof(name)) ) { |
| |
strcpy(slave_tty, name); |
| |
goto FOUND; |
| |
} |
| |
#else |
| char *name; |
char *name; |
| name = (char *)ptsname(master); |
name = (char *)ptsname(master); |
| if ( name != 0 ) { |
if ( name != 0 ) { |
| strcpy(slave_tty, name); |
strcpy(slave_tty, name); |
| goto FOUND; |
goto FOUND; |
| } |
} |
| |
#endif |
| } |
} |
| #else |
#else |
| for (c = 'p'; c <= 's'; c++) { |
for (c = 'p'; c <= 's'; c++) { |