From: Thomas Cort Date: Mon, 28 Oct 2013 16:22:56 +0000 (-0400) Subject: Importing usr.bin/tty X-Git-Tag: v3.3.0~716 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/index.css?a=commitdiff_plain;h=b828b0feb732ef318fcb70b8f54b02747c03962a;p=minix.git Importing usr.bin/tty Replaces commands/tty. No Minix-specific changes needed. Change-Id: I7ed8589a8cfb0f4fedab6eb760e321876db73502 --- diff --git a/commands/Makefile b/commands/Makefile index b2ac29597..8bec788d8 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -27,7 +27,7 @@ SUBDIR= add_route arp ash at backup btrace \ stty svclog svrctl swifi synctree sysenv \ syslogd tail tcpd tcpdp tcpstat telnet \ telnetd term termcap tget time touch \ - truncate tty udpstat umount uname \ + truncate udpstat umount uname \ unstack update uud uue version vol \ whereis which writeisofs fetch \ zdump zmodem pkgin_cd pkgin_all \ diff --git a/commands/tty/Makefile b/commands/tty/Makefile deleted file mode 100644 index 1ff6ef0e8..000000000 --- a/commands/tty/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -PROG= tty -MAN= - -.include diff --git a/commands/tty/tty.c b/commands/tty/tty.c deleted file mode 100644 index bf7bab6d8..000000000 --- a/commands/tty/tty.c +++ /dev/null @@ -1,30 +0,0 @@ -/* tty.c - Return tty name Author: Freeman P. Pascal IV */ - -/* Minor changes to make tty conform to POSIX1003.2 Draft10 - Thomas Brupbacher (tobr@mw.lpc.ethz.ch) */ - -#include -#include -#include -#include -#include - -int main(int argc, char **argv); - -int main(argc, argv) -int argc; -char *argv[]; -{ - char *tty_name; - - tty_name = ttyname(STDIN_FILENO); - if ((argc == 2) && (!strcmp(argv[1], "-s"))) - /* Do nothing - shhh! we're in silent mode */ ; - else - puts((tty_name != NULL) ? tty_name : "not a tty"); - - if (isatty(STDIN_FILENO) == 0) - return(1); - else - return(0); -} diff --git a/man/man1/Makefile b/man/man1/Makefile index 91707e2c8..08142eb96 100644 --- a/man/man1/Makefile +++ b/man/man1/Makefile @@ -19,7 +19,7 @@ MAN= ash.1 at.1 \ stty.1 svc.1 svrctl.1 \ synctree.1 sysenv.1 sz.1 tail.1 telnet.1 template.1 \ term.1 termcap.1 tget.1 time.1 true.1 \ - truncate.1 tty.1 umount.1 uname.1 \ + truncate.1 umount.1 uname.1 \ uud.1 uue.1 vol.1 whereis.1 which.1 \ yap.1 linkfarm.1 pkg_view.1 diff --git a/man/man1/tty.1 b/man/man1/tty.1 deleted file mode 100644 index 67eec09a8..000000000 --- a/man/man1/tty.1 +++ /dev/null @@ -1,30 +0,0 @@ -.TH TTY 1 -.SH NAME -tty \- print the device name of this tty -.SH SYNOPSIS -\fBtty \fR[\fB\-s\fR]\fR -.br -.de FL -.TP -\\fB\\$1\\fR -\\$2 -.. -.de EX -.TP 20 -\\fB\\$1\\fR -# \\$2 -.. -.SH OPTIONS -.TP 5 -.B \-s -# Silent mode, only the exit status is affected. -.SH EXAMPLES -.TP 20 -.B tty -# Print the tty name -.SH DESCRIPTION -.PP -Print the name of the controlling tty. If the flag \fB\-s\fR is given, -\fItty\fR is equivalent to the call \fBtest \-t 0\fR. -.SH "SEE ALSO" -.BR ttyname (3). diff --git a/releasetools/nbsd_ports b/releasetools/nbsd_ports index 842f78cfc..7d952a45a 100644 --- a/releasetools/nbsd_ports +++ b/releasetools/nbsd_ports @@ -215,6 +215,7 @@ 2012/10/17 12:00:00,usr.bin/tput 2012/10/17 12:00:00,usr.bin/tr 2012/10/17 12:00:00,usr.bin/tsort +2012/10/17 12:00:00,usr.bin/tty 2010/10/06 07:59:18,usr.bin/uniq 2013/10/23 12:00:00,usr.bin/units 2012/10/17 12:00:00,usr.bin/unvis diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 83fe0a438..12be0042b 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -26,7 +26,7 @@ SUBDIR= asa \ shuffle sed seq \ sort split stat su \ tee tic tput \ - tr tsort unexpand \ + tr tsort tty unexpand \ toproto \ uniq units unvis unzip users \ uuidgen vis \ diff --git a/usr.bin/tty/Makefile b/usr.bin/tty/Makefile new file mode 100644 index 000000000..ce23e4582 --- /dev/null +++ b/usr.bin/tty/Makefile @@ -0,0 +1,6 @@ +# $NetBSD: Makefile,v 1.3 1994/12/07 00:46:54 jtc Exp $ +# @(#)Makefile 8.1 (Berkeley) 6/6/93 + +PROG= tty + +.include diff --git a/usr.bin/tty/tty.1 b/usr.bin/tty/tty.1 new file mode 100644 index 000000000..4f12dfd09 --- /dev/null +++ b/usr.bin/tty/tty.1 @@ -0,0 +1,75 @@ +.\" $NetBSD: tty.1,v 1.8 2003/08/07 11:16:51 agc Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)tty.1 8.1 (Berkeley) 6/6/93 +.\" +.Dd June 6, 1993 +.Dt TTY 1 +.Os +.Sh NAME +.Nm tty +.Nd return user's terminal name +.Sh SYNOPSIS +.Nm +.Op Fl s +.Sh DESCRIPTION +The +.Nm +utility writes the name of the terminal attached to standard input +to standard output. +The name that is written is the string returned by +.Xr ttyname 3 . +If the standard input is not a terminal, the message ``not a tty'' +is written. +The options are as follows: +.Bl -tag -width Ds +.It Fl s +Don't write the terminal name; only the exit status is affected +when this option is specified. +The +.Fl s +option is deprecated in favor of the +.Dq Li "test -t 0" +command. +.El +.Pp +.Nm +exits 0 if the standard input is a terminal, 1 if the standard input is +not a terminal, and \*[Gt]1 if an error occurs. +.Sh SEE ALSO +.Xr test 1 , +.Xr ttyname 3 +.Sh STANDARDS +The +.Nm +utility conforms to +.St -p1003.2-92 . diff --git a/usr.bin/tty/tty.c b/usr.bin/tty/tty.c new file mode 100644 index 000000000..c5e5e8034 --- /dev/null +++ b/usr.bin/tty/tty.c @@ -0,0 +1,81 @@ +/* $NetBSD: tty.c,v 1.8 2011/09/06 18:34:57 joerg Exp $ */ + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1988, 1993\ + The Regents of the University of California. All rights reserved."); +#endif /* not lint */ + +#ifndef lint +#if 0 +static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/6/93"; +#endif +__RCSID("$NetBSD: tty.c,v 1.8 2011/09/06 18:34:57 joerg Exp $"); +#endif /* not lint */ + +#include +#include +#include + +__dead static void usage(void); + +int +main(int argc, char **argv) +{ + int ch, sflag; + char *t; + + sflag = 0; + while ((ch = getopt(argc, argv, "s")) != -1) { + switch((char)ch) { + case 's': + sflag = 1; + break; + case '?': + default: + usage(); + /* NOTREACHED */ + } + } + + t = ttyname(STDIN_FILENO); + if (!sflag) + puts(t ? t : "not a tty"); + exit(t ? 0 : 1); +} + +static void +usage(void) +{ + fprintf(stderr, "usage: tty [-s]\n"); + exit(2); +}