From 55b3e73334700dbf3d376ab2e1cf6d2b0bd3c5fc Mon Sep 17 00:00:00 2001 From: albert <> Date: Mon, 30 Aug 2004 17:30:41 +0000 Subject: [PATCH] $TOPRC, eliminate status() fn, avoid /proc/*/stat more --- proc/status.c | 30 ------------------------------ proc/status.h | 12 ------------ top.c | 37 +++++++++++++++---------------------- top.h | 1 - 4 files changed, 15 insertions(+), 65 deletions(-) delete mode 100644 proc/status.c delete mode 100644 proc/status.h diff --git a/proc/status.c b/proc/status.c deleted file mode 100644 index 341d5544..00000000 --- a/proc/status.c +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 1992-1998 by Michael K. Johnson, johnsonm@redhat.com -// Copyright 2002 Albert Cahalan -// -// This file is placed under the conditions of the GNU Library -// General Public License, version 2, or any later version. -// See file COPYING for information on distribution conditions. - -#include "procps.h" -#include "readproc.h" -#include "status.h" - -const char * status(const proc_t *restrict task) { - static char buf[4] = " "; - - buf[0] = task->state; - - if (task->rss == 0 && task->state != 'Z') - buf[1] = 'W'; - else - buf[1] = ' '; - - if (task->nice < 0) - buf[2] = '<'; - else if (task->nice > 0) - buf[2] = 'N'; - else - buf[2] = ' '; - - return(buf); -} diff --git a/proc/status.h b/proc/status.h deleted file mode 100644 index f1e141f0..00000000 --- a/proc/status.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef PROC_STATUS_H -#define PROC_STATUS_H - -#include "procps.h" - -EXTERN_C_BEGIN - -extern const char * status(const proc_t *restrict task); - -EXTERN_C_END - -#endif diff --git a/top.c b/top.c index e6e73d6d..3586bede 100644 --- a/top.c +++ b/top.c @@ -49,9 +49,6 @@ #include "proc/readproc.h" #include "proc/escape.h" #include "proc/sig.h" -#ifdef USE_LIB_STA3 -#include "proc/status.h" -#endif #include "proc/sysinfo.h" #include "proc/version.h" #include "proc/whattime.h" @@ -1114,25 +1111,24 @@ static proc_t **procs_refresh (proc_t **table, int flags) #undef ENTsz } - /*###### Field Table/RCfile compatability support ######################*/ - /* These are the Fieldstab.lflg values used here and in reframewins. - (own identifiers as documentation and protection against changes) */ +// from either 'stat' or 'status' (preferred), via bits not otherwise used +#define L_EITHER PROC_SPARE_1 +// These are the Fieldstab.lflg values used here and in reframewins. +// (own identifiers as documentation and protection against changes) #define L_stat PROC_FILLSTAT #define L_statm PROC_FILLMEM #define L_status PROC_FILLSTATUS -#define L_CMDLINE L_stat | PROC_FILLARG +#define L_CMDLINE L_EITHER | PROC_FILLARG #define L_EUSER PROC_FILLUSR #define L_RUSER L_status | PROC_FILLUSR #define L_GROUP L_status | PROC_FILLGRP #define L_NONE 0 - // from either 'stat' or 'status' (preferred), via bits not otherwise used -#define L_EITHER PROC_SPARE_1 - // for reframewins and summary_show 1st pass +// for reframewins and summary_show 1st pass #define L_DEFAULT PROC_FILLSTAT - // a temporary macro, soon to be undef'd... +// a temporary macro, soon to be undef'd... #define SF(f) (QFP_t)sort_P_ ## f /* These are our gosh darn 'Fields' ! @@ -1170,11 +1166,7 @@ static FLD_t Fieldstab[] = { { "TtPp", " SHR", " %4.4s", 4, SK_Kb, SF(SHR), "Shared Mem size (kb)", L_statm }, { "UuJj", " nFLT", " %4.4s", 4, SK_no, SF(FLT), "Page Fault count", L_stat }, { "VvSs", " nDRT", " %4.4s", 4, SK_no, SF(DRT), "Dirty Pages count", L_statm }, -#ifdef USE_LIB_STA3 - { "WwVv", " STA", " %3.3s", -1, -1, SF(STA), "Process Status", L_stat }, -#else { "WwVv", " S", " %c", -1, -1, SF(STA), "Process Status", L_EITHER }, -#endif // next entry's special: '.head' will be formatted using table entry's own // '.fmts' plus runtime supplied conversion args! { "XxXx", " COMMAND", " %-*.*s", -1, -1, SF(CMD), "Command name/line", L_EITHER }, @@ -1638,9 +1630,14 @@ static void configs_read (void) close(fd); } - snprintf(Rc_name, sizeof(Rc_name), ".%src", Myname); // eeew... - if (getenv("HOME")) - snprintf(Rc_name, sizeof(Rc_name), "%s/.%src", getenv("HOME"), Myname); + if (getenv("TOPRC")) { // should switch on Myname before documenting this? + // not the most optimal here... + snprintf(Rc_name, sizeof(Rc_name), "%s", getenv("TOPRC")); + } else { + snprintf(Rc_name, sizeof(Rc_name), ".%src", Myname); // eeew... + if (getenv("HOME")) + snprintf(Rc_name, sizeof(Rc_name), "%s/.%src", getenv("HOME"), Myname); + } rcf = def_rcf; fd = open(Rc_name, O_RDONLY); @@ -2983,11 +2980,7 @@ static void task_show (const WIN_t *q, const proc_t *p) MKCOL(scale_num(PAGES_TO_KB(p->share), w, s)); break; case P_STA: -#ifdef USE_LIB_STA3 - MKCOL(status(p)); -#else MKCOL(p->state); -#endif break; case P_SWP: MKCOL(scale_num(PAGES_TO_KB(p->size - p->resident), w, s)); diff --git a/top.h b/top.h index 77bbee6d..f242cf5e 100644 --- a/top.h +++ b/top.h @@ -27,7 +27,6 @@ //#define CASEUP_SCALE // show scaled time/num suffix upper case //#define CASEUP_SUMMK // show memory summary kilobytes with 'K' //#define SORT_SUPRESS // *attempt* to reduce qsort overhead -//#define USE_LIB_STA3 // use lib status (3 ch) vs. proc_t (1 ch) //#define WARN_NOT_SMP // restrict '1' & 'I' commands to true smp // Development/Debugging defines -----------------------------------