Author: des
Date: Fri May 17 08:48:16 2013
New Revision: 250736
URL: http://svnweb.freebsd.org/changeset/base/250736

Log:
  Add a -N option that prints the jail name rather than its number.
  
  MFC after:    3 weeks

Modified:
  head/usr.sbin/jls/jls.8
  head/usr.sbin/jls/jls.c

Modified: head/usr.sbin/jls/jls.8
==============================================================================
--- head/usr.sbin/jls/jls.8     Fri May 17 05:16:30 2013        (r250735)
+++ head/usr.sbin/jls/jls.8     Fri May 17 08:48:16 2013        (r250736)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 8, 2009
+.Dd July 20, 2012
 .Dt JLS 8
 .Os
 .Sh NAME
@@ -33,7 +33,7 @@
 .Nd "list jails"
 .Sh SYNOPSIS
 .Nm
-.Op Fl dhnqsv
+.Op Fl dhNnqsv
 .Op Fl j Ar jail
 .Op Ar parameter ...
 .Sh DESCRIPTION
@@ -71,6 +71,10 @@ Print a header line containing the param
 If no parameters are given on the command line,
 .Va all
 is assumed.
+.It Fl N
+In the standard display mode, print each jail's name instead of its
+numeric ID.
+If the jail does not have a name, the numeric ID is printed instead.
 .It Fl n
 Print parameters in
 .Dq name=value

Modified: head/usr.sbin/jls/jls.c
==============================================================================
--- head/usr.sbin/jls/jls.c     Fri May 17 05:16:30 2013        (r250735)
+++ head/usr.sbin/jls/jls.c     Fri May 17 08:48:16 2013        (r250736)
@@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$");
 #define        PRINT_QUOTED    0x08
 #define        PRINT_SKIP      0x10
 #define        PRINT_VERBOSE   0x20
+#define        PRINT_JAIL_NAME 0x40
 
 static struct jailparam *params;
 static int *param_parent;
@@ -82,7 +83,7 @@ main(int argc, char **argv)
 
        jname = NULL;
        pflags = jflags = jid = 0;
-       while ((c = getopt(argc, argv, "adj:hnqsv")) >= 0)
+       while ((c = getopt(argc, argv, "adj:hNnqsv")) >= 0)
                switch (c) {
                case 'a':
                case 'd':
@@ -99,6 +100,9 @@ main(int argc, char **argv)
                        pflags = (pflags & ~(PRINT_SKIP | PRINT_VERBOSE)) |
                            PRINT_HEADER;
                        break;
+               case 'N':
+                       pflags |= PRINT_JAIL_NAME;
+                       break;
                case 'n':
                        pflags = (pflags & ~PRINT_VERBOSE) | PRINT_NAMEVAL;
                        break;
@@ -115,7 +119,7 @@ main(int argc, char **argv)
                            PRINT_VERBOSE;
                        break;
                default:
-                       errx(1, "usage: jls [-dhnqv] [-j jail] [param ...]");
+                       errx(1, "usage: jls [-dhNnqv] [-j jail] [param ...]");
                }
 
 #ifdef INET6
@@ -149,7 +153,10 @@ main(int argc, char **argv)
 #endif
                } else {
                        pflags |= PRINT_DEFAULT;
-                       add_param("jid", NULL, (size_t)0, NULL, JP_USER);
+                       if (pflags & PRINT_JAIL_NAME)
+                               add_param("name", NULL, (size_t)0, NULL, 
JP_USER);
+                       else
+                               add_param("jid", NULL, (size_t)0, NULL, 
JP_USER);
 #ifdef INET
                        if (ip4_ok)
                                add_param("ip4.addr", NULL, (size_t)0, NULL,
@@ -192,8 +199,12 @@ main(int argc, char **argv)
                       "        CPUSetID\n"
                       "        IP Address(es)\n");
        else if (pflags & PRINT_DEFAULT)
-               printf("   JID  IP Address      "
-                      "Hostname                      Path\n");
+               if (pflags & PRINT_JAIL_NAME)
+                       printf(" JID             IP Address      "
+                           "Hostname                      Path\n");
+               else
+                       printf("   JID  IP Address      "
+                           "Hostname                      Path\n");
        else if (pflags & PRINT_HEADER) {
                for (i = spc = 0; i < nparams; i++)
                        if (params[i].jp_flags & JP_USER) {
@@ -397,9 +408,12 @@ print_jail(int pflags, int jflags)
                        n++;
                }
 #endif
-       } else if (pflags & PRINT_DEFAULT)
-               printf("%6d  %-15.15s %-29.29s %.74s\n",
-                   *(int *)params[0].jp_value,
+       } else if (pflags & PRINT_DEFAULT) {
+               if (pflags & PRINT_JAIL_NAME)
+                       printf(" %-15s ", (char *)params[0].jp_value);
+               else
+                       printf("%6d  ", *(int *)params[0].jp_value);
+               printf("%-15.15s %-29.29s %.74s\n",
 #ifdef INET
                    (!ip4_ok || params[1].jp_valuelen == 0) ? "-"
                    : inet_ntoa(*(struct in_addr *)params[1].jp_value),
@@ -410,7 +424,7 @@ print_jail(int pflags, int jflags)
                    (char *)params[1].jp_value,
                    (char *)params[2].jp_value);
 #endif
-       else {
+       } else {
                param_values = alloca(nparams * sizeof(*param_values));
                for (i = 0; i < nparams; i++) {
                        if (!(params[i].jp_flags & JP_USER))
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to