]> granicus.if.org Git - sysstat/commitdiff
Allow for more options to be grouped together.
authorseb <sysstat@orange.fr.fake>
Sat, 27 Apr 2013 08:08:23 +0000 (10:08 +0200)
committerseb <sysstat@orange.fr.fake>
Sat, 27 Apr 2013 08:08:23 +0000 (10:08 +0200)
Sysstat command options can now be 'collapsed' (grouped) when
not followed by an argument. So it's now possible for example
to enter 'iostat -px 2 5' since no device name is given to
option -p.
This also concerns pidstat option -U: You can now enter for example
'pidstat -wU' to display switching activity for tasks together with
their user name.

CHANGES
iostat.c
pidstat.c

diff --git a/CHANGES b/CHANGES
index 5e3dd6233cc6918896948dd31445dbbce055713e..6a4a2d1458cf85cb54e97790d6b8559f03f1aa1d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
 Changes:
 
 xxxx/xx/xx: Version 10.1.6 - Sebastien Godard (sysstat <at> orange.fr)
+       * Sysstat command options can now be 'collapsed' (grouped) when
+         not followed by an argument. So it's now possible for example
+         to enter 'iostat -px 2 5' since no device name is given to
+         option -p. This also concerns pidstat option -U.
        * Typos fixed. README file updated.
        * Yet another cosmetic fix in pidstat manual page.
 
index 171d9ae3053df43aa275c02ee65072e747b25a49..93a503ccd266a110d994fda6e6d7d21937f986b8 100644 (file)
--- a/iostat.c
+++ b/iostat.c
@@ -1320,6 +1320,7 @@ int main(int argc, char **argv)
        /* Process args... */
        while (opt < argc) {
 
+               /* -p option used individually. See below for grouped use */
                if (!strcmp(argv[opt], "-p")) {
                        flags |= I_D_PARTITIONS;
                        if (argv[++opt] &&
@@ -1457,6 +1458,11 @@ int main(int argc, char **argv)
                                        flags |= I_D_DEVMAP_NAME;
                                        break;
 
+                               case 'p':
+                                       /* If option -p is grouped then it cannot take an arg */
+                                       flags |= I_D_PARTITIONS + I_D_PART_ALL;
+                                       break;
+
                                case 'T':
                                        /* Display stats only for the groups */
                                        flags |= I_D_GROUP_TOTAL_ONLY;
index bc22aa8c9abdce753723c3ec836db348262ac436..e2dce186a59edf5295bd3602c2ef8f392e9b24df 100644 (file)
--- a/pidstat.c
+++ b/pidstat.c
@@ -2110,6 +2110,7 @@ int main(int argc, char **argv)
                        }
                }
                
+               /* Option used individually. See below for grouped option */
                else if (!strcmp(argv[opt], "-U")) {
                        /* Display username instead of UID */
                        pidflag |= P_D_USERNAME;
@@ -2167,6 +2168,11 @@ int main(int argc, char **argv)
                                        pidflag |= P_D_TID;
                                        break;
 
+                               case 'U':
+                                       /* When option is grouped, it cannot take an arg */
+                                       pidflag |= P_D_USERNAME;
+                                       break;
+                                       
                                case 'u':
                                        /* Display CPU usage */
                                        actflag |= P_A_CPU;