]> granicus.if.org Git - procps-ng/commitdiff
pgrep: usage error should exit with 2
authoralbert <>
Mon, 28 May 2007 00:16:39 +0000 (00:16 +0000)
committeralbert <>
Mon, 28 May 2007 00:16:39 +0000 (00:16 +0000)
NEWS
pgrep.c

diff --git a/NEWS b/NEWS
index 699b5a96b3f3dbde155af44611d43a9b3882618f..1a48e70e8a36408b68a54865651ba59fd7b62a72 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,8 @@ procps-3.2.7 --> procps-3.2.8
 
 ps: document SCHED_BATCH and add "see also" for stime
 ps: man page less ambiguous
-top: normal exit code should be 0          #341272
+top: normal exit code should be 0          #341272 #354255
+pgrep: usage error should exit with 2       #413383
 
 procps-3.2.6 --> procps-3.2.7
 
diff --git a/pgrep.c b/pgrep.c
index e4fda6e8dc67cca604d8065dcacbf45450680e79..bbb7cd11c4c2da53d120a7f2c94e2933dbb8f93d 100644 (file)
--- a/pgrep.c
+++ b/pgrep.c
@@ -70,18 +70,21 @@ static union el *opt_ruid = NULL;
 static char *opt_pattern = NULL;
 static char *opt_pidfile = NULL;
 
-
 static int usage (int opt) NORETURN;
 static int usage (int opt)
 {
+       int err = (opt=='?'); /* getopt() uses '?' to mark an error */
+       FILE *fp = err ? stderr : stdout;
+
        if (i_am_pkill)
-               fprintf (stderr, "Usage: pkill [-SIGNAL] [-fvx] ");
+               fprintf (fp, "Usage: pkill [-SIGNAL] [-fvx] ");
        else
-               fprintf (stderr, "Usage: pgrep [-flvx] [-d DELIM] ");
-       fprintf (stderr, "[-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]\n"
+               fprintf (fp, "Usage: pgrep [-flvx] [-d DELIM] ");
+       fprintf (fp, "[-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]\n"
                 "\t[-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] "
                 "[PATTERN]\n");
-       exit (opt == '?' ? EXIT_SUCCESS : EXIT_USAGE);
+
+       exit(err ? EXIT_USAGE : EXIT_SUCCESS);
 }