diff options
author | Karel Zak | 2013-04-29 15:27:42 +0200 |
---|---|---|
committer | Karel Zak | 2013-09-16 16:46:53 +0200 |
commit | f234cc3b5116ab215f1b13fab6f5242c295b293b (patch) | |
tree | e1db24105ed2696df6dbed623fabc00cee951a79 /lib | |
parent | fdisk: (sun) remove dead code (diff) | |
download | kernel-qcow2-util-linux-f234cc3b5116ab215f1b13fab6f5242c295b293b.tar.gz kernel-qcow2-util-linux-f234cc3b5116ab215f1b13fab6f5242c295b293b.tar.xz kernel-qcow2-util-linux-f234cc3b5116ab215f1b13fab6f5242c295b293b.zip |
lib/tt: add TT_FL_FREEDATA
... to call free() for line data.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tt.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -221,9 +221,17 @@ void tt_remove_lines(struct tt *tb) return; while (!list_empty(&tb->tb_lines)) { + struct list_head *p; struct tt_line *ln = list_entry(tb->tb_lines.next, struct tt_line, ln_lines); list_del(&ln->ln_lines); + + list_for_each(p, &tb->tb_columns) { + struct tt_column *cl = + list_entry(p, struct tt_column, cl_columns); + if ((cl->flags & TT_FL_FREEDATA) || (tb->flags & TT_FL_FREEDATA)) + free(ln->data[cl->seqnum]); + } free(ln->data); free(ln); } @@ -360,7 +368,7 @@ struct tt_column *tt_get_column(struct tt *tb, size_t colnum) * * Stores data that will be printed to the table cell. */ -int tt_line_set_data(struct tt_line *ln, int colnum, const char *data) +int tt_line_set_data(struct tt_line *ln, int colnum, char *data) { struct tt_column *cl; |