=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/systat/engine.c,v retrieving revision 1.6 retrieving revision 1.7 diff -c -r1.6 -r1.7 *** src/usr.bin/systat/engine.c 2008/12/01 18:03:06 1.6 --- src/usr.bin/systat/engine.c 2008/12/07 02:56:06 1.7 *************** *** 1,4 **** ! /* $Id: engine.c,v 1.6 2008/12/01 18:03:06 naddy Exp $ */ /* * Copyright (c) 2001, 2007 Can Erkin Acar * --- 1,4 ---- ! /* $Id: engine.c,v 1.7 2008/12/07 02:56:06 canacar Exp $ */ /* * Copyright (c) 2001, 2007 Can Erkin Acar * *************** *** 203,209 **** void print_fld_str(field_def *fld, const char *str) { ! int len, move; char *cpos; if (str == NULL || fld == NULL) --- 203,209 ---- void print_fld_str(field_def *fld, const char *str) { ! int len, offset; char *cpos; if (str == NULL || fld == NULL) *************** *** 227,241 **** break; case FLD_ALIGN_COLUMN: if ((cpos = strchr(str, ':')) == NULL) { ! move = (fld->width - len) / 2; } else { ! move = (fld->width / 2) - (cpos - str); ! if (move < 0) ! move = 0; ! else if (move > (fld->width - len)) ! move = fld->width - len; } ! move_horiz(fld->start + move); break; default: move_horiz(fld->start); --- 227,241 ---- break; case FLD_ALIGN_COLUMN: if ((cpos = strchr(str, ':')) == NULL) { ! offset = (fld->width - len) / 2; } else { ! offset = (fld->width / 2) - (cpos - str); ! if (offset < 0) ! offset = 0; ! else if (offset > (fld->width - len)) ! offset = fld->width - len; } ! move_horiz(fld->start + offset); break; default: move_horiz(fld->start); *************** *** 249,255 **** print_bar_title(field_def *fld) { char buf[16]; ! int len, div, i, tr, tw, val, pos, cur; int divs[] = {20, 10, 5, 4, 3, 2, 1, 0}; --- 249,255 ---- print_bar_title(field_def *fld) { char buf[16]; ! int len, i, d, tr, tw, val, pos, cur; int divs[] = {20, 10, 5, 4, 3, 2, 1, 0}; *************** *** 269,294 **** return; } ! div = divs[i]; val = 0; pos = 0; ! tr = fld->arg % div; ! tw = fld->width % div; tb_start(); cur = 0; ! for(i = 0; i < div; i++) { tw += fld->width; tr += fld->arg; ! while (tr >= div) { val++; ! tr -= div; } ! while (tw >= div) { pos++; ! tw -= div; } len = snprintf(buf, sizeof(buf), "%d\\", val); --- 269,294 ---- return; } ! d = divs[i]; val = 0; pos = 0; ! tr = fld->arg % d; ! tw = fld->width % d; tb_start(); cur = 0; ! for(i = 0; i < d; i++) { tw += fld->width; tr += fld->arg; ! while (tr >= d) { val++; ! tr -= d; } ! while (tw >= d) { pos++; ! tw -= d; } len = snprintf(buf, sizeof(buf), "%d\\", val); *************** *** 658,664 **** } void ! print_fld_sdiv(field_def *fld, u_int64_t size, int div) { int len; --- 658,664 ---- } void ! print_fld_sdiv(field_def *fld, u_int64_t size, int d) { int len; *************** *** 674,701 **** goto ok; tb_start(); ! size /= div; if (tbprintf("%lluK", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= div; if (tbprintf("%lluM", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= div; if (tbprintf("%lluG", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= div; if (tbprintf("%lluT", size) <= len) goto ok; --- 674,701 ---- goto ok; tb_start(); ! size /= d; if (tbprintf("%lluK", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= d; if (tbprintf("%lluM", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= d; if (tbprintf("%lluG", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= d; if (tbprintf("%lluT", size) <= len) goto ok; *************** *** 715,721 **** } void ! print_fld_ssdiv(field_def *fld, int64_t size, int div) { int len; --- 715,721 ---- } void ! print_fld_ssdiv(field_def *fld, int64_t size, int d) { int len; *************** *** 731,758 **** goto ok; tb_start(); ! size /= div; if (tbprintf("%lldK", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= div; if (tbprintf("%lldM", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= div; if (tbprintf("%lldG", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= div; if (tbprintf("%lldT", size) <= len) goto ok; --- 731,758 ---- goto ok; tb_start(); ! size /= d; if (tbprintf("%lldK", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= d; if (tbprintf("%lldM", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= d; if (tbprintf("%lldG", size) <= len) goto ok; if (size == 0) goto err; tb_start(); ! size /= d; if (tbprintf("%lldT", size) <= len) goto ok; *************** *** 933,939 **** int disp_update(void) { ! int lines; if (maxprint < 0) dispstart = 0; --- 933,939 ---- int disp_update(void) { ! int li; if (maxprint < 0) dispstart = 0; *************** *** 950,961 **** curr_line = 0; if (curr_mgr->header_fn != NULL) { ! lines = curr_mgr->header_fn(); ! if (lines < 0) return (1); ! // home_line = lines++; ! curr_line = ++lines; ! home_line = lines + maxprint + 1; } print_title(); --- 950,960 ---- curr_line = 0; if (curr_mgr->header_fn != NULL) { ! li = curr_mgr->header_fn(); ! if (li < 0) return (1); ! curr_line = ++li; ! home_line = li + maxprint + 1; } print_title(); *************** *** 976,994 **** } void ! sig_close(int signal) { gotsig_close = 1; } void ! sig_resize(int signal) { gotsig_resize = 1; } void ! sig_alarm(int signal) { gotsig_alarm = 1; } --- 975,993 ---- } void ! sig_close(int sig) { gotsig_close = 1; } void ! sig_resize(int sig) { gotsig_resize = 1; } void ! sig_alarm(int sig) { gotsig_alarm = 1; }