Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-04-29 06:32:18 +0400
committerChristopher Faylor <me@cgf.cx>2001-04-29 06:32:18 +0400
commit64c41c76ff573a35bc035c7ddffeb360cb232349 (patch)
tree5b66dd60dc4a12c9797c8651aa97f0ea6e5345f3 /winsup/utils/ps.cc
parentb98ebf5470da68c0ab4a3877c453ac82c12974ae (diff)
* passwd.cc (ttymnam): New function.
(main): Use ttynam() to report name of tty.
Diffstat (limited to 'winsup/utils/ps.cc')
-rw-r--r--winsup/utils/ps.cc26
1 files changed, 19 insertions, 7 deletions
diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
index 79d28b1c5..796d9f069 100644
--- a/winsup/utils/ps.cc
+++ b/winsup/utils/ps.cc
@@ -165,6 +165,18 @@ to_time_t (FILETIME *ptr)
return x;
}
+static const char *
+ttynam (int ntty)
+{
+ static char buf[5];
+ if (ntty < 0)
+ return " ?";
+ if (ntty == TTY_CONSOLE)
+ return " con";
+ sprintf (buf, "%4d", ntty);
+ return buf;
+}
+
int
main (int argc, char *argv[])
{
@@ -172,11 +184,11 @@ main (int argc, char *argv[])
int aflag, lflag, fflag, sflag, uid;
cygwin_getinfo_types query = CW_GETPINFO;
const char *dtitle = " PID TTY STIME COMMAND\n";
- const char *dfmt = "%7d%4d%10s %s\n";
+ const char *dfmt = "%7d%4s%10s %s\n";
const char *ftitle = " UID PID PPID TTY STIME COMMAND\n";
- const char *ffmt = "%8.8s%8d%8d%4d%10s %s\n";
- const char *ltitle = " PID PPID PGID WINPID TTY UID STIME COMMAND\n";
- const char *lfmt = "%c %7d %7d %7d %10u %3d %4d %8s %s\n";
+ const char *ffmt = "%8.8s%8d%8d%4s%10s %s\n";
+ const char *ltitle = " PID PPID PGID WINPID TTY UID STIME COMMAND\n";
+ const char *lfmt = "%c %7d %7d %7d %10u %4s %4d %8s %s\n";
char ch;
aflag = lflag = fflag = sflag = 0;
@@ -298,12 +310,12 @@ main (int argc, char *argv[])
}
if (sflag)
- printf (dfmt, p->pid, p->ctty, start_time (p), pname);
+ printf (dfmt, p->pid, ttynam (p->ctty), start_time (p), pname);
else if (fflag)
- printf (ffmt, uname, p->pid, p->ppid, p->ctty, start_time (p), pname);
+ printf (ffmt, uname, p->pid, p->ppid, ttynam (p->ctty), start_time (p), pname);
else if (lflag)
printf (lfmt, status, p->pid, p->ppid, p->pgid,
- p->dwProcessId, p->ctty, p->uid, start_time (p), pname);
+ p->dwProcessId, ttynam (p->ctty), p->uid, start_time (p), pname);
}
(void) cygwin_internal (CW_UNLOCK_PINFO);