From b28e08968428862927ca29cd59ab082bcded21f1 Mon Sep 17 00:00:00 2001 From: "Tim J. Robbins" Date: Sun, 27 Jul 2003 10:53:28 +0000 Subject: [PATCH] Add the -n maxrec option as an alias for -maxrec for compatibility with System V and consistency with other utilities. Document the new form instead of the old form in the manual page. PR: 54661 --- usr.bin/last/last.1 | 14 +++++++------- usr.bin/last/last.c | 14 +++++++++++--- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/usr.bin/last/last.1 b/usr.bin/last/last.1 index a6dab722ee78..4e070589b0d2 100644 --- a/usr.bin/last/last.1 +++ b/usr.bin/last/last.1 @@ -32,7 +32,7 @@ .\" @(#)last.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd March 1, 2002 +.Dd July 27, 2003 .Dt LAST 1 .Os .Sh NAME @@ -40,7 +40,6 @@ .Nd indicate last logins of users and ttys .Sh SYNOPSIS .Nm -.Op Fl Ns Ar n .Op Fl y .Oo .Fl d @@ -53,6 +52,7 @@ .Oc .Op Fl f Ar file .Op Fl h Ar host +.Op Fl n Ar maxrec .Op Fl s .Op Fl t Ar tty .Op Fl w @@ -78,10 +78,6 @@ will so indicate. .Pp The following options are available: .Bl -tag -width indent-two -.It Fl Ar n -Limit the report to -.Ar n -lines. .It Fl d Ar date Specify the snapshot date and time. All users logged in at the snapshot date and time will @@ -94,7 +90,7 @@ files. When this argument is provided, all other options except for .Fl f and -.Fl Ar n +.Fl n are ignored. The argument should be in the form .Sm off @@ -151,6 +147,10 @@ instead of the default, .It Fl h Ar host .Ar Host names may be names or internet numbers. +.It Fl n Ar maxrec +Limit the report to +.Ar maxrec +lines. .It Fl s Report the duration of the login session in seconds, instead of the default days, hours and minutes. diff --git a/usr.bin/last/last.c b/usr.bin/last/last.c index 07844a67055e..8f1cd8a46f07 100644 --- a/usr.bin/last/last.c +++ b/usr.bin/last/last.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -113,8 +114,8 @@ void usage(void) { (void)fprintf(stderr, -"usage: last [-#] [-y] [-d [[CC]YY][MMDD]hhmm[.SS]] [-f file] [-h host]\n" -"\t[-t tty] [-s|w] [user ...]\n"); +"usage: last [-y] [-d [[CC]YY][MMDD]hhmm[.SS]] [-f file] [-h host]\n" +"\t[-n maxrec] [-t tty] [-s|w] [user ...]\n"); exit(1); } @@ -129,7 +130,7 @@ main(int argc, char *argv[]) maxrec = -1; snaptime = 0; - while ((ch = getopt(argc, argv, "0123456789d:f:h:st:wy")) != -1) + while ((ch = getopt(argc, argv, "0123456789d:f:h:n:st:wy")) != -1) switch (ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': @@ -156,6 +157,13 @@ main(int argc, char *argv[]) hostconv(optarg); addarg(HOST_TYPE, optarg); break; + case 'n': + errno = 0; + maxrec = strtol(optarg, &p, 10); + if (p == optarg || *p != '\0' || errno != 0 || + maxrec <= 0) + errx(1, "%s: bad line count", optarg); + break; case 's': sflag++; /* Show delta as seconds */ break;