From 9363d444c8d8dbfd02ff6f4de7a06df98cdf945a Mon Sep 17 00:00:00 2001 From: Daniel Reinhold Date: Thu, 10 Oct 2002 19:35:37 +0000 Subject: [PATCH] initial checkin git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1481 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/bin/tty.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/apps/bin/tty.c diff --git a/src/apps/bin/tty.c b/src/apps/bin/tty.c new file mode 100644 index 0000000000..fdcdc6524c --- /dev/null +++ b/src/apps/bin/tty.c @@ -0,0 +1,53 @@ +// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ +// +// Copyright (c) 2001-2003, OpenBeOS +// +// This software is part of the OpenBeOS distribution and is covered +// by the OpenBeOS license. +// +// +// File: tty.c +// Author: Daniel Reinhold (danielre@users.sf.net) +// Description: prints the file name of the user's terminal +// +// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ + +#include +#include +#include + + +void +usage() +{ + printf("Usage: tty [-s]\n" + "Prints the file name for the terminal connected to standard input.\n" + " -s silent mode: no output -- only return an exit status\n"); + + exit(2); +} + + +int +main(int argc, char *argv[]) +{ + + if (argc > 2) + usage(); + + else { + bool silent = false; + + if (argc == 2) { + if (!strcmp(argv[1], "-s")) + silent = true; + else + usage(); + } + + if (!silent) + printf("%s\n", ttyname(STDIN_FILENO)); + } + + return (isatty(STDIN_FILENO) ? 0 : 1); +}