]> git.wh0rd.org - patches.git/blob - telnetd-ptmx.patch
sync vapier-m
[patches.git] / telnetd-ptmx.patch
1 Index: user/telnetd/sys_term.c
2 ===================================================================
3 RCS file: /usr/local/src/blackfin/rsync/uclinux533/uClinux-dist/user/telnetd/sys_term.c,v
4 retrieving revision 1.2
5 diff -u -p -r1.2 sys_term.c
6 --- user/telnetd/sys_term.c 25 Jul 2005 06:44:04 -0000 1.2
7 +++ user/telnetd/sys_term.c 9 Sep 2006 03:36:52 -0000
8 @@ -453,6 +453,27 @@ int getpty(void) {
9 int p;
10 #ifndef CRAY
11
12 +#ifdef USE_PTMX
13 + char *pts;
14 + int ptm = open("/dev/ptmx", O_RDWR | O_NOCTTY);
15 + if (ptm < 0)
16 + fatalperror(net, "Could not open /dev/ptmx");
17 + if (grantpt(ptm) < 0)
18 + fatalperror(net, "Could not grantpt(/dev/ptmx)");
19 + if (unlockpt(ptm) < 0)
20 + fatalperror(net, "Could not unlockpt(/dev/ptmx)");
21 + pts = ptsname(ptm);
22 + if (pts == NULL)
23 + fatalperror(net, "Could not get ptsname()");
24 + free(line);
25 + line = strdup(pts);
26 + ptyslavefd = open(pts, O_RDWR | O_NOCTTY);
27 + if (ptyslavefd < 0)
28 + fatalperror(net, "Could not open slave pty");
29 +
30 + return ptm;
31 +#else
32 +
33 #ifndef DEVFS
34 char *p1, *p2;
35 int i,j;
36 @@ -502,6 +523,8 @@ int getpty(void) {
37
38 #endif /* DEVFS */
39
40 +#endif /* PTMX */
41 +
42 #else /* CRAY */
43 int npty;
44 extern lowpty, highpty;