summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sa/main.c
diff options
context:
space:
mode:
authordds <dds@FreeBSD.org>2007-05-18 12:36:10 +0000
committerdds <dds@FreeBSD.org>2007-05-18 12:36:10 +0000
commitef91577059eef3218a7be70aaa4f40f9461c1557 (patch)
treeaa1a9d4e9bc0bd39ea085c8ce6a40568d756af92 /usr.sbin/sa/main.c
parent3be5d73f3d1c92dd592d30ddfcf7d342c48cb971 (diff)
downloadFreeBSD-src-ef91577059eef3218a7be70aaa4f40f9461c1557.zip
FreeBSD-src-ef91577059eef3218a7be70aaa4f40f9461c1557.tar.gz
Add -U and -P options that allow the specification of the per-user
and per-process summary file location. These make the program more flexible, and also make it possible to write sane regression tests.
Diffstat (limited to 'usr.sbin/sa/main.c')
-rw-r--r--usr.sbin/sa/main.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/usr.sbin/sa/main.c b/usr.sbin/sa/main.c
index 1796c9c..3e10c1b 100644
--- a/usr.sbin/sa/main.c
+++ b/usr.sbin/sa/main.c
@@ -71,6 +71,8 @@ static void usage(void);
int aflag, bflag, cflag, dflag, Dflag, fflag, iflag, jflag, kflag;
int Kflag, lflag, mflag, qflag, rflag, sflag, tflag, uflag, vflag;
u_quad_t cutoff = 1;
+const char *pdb_file = _PATH_SAVACCT;
+const char *usrdb_file = _PATH_USRACCT;
static char *dfltargv[] = { NULL };
static int dfltargc = (sizeof dfltargv/sizeof(char *));
@@ -86,7 +88,7 @@ main(int argc, char **argv)
dfltargv[0] = pathacct;
- while ((ch = getopt(argc, argv, "abcdDfijkKlmnqrstuv:")) != -1)
+ while ((ch = getopt(argc, argv, "abcdDfijkKlmnP:qrstuU:v:")) != -1)
switch (ch) {
case 'a':
/* print all commands */
@@ -145,6 +147,10 @@ main(int argc, char **argv)
/* sort by number of calls */
sa_cmp = cmp_calls;
break;
+ case 'P':
+ /* specify program database summary file */
+ pdb_file = optarg;
+ break;
case 'q':
/* quiet; error messages only */
qflag = 1;
@@ -165,6 +171,10 @@ main(int argc, char **argv)
/* first, print uid and command name */
uflag = 1;
break;
+ case 'U':
+ /* specify user database summary file */
+ usrdb_file = optarg;
+ break;
case 'v':
/* cull junk */
vflag = 1;
@@ -294,7 +304,7 @@ static void
usage()
{
(void)fprintf(stderr,
- "usage: sa [-abcdDfijkKlmnqrstu] [-v cutoff] [file ...]\n");
+ "usage: sa [-abcdDfijkKlmnqrstu] [-P file] [-U file] [-v cutoff] [file ...]\n");
exit(1);
}
OpenPOWER on IntegriCloud