version 1.6, 2008/12/01 18:03:06 |
version 1.7, 2008/12/07 02:56:06 |
|
|
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) |
|
|
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); |
|
|
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}; |
|
|
|
|
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); |
|
|
} |
} |
|
|
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; |
|
|
|
|
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; |
|
|
|
|
} |
} |
|
|
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; |
|
|
|
|
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; |
|
|
|
|
int |
int |
disp_update(void) |
disp_update(void) |
{ |
{ |
int lines; |
int li; |
|
|
if (maxprint < 0) |
if (maxprint < 0) |
dispstart = 0; |
dispstart = 0; |
|
|
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(); |
|
|
} |
} |
|
|
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; |
} |
} |