* be replaced by a '=====' dimensioned on the basis of the column width
*/
char *table_vprintf(struct string_table *tab, int column, int row,
- char *fmt, va_list ap)
+ const char *fmt, va_list ap)
{
int idx = tab->ncols * row + column;
char *msg = calloc(100, 1);
* This function is like a printf, but store the results in a cell of
* the table.
*/
+__attribute__ ((format (printf, 4, 5)))
char *table_printf(struct string_table *tab, int column, int row,
- char *fmt, ...)
+ const char *fmt, ...)
{
va_list ap;
char *ret;
continue;
len = strlen(tab->cells[idx]) - 1;
- if (len < 1 || tab->cells[idx][0] == '=')
+ if (len == 0 || tab->cells[idx][0] == '*')
continue;
if (len > sizes[i])
if (!cell || !strlen(cell)) {
printf("%*s", sizes[i], "");
- } else if (cell && cell[0] == '=') {
+ } else if (cell && cell[0] == '*' && cell[1]) {
int k = sizes[i];
while (k--)
- putchar('=');
+ putchar(cell[1]);
} else {
printf("%*s",
cell[0] == '<' ? -sizes[i] : sizes[i],