|
@ -1,4 +1,4 @@ |
|
|
/* $OpenBSD: pty.c,v 1.7 2002/05/24 21:24:15 deraadt Exp $ */ |
|
|
|
|
|
|
|
|
/* $OpenBSD: pty.c,v 1.8 2002/05/24 22:04:02 deraadt Exp $ */ |
|
|
/*- |
|
|
/*- |
|
|
* Copyright (c) 1990, 1993 |
|
|
* Copyright (c) 1990, 1993 |
|
|
* The Regents of the University of California. All rights reserved. |
|
|
* The Regents of the University of California. All rights reserved. |
|
@ -34,7 +34,7 @@ |
|
|
|
|
|
|
|
|
#if defined(LIBC_SCCS) && !defined(lint) |
|
|
#if defined(LIBC_SCCS) && !defined(lint) |
|
|
/* from: static char sccsid[] = "@(#)pty.c 8.1 (Berkeley) 6/4/93"; */ |
|
|
/* from: static char sccsid[] = "@(#)pty.c 8.1 (Berkeley) 6/4/93"; */ |
|
|
static char *rcsid = "$Id: pty.c,v 1.7 2002/05/24 21:24:15 deraadt Exp $"; |
|
|
|
|
|
|
|
|
static char *rcsid = "$Id: pty.c,v 1.8 2002/05/24 22:04:02 deraadt Exp $"; |
|
|
#endif /* LIBC_SCCS and not lint */ |
|
|
#endif /* LIBC_SCCS and not lint */ |
|
|
|
|
|
|
|
|
#include <sys/cdefs.h> |
|
|
#include <sys/cdefs.h> |
|
@ -86,8 +86,13 @@ openpty(amaster, aslave, name, termp, winp) |
|
|
if ((slave = open(line, O_RDWR, 0)) != -1) { |
|
|
if ((slave = open(line, O_RDWR, 0)) != -1) { |
|
|
*amaster = master; |
|
|
*amaster = master; |
|
|
*aslave = slave; |
|
|
*aslave = slave; |
|
|
if (name) |
|
|
|
|
|
strcpy(name, line); |
|
|
|
|
|
|
|
|
if (name) { |
|
|
|
|
|
/* |
|
|
|
|
|
* Manual page says "at least |
|
|
|
|
|
* 16 characters". |
|
|
|
|
|
*/ |
|
|
|
|
|
strlcpy(name, line, 16); |
|
|
|
|
|
} |
|
|
if (termp) |
|
|
if (termp) |
|
|
(void) tcsetattr(slave, |
|
|
(void) tcsetattr(slave, |
|
|
TCSAFLUSH, termp); |
|
|
TCSAFLUSH, termp); |
|
|