From eefbbef08ba91102c2bb664f7560a63cd88a0232 Mon Sep 17 00:00:00 2001
From: albert <>
Date: Sun, 8 Dec 2002 20:28:40 +0000
Subject: [PATCH] ChangeLog

---
 ChangeLog |  6 +++---
 pgrep.c   | 24 ++++++++++++++----------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 818a900a..81b2c061 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,12 @@
 procps-3.1.1 --> procps-3.1.2
 
 better RPM generation
-general C99 clean-up
+use C99 features
 some seLinux fixes
 now count Inact_laundry as needed  #172163
 ps: fewer globals
 ps: hardware-enforced buffer protection
-ps: smaller (was it 1 kB or 2 kB ?)
+ps: 1 kB smaller
 top: B command added (for bold on/off)
 top: handle old (and future) config files
 top: man page tweak
@@ -26,7 +26,7 @@ vmstat faster on 2.5.xx kernels
 vmstat header fixed
 vmstat -a re-fixed
 
-procps-3.1.0 --> procps-3.1.0
+procps-3.0.5 --> procps-3.1.0
 
 vmstat displays IO-wait time instead of bogus "w"
 can build w/o shared library (set SHARED=0)
diff --git a/pgrep.c b/pgrep.c
index 098bf387..a11e2bf4 100644
--- a/pgrep.c
+++ b/pgrep.c
@@ -48,12 +48,12 @@ static int opt_signal = SIGTERM;
 
 static const char *opt_delim = "\n";
 static union el *opt_pgrp = NULL;
-static union el *opt_gid = NULL;
+static union el *opt_rgid = NULL;
 static union el *opt_ppid = NULL;
 static union el *opt_sid = NULL;
 static union el *opt_term = NULL;
 static union el *opt_euid = NULL;
-static union el *opt_uid = NULL;
+static union el *opt_ruid = NULL;
 static char *opt_pattern = NULL;
 
 
@@ -282,12 +282,16 @@ static PROCTAB *
 do_openproc (void)
 {
 	PROCTAB *ptp;
-	int flags = PROC_FILLANY;
+	int flags = 0;
 
 	if (opt_pattern || opt_full)
 		flags |= PROC_FILLCOM;
-	if (opt_uid)
+	if (opt_ruid || opt_rgid)
 		flags |= PROC_FILLSTATUS;
+	if (opt_oldest || opt_newest || opt_pgrp || opt_sid || opt_term)
+		flags |= PROC_FILLSTAT;
+	if (!(flags & PROC_FILLSTAT))
+		flags |= PROC_FILLSTATUS;  // FIXME: need one, and PROC_FILLANY broken
 	if (opt_euid && !opt_negate) {
 		int num = opt_euid[0].num;
 		int i = num;
@@ -379,9 +383,9 @@ select_procs (void)
 			match = 0;
 		else if (opt_euid && ! match_numlist (task.euid, opt_euid))
 			match = 0;
-		else if (opt_uid && ! match_numlist (task.ruid, opt_uid))
+		else if (opt_ruid && ! match_numlist (task.ruid, opt_ruid))
 			match = 0;
-		else if (opt_gid && ! match_numlist (task.rgid, opt_gid))
+		else if (opt_rgid && ! match_numlist (task.rgid, opt_rgid))
 			match = 0;
 		else if (opt_sid && ! match_numlist (task.session, opt_sid))
 			match = 0;
@@ -550,14 +554,14 @@ parse_opts (int argc, char **argv)
 			++criteria_count;
 			break;
 		case 'U':
-	  		opt_uid = split_list (optarg, conv_uid);
-			if (opt_uid == NULL)
+	  		opt_ruid = split_list (optarg, conv_uid);
+			if (opt_ruid == NULL)
 				usage (opt);
 			++criteria_count;
 			break;
 		case 'G':
-	  		opt_gid = split_list (optarg, conv_gid);
-			if (opt_gid == NULL)
+	  		opt_rgid = split_list (optarg, conv_gid);
+			if (opt_rgid == NULL)
 				usage (opt);
 			++criteria_count;
 			break;
-- 
2.40.0