From f2a0a095bace9a09d0ae7c4a2a57841701326db4 Mon Sep 17 00:00:00 2001 From: albert <> Date: Sat, 21 Dec 2002 13:36:36 +0000 Subject: [PATCH] completed the move, output.* --> escape.* --- proc/output.c | 56 --------------------------------------------------- proc/output.h | 15 -------------- top.c | 34 +++++++++++++------------------ w.c | 6 ------ 4 files changed, 14 insertions(+), 97 deletions(-) delete mode 100644 proc/output.c delete mode 100644 proc/output.h diff --git a/proc/output.c b/proc/output.c deleted file mode 100644 index bd21f7ec..00000000 --- a/proc/output.c +++ /dev/null @@ -1,56 +0,0 @@ -// Some output conversion routines for libproc -// Copyright (C) 1996, Charles Blake. See COPYING for details. -// -// Copyright 2002, Albert Cahalan - -#include -#include -#include -#include "output.h" - -#if 1 -/* output a string, converting unprintables to octal as we go, and stopping after - processing max chars of output (accounting for expansion due to octal rep). -*/ -unsigned print_str(FILE *restrict file, const char *restrict const s, unsigned max) { - unsigned i; - for (i=0; likely(s[i]) && likely(i i+3) { - fprintf(file, "\\%03o", (unsigned char)s[i]); - i += 3; /* 4 printed, but i counts one */ - } else - return max - i; - } - return max - i; -} -#endif - -/* output an argv style NULL-terminated string list, converting unprintables - to octal as we go, separating items of the list by 'sep' and stopping after - processing max chars of output (accounting for expansion due to octal rep). -*/ -unsigned print_strlist(FILE *restrict file, const char *restrict const *restrict strs, unsigned max) { - unsigned i, n; - for (n=0; *strs && n n+i+3) { - fprintf(file, "\\%03o", (unsigned char)strs[0][i]); - n += 3; /* 4 printed, but i counts one */ - } else - return max - n; - } - n += i; - if (n + 1 < max) { - fputc(' ', file); - n++; - } else - return max - n; - } - return max - n; -} diff --git a/proc/output.h b/proc/output.h deleted file mode 100644 index a2a0541f..00000000 --- a/proc/output.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef PROCPS_PROC_OUTPUT_H -#define PROCPS_PROC_OUTPUT_H - -#include -#include -#include "procps.h" - -EXTERN_C_BEGIN - -extern unsigned print_str (FILE *restrict file, const char *restrict s, unsigned max); -extern unsigned print_strlist(FILE *restrict file, const char *restrict const *restrict strs, unsigned max); - -EXTERN_C_END - -#endif diff --git a/top.c b/top.c index 07cf2997..b49e9a56 100644 --- a/top.c +++ b/top.c @@ -43,6 +43,7 @@ #include "proc/wchan.h" #include "proc/procps.h" #include "proc/readproc.h" +#include "proc/escape.h" #include "proc/sig.h" #ifdef USE_LIB_STA3 #include "proc/status.h" @@ -282,11 +283,8 @@ static inline char *scat (char *restrict dst, const char *restrict src) } - /* - * This guy was originally designed just to trim the rc file lines and - * any 'open_psdb_message' result which arrived with an inappropriate - * newline (thanks to 'sysmap_mmap') -- but when tabs (^I) were found - * in some proc cmdlines, a choice was offered twix space or null. */ +// Trim the rc file lines and any 'open_psdb_message' result which arrives +// with an inappropriate newline (thanks to 'sysmap_mmap') static char *strim_0 (char *str) { static const char ws[] = "\b\e\f\n\r\t\v\x9b"; // 0x9b is an escape @@ -296,20 +294,6 @@ static char *strim_0 (char *str) return str; } - /* - * This guy was originally designed just to trim the rc file lines and - * any 'open_psdb_message' result which arrived with an inappropriate - * newline (thanks to 'sysmap_mmap') -- but when tabs (^I) were found - * in some proc cmdlines, a choice was offered twix space or null. */ -static char *strim_1 (char *str) -{ - static const char ws[] = "\b\e\f\n\r\t\v\x9b"; // 0x9b is an escape - char *p; - - while (unlikely(p = strpbrk(str, ws))) *p = ' '; - return str; -} - /* * This guy just facilitates Batch and protects against dumb ttys @@ -1016,7 +1000,6 @@ static void prochlp (proc_t *this) // we're just saving elapsed tics, to be converted into %cpu if // this task wins it's displayable screen row lottery... */ this->pcpu = tics; - strim_1(this->cmd); // if (Frames_maxcmdln) { } // shout this to the world with the final call (or us the next time in) Frame_maxtask++; @@ -2909,6 +2892,7 @@ static void task_show (const WIN_t *q, const proc_t *p) unsigned w = Fieldstab[i].width; switch (i) { +#if 0 case P_CMD: { const char *cp; if (CHKw(q, Show_CMDLIN)) { @@ -2930,6 +2914,16 @@ static void task_show (const WIN_t *q, const proc_t *p) MKCOL(q->maxcmdln, q->maxcmdln, cp); } break; +#endif + case P_CMD: + { char tmp[ROWBUFSIZ]; + unsigned flags; + if (CHKw(q, Show_CMDLIN)) flags = ESC_DEFUNCT | ESC_BRACKETS | ESC_ARGS; + else flags = ESC_DEFUNCT; + escape_command(tmp, p, sizeof tmp, q->maxcmdln, flags); + MKCOL(q->maxcmdln, q->maxcmdln, tmp); + } + break; case P_COD: MKCOL(scale_num(PAGES_2K(p->trs), w, s)); break; diff --git a/w.c b/w.c index 4c6e7b45..9fa711fb 100644 --- a/w.c +++ b/w.c @@ -10,7 +10,6 @@ #include "proc/readproc.h" #include "proc/devname.h" #include "proc/procps.h" -#include "proc/output.h" #include "proc/sysinfo.h" #include "proc/escape.h" #include @@ -221,11 +220,6 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) { char cmdbuf[512]; escape_command(cmdbuf, best, sizeof cmdbuf, maxcmd, ESC_ARGS); fputs(cmdbuf,stdout); - -// if (best->cmdline) -// print_strlist(stdout, best->cmdline, maxcmd); -// else -// printf("%*.*s", -maxcmd, maxcmd, best->cmd); } else { printf("-"); }