libsmartcols: custom wrap fixes

Reported-by: Igor Gnatenko <i.gnatenko.brain@gmail.com
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2016-09-27 14:16:18 +02:00
parent 81b176c4da
commit 68a7f92b94
3 changed files with 6 additions and 8 deletions

View File

@ -72,6 +72,7 @@ void scols_unref_column(struct libscols_column *cl)
list_del(&cl->cl_columns);
scols_reset_cell(&cl->header);
free(cl->color);
free(cl->safechars);
free(cl->pending_data_buf);
free(cl);
}
@ -176,7 +177,7 @@ int scols_column_set_flags(struct libscols_column *cl, int flags)
*
* Returns: pointer to the table where columns is used
*/
struct libscols_table *scols_column_get_table(struct libscols_column *cl)
struct libscols_table *scols_column_get_table(const struct libscols_column *cl)
{
return cl->table;
}
@ -246,7 +247,7 @@ const char *scols_column_get_color(const struct libscols_column *cl)
* @data: string
* @userdata: callback private data
*
* This is build-in function for scols_column_set_wrapfunc(). This function
* This is built-in function for scols_column_set_wrapfunc(). This function
* terminates the current chunk by \0 and returns pointer to the begin of
* the next chunk. The chunks are based on \n.
*
@ -379,10 +380,7 @@ int scols_column_set_wrapfunc(struct libscols_column *cl,
*/
int scols_column_set_safechars(struct libscols_column *cl, const char *safe)
{
if (!cl)
return -EINVAL;
cl->safechars = safe;
return 0;
return strdup_to_struct_member(cl, safechars, safe);
}
/**

View File

@ -161,7 +161,7 @@ extern double scols_column_get_whint(const struct libscols_column *cl);
extern struct libscols_cell *scols_column_get_header(struct libscols_column *cl);
extern int scols_column_set_color(struct libscols_column *cl, const char *color);
extern const char *scols_column_get_color(const struct libscols_column *cl);
extern struct libscols_table *scols_column_get_table(struct libscols_column *cl);
extern struct libscols_table *scols_column_get_table(const struct libscols_column *cl);
extern int scols_column_set_cmpfunc(struct libscols_column *cl,
int (*cmp)(struct libscols_cell *a,

View File

@ -85,6 +85,7 @@ struct libscols_column {
int flags;
int is_extreme;
char *color; /* default column color */
char *safechars; /* do not encode this bytes */
char *pending_data;
size_t pending_data_sz;
@ -101,7 +102,6 @@ struct libscols_column {
char *, void *);
void *wrapfunc_data;
const char *safechars; /* do not encode this bytes */
struct libscols_cell header;
struct list_head cl_columns;