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