[BACK]Return to engine.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / systat

Diff for /src/usr.bin/systat/engine.c between version 1.6 and 1.7

version 1.6, 2008/12/01 18:03:06 version 1.7, 2008/12/07 02:56:06
Line 203 
Line 203 
 void  void
 print_fld_str(field_def *fld, const char *str)  print_fld_str(field_def *fld, const char *str)
 {  {
         int len, move;          int len, offset;
         char *cpos;          char *cpos;
   
         if (str == NULL || fld == NULL)          if (str == NULL || fld == NULL)
Line 227 
Line 227 
                         break;                          break;
                 case FLD_ALIGN_COLUMN:                  case FLD_ALIGN_COLUMN:
                         if ((cpos = strchr(str, ':')) == NULL) {                          if ((cpos = strchr(str, ':')) == NULL) {
                                 move = (fld->width - len) / 2;                                  offset = (fld->width - len) / 2;
                         } else {                          } else {
                                 move = (fld->width / 2) - (cpos - str);                                  offset = (fld->width / 2) - (cpos - str);
                                 if (move < 0)                                  if (offset < 0)
                                         move = 0;                                          offset = 0;
                                 else if (move > (fld->width - len))                                  else if (offset > (fld->width - len))
                                         move = fld->width - len;                                          offset = fld->width - len;
                         }                          }
                         move_horiz(fld->start + move);                          move_horiz(fld->start + offset);
                         break;                          break;
                 default:                  default:
                         move_horiz(fld->start);                          move_horiz(fld->start);
Line 249 
Line 249 
 print_bar_title(field_def *fld)  print_bar_title(field_def *fld)
 {  {
         char buf[16];          char buf[16];
         int len, div, i, tr, tw, val, pos, cur;          int len, i, d, tr, tw, val, pos, cur;
   
         int divs[] = {20, 10, 5, 4, 3, 2, 1, 0};          int divs[] = {20, 10, 5, 4, 3, 2, 1, 0};
   
Line 269 
Line 269 
                 return;                  return;
         }          }
   
         div = divs[i];          d = divs[i];
   
         val = 0;          val = 0;
         pos = 0;          pos = 0;
         tr = fld->arg % div;          tr = fld->arg % d;
         tw = fld->width % div;          tw = fld->width % d;
   
         tb_start();          tb_start();
         cur = 0;          cur = 0;
         for(i = 0; i < div; i++) {          for(i = 0; i < d; i++) {
                 tw += fld->width;                  tw += fld->width;
                 tr += fld->arg;                  tr += fld->arg;
   
                 while (tr >= div) {                  while (tr >= d) {
                         val++;                          val++;
                         tr -= div;                          tr -= d;
                 }                  }
                 while (tw >= div) {                  while (tw >= d) {
                         pos++;                          pos++;
                         tw -= div;                          tw -= d;
                 }                  }
   
                 len = snprintf(buf, sizeof(buf), "%d\\", val);                  len = snprintf(buf, sizeof(buf), "%d\\", val);
Line 658 
Line 658 
 }  }
   
 void  void
 print_fld_sdiv(field_def *fld, u_int64_t size, int div)  print_fld_sdiv(field_def *fld, u_int64_t size, int d)
 {  {
         int len;          int len;
   
Line 674 
Line 674 
                 goto ok;                  goto ok;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lluK", size) <= len)          if (tbprintf("%lluK", size) <= len)
                 goto ok;                  goto ok;
         if (size == 0)          if (size == 0)
                 goto err;                  goto err;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lluM", size) <= len)          if (tbprintf("%lluM", size) <= len)
                 goto ok;                  goto ok;
         if (size == 0)          if (size == 0)
                 goto err;                  goto err;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lluG", size) <= len)          if (tbprintf("%lluG", size) <= len)
                 goto ok;                  goto ok;
         if (size == 0)          if (size == 0)
                 goto err;                  goto err;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lluT", size) <= len)          if (tbprintf("%lluT", size) <= len)
                 goto ok;                  goto ok;
   
Line 715 
Line 715 
 }  }
   
 void  void
 print_fld_ssdiv(field_def *fld, int64_t size, int div)  print_fld_ssdiv(field_def *fld, int64_t size, int d)
 {  {
         int len;          int len;
   
Line 731 
Line 731 
                 goto ok;                  goto ok;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lldK", size) <= len)          if (tbprintf("%lldK", size) <= len)
                 goto ok;                  goto ok;
         if (size == 0)          if (size == 0)
                 goto err;                  goto err;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lldM", size) <= len)          if (tbprintf("%lldM", size) <= len)
                 goto ok;                  goto ok;
         if (size == 0)          if (size == 0)
                 goto err;                  goto err;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lldG", size) <= len)          if (tbprintf("%lldG", size) <= len)
                 goto ok;                  goto ok;
         if (size == 0)          if (size == 0)
                 goto err;                  goto err;
   
         tb_start();          tb_start();
         size /= div;          size /= d;
         if (tbprintf("%lldT", size) <= len)          if (tbprintf("%lldT", size) <= len)
                 goto ok;                  goto ok;
   
Line 933 
Line 933 
 int  int
 disp_update(void)  disp_update(void)
 {  {
         int lines;          int li;
   
         if (maxprint < 0)          if (maxprint < 0)
                 dispstart = 0;                  dispstart = 0;
Line 950 
Line 950 
                 curr_line = 0;                  curr_line = 0;
   
                 if (curr_mgr->header_fn != NULL) {                  if (curr_mgr->header_fn != NULL) {
                         lines = curr_mgr->header_fn();                          li = curr_mgr->header_fn();
                         if (lines < 0)                          if (li < 0)
                                 return (1);                                  return (1);
 //                      home_line = lines++;                          curr_line = ++li;
                         curr_line = ++lines;                          home_line = li + maxprint + 1;
                         home_line = lines + maxprint + 1;  
                 }                  }
   
                 print_title();                  print_title();
Line 976 
Line 975 
 }  }
   
 void  void
 sig_close(int signal)  sig_close(int sig)
 {  {
         gotsig_close = 1;          gotsig_close = 1;
 }  }
   
 void  void
 sig_resize(int signal)  sig_resize(int sig)
 {  {
         gotsig_resize = 1;          gotsig_resize = 1;
 }  }
   
 void  void
 sig_alarm(int signal)  sig_alarm(int sig)
 {  {
         gotsig_alarm = 1;          gotsig_alarm = 1;
 }  }

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7