From 9c06edb07447f0e3e880b3bf7f9f79dda5d321fc Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 1 Oct 2021 13:10:06 +0200 Subject: [PATCH] libsmartcols: add scols_line_get_column_data() Signed-off-by: Karel Zak --- libsmartcols/docs/libsmartcols-sections.txt | 1 + libsmartcols/src/libsmartcols.h.in | 1 + libsmartcols/src/libsmartcols.sym | 4 ++++ libsmartcols/src/line.c | 20 ++++++++++++++++++++ 4 files changed, 26 insertions(+) diff --git a/libsmartcols/docs/libsmartcols-sections.txt b/libsmartcols/docs/libsmartcols-sections.txt index 4f3178b3ab..ec0c9bd65e 100644 --- a/libsmartcols/docs/libsmartcols-sections.txt +++ b/libsmartcols/docs/libsmartcols-sections.txt @@ -69,6 +69,7 @@ scols_line_free_cells scols_line_get_cell scols_line_get_color scols_line_get_column_cell +scols_line_get_column_data scols_line_get_ncells scols_line_get_parent scols_line_get_userdata diff --git a/libsmartcols/src/libsmartcols.h.in b/libsmartcols/src/libsmartcols.h.in index 8c4ba814e0..bddcbad746 100644 --- a/libsmartcols/src/libsmartcols.h.in +++ b/libsmartcols/src/libsmartcols.h.in @@ -230,6 +230,7 @@ extern struct libscols_cell *scols_line_get_column_cell( extern int scols_line_set_data(struct libscols_line *ln, size_t n, const char *data); extern int scols_line_refer_data(struct libscols_line *ln, size_t n, char *data); extern int scols_line_set_column_data(struct libscols_line *ln, struct libscols_column *cl, const char *data); +extern const char *scols_line_get_column_data(struct libscols_line *ln, struct libscols_column *cl); extern int scols_line_refer_column_data(struct libscols_line *ln, struct libscols_column *cl, char *data); extern struct libscols_line *scols_copy_line(const struct libscols_line *ln); diff --git a/libsmartcols/src/libsmartcols.sym b/libsmartcols/src/libsmartcols.sym index 99353be807..e678faf14a 100644 --- a/libsmartcols/src/libsmartcols.sym +++ b/libsmartcols/src/libsmartcols.sym @@ -200,3 +200,7 @@ SMARTCOLS_2.35 { scols_table_is_minout; scols_table_set_columns_iter; } SMARTCOLS_2.34; + +SMARTCOLS_2.38 { + scols_line_get_column_data; +} SMARTCOLS_2.35; diff --git a/libsmartcols/src/line.c b/libsmartcols/src/line.c index 351bed7d51..a5d39b41b1 100644 --- a/libsmartcols/src/line.c +++ b/libsmartcols/src/line.c @@ -464,6 +464,26 @@ int scols_line_set_column_data(struct libscols_line *ln, return scols_line_set_data(ln, cl->seqnum, data); } +/** + * scols_line_get_column_data: + * @ln: a pointer to a struct libscols_line instance + * @cl: column, whose data is to be get + * + * See also scols_cell_get_data() + * + * Returns: cell data or NULL. + * + * Since: 2.38 + */ +const char *scols_line_get_column_data(struct libscols_line *ln, + struct libscols_column *cl) +{ + struct libscols_cell *cell = scols_line_get_column_cell(ln, cl); + + return cell ? scols_cell_get_data(cell) : NULL; +} + + /** * scols_line_refer_data: * @ln: a pointer to a struct libscols_line instance -- 2.47.3