From 51851ab80a8766989bb847630bfd193fef7e1d5f Mon Sep 17 00:00:00 2001 From: Keith Bostic Date: Tue, 4 Jun 1991 00:26:28 -0800 Subject: [PATCH] the format string gets modified by parsefmt -- don't use it twice SCCS-vsn: bin/ps/ps.c 5.42 SCCS-vsn: bin/ps/keyword.c 5.9 --- usr/src/bin/ps/keyword.c | 3 ++- usr/src/bin/ps/ps.c | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/usr/src/bin/ps/keyword.c b/usr/src/bin/ps/keyword.c index 5ec22dbe0c..94f2b94642 100644 --- a/usr/src/bin/ps/keyword.c +++ b/usr/src/bin/ps/keyword.c @@ -260,13 +260,14 @@ showkey() parsefmt(p) char *p; { + static struct varent *vtail; register VAR *v; register char *cp; register struct varent *vent; static VAR *findvar(); #define FMTSEP " \t,\n" - while (p) { + while (p && *p) { while ((cp = strsep(&p, FMTSEP)) != NULL && *cp == '\0') /* void */; if (!(v = findvar(cp))) diff --git a/usr/src/bin/ps/ps.c b/usr/src/bin/ps/ps.c index be2aee49a2..79fe0e178d 100644 --- a/usr/src/bin/ps/ps.c +++ b/usr/src/bin/ps/ps.c @@ -112,6 +112,7 @@ main(argc, argv) case 'j': parsefmt(jfmt); fmt = 1; + jfmt[0] = '\0'; break; case 'L': showkey(); @@ -119,6 +120,7 @@ main(argc, argv) case 'l': parsefmt(lfmt); fmt = 1; + lfmt[0] = '\0'; break; case 'M': memf = optarg; @@ -133,6 +135,7 @@ main(argc, argv) parsefmt(o1); parsefmt(optarg); parsefmt(o2); + o1[0] = o2[0] = '\0'; fmt = 1; break; case 'o': @@ -176,11 +179,13 @@ main(argc, argv) parsefmt(ufmt); sortby = SORTCPU; fmt = 1; + ufmt[0] = '\0'; break; case 'v': parsefmt(vfmt); sortby = SORTMEM; fmt = 1; + vfmt[0] = '\0'; break; case 'W': swapf = optarg; -- 2.20.1