misc
This commit is contained in:
parent
b657e7e08a
commit
6b50c0cb8a
18
ps/output.c
18
ps/output.c
@ -1622,7 +1622,7 @@ void show_one_proc(const proc_t *restrict const p){
|
|||||||
char *restrict const outbuf = saved_outbuf;
|
char *restrict const outbuf = saved_outbuf;
|
||||||
static int did_stuff = 0; /* have we ever printed anything? */
|
static int did_stuff = 0; /* have we ever printed anything? */
|
||||||
|
|
||||||
if(-1==(long)p){ /* true only once, at the end */
|
if(unlikely(-1==(long)p)){ /* true only once, at the end */
|
||||||
check_header_width(); /* temporary test code */
|
check_header_width(); /* temporary test code */
|
||||||
if(did_stuff) return;
|
if(did_stuff) return;
|
||||||
/* have _never_ printed anything, but might need a header */
|
/* have _never_ printed anything, but might need a header */
|
||||||
@ -1633,24 +1633,24 @@ void show_one_proc(const proc_t *restrict const p){
|
|||||||
/* fprintf(stderr, "No processes available.\n"); */ /* legal? */
|
/* fprintf(stderr, "No processes available.\n"); */ /* legal? */
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if(p){ /* not header, maybe we should call ourselves for it */
|
if(likely(p)){ /* not header, maybe we should call ourselves for it */
|
||||||
if(!--lines_to_next_header){
|
if(unlikely(!--lines_to_next_header)){
|
||||||
lines_to_next_header = header_gap;
|
lines_to_next_header = header_gap;
|
||||||
show_one_proc(NULL);
|
show_one_proc(NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
did_stuff = 1;
|
did_stuff = 1;
|
||||||
if(active_cols>(int)OUTBUF_SIZE) fprintf(stderr,"Fix bigness error.\n");
|
if(unlikely(active_cols>(int)OUTBUF_SIZE)) fprintf(stderr,"Fix bigness error.\n");
|
||||||
|
|
||||||
/* print row start sequence */
|
/* print row start sequence */
|
||||||
for(;;){
|
for(;;){
|
||||||
legit = 0;
|
legit = 0;
|
||||||
/* set width suggestion which might be ignored */
|
/* set width suggestion which might be ignored */
|
||||||
if(fmt->next) max_rightward = fmt->width;
|
if(likely(fmt->next)) max_rightward = fmt->width;
|
||||||
else max_rightward = active_cols-((correct>actual) ? correct : actual);
|
else max_rightward = active_cols-((correct>actual) ? correct : actual);
|
||||||
max_leftward = fmt->width + actual - correct; /* TODO check this */
|
max_leftward = fmt->width + actual - correct; /* TODO check this */
|
||||||
/* prepare data and calculate leftpad */
|
/* prepare data and calculate leftpad */
|
||||||
if(p && fmt->pr) amount = (*fmt->pr)(outbuf,p);
|
if(likely(p) && likely(fmt->pr)) amount = (*fmt->pr)(outbuf,p);
|
||||||
else amount = strlen(strcpy(outbuf, fmt->name)); /* AIX or headers */
|
else amount = strlen(strcpy(outbuf, fmt->name)); /* AIX or headers */
|
||||||
switch((fmt->flags) & JUST_MASK){
|
switch((fmt->flags) & JUST_MASK){
|
||||||
case 0: /* for AIX, assigned outside this file */
|
case 0: /* for AIX, assigned outside this file */
|
||||||
@ -1699,7 +1699,7 @@ void show_one_proc(const proc_t *restrict const p){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case UNLIMITED:
|
case UNLIMITED:
|
||||||
if(fmt->next){
|
if(unlikely(fmt->next)){
|
||||||
outbuf[fmt->width] = '\0'; /* Must chop, more columns! */
|
outbuf[fmt->width] = '\0'; /* Must chop, more columns! */
|
||||||
}else{
|
}else{
|
||||||
int chopspot; /* place to chop */
|
int chopspot; /* place to chop */
|
||||||
@ -1728,11 +1728,11 @@ void show_one_proc(const proc_t *restrict const p){
|
|||||||
*/
|
*/
|
||||||
space = correct - actual + leftpad;
|
space = correct - actual + leftpad;
|
||||||
if(space<1) space=dospace;
|
if(space<1) space=dospace;
|
||||||
if(space>SPACE_AMOUNT) space=SPACE_AMOUNT; // only have so much available
|
if(unlikely(space>SPACE_AMOUNT)) space=SPACE_AMOUNT; // only so much available
|
||||||
|
|
||||||
/* print data, set x position stuff */
|
/* print data, set x position stuff */
|
||||||
amount = strlen(outbuf); /* post-chop data width */
|
amount = strlen(outbuf); /* post-chop data width */
|
||||||
if(!fmt->next){
|
if(unlikely(!fmt->next)){
|
||||||
/* Last column. Write padding + data + newline all together. */
|
/* Last column. Write padding + data + newline all together. */
|
||||||
outbuf[amount] = '\n';
|
outbuf[amount] = '\n';
|
||||||
fwrite(outbuf-space, space+amount+1, 1, stdout);
|
fwrite(outbuf-space, space+amount+1, 1, stdout);
|
||||||
|
Loading…
Reference in New Issue
Block a user