Author: ed
Date: Fri Apr  2 11:05:59 2010
New Revision: 206087
URL: http://svn.freebsd.org/changeset/base/206087

Log:
  Change how getent utmpx works.
  
  - Always require active, log or lastlogin to be provided.
  - Allow the user to provide custom filenames.

Modified:
  head/usr.bin/getent/getent.c

Modified: head/usr.bin/getent/getent.c
==============================================================================
--- head/usr.bin/getent/getent.c        Fri Apr  2 10:36:40 2010        
(r206086)
+++ head/usr.bin/getent/getent.c        Fri Apr  2 11:05:59 2010        
(r206087)
@@ -615,14 +615,13 @@ static int
 utmpx(int argc, char *argv[])
 {
        const struct utmpx *ut;
-       int rv = RV_OK, db;
+       const char *file = NULL;
+       int rv = RV_OK, db = 0;
 
        assert(argc > 1);
        assert(argv != NULL);
 
-       if (argc == 2) {
-               db = UTXDB_ACTIVE;
-       } else if (argc == 3) {
+       if (argc == 3 || argc == 4) {
                if (strcmp(argv[2], "active") == 0)
                        db = UTXDB_ACTIVE;
                else if (strcmp(argv[2], "lastlogin") == 0)
@@ -631,15 +630,18 @@ utmpx(int argc, char *argv[])
                        db = UTXDB_LOG;
                else
                        rv = RV_USAGE;
+               if (argc == 4)
+                       file = argv[3];
        } else {
                rv = RV_USAGE;
        }
 
        if (rv == RV_USAGE) {
-               fprintf(stderr, "Usage: %s utmpx [active | lastlogin | log]\n",
+               fprintf(stderr,
+                   "Usage: %s utmpx active | lastlogin | log [filename]\n",
                    getprogname());
        } else if (rv == RV_OK) {
-               if (setutxdb(db, NULL) != 0)
+               if (setutxdb(db, file) != 0)
                        return (RV_NOTFOUND);
                while ((ut = getutxent()) != NULL)
                        utmpxprint(ut);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to