* opentty(): Added missing return in error case. Fixed warning.

* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36140 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2010-04-11 09:59:59 +00:00
parent ad0b28334d
commit de0b831289
1 changed files with 9 additions and 10 deletions

View File

@ -29,13 +29,12 @@ openpty(int* _master, int* _slave, char* name, struct termios* termAttrs,
return -1;
}
if (termAttrs != NULL && tcsetattr(master, TCSANOW, termAttrs) != 0
|| windowSize != NULL
&& ioctl(master, TIOCSWINSZ, windowSize, sizeof(winsize)) != 0) {
// TODO we should either close master and slaves and return -1
// or we do nothing!
if ((termAttrs != NULL && tcsetattr(master, TCSANOW, termAttrs) != 0)
|| (windowSize != NULL
&& ioctl(master, TIOCSWINSZ, windowSize, sizeof(winsize)) != 0)) {
close(slave);
close(master);
return -1;
}
*_master = master;
@ -52,14 +51,14 @@ int
login_tty(int fd)
{
setsid();
if (ioctl(fd, TIOCSCTTY, NULL) != 0)
return -1;
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
close(fd);
return 0;
}
@ -72,7 +71,7 @@ forkpty(int* _master, char* name, struct termios* termAttrs,
int master, slave;
if (openpty(&master, &slave, name, termAttrs, windowSize) != 0)
return -1;
int pid = fork();
if (pid < 0) {
close(master);
@ -84,7 +83,7 @@ forkpty(int* _master, char* name, struct termios* termAttrs,
close(master);
return login_tty(slave);
}
// parent
close (slave);
*_master = master;