rem: case P_RUN: MKCOL(p->ruser); break;
context: static void task_show (const WIN_t *q, const proc_t *p){   /* the following macro is our means to 'inline' emitting a column -- next to      procs_refresh, that's the most frequent and costly part of top's job ! */#define MKCOL(va...) do { \   if (!(CHKw(q, Show_HICOLS) && q->rc.sortindx == i)) \      snprintf(cbuf, sizeof(cbuf), f, ## va); \   else { \      snprintf(_z, sizeof(_z), f, ## va); \      snprintf(cbuf, sizeof(cbuf), "%s%s%s", q->capclr_rowhigh, _z \         , !(CHKw(q, Show_HIROWS) && 'R' == p->state) ? q->capclr_rownorm : ""); \      pad += q->len_rowhigh; \      if (!(CHKw(q, Show_HIROWS) && 'R' == p->state)) pad += q->len_rownorm; \   } } while (0)   // the format for 'command line' display in absence of same (kernel thread)   char rbuf[ROWBUFSIZ], *rp;   int j, x, pad;   // we must begin a row with a possible window number in mind...   *(rp = rbuf) = '\0';   if ((pad = Rc.mode_altscr)) rp = scat(rp, " ");   for (x = 0; x < q->maxpflgs; x++) {      char cbuf[ROWBUFSIZ], _z[ROWBUFSIZ];      FLG_t       i = q->procflags[x];          // support for our field/column      const char *f = Fieldstab[i].fmts;        // macro AND sometimes the fmt      unsigned    s = Fieldstab[i].scale;       // string must be altered !      unsigned    w = Fieldstab[i].width;      switch (i) {         case P_CMD:         {  const char *cp;            if (CHKw(q, Show_CMDLIN)) {               char tmp[ROWBUFSIZ];               char *tp;               if (p->cmdline) {                  j = 0;                  *(tp = tmp) = '\0';                  do {                     tp = scat(tp, fmtmk("%.*s ", q->maxcmdln, p->cmdline[j]));                     if (q->maxcmdln < (tp - tmp)) break;                  } while (p->cmdline[++j]);                  strim(1, tmp);               } else                  strcpy(tmp, fmtmk(CMDLINE_FMTS, p->cmd));               cp = tmp;            } else               cp = p->cmd;            MKCOL(q->maxcmdln, q->maxcmdln, cp);         }            break;         case P_COD:            MKCOL(scale_num(PAGES_2K(p->trs), w, s));            break;         case P_CPN:            MKCOL((unsigned)p->processor);            break;         case P_CPU:         {  float u = (float)p->pcpu * Frame_tscale;            if (99.9 < u) u = 99.9;            MKCOL(u);         }            break;         case P_DAT:            MKCOL(scale_num(PAGES_2K(p->drs), w, s));            break;         case P_DRT:            MKCOL(scale_num((unsigned)p->dt, w, s));            break;         case P_FLG:         {  char tmp[TNYBUFSIZ];            snprintf(tmp, sizeof(tmp), f, (long)p->flags);            for (j = 0; tmp[j]; j++) if ('0' == tmp[j]) tmp[j] = '.';            f = tmp;            MKCOL("");         }            break;         case P_FLT:            MKCOL(scale_num(p->maj_flt, w, s));            break;         case P_GRP:            MKCOL(p->egroup);            break;         case P_MEM:            MKCOL((float)PAGES_2K(p->resident) * 100 / kb_main_total);            break;         case P_NCE:            MKCOL((int)p->nice);            break;         case P_PID:            MKCOL((unsigned)p->pid);            break;         case P_PPD:            MKCOL((unsigned)p->ppid);            break;         case P_PRI:            if (-99 > p->priority || 999 < p->priority) {               f = " RT ";               MKCOL("");            } else               MKCOL((int)p->priority);            break;         case P_RES:            MKCOL(scale_num(PAGES_2K(p->resident), w, s));            break;         case P_RUN:            MKCOL(p->ruser);            break;         case P_SHR:            MKCOL(scale_num(PAGES_2K(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_2K(p->size - p->resident), w, s));            break;         case P_TME:         case P_TM2:         {  TIC_t t = p->utime + p->stime;            if (CHKw(q, Show_CTIMES))               t += (p->cutime + p->cstime);            MKCOL(scale_tics(t, w));         }            break;         case P_TTY:         {  char tmp[TNYBUFSIZ];            dev_to_tty(tmp, (int)w, p->tty, p->pid, ABBREV_DEV);            MKCOL(tmp);         }            break;         case P_UID:            MKCOL((unsigned)p->euid);            break;         case P_USR:            MKCOL(p->euser);            break;         case P_VRT:            MKCOL(scale_num(PAGES_2K(p->size), w, s));            break;         case P_WCH:            if (No_ksyms) {#ifdef CASEUP_HEXES               f = "%08lX  ";#else               f = "%08lx  ";#endif               MKCOL((long)p->wchan);            } else {               MKCOL(wchan(p->wchan));            }            break;        } /* end: switch 'procflag' */        rp = scat(rp, cbuf);   } /* end: for 'maxpflgs' */   PUFF("\n%s%.*s%s%s", (CHKw(q, Show_HIROWS) && 'R' == p->state)      ? q->capclr_rowhigh : q->capclr_rownorm      , Screen_cols + pad      , rbuf      , Caps_off      , Cap_clr_eol);#undef MKCOL}