libsmartcols: (sample) cleanup line separator usage
* add comment to explain when nolinesep flag is necessary * force to print \n before switch to the next line to support ./sample-scols-continuous > file use case. Addresses: https://github.com/ignatenkobrain/python-smartcols/issues/18 Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
1e46776263
commit
f086478af4
|
@ -108,8 +108,16 @@ int main(int argc, char *argv[])
|
||||||
sprintf(timecell, "%f [%3d%%]", diff,
|
sprintf(timecell, "%f [%3d%%]", diff,
|
||||||
done ? 100 : (int)(diff / (TIME_PERIOD / 100.0)));
|
done ? 100 : (int)(diff / (TIME_PERIOD / 100.0)));
|
||||||
|
|
||||||
/* don't print line separator when in progress */
|
/* Note that libsmartcols don't print \n for last line
|
||||||
scols_table_enable_nolinesep(tb, !done);
|
* in the table, but if you print a line somewhere in
|
||||||
|
* the midle of the table you need
|
||||||
|
*
|
||||||
|
* scols_table_enable_nolinesep(tb, !done);
|
||||||
|
*
|
||||||
|
* to disable line breaks. In this example it's
|
||||||
|
* unnecessary as we print the latest line only.
|
||||||
|
*/
|
||||||
|
|
||||||
/* print the line */
|
/* print the line */
|
||||||
scols_table_print_range(tb, line, NULL);
|
scols_table_print_range(tb, line, NULL);
|
||||||
|
|
||||||
|
@ -118,7 +126,8 @@ int main(int argc, char *argv[])
|
||||||
fflush(scols_table_get_stream(tb));
|
fflush(scols_table_get_stream(tb));
|
||||||
/* move to the begin of the line */
|
/* move to the begin of the line */
|
||||||
fputc('\r', scols_table_get_stream(tb));
|
fputc('\r', scols_table_get_stream(tb));
|
||||||
}
|
} else
|
||||||
|
fputc('\n', scols_table_get_stream(tb));
|
||||||
} while (!done);
|
} while (!done);
|
||||||
|
|
||||||
last = now;
|
last = now;
|
||||||
|
|
|
@ -901,6 +901,7 @@ static int print_range( struct libscols_table *tb,
|
||||||
struct libscols_line *ln;
|
struct libscols_line *ln;
|
||||||
|
|
||||||
assert(tb);
|
assert(tb);
|
||||||
|
DBG(TAB, ul_debugobj(tb, "printing range"));
|
||||||
|
|
||||||
while (rc == 0 && scols_table_next_line(tb, itr, &ln) == 0) {
|
while (rc == 0 && scols_table_next_line(tb, itr, &ln) == 0) {
|
||||||
|
|
||||||
|
@ -1524,7 +1525,7 @@ int scols_table_print_range( struct libscols_table *tb,
|
||||||
if (scols_table_is_tree(tb))
|
if (scols_table_is_tree(tb))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
DBG(TAB, ul_debugobj(tb, "printing range"));
|
DBG(TAB, ul_debugobj(tb, "printing range from API"));
|
||||||
|
|
||||||
rc = initialize_printing(tb, &buf);
|
rc = initialize_printing(tb, &buf);
|
||||||
if (rc)
|
if (rc)
|
||||||
|
|
Loading…
Reference in New Issue